test-pwrite.c: Remove unused variable declaration.
[gnulib.git] / ChangeLog
1 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2
3         test-pwrite.c: Remove unused variable declaration.
4         * tests/test-pwrite.c (main): Remove read_buf declaration.
5
6         Remove useless test-pwrite.sh file.
7         * tests/test-pwrite.sh: Delete file.
8         * modules/pwrite-tests: Remove references.
9         Reported by Bruno Haible.
10
11 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
12
13         init.sh: fix a typo
14         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
15
16 2010-05-10  Jim Meyering  <meyering@redhat.com>
17
18         maint.mk: avoid using a temporary file in the always-defined-macros check
19         * top/maint.mk (.re-defmac): Remove rule.
20         (gl_trap_): Remove definition.
21         (sc_prohibit_always-defined_macros): Rewrite not to create and
22         depend on a temporary file.  Instead, depend on GNU grep's ability
23         to read a list of regular expressions from stdin when given "-f -".
24
25 2010-05-09  Bruno Haible  <bruno@clisp.org>
26
27         Update to GNU gettext 0.18.
28         * m4/gettext.m4: Update to GNU gettext 0.17.
29         * m4/intl.m4: Likewise.
30         * m4/po.m4: Likewise.
31         * modules/gettext (Files): Add m4/fcntl-o.m4.
32         (configure.ac): Require gettext infrastructure from version 0.18.
33
34 2010-05-09  Jim Meyering  <meyering@redhat.com>
35
36         init.sh: enable MALLOC_PERTURB_
37         * tests/init.sh: Enable glibc's malloc-perturbing option.
38
39         maint.mk: improve sc_cross_check_PATH_usage_in_tests
40         With my recent change in init.sh from the two-line form:
41             -#   : ${srcdir=.}
42             -#   . "$srcdir/init.sh"; path_prepend_ .
43             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
44         I noticed that using the one-line form would cause this test
45         to fail with a false-positive, or to stop working altogether,
46         depending on whether help-version changed or all the tests did.
47         * top/maint.mk (_hv_regex): Remove this definition.
48         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
49         (_hv_regex_strong): Use a stronger regex to check for conformance.
50         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
51         Give a separate diagnostic for lack of conforming use.
52
53         maint.mk: prohibit definition of symbols defined by gnulib
54         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
55         definition of symbols defined by gnulib.
56
57 2010-05-09  Bruno Haible  <bruno@clisp.org>
58
59         acl: Avoid test failure on Cygwin-hosted mingw.
60         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
61
62 2010-05-09  Bruno Haible  <bruno@clisp.org>
63
64         error: Use system's fcntl function.
65         * lib/error.c (fcntl): Undefine.
66
67 2010-05-09  Jim Meyering  <meyering@redhat.com>
68
69         verify: adjust formatting to be more consistent
70         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
71         argument-list '('s, and after one comma.
72
73 2010-05-09  Bruno Haible  <bruno@clisp.org>
74
75         error: More reliable output on mingw.
76         * lib/error.c: Include <windows.h>.
77         (is_open): New function.
78         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
79         defined.
80
81 2010-05-09  Bruno Haible  <bruno@clisp.org>
82
83         vasnprintf: Fix syntax errors in libintl build on mingw.
84         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
85         pad_ourselves and prec_ourselves after use.
86
87 2010-05-08  Bruno Haible  <bruno@clisp.org>
88
89         * lib/config.charset: Update comments for Cygwin 1.7.
90         * lib/localcharset.c: Likewise.
91
92 2010-05-07  Jim Meyering  <meyering@redhat.com>
93
94         init.sh: improve comments
95         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
96         . "${srcdir=.}/init.sh"; path_prepend_ .
97         Add a note about path_prepend_ and the alternative of using
98         TESTS_ENVIRONMENT.
99
100 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
101
102         exclude: Unescape hashed patterns in wildcard mode.
103         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
104         to the hash list.
105         * tests/test-exclude8.sh: New test case.
106         * modules/exclude-tests: Add new test.
107
108 2010-05-05  Eric Blake  <eblake@redhat.com>
109
110         verify: automate tests
111         * modules/verify-tests: New module.
112         * tests/test-verify.sh: New file.
113         * tests/test-verify.c: Guard each negative test with a unique id.
114         Also avoid warning about unused left hand of comma expressions.
115
116 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
117
118         Further improvements to verify.h, suggested by Eric Blake.
119         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
120         the GL_* versions, to avoid collision with OpenGL.
121         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
122         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
123         than testing merely whether it's defined.
124
125         Modify verify.h to pacify gcc -Wredundant_decls.
126         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
127         These use the prefix "GL_" since they're likely to be useful elsewhere.
128         We may need to break them out into a different .h file.
129         (__COUNTER__): Define to 0 if the compiler doesn't support it.
130         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
131         of verify_function__.
132
133 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
134
135         Tests for module pwrite.
136         * modules/pwrite-tests: New file.
137         * tests/test-pwrite.sh: New file.
138         * tests/test-pwrite.c: New file.
139
140         New module pwrite.
141         * lib/unistd.in.h (pwrite): New declaration.
142         * lib/pwrite.c: New file, from glibc with modifications.
143         * m4/pwrite.m4: New file.
144         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
145         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
146         REPLACE_PWRITE.
147         * modules/pwrite: New file.
148         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
149         REPLACE_PWRITE.
150         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
151         * doc/posix-functions/pwrite.texi: Mention the new module.
152
153 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
154
155         pread: Update documentation.
156         * doc/posix-functions/pread.texi: Mention the 'pread' module.
157
158 2010-05-04  Eric Blake  <eblake@redhat.com>
159
160         docs: update cygwin progress
161         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
162         this bug.
163         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
164         Added in cygwin 1.7.2.
165         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
166         Likewise.
167         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
168         Likewise.
169         * doc/glibc-functions/dup3.texi (dup3): Likewise.
170         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
171         * doc/glibc-functions/accept4.texi (accept4): Likewise.
172         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
173         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
174         Mention nproc module.
175         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
176         bug in cygwin 1.7.5 addition.
177         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
178         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
179         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
180         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
181         1.7.5.
182         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
183         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
184         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
185         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
186         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
187         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
188         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
189         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
190         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
191         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
192         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
193         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
194         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
195         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
196         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
197         Likewise.
198         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
199         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
200         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
201         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
202         Likewise.
203         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
204         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
205         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
206         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
207         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
208         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
209         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
210         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
211         Likewise.
212         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
213         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
214         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
215         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
216         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
217         Likewise.
218         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
219         Likewise.
220         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
221         Likewise.
222         * doc/glibc-functions/xdrrec_endofrecord.texi
223         (xdrrec_endofrecord): Likewise.
224         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
225         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
226         Likewise.
227         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
228         Likewise.
229
230 2010-05-04  Jim Meyering  <meyering@redhat.com>
231
232         gendocs.sh: make its "-s FILE" option more useful
233         * build-aux/gendocs.sh: When honoring the -s FILE option, update
234         $PACKAGE to reflect the probably-different basename of "FILE".
235
236 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
237
238         bootstrap: don't ignore download_po_files failure
239         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
240         failure.
241
242 2010-05-03  Jim Meyering  <meyering@redhat.com>
243
244         maint.mk: allow to pass options to gendocs.sh
245         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
246         (gendocs_options_): New overridable variable.
247
248         gnu-web-doc-update: don't ignore configure or build failure
249         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
250
251         announce-gen: backslash-escape '@'s in --help output
252         * build-aux/announce-gen: Fix syntax errors.
253
254         maint.mk, announce-gen: allow project-specific announcement mail headers
255         * top/maint.mk (translation_project_): Define default.
256         (announcement_Cc_, announcement_mail_headers_): Likewise.
257         (announcement): Invoke announce-gen with new --mail-headers option.
258         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
259
260         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
261         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
262         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
263         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
264         line in the "err2" output file when running "make check" in verbose
265         mode (i.e., with set -x enabled).
266
267 2010-05-03  Bruno Haible  <bruno@clisp.org>
268
269         wctob: Fix for weird platforms.
270         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
271         argument value.
272
273 2010-05-03  Jim Meyering  <meyering@redhat.com>
274
275         maint.mk: prohibit unwarranted use of <strings.h>
276         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
277         strings.h in a file that does not also use strcasecmp, strncasecmp,
278         ffs or ffsll.
279
280         maint.mk: remove obsolete comments
281         * top/maint.mk: Remove stale, commented-out rules.
282
283 2010-05-02  Bruno Haible  <bruno@clisp.org>
284
285         wcwidth: Declare also when it's aliased.
286         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
287         macro.
288
289 2010-05-02  Bruno Haible  <bruno@clisp.org>
290
291         Fix regression from 2010-04-25.
292         * gnulib-tool (func_modules_transitive_closure): Check the status of
293         all modules, not only of the tests that are of the form foo-tests where
294         foo is a module.
295
296 2010-05-02  Bruno Haible  <bruno@clisp.org>
297
298         wctob: Work around nasty Cygwin 1.7.2 bug.
299         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
300         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
301
302 2010-05-01  Bruno Haible  <bruno@clisp.org>
303
304         fpurge: Sharper test.
305         * tests/test-fpurge.c (main): Add one more ftell check.
306         * modules/fpurge-tests (Depends-on): Add ftell.
307         Suggested by Eric Blake.
308
309 2010-05-01  Bruno Haible  <bruno@clisp.org>
310
311         ftello: Another test.
312         * tests/test-ftello3.c: New file.
313         * modules/ftello-tests (Files): Add it.
314         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
315         MOSTLYCLEANFILES.
316
317         ftell: Another test.
318         * tests/test-ftell3.c: New file.
319         * modules/ftell-tests (Files): Add it.
320         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
321         MOSTLYCLEANFILES.
322
323 2010-05-01  Bruno Haible  <bruno@clisp.org>
324
325         ftell, ftello: Work around Solaris bug.
326         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
327         * lib/ftello.c: Include stdio-impl.h.
328         (ftello): On Solaris, when _IOWRT is set, compute the result without
329         looking at _IOREAD.
330         * modules/ftello (Files): Add lib/stdio-impl.h.
331         * doc/posix-functions/ftell.texi: Mention Solaris bug.
332         * doc/posix-functions/ftello.texi: Likewise.
333         Reported by Eric Blake.
334
335 2010-05-01  Bruno Haible  <bruno@clisp.org>
336
337         freading: Adapt to special meaning of _IOREAD flag on Solaris.
338         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
339         the _IOWRT flag is also set.
340
341 2010-05-01  Bruno Haible  <bruno@clisp.org>
342
343         Fix doc about a HP-UX stdio bug.
344         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
345         * doc/posix-functions/ftello.texi: Likewise.
346
347 2010-05-01  Bruno Haible  <bruno@clisp.org>
348
349         lseek test: Fix failure on Solaris.
350         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
351         output.
352
353 2010-04-30  Jim Meyering  <meyering@redhat.com>
354
355         bootstrap: don't ignore failure to generate po*/Makevars
356         * build-aux/bootstrap (with_gettext): Don't ignore failure
357         to create po/Makevars or runtime-po/Makevars.
358
359 2010-04-29  Eric Blake  <eblake@redhat.com>
360
361         headers: relax license to LGPLv2+
362         * modules/fcntl-h (License): Relax license.
363         * modules/getopt-posix (License): Likewise.
364         * modules/locale (License): Likewise.
365         * modules/math (License): Likewise.
366         * modules/pty (License): Likewise.
367         * modules/sched (License): Likewise.
368         * modules/search (License): Likewise.
369         * modules/spawn (License): Likewise.
370         * modules/stdarg (License): Likewise.
371         * modules/sysexits (License): Likewise.
372
373 2010-04-29  Jim Meyering  <meyering@redhat.com>
374
375         inttypes: relax license to LGPLv2+
376         * modules/inttypes (License): Relax license.
377
378 2010-04-29  Simon Josefsson  <simon@josefsson.org>
379
380         * top/maint.mk (indent): Run twice to produce idempotent results.
381
382 2010-04-28  Bruno Haible  <bruno@clisp.org>
383
384         getdate: Generate getdate.c in the source directory.
385         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
386         MOSTLYCLEANFILES.
387         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
388
389 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
390
391         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
392         is not declared as a const *; avoid warnings in that case.
393
394 2010-04-28  Eric Blake  <eblake@redhat.com>
395
396         canonicalize-lgpl: avoid compiler warning
397         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
398         declaration' / 'extraneous semicolon' warning with some compilers.
399         Reported by Andreas Gruenbacher.
400
401 2010-04-28  Jim Meyering  <meyering@redhat.com>
402
403         init.sh: ensure a more reliable exit status when exiting via trap
404         * tests/init.sh (setup_): Don't rely on $? in signal handler.
405         Inspired by patches from Dmitry V. Levin.
406         Also trap on signal 3 (SIGQUIT).
407
408 2010-04-27  Bruno Haible  <bruno@clisp.org>
409
410         Update doc about utimes().
411         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
412         'utimens' module.
413         Reported by Andreas Gruenbacher <agruen@suse.de>.
414
415 2010-04-27  Eric Blake  <eblake@redhat.com>
416
417         full-read, full-write: relax license
418         * modules/full-read (License): Drop to LGPLv2+.
419         * modules/full-write (License): Likewise.
420         * modules/safe-read (License): Likewise.
421         * modules/safe-write (License): Likewise.
422
423         pthread: mention library for linking
424         * modules/pthread (Link): Mention $(LIB_PTHREAD).
425
426 2010-04-27  Jim Meyering  <meyering@redhat.com>
427
428         maint.mk: fix a bug introduced in last change
429         * top/maint.mk (gl_assured_headers_): Now that all names are on
430         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
431         is not anchored to end of word, it should be adequate.
432
433         maint.mk: avoid side-effect in latest syntax-check
434         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
435         to run commands via $(shell...), and hence to incur cost only when
436         the new rule is actually run.
437
438         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
439         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
440         and use that to create a regexp used to detect all #if HAVE_..._H uses.
441         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
442         (gl_assured_headers_, az_, AZ_): Define.
443         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
444
445 2010-04-26  Jim Meyering  <jim@meyering.net>
446             Bruno Haible  <bruno@clisp.org>
447
448         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
449         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
450         Prompted by an exchange with Gilles Espinasse.
451
452 2010-04-26  Jim Meyering  <meyering@redhat.com>
453
454         git-version-gen: aesthetic tweak
455         * build-aux/git-version-gen: Use "$nl" rather than a literal,
456         so that the command remains on a single line.
457
458 2010-04-26  Eric Blake  <eblake@redhat.com>
459
460         git-version-gen: allow use on EBCDIC hosts
461         * build-aux/git-version-gen (dirty): Use literal rather than tying
462         ourselves to ascii.
463         Reported by Steve Goetze.
464
465 2010-04-25  Bruno Haible  <bruno@clisp.org>
466
467         netdb: Add support for GNULIB_POSIXCHECK.
468         * lib/netdb.in.h: Include warn-on-use.h.
469         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
470         functions are used when GNULIB_POSIXCHECK is defined and the
471         getaddrinfo module is not in use.
472         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
473         freeaddrinfo, gai_strerror, getnameinfo are declared.
474         * modules/netdb (Depends-on): Add warn-on-use.
475         (Makefile.am): Include warn-on-use.h in netdb.h.
476
477 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
478
479         build: avoid "make check" failure without .git/ directory
480         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
481         there is no .git/ directory.
482
483 2010-04-25  Bruno Haible  <bruno@clisp.org>
484
485         ptsname: Fix misuse of ttyname_r.
486         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
487         of errno.
488
489 2010-04-25  Bruno Haible  <bruno@clisp.org>
490
491         ttyname_r: Make it work on Solaris 10.
492         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
493         if the system function has the POSIX declaration. Test whether the
494         function fails if the buffer is less than 128 bytes large.
495         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
496         system's ttyname_r function. Provide a reasonably large buffer.
497         * modules/ttyname_r (Depends-on): Add extensions.
498         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
499
500 2010-04-25  Bruno Haible  <bruno@clisp.org>
501
502         Use the 'extensions' module for some more functions on Solaris.
503         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
504         module.
505         * doc/posix-functions/ctime_r.texi: Likewise.
506         * doc/posix-functions/getgrgid_r.texi: Likewise.
507         * doc/posix-functions/getgrnam_r.texi: Likewise.
508         * doc/posix-functions/getpwnam_r.texi: Likewise.
509         * doc/posix-functions/getpwuid_r.texi: Likewise.
510         * doc/posix-functions/readdir_r.texi: Likewise.
511         * doc/posix-functions/sigwait.texi: Likewise.
512         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
513         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
514
515 2010-04-25  Bruno Haible  <bruno@clisp.org>
516
517         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
518         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
519         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
520         * lib/ttyname_r.c: Include <limits.h>.
521         (ttyname_r): Define using the system's ttyname_r function, if it exists
522         and not on Solaris.
523         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
524         set.
525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
526         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
527         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
528         Reported by Simon Josefsson.
529
530 2010-04-25  Bruno Haible  <bruno@clisp.org>
531
532         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
533         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
534         * doc/posix-functions/ctime_r.texi: Likewise.
535         * doc/posix-functions/getgrgid_r.texi: Likewise.
536         * doc/posix-functions/getgrnam_r.texi: Likewise.
537         * doc/posix-functions/getlogin_r.texi: Likewise.
538         * doc/posix-functions/getpwnam_r.texi: Likewise.
539         * doc/posix-functions/getpwuid_r.texi: Likewise.
540         * doc/posix-functions/readdir_r.texi: Likewise.
541         * doc/posix-functions/sigwait.texi: Likewise.
542         * doc/posix-functions/ttyname_r.texi: Likewise.
543         Reported by Simon Josefsson.
544
545 2010-04-25  Bruno Haible  <bruno@clisp.org>
546
547         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
548         * gnulib-tool (func_usage): Document that --with-*-tests options apply
549         also to --create-testdir.
550         (func_acceptable): Don't consider the status of *-tests modules here.
551         (func_modules_transitive_closure): Consider it here, before including a
552         test module.
553         (func_import, func_create_testdir): Set inc_all_direct_tests,
554         inc_all_indirect_tests.
555         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
556         --create-testdir and --create-megatestdir.
557
558 2010-04-25  Bruno Haible  <bruno@clisp.org>
559
560         gnulib-tool: Add --without-*-tests options.
561         * gnulib-tool (func_usage): Document the --without-*-tests options.
562         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
563         excl_unportable_tests): New variables.
564         Fail if they are specified with --import or --update.
565         (func_acceptable): Respect the excl_*_tests variables.
566         (func_import): Set the excl_*_tests variables to empty.
567
568 2010-04-25  Simon Josefsson  <simon@josefsson.org>
569             Bruno Haible  <bruno@clisp.org>
570
571         Work around a MacOS X 10.4 bug with openpty.
572         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
573         * tests/test-openpty.c (main): Close the master side explicitly.
574
575 2010-04-25  Bruno Haible  <bruno@clisp.org>
576
577         strnlen: Fix a C++ test error on MacOS X and Solaris.
578         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
579         the function is not declared.
580         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
581         Simon Josefsson.
582
583 2010-04-24  Bruno Haible  <bruno@clisp.org>
584
585         Avoid a gcc warning.
586         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
587         of correct type for %08lx directive.
588         Reported by Eric Blake.
589
590 2010-04-24  Bruno Haible  <bruno@clisp.org>
591
592         vasnprintf: Correct errno value in case of out-of-memory.
593         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
594         or sprintf. Use the errno value from SNPRINTF or sprintf.
595         Reported by Ian Beckwith <ianb@erislabs.net>.
596
597 2010-04-24  Bruno Haible  <bruno@clisp.org>
598
599         ansi-c++-opt: Find correct compiler when cross-compiling.
600         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
601         AC_CHECK_PROGS.
602         Reported by Simon Josefsson.
603
604 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
605
606         vc-list-files: Add support for subversion
607         * build-aux/vc-list-files: Use "svn list" to generate the list of
608         files controlled by subversion.
609
610 2010-04-23  Jim Meyering  <meyering@redhat.com>
611
612         vc-list-files tests: convert to use init.sh
613         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
614         path_prepend_.
615         Use Exit, not exit.
616         Use skip_ rather than open coding it.
617         Remove trap set-up and compare definitions.
618         * tests/test-vc-list-files-git.sh: Likewise.
619         * modules/vc-list-files-tests (Files): Add tests/init.sh.
620
621 2010-04-22  Simon Josefsson  <simon@josefsson.org>
622
623         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
624         backup files.
625
626 2010-04-21  Simon Josefsson  <simon@josefsson.org>
627
628         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
629
630 2010-04-20  Eric Blake  <eblake@redhat.com>
631
632         tests: be robust to ignored SIGPIPE
633         * tests/test-select-in.sh: Consume all output.
634         * tests/test-lseek.sh: Check correct exit status, while avoiding
635         EPIPE.
636
637 2010-04-20  Simon Josefsson  <simon@josefsson.org>
638             Bruno Haible  <bruno@clisp.org>
639
640         visibility: Don't use -fvisibility if it leads to a warning.
641         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
642         yes, don't pretend that visibility works if it leads to a warning.
643         Reported by Mike Gran <spk121@yahoo.com>.
644
645 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
646
647         * build-aux/bootstrap: Use "git -h" for testing for supported options
648         instead of "git --help".  The short-form option only shows a summary,
649         and doesn't layout the full man page.  Grep for the full option name
650         in the summary, too.
651
652 2010-04-19  Bruno Haible  <bruno@clisp.org>
653
654         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
655         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
656         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
657         mention of RELOCATABLE_STRIP.
658         Reported by Sylvain Beucler <beuc@beuc.net>.
659
660 2010-04-19  Bruno Haible  <bruno@clisp.org>
661
662         * lib/diffseq.h: Fix typo in comment.
663         Reported by Eric Blake.
664
665 2010-04-19  Bruno Haible  <bruno@clisp.org>
666
667         ioctl: Move autoconf macro to a .m4 file.
668         * m4/ioctl.m4: New file, extracted from modules/ioctl.
669         * modules/ioctl (Files): Add it.
670         (configure.ac): Simply invoke gl_FUNC_IOCTL.
671         Reported by Ian Beckwith <ianb@erislabs.net>.
672
673 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
674             Bruno Haible  <bruno@clisp.org>
675
676         diffseq: Accommodate use-case with abstract arrays.
677         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
678         is not defined.
679         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
680         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
681
682 2010-04-18  Bruno Haible  <bruno@clisp.org>
683
684         * doc/posix-headers/stdbool.texi: More precise wording.
685
686 2010-04-17  Jim Meyering  <meyering@redhat.com>
687
688         maint.mk: use gnu-style indentation in an embedded perl script
689         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
690         Rename variable: s/two/last_two_bytes/
691
692 2010-04-16  Eric Blake  <eblake@redhat.com>
693
694         test-stdbool: skip test that fails with Solaris CC
695         * tests/test-stdbool.c (f): Skip test that causes compilation
696         error under buggy C++ compiler.
697         * lib/stdbool.in.h: Document the limitation.
698         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
699
700         setenv: allow compilation with C++
701         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
702         register keyword.
703
704         stdint: allow test to pass with C++
705         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
706
707         getopt: allow compilation with C++
708         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
709         struct.
710         * lib/getopt.c (_getopt_internal_r): Use correct type.
711         Reported by Dagobert Michelson, via Joel E. Denny.
712
713 2010-04-16  Bruno Haible  <bruno@clisp.org>
714
715         Override netdb.h always.
716         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
717         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
718         Reported by Ludovic Courtès <ludo@gnu.org>.
719
720 2010-04-15  Bruno Haible  <bruno@clisp.org>
721
722         openpty: Fix mistake from 2010-03-21.
723         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
724         Reported by Simon Josefsson.
725
726 2010-04-15  Eric Blake  <eblake@redhat.com>
727
728         test-forkpty: fix expected signature
729         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
730         Reported by Simon Josefsson.
731
732 2010-04-15  Jim Meyering  <meyering@redhat.com>
733
734         maint.mk: texinfo_suffix_re_: correct the default regexp
735         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
736
737         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
738         make it configurable via texinfo_suffix_re_.
739
740 2010-04-14  Eric Blake  <eblake@redhat.com>
741
742         strtok_r: relax license to LGPLv2+
743         * modules/strtok_r (License): Relax license.
744         Reported by Matthias Bolte.
745
746 2010-04-14  Simon Josefsson  <simon@josefsson.org>
747
748         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
749         version 1.4.4 by default instead of requiring the libgcrypt
750         version used during build.  This makes it possible to use the
751         application with older but still binary compatible libgcrypt
752         versions.
753
754 2010-04-13  Eric Blake  <eblake@redhat.com>
755
756         getopt-gnu: match recent glibc fixes and posix ruling
757         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
758         '+' handling, when requesting extensions.
759         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
760         'W;' handling.
761         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
762         * doc/posix-functions/getopt.texi (getopt): Document this.
763         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
764         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
765         Likewise.
766
767         getopt: merge bug fixes from glibc
768         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
769         diagnostics.  Honor '+:' correctly.  Reject ';'.
770
771         getopt-posix: detect MacOS bug
772         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
773         optind when missing a required argument.
774         * doc/posix-functions/getopt.texi (getopt): Document the bug.
775         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
776         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
777         Likewise.
778
779         getopt-posix: avoid spurious failure on Solaris
780         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
781         an indicator that setting optind=1 is sufficient for reset.
782
783         getopt-posix: avoid spurious failure on FreeBSD
784         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
785         in POSIX mode, since the m4 test uses it.
786
787         gnulib-tool: silence warning on BSD sh
788         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
789
790 2010-04-13  Jim Meyering  <meyering@redhat.com>
791
792         doc: users.txt: GNU patch now uses gnulib
793         * users.txt: Add patch.
794
795 2010-04-12  Jim Meyering  <meyering@redhat.com>
796
797         maint.mk: generate more concise timing data for syntax-check rules
798         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
799         " done" from each line that reports a syntax-check test duration.
800
801 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
802
803         git-version-gen: use "git update-index..." rather than "git status"
804         * build-aux/git-version-gen: Use git update-index --refresh, not
805         "git status".  With some versions of git, "git status" would fail
806         to update the index and result in an unwarranted "-dirty" suffix.
807
808 2010-04-11  Jim Meyering  <meyering@redhat.com>
809
810         openat: correct formatting (no semantic change)
811         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
812         Suggested by Bruno Haible.
813
814 2010-04-11  Bruno Haible  <bruno@clisp.org>
815
816         Stricter declaration checking in testdirs.
817         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
818         If for_tests is true, augment AM_CPPFLAGS to define
819         GNULIB_STRICT_CHECKING.
820         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
821         GNULIB_STRICT_CHECKING is defined, verify that the function is
822         declared.
823
824 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
825             Bruno Haible  <bruno@clisp.org>
826
827         libunistring: Improve configure output.
828         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
829         Don't say "consider installing GNU libunistring" when checking again
830         with libiconv.
831
832 2010-04-11  Bruno Haible  <bruno@clisp.org>
833
834         libunistring: Correct value of $LTLIBUNISTRING.
835         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
836         correct the value of $LTLIBUNISTRING.
837
838 2010-04-11  Bruno Haible  <bruno@clisp.org>
839
840         havelib: Add static libraries to LIBS in the right order.
841         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
842         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
843
844 2010-04-11  Bruno Haible  <bruno@clisp.org>
845
846         libunistring: Detect libunistring also when it depends on libiconv.
847         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
848         the second AC_LIB_HAVE_LINKFLAGS invocation.
849
850 2010-04-11  James Youngman  <jay@gnu.org>
851
852         close-stream: declare local scalars to be "const"
853         * lib/close-stream.c (close_stream): Make boolean variables const
854         to document the fact that we set but do not change them.
855
856 2010-04-11  Bruno Haible  <bruno@clisp.org>
857
858         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
859
860 2010-04-11  Jim Meyering  <meyering@redhat.com>
861
862         maint.mk: don't include dist-check.mk
863         * top/maint.mk: Remove bogus include directive.
864
865         maint.mk: improve empty-line-at-EOF check
866         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
867         solution, rather than tail+Perl-based one.  The latter would read
868         a few kilobytes from the end of each file, and did not handle empty
869         files properly.
870
871         maint.mk: print the elapsed time for each syntax-check rule
872         * top/maint.mk (sc_m_rules_): Save start time in a file.
873         (sc_z_rules_): New rules: remove temp file and print elapsed time.
874         (local-check): Interpose the .z rules
875
876 2010-04-11  Jim Meyering  <meyering@redhat.com>
877
878         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
879         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
880         empty file with one that ends in an empty line.
881
882 2010-04-10  Bruno Haible  <bruno@clisp.org>
883
884         mkdir: Make it work on mingw64.
885         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
886         * lib/mkdir.c: Update comment.
887         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
888
889 2010-04-10  Bruno Haible  <bruno@clisp.org>
890
891         Don't override improved macro from newer autoconf.
892         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
893         autoconf >= 2.62.
894         Reported by Joel E. Denny <jdenny@clemson.edu>.
895
896 2010-04-10  Jim Meyering  <meyering@redhat.com>
897
898         maint.mk: new syntax-check rule: prohibit empty lines at end of file
899         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
900
901         maint.mk: correct a diagnostic
902         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
903         in diagnostic; now use $prohibit.
904
905 2010-04-10  Bruno Haible  <address@hidden>
906
907         fchownat: Fix a C++ test error on Solaris 8.
908         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
909         the function does not exist.
910
911 2010-04-10  Bruno Haible  <bruno@clisp.org>
912
913         vasnprintf: Add more tests.
914         * tests/test-vasnprintf-posix.c: Include <errno.h>.
915         (test_function): Test converting an invalid wide string.
916
917         vasnprintf: Correct handling of unconvertible wide string arguments.
918         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
919         VASNPRINTF.
920         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
921         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
922         smaller than the expected maximum need for the directive. Set errno to
923         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
924         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
925         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
926         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
927         * modules/vasnprintf (Files): Add m4/printf.m4.
928         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
929
930 2010-04-10  Bruno Haible  <bruno@clisp.org>
931
932         vasnprintf: Fix crash in %ls directive.
933         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
934         string is passed as argument to %ls, with no precision and no width.
935         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
936
937 2010-04-10  Bruno Haible  <bruno@clisp.org>
938
939         vasnprintf: Fix multiple test failures on mingw.
940         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
941         _snprintf, or snwprintf, not _snwprintf.
942
943 2010-04-10  Bruno Haible  <bruno@clisp.org>
944
945         write: Fix a C++ test error on mingw.
946         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
947
948 2010-04-10  Bruno Haible  <bruno@clisp.org>
949
950         vasnprintf test: Reduce code duplication.
951         * tests/test-vasnprintf.c (test_function): New function, extracted from
952         test_vasnprintf.
953         (test_vasnprintf, test_asnprintf): Invoke it.
954
955 2010-04-10  Bruno Haible  <bruno@clisp.org>
956
957         strnlen: Fix warning in C++ mode on MacOS X.
958         * lib/string.in.h (strnlen): Use the modern idiom.
959         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
960         defining strnlen as a macro already in <config.h>.
961         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
962         REPLACE_STRNLEN.
963         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
964         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
965
966 2010-04-08  James Youngman  <jay@gnu.org>
967
968         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
969         the example.
970
971 2010-04-09  Jim Meyering  <meyering@redhat.com>
972
973         maint.mk: print better diagnostic when there is no $(_hv_file)
974         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
975         announce that when $(_hv_file) (aka help-version) does not exist.
976
977         init.sh: run tr in the "C" locale to avoid multibyte interpretation
978         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
979         not try to interpret its random input bytes.  Jarno Rajahalme reported
980         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
981         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
982         (mktempd_): Likewise, just in case.
983
984         ftruncate: add two years to projected module removal date: 2012
985         * m4/ftruncate.m4: Adjust comments.
986
987         ftruncate: mark module as obsolete; even MinGW provides it, now
988         * modules/ftruncate (Status): Obsolete.
989         (Notice): Say that.
990         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
991         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
992
993 2010-04-08  Bruno Haible  <bruno@clisp.org>
994
995         Fix side effects from tests-related modules.
996         * modules/dprintf-posix (Comment): New section.
997         * modules/fprintf-posix (Comment): Likewise.
998         * modules/obstack-printf-posix (Comment): Likewise.
999         * modules/printf-posix (Comment): Likewise.
1000         * modules/snprintf-posix (Comment): Likewise.
1001         * modules/sprintf-posix (Comment): Likewise.
1002         * modules/vasnprintf-posix (Comment): Likewise.
1003         * modules/vasprintf-posix (Comment): Likewise.
1004         * modules/vdprintf-posix (Comment): Likewise.
1005         * modules/vfprintf-posix (Comment): Likewise.
1006         * modules/vprintf-posix (Comment): Likewise.
1007         * modules/vsnprintf-posix (Comment): Likewise.
1008         * modules/vsprintf-posix (Comment): Likewise.
1009         * modules/xprintf-posix (Comment): Likewise.
1010         * modules/xvasprintf-posix (Comment): Likewise.
1011         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
1012         * modules/floorf-tests (Depends-on): Likewise.
1013         * modules/round-tests (Depends-on): Likewise.
1014         * modules/roundf-tests (Depends-on): Likewise.
1015         * modules/trunc-tests (Depends-on): Likewise.
1016         * modules/truncf-tests (Depends-on): Likewise.
1017         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
1018         'fprintf-posix' module is not present.
1019         * tests/test-floorf2.c (check): Likewise.
1020         * tests/test-trunc2.c (check): Likewise.
1021         * tests/test-truncf2.c (check): Likewise.
1022         * tests/test-round2.c (equal): Likewise.
1023         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1024
1025 2010-04-07  Karl Berry  <karl@gnu.org>
1026
1027         * config/srclist.txt,
1028         * config/srclistvars.sh,
1029         * config/srclist-update: doc fixes.
1030
1031 2010-04-07  Jim Meyering  <meyering@redhat.com>
1032
1033         maint.mk: add a PATH crosschecking syntax-check rule
1034         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
1035         Useful if you use a test like the one in help-version (coreutils,
1036         diffutils, grep, gzip) that ensures $(VERSION) matches what is
1037         printed by prog --version.
1038
1039 2010-04-06  Bruno Haible  <bruno@clisp.org>
1040
1041         Fix link error on mingw.
1042         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
1043         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
1044
1045 2010-04-06  Bruno Haible  <bruno@clisp.org>
1046
1047         Assume rmdir exists.
1048         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
1049
1050 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
1051
1052         doc: update users.txt
1053         * users.txt: Add gcal.
1054
1055 2010-04-06  Jim Meyering  <meyering@redhat.com>
1056
1057         init.sh: simply unset TMPDIR rather than risking env -i
1058         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
1059         although it probably works fine on all Unix-based systems, some
1060         systems (Cygwin?) cannot tolerate a totally cleared environment.
1061         Suggestion from Eric Blake.
1062
1063 2010-04-06  Jim Meyering  <meyering@redhat.com>
1064
1065         init.sh: portability fix: use env's POSIX-specified -i option not -u
1066         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
1067         than unportable env -u.  Solaris 5.11's env lacks support for -u.
1068
1069 2010-04-05  Bruno Haible  <bruno@clisp.org>
1070
1071         btowc: Work around Cygwin 1.7.2 bug.
1072         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
1073         does not map NUL to 0.
1074         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
1075
1076 2010-04-05  Bruno Haible  <bruno@clisp.org>
1077
1078         Make the multithread modules work on Cygwin 1.7.2.
1079         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
1080         imported symbols can be declared weak, so that it returns "no" on
1081         Cygwin 1.7.2.
1082
1083 2010-04-05  Bruno Haible  <bruno@clisp.org>
1084
1085         Use the module 'strncat'.
1086         * modules/unistr/u8-strncat (Depends-on): Add strncat.
1087
1088         Tests for module 'strncat'.
1089         * modules/strncat-tests: New file.
1090         * tests/test-strncat.c: New file.
1091
1092         New module 'strncat'.
1093         * lib/string.in.h (strncat): New declaration.
1094         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
1095         * m4/strncat.m4: New file, based on m4/memchr.m4.
1096         * modules/strncat: New file.
1097         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
1098         is declared.
1099         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
1100         REPLACE_STRNCAT.
1101         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
1102         REPLACE_STRNCAT.
1103         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
1104         module.
1105         * tests/test-string-c++.cc: Check signature of strncat.
1106
1107 2010-04-05  Jim Meyering  <meyering@redhat.com>
1108
1109         xstrtoumax-tests: convert to use init.sh
1110         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
1111         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
1112         Use Exit, not exit.
1113         Remove uses of $EXEEXT and "./" to run a program in the current dir.
1114
1115         xstrtoimax-tests: convert to use init.sh
1116         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
1117         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
1118         Use Exit, not exit.
1119         Remove uses of $EXEEXT and "./" to run a program in the current dir.
1120
1121 2010-04-05  Bruno Haible  <bruno@clisp.org>
1122
1123         sys_socket: Avoid #define replacements in C++ mode.
1124         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
1125         warning to the function if possible, rather than #defining the symbol
1126         to a dysfunctional alias.
1127
1128 2010-04-05  Bruno Haible  <bruno@clisp.org>
1129
1130         fseeko: Fix C++ test error on mingw.
1131         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
1132         gl_FUNC_FSEEKO.
1133         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
1134         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
1135         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
1136         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
1137
1138 2010-04-05  Bruno Haible  <bruno@clisp.org>
1139
1140         duplocale: Improve test output.
1141         * tests/test-duplocale.c (main): Print reason for skipped test.
1142
1143 2010-04-05  Bruno Haible  <bruno@clisp.org>
1144
1145         Assume rmdir exists.
1146         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
1147         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
1148
1149 2010-04-05  Bruno Haible  <bruno@clisp.org>
1150
1151         Fix link error on Solaris 8 with cc.
1152         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
1153
1154 2010-04-05  Bruno Haible  <bruno@clisp.org>
1155
1156         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
1157         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
1158
1159 2010-04-05  Bruno Haible  <bruno@clisp.org>
1160
1161         vasprintf: Update documentation.
1162         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
1163
1164 2010-04-05  Bruno Haible  <bruno@clisp.org>
1165
1166         ptsname: Improve test.
1167         * tests/test-ptsname.c (main): Also try the various master names of BSD
1168         systems.
1169
1170 2010-04-05  Bruno Haible  <bruno@clisp.org>
1171
1172         memchr: Avoid a possible C++ test error.
1173         * lib/string.in.h (memchr): Provide declaration if function is missing.
1174         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
1175         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
1176         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
1177         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
1178
1179 2010-04-05  Bruno Haible  <bruno@clisp.org>
1180
1181         strtok_r: Improve idiom.
1182         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
1183         AC_LIBOBJ is used.
1184
1185 2010-04-05  Bruno Haible  <bruno@clisp.org>
1186
1187         strdup: Improve idiom.
1188         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
1189         AC_LIBOBJ is used.
1190         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
1191         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
1192         when AC_LIBOBJ is used.
1193
1194 2010-04-05  Bruno Haible  <bruno@clisp.org>
1195
1196         mbsinit, mbrtowc, wcrtomb: Improve idioms.
1197         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
1198         don't set REPLACE_MBSINIT to 1.
1199         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
1200         don't set REPLACE_MBRTOWC to 1.
1201         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
1202         exist, don't set REPLACE_MBSRTOWCS to 1.
1203         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
1204         exist, don't set REPLACE_MBSNRTOWCS to 1.
1205         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
1206         don't set REPLACE_WCRTOMB to 1.
1207         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
1208         exist, don't set REPLACE_WCSRTOMBS to 1.
1209         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
1210         exist, don't set REPLACE_WCSNRTOMBS to 1.
1211
1212 2010-04-05  Bruno Haible  <bruno@clisp.org>
1213
1214         ldexpl: Improve idiom.
1215         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
1216         make sure to set HAVE_DECL_LDEXPL to 0.
1217
1218 2010-04-05  Jim Meyering  <meyering@redhat.com>
1219
1220         xstrtol-tests: convert to use init.sh
1221         * modules/xstrtol-tests (Files): Add tests/init.sh.
1222         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
1223         Use Exit, not exit.
1224         Remove uses of $EXEEXT and "./" to run a program in the current dir.
1225
1226         atexit-tests: convert to use init.sh
1227         * modules/atexit-tests (Files): Add tests/init.sh.
1228         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
1229         Use Exit, not exit.
1230         Remove uses of $EXEEXT and "./" to run a program in the current dir.
1231
1232         init.sh: fix typo
1233         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
1234
1235         init.sh: make it easier for a test script to write to the tty, ...
1236         when using automake's parallel-tests mode.
1237         * tests/init.sh (stderr_fileno_): Define overridable variable.
1238         (warn_): New function, to use it.
1239         (fail_, skip_, framework_failure_): Use warn_.
1240
1241 2010-04-04  Bruno Haible  <bruno@clisp.org>
1242
1243         btowc: Avoid warning.
1244         * lib/btowc.c: Include <stdlib.h>.
1245         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
1246
1247 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
1248             Bruno Haible  <bruno@clisp.org>
1249
1250         wchar: Port to NetBSD 1.5.
1251         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
1252         * lib/wctype.in.h (WEOF): Likewise.
1253
1254 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
1255             Bruno Haible  <bruno@clisp.org>
1256
1257         Port extended stdio to NetBSD 1.5.
1258         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
1259         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
1260         older.
1261
1262 2010-04-04  Bruno Haible  <bruno@clisp.org>
1263
1264         string: Remove unused substitution.
1265         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1266         HAVE_DECL_STRERROR.
1267         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
1268
1269 2010-04-04  Bruno Haible  <bruno@clisp.org>
1270
1271         strtod: Avoid a possible C++ test error.
1272         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
1273         set REPLACE_STRTOD.
1274
1275 2010-04-04  Bruno Haible  <bruno@clisp.org>
1276
1277         strerror: Update documentation.
1278         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
1279
1280 2010-04-04  Bruno Haible  <bruno@clisp.org>
1281
1282         stdio: Fix some C++ test errors on Solaris 8 with GCC.
1283         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
1284         _GL_CXXALIAS_SYS_CAST.
1285
1286 2010-04-04  Bruno Haible  <bruno@clisp.org>
1287
1288         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
1289         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
1290         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
1291         REPLACE_FREXPL to 1.
1292         * doc/posix-functions/frexpl.texi: Update documentation.
1293
1294 2010-04-04  Bruno Haible  <bruno@clisp.org>
1295
1296         math: Fix some C++ test errors on Solaris 8 and Cygwin.
1297         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
1298
1299 2010-04-04  Bruno Haible  <bruno@clisp.org>
1300
1301         Implement nanosleep for native Windows.
1302         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
1303
1304 2010-04-04  Bruno Haible  <bruno@clisp.org>
1305
1306         math: Fix some C++ test errors on Solaris 8.
1307         * lib/math.in.h (truncf, trunc): Use simpler idiom.
1308
1309 2010-04-04  Bruno Haible  <bruno@clisp.org>
1310
1311         math: Fix some C++ test errors on Cygwin.
1312         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
1313         truncl): Provide declaration if the system does not have it.
1314         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
1315         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
1316         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
1317         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
1318         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
1319         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
1320         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
1321         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
1322         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
1323         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
1324         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
1325         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
1326         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
1327         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
1328         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
1329         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
1330         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
1331         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
1332         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
1333         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
1334         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
1335         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
1336
1337 2010-04-04  Bruno Haible  <bruno@clisp.org>
1338
1339         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
1340         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1341         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
1342         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
1343         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
1344         * m4/isinf.m4 (gl_ISINF): Likewise.
1345         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1346
1347 2010-04-04  Bruno Haible  <bruno@clisp.org>
1348
1349         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
1350         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1351
1352 2010-04-04  Bruno Haible  <bruno@clisp.org>
1353
1354         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
1355         * modules/tmpfile (configure.ac): Update.
1356
1357         tmpfile: Fix C++ test error on mingw.
1358         * lib/stdio.in.h (tmpfile): New declaration.
1359         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
1360         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
1361         * modules/tmpfile (Depends-on): Add stdio.
1362         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
1363         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
1364         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
1365         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
1366         REPLACE_TMPFILE.
1367         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
1368
1369 2010-04-04  Bruno Haible  <bruno@clisp.org>
1370
1371         ioctl: Fix C++ test error on mingw.
1372         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
1373         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
1374         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
1375
1376 2010-04-03  Bruno Haible  <bruno@clisp.org>
1377
1378         wcwidth: Fix C++ test error on mingw.
1379         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
1380         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
1381         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
1382
1383 2010-04-03  Bruno Haible  <bruno@clisp.org>
1384
1385         nanosleep: Fix C++ test error on mingw.
1386         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
1387         * lib/time.in.h (nanosleep): Use modern idiom.
1388         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
1389         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
1390         REPLACE_NANOSLEEP to 1.
1391         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
1392         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
1393
1394 2010-04-03  Bruno Haible  <bruno@clisp.org>
1395
1396         strptime: Fix C++ test error on mingw.
1397         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
1398         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
1399         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
1400         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
1401         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
1402         not REPLACE_STRPTIME.
1403         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
1404         REPLACE_STRPTIME.
1405
1406 2010-04-03  Bruno Haible  <bruno@clisp.org>
1407
1408         timegm: Fix C++ test error on mingw.
1409         * lib/time.in.h (timegm): Use modern idiom.
1410         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
1411         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
1412         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
1413         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
1414
1415 2010-04-03  Bruno Haible  <bruno@clisp.org>
1416
1417         timegm: Assume declaration if function exists.
1418         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
1419         if it exists. Don't clobber ac_cv_func_timegm.
1420
1421 2010-04-03  Bruno Haible  <bruno@clisp.org>
1422
1423         time_r: Fix C++ test error on mingw.
1424         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
1425         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
1426         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
1427         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
1428         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
1429
1430 2010-04-03  Bruno Haible  <bruno@clisp.org>
1431
1432         time_r: Minor updates.
1433         * modules/time_r (Description): Mention the provided functions.
1434         * lib/time_r.c: Don't include <string.h>.
1435         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
1436         * doc/posix-functions/localtime_r.texi: Likewise.
1437
1438 2010-04-03  Bruno Haible  <bruno@clisp.org>
1439
1440         time: Fix regression introduced on 2010-03-08.
1441         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
1442         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
1443
1444 2010-04-03  Jim Meyering  <meyering@redhat.com>
1445
1446         maint.mk: don't silently disable project-specific syntax-check rules
1447         * top/maint.mk (_prohibit_regexp): Define, to help people realize
1448         that they need to convert their project-specific syntax-check rules
1449         to use the new _sc_search_regexp.
1450
1451 2010-04-03  Bruno Haible  <bruno@clisp.org>
1452
1453         fchdir: Fix regression introduced on 2010-03-08.
1454         * lib/unistd.in.h (fchdir): Fix declaration.
1455         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
1456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
1457         REPLACE_FCHDIR.
1458         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
1459         REPLACE_FCHDIR.
1460
1461 2010-04-03  Bruno Haible  <bruno@clisp.org>
1462
1463         getpagesize: Fix C++ test error on mingw.
1464         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
1465         system does not declare the function.
1466         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
1467         declared.
1468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1469         HAVE_DECL_GETPAGESIZE.
1470         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
1471
1472 2010-04-03  Bruno Haible  <bruno@clisp.org>
1473
1474         stdio: Make C++ tests work on mingw.
1475         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
1476         does not declare the function.
1477
1478 2010-04-03  Bruno Haible  <bruno@clisp.org>
1479
1480         ftello: Fix C++ test error on mingw.
1481         * lib/stdio.in.h (ftello): Use modern idiom.
1482         * lib/ftello.c (ftello): Renamed from rpl_ftello.
1483         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
1484         is missing and that it needs to be replaced.
1485         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
1486         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
1487         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
1488
1489 2010-04-03  Bruno Haible  <bruno@clisp.org>
1490
1491         fseeko: Fix C++ test error on mingw.
1492         * lib/stdio.in.h (fseeko): Use modern idiom.
1493         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
1494         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
1495         is missing and that it needs to be replaced.
1496         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
1497         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
1498         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
1499
1500 2010-04-03  Bruno Haible  <bruno@clisp.org>
1501
1502         mkstemp: Fix C++ test error on mingw.
1503         * lib/stdlib.in.h (mkstemp): Use modern idiom.
1504         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
1505         function is missing and that it needs to be replaced.
1506         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
1507         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
1508
1509 2010-04-03  Bruno Haible  <bruno@clisp.org>
1510
1511         stpncpy: Fix C++ test error on mingw.
1512         * lib/string.in.h (stpncpy): Use modern idiom.
1513         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
1514         function is missing and that it needs to be replaced.
1515         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1516         REPLACE_STPNCPY.
1517         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
1518
1519 2010-04-03  Bruno Haible  <bruno@clisp.org>
1520
1521         sys_stat: Fix C++ test error on mingw.
1522         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
1523         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
1524
1525 2010-04-03  Bruno Haible  <bruno@clisp.org>
1526
1527         pty: Update doc.
1528         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
1529
1530 2010-04-03  Bruno Haible  <bruno@clisp.org>
1531
1532         unistd: Fix C++ test error on mingw.
1533         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
1534
1535 2010-04-03  Bruno Haible  <bruno@clisp.org>
1536
1537         Update doc regarding mingw.
1538         * doc/glibc-functions/openpty.texi: Update regarding mingw.
1539         * doc/glibc-functions/login_tty.texi: Likewise.
1540         * doc/glibc-functions/forkpty.texi: Likewise.
1541
1542 2010-04-03  Bruno Haible  <bruno@clisp.org>
1543
1544         stdlib: Avoid compilation failure of c-strtold on mingw.
1545         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
1546
1547 2010-04-03  Bruno Haible  <bruno@clisp.org>
1548
1549         locale: Make C++ tests work on Cygwin and mingw.
1550         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
1551         cannot provide the function.
1552         Reported by Simon Josefsson.
1553
1554 2010-04-03  Bruno Haible  <bruno@clisp.org>
1555
1556         localename: Port to MacOS X 10.6.
1557         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
1558         memory layout of the locales in MacOS X 10.6 as well.
1559         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
1560
1561 2010-04-02  Bruno Haible  <bruno@clisp.org>
1562
1563         gnulib-tool: Ensure that long-running tests are executed last.
1564         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
1565         running tests after the one for the other tests.
1566
1567 2010-04-02  Bruno Haible  <bruno@clisp.org>
1568
1569         gnulib-tool: Ensure the tests in the main directory are executed first.
1570         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
1571         start with the current directory.
1572
1573 2010-04-02  Bruno Haible  <bruno@clisp.org>
1574
1575         Tests for module 'havelib', moved here from GNU gettext.
1576         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
1577         modifications.
1578         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
1579         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
1580         with modifications.
1581         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
1582         modifications.
1583         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
1584         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
1585         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
1586         with modifications.
1587         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
1588         with modifications.
1589         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
1590         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
1591         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
1592         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
1593         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
1594         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
1595         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
1596         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
1597         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
1598         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
1599         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
1600         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
1601         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
1602         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
1603         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
1604         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
1605         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
1606         with modifications.
1607         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
1608         with modifications.
1609         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
1610         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
1611         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
1612         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
1613         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
1614         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
1615         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
1616         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
1617         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
1618         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
1619         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
1620         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
1621         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
1622         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
1623         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
1624         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
1625         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
1626         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
1627         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
1628         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
1629         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
1630         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
1631         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
1632         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
1633         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
1634         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
1635         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
1636         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
1637         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
1638         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
1639         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
1640         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
1641         * tests/havelib/rpathx/rpathx.c: New file, from
1642         gettext/autoconf-lib-link.
1643         * tests/havelib/rpathx/Makefile.am: New file, from
1644         gettext/autoconf-lib-link.
1645         * tests/havelib/rpathx/configure.ac: New file, from
1646         gettext/autoconf-lib-link with modifications.
1647         * tests/havelib/rpathy/rpathy.c: New file, from
1648         gettext/autoconf-lib-link.
1649         * tests/havelib/rpathy/Makefile.am: New file, from
1650         gettext/autoconf-lib-link.
1651         * tests/havelib/rpathy/configure.ac: New file, from
1652         gettext/autoconf-lib-link with modifications.
1653         * tests/havelib/rpathz/rpathz.c: New file, from
1654         gettext/autoconf-lib-link.
1655         * tests/havelib/rpathz/Makefile.am: New file, from
1656         gettext/autoconf-lib-link.
1657         * tests/havelib/rpathz/configure.ac: New file, from
1658         gettext/autoconf-lib-link with modifications.
1659         * tests/havelib/rpathlx/usex.c: New file, from
1660         gettext/autoconf-lib-link.
1661         * tests/havelib/rpathlx/Makefile.am: New file, from
1662         gettext/autoconf-lib-link.
1663         * tests/havelib/rpathlx/configure.ac: New file, from
1664         gettext/autoconf-lib-link with modifications.
1665         * tests/havelib/rpathly/usey.c: New file, from
1666         gettext/autoconf-lib-link.
1667         * tests/havelib/rpathly/Makefile.am: New file, from
1668         gettext/autoconf-lib-link.
1669         * tests/havelib/rpathly/configure.ac: New file, from
1670         gettext/autoconf-lib-link with modifications.
1671         * tests/havelib/rpathlz/usez.c: New file, from
1672         gettext/autoconf-lib-link.
1673         * tests/havelib/rpathlz/Makefile.am: New file, from
1674         gettext/autoconf-lib-link.
1675         * tests/havelib/rpathlz/configure.ac: New file, from
1676         gettext/autoconf-lib-link with modifications.
1677         * tests/havelib/rpathlyx/usey.c: New file, from
1678         gettext/autoconf-lib-link.
1679         * tests/havelib/rpathlyx/Makefile.am: New file, from
1680         gettext/autoconf-lib-link.
1681         * tests/havelib/rpathlyx/configure.ac: New file, from
1682         gettext/autoconf-lib-link with modifications.
1683         * tests/havelib/rpathlzyx/usez.c: New file, from
1684         gettext/autoconf-lib-link.
1685         * tests/havelib/rpathlzyx/Makefile.am: New file, from
1686         gettext/autoconf-lib-link.
1687         * tests/havelib/rpathlzyx/configure.ac: New file, from
1688         gettext/autoconf-lib-link with modifications.
1689         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
1690         with modifications.
1691
1692 2010-04-02  Bruno Haible  <bruno@clisp.org>
1693
1694         gnulib-tool: Create distributed built sources also for the tests.
1695         * gnulib-tool (func_create_testdir): Also generate distributed built
1696         sources in the tests directory.
1697
1698 2010-04-02  Bruno Haible  <bruno@clisp.org>
1699
1700         gnulib-tool: Obey user's environment variables.
1701         * gnulib-tool (func_create_testdir): When creating built sources,
1702         respect the environment variables for autoconf, automake, etc. given by
1703         the user.
1704
1705 2010-04-02  Bruno Haible  <bruno@clisp.org>
1706
1707         gnulib-tool: Provide the value of --m4-base to modules.
1708         * gnulib-tool (func_import, func_create_testdir): Emit a definition
1709         of gl_m4_base.
1710
1711 2010-04-02  Eric Blake  <eblake@redhat.com>
1712
1713         maint.mk: fix some fallout
1714         * NEWS: Document the incompatible change, and its effect on cfg.mk.
1715         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
1716
1717 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1718
1719         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
1720         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
1721         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
1722         (sc_cast_of_x_alloc_return_value): Likewise.
1723         (sc_cast_of_alloca_return_value): Likewise.
1724         (sc_space_tab): Likewise.
1725         (sc_prohibit_atoi_atof): Likewise.
1726         (sc_prohibit_magic_number_exit): Likewise.
1727         (sc_error_exit_success): Likewise.
1728         (sc_file_system): Likewise.
1729         (sc_prohibit_have_config_h): Likewise.
1730         (sc_require_config_h): Likewise.
1731         (sc_prohibit_HAVE_MBRTOWC): Likewise.
1732         (sc_obsolete_symbols): Likewise.
1733         (sc_changelog): Likewise.
1734         (sc_program_name): Likewise.
1735         (sc_the_the): Likewise.
1736         (sc_trailing_blank): Likewise.
1737         (sc_two_space_separator_in_usage): Likewise.
1738         (sc_useless_cpp_parens): Likewise.
1739         (sc_GPL_version): Likewise.
1740         (sc_GFDL_version): Likewise.
1741         (sc_texinfo_acronym): Likewise.
1742         (sc_prohibit_cvs_keyword): Likewise.
1743         (sc_prohibit_stat_st_blocks): Likewise.
1744         (sc_prohibit_S_IS_definition): Likewise.
1745         (sc_redundant_const): Likewise.
1746         (sc_makefile_TAB_only_indentation): Likewise.
1747         (sc_m4_quote_check): Likewise.
1748         (sc_makefile_path_separator_check): Likewise.
1749         (sc_copyright_check): Likewise.
1750         (sc_Wundef_boolean): Likewise.
1751         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
1752
1753         maint.mk: match 0 or more whitespace-before-function-call '('
1754         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
1755         that have zero or two-and-more spaces between the function name
1756         and the open parenthesis.
1757         (sc_error_message_warn_fatal): Likewise.
1758         (sc_error_message_uppercase): Likewise.
1759         (sc_error_message_period): Likewise.
1760
1761 2010-03-31  Eric Blake  <eblake@redhat.com>
1762
1763         maint.mk: check for [ as well as test
1764         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
1765         Based on a libvirt report by Matthias Bolte.
1766
1767         gnumakefile: don't squelch _version output
1768         * top/GNUmakefile (_version): Create one-shot dependency rather
1769         than using $(shell) when version must be regenerated.
1770         (_autoreconf): Run verbosely, by default.
1771
1772         sys_time: avoid compiler warnings
1773         * lib/sys_time.in.h (includes): Ensure gcc pragma is
1774         unconditional, fixing regression from 2010-03-29.
1775         Reported by Simon Josefsson.
1776
1777 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
1778
1779         maint.mk: s/_header_without_use/_sc_header_without_use/
1780         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
1781         (sc_prohibit_assert_without_use): Use the new name.
1782         (sc_prohibit_close_stream_without_use): Likewise.
1783         (sc_prohibit_getopt_without_use): Likewise.
1784         (sc_prohibit_quotearg_without_use): Likewise.
1785         (sc_prohibit_quote_without_use): Likewise.
1786         (sc_prohibit_long_options_without_use): Likewise.
1787         (sc_prohibit_inttostr_without_use): Likewise.
1788         (sc_prohibit_ignore_value_without_use): Likewise.
1789         (sc_prohibit_error_without_use): Likewise.
1790         (sc_prohibit_xalloc_without_use): Likewise.
1791         (sc_prohibit_hash_without_use): Likewise.
1792         (sc_prohibit_hash_pjw_without_use): Likewise.
1793         (sc_prohibit_safe_read_without_use): Likewise.
1794         (sc_prohibit_argmatch_without_use): Likewise.
1795         (sc_prohibit_canonicalize_without_use): Likewise.
1796         (sc_prohibit_root_dev_ino_without_use): Likewise.
1797         (sc_prohibit_openat_without_use): Likewise.
1798         (sc_prohibit_c_ctype_without_use): Likewise.
1799         (sc_prohibit_signal_without_use): Likewise.
1800         (sc_prohibit_intprops_without_use): Likewise.
1801
1802 2010-03-30  Eric Blake  <eblake@redhat.com>
1803
1804         maint: improve module indicators
1805         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
1806         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
1807         columns, and avoid extra macro expansion.
1808
1809         fdopendir: work around FreeBSD bug
1810         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1811         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
1812         * modules/dirent (Makefile.am): Substitute it.
1813         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
1814         declaration.
1815         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
1816         fix.
1817         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1818
1819 2010-03-29  Bruno Haible  <bruno@clisp.org>
1820
1821         Emit #pragma system_header after the inclusion guard, not before.
1822         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
1823         guard that spans the entire file, not before. This enables an
1824         optimization in GCC's preprocessor.
1825         * lib/ctype.in.h: Likewise.
1826         * lib/dirent.in.h: Likewise.
1827         * lib/errno.in.h: Likewise.
1828         * lib/float.in.h: Likewise.
1829         * lib/getopt.in.h: Likewise.
1830         * lib/iconv.in.h: Likewise.
1831         * lib/langinfo.in.h: Likewise.
1832         * lib/locale.in.h: Likewise.
1833         * lib/math.in.h: Likewise.
1834         * lib/netdb.in.h: Likewise.
1835         * lib/netinet_in.in.h: Likewise.
1836         * lib/pty.in.h: Likewise.
1837         * lib/sched.in.h: Likewise.
1838         * lib/se-selinux.in.h: Likewise.
1839         * lib/search.in.h: Likewise.
1840         * lib/spawn.in.h: Likewise.
1841         * lib/stdarg.in.h: Likewise.
1842         * lib/stdint.in.h: Likewise.
1843         * lib/string.in.h: Likewise.
1844         * lib/strings.in.h: Likewise.
1845         * lib/sys_file.in.h: Likewise.
1846         * lib/sys_ioctl.in.h: Likewise.
1847         * lib/sys_time.in.h: Likewise.
1848         * lib/sys_times.in.h: Likewise.
1849         * lib/sys_utsname.in.h: Likewise.
1850         * lib/sys_wait.in.h: Likewise.
1851         * lib/sysexits.in.h: Likewise.
1852         * lib/wctype.in.h: Likewise.
1853
1854 2010-03-28  James Youngman  <jay@gnu.org>
1855
1856         save-cwd: don't leak a file descriptor when the caller execs.
1857         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
1858         saved file descriptor.
1859         * modules/save-cwd (Depends-on): Depend on cloexec.
1860
1861 2010-03-29  Bruno Haible  <bruno@clisp.org>
1862
1863         Remove vestiges of fts-lgpl module.
1864         * lib/fts_.h: Assume GNULIB_FTS is 1.
1865         * lib/fts.c: Likewise.
1866         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1867
1868 2010-03-28  Bruno Haible  <bruno@clisp.org>
1869
1870         Fix definition of tests witness macro.
1871         * gnulib-tool (func_import): Fix definition of witness macro.
1872
1873 2010-03-28  Bruno Haible  <bruno@clisp.org>
1874
1875         Fix ioctl's protoype on glibc systems.
1876         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
1877         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
1878         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
1879         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
1880         signature. If not, arrange to replace the ioctl function.
1881         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
1882         REPLACE_IOCTL.
1883         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
1884         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
1885         Reported by Ludovic Courtès <ludo@gnu.org>.
1886
1887 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
1888
1889         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
1890         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
1891         made it so grep -r --include=GLOB* ... did not work.
1892
1893 2010-03-26  Jim Meyering  <meyering@redhat.com>
1894             Eric Blake  <eblake@redhat.com>
1895
1896         maint.mk: prohibit use of test's -o and -a operators
1897         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
1898
1899 2010-03-28  Bruno Haible  <bruno@clisp.org>
1900
1901         Remove unused GNULIB_XYZ macro definitions.
1902         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
1903         invocation.
1904
1905 2010-03-28  Bruno Haible  <bruno@clisp.org>
1906
1907         Mark privileged tests modules.
1908         * modules/idpriv-drop-tests (Status): New section.
1909         * modules/idpriv-droptemp-tests (Status): New section.
1910
1911 2010-03-28  Bruno Haible  <bruno@clisp.org>
1912
1913         Split C++ tests into separate tests modules.
1914         * modules/dirent-c++-tests: New file, extracted from
1915         modules/dirent-tests.
1916         * modules/dirent-tests: Depend on it.
1917         * modules/fcntl-h-c++-tests: New file, extracted from
1918         modules/fcntl-h-tests.
1919         * modules/fcntl-h-tests: Depend on it.
1920         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
1921         * modules/glob-tests: Depend on it.
1922         * modules/iconv-h-c++-tests: New file, extracted from
1923         modules/iconv-h-tests.
1924         * modules/iconv-h-tests: Depend on it.
1925         * modules/langinfo-c++-tests: New file, extracted from
1926         modules/langinfo-tests.
1927         * modules/langinfo-tests: Depend on it.
1928         * modules/locale-c++-tests: New file, extracted from
1929         modules/locale-tests.
1930         * modules/locale-tests: Depend on it.
1931         * modules/math-c++-tests: New file, extracted from modules/math-tests.
1932         * modules/math-tests: Depend on it.
1933         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
1934         * modules/pty-tests: Depend on it.
1935         * modules/search-c++-tests: New file, extracted from
1936         modules/search-tests.
1937         * modules/search-tests: Depend on it.
1938         * modules/signal-c++-tests: New file, extracted from
1939         modules/signal-tests.
1940         * modules/signal-tests: Depend on it.
1941         * modules/spawn-c++-tests: New file, extracted from
1942         modules/spawn-tests.
1943         * modules/spawn-tests: Depend on it.
1944         * modules/stdio-c++-tests: New file, extracted from
1945         modules/stdio-tests.
1946         * modules/stdio-tests: Depend on it.
1947         * modules/stdlib-c++-tests: New file, extracted from
1948         modules/stdlib-tests.
1949         * modules/stdlib-tests: Depend on it.
1950         * modules/string-c++-tests: New file, extracted from
1951         modules/string-tests.
1952         * modules/string-tests: Depend on it.
1953         * modules/sys_ioctl-c++-tests: New file, extracted from
1954         modules/sys_ioctl-tests.
1955         * modules/sys_ioctl-tests: Depend on it.
1956         * modules/sys_select-c++-tests: New file, extracted from
1957         modules/sys_select-tests.
1958         * modules/sys_select-tests: Depend on it.
1959         * modules/sys_socket-c++-tests: New file, extracted from
1960         modules/sys_socket-tests.
1961         * modules/sys_socket-tests: Depend on it.
1962         * modules/sys_stat-c++-tests: New file, extracted from
1963         modules/sys_stat-tests.
1964         * modules/sys_stat-tests: Depend on it.
1965         * modules/sys_time-c++-tests: New file, extracted from
1966         modules/sys_time-tests.
1967         * modules/sys_time-tests: Depend on it.
1968         * modules/time-c++-tests: New file, extracted from modules/time-tests.
1969         * modules/time-tests: Depend on it.
1970         * modules/unistd-c++-tests: New file, extracted from
1971         modules/unistd-tests.
1972         * modules/unistd-tests: Depend on it.
1973         * modules/wchar-c++-tests: New file, extracted from
1974         modules/wchar-tests.
1975         * modules/wchar-tests: Depend on it.
1976         * modules/wctype-c++-tests: New file, extracted from
1977         modules/wctype-tests.
1978         * modules/wctype-tests: Depend on it.
1979         Reported by Simon Josefsson.
1980
1981 2010-03-28  Bruno Haible  <bruno@clisp.org>
1982
1983         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
1984         * gnulib-tool (func_exists_module): New function, extracted from
1985         func_verify_module.
1986         (func_verify_module): Use it.
1987         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
1988         'foo' only if 'foo' exists.
1989         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
1990         module.
1991
1992 2010-03-28  Bruno Haible  <bruno@clisp.org>
1993
1994         gnulib-tool: Add support for special categories of tests.
1995         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
1996         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
1997         (func_usage): Document them.
1998         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
1999         inc_unportable_tests, inc_all_tests): New variables.
2000         (func_acceptable): Consider these variables.
2001         (func_modules_transitive_closure): Make it work when the 'Status' field
2002         consists of multiple words.
2003         (func_import): Store and restore the values of inc_cxx_tests,
2004         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
2005         inc_all_tests in gnulib-comp.m4.
2006         (func_create_testdir): Set inc_all_tests to true.
2007         * doc/gnulib.texi (Extra tests modules): New section.
2008         Suggested by Jim Meyering.
2009
2010 2010-03-28  Bruno Haible  <bruno@clisp.org>
2011
2012         ansi-c++-opt: Allow turning off the C++ build by default.
2013         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
2014         gl_CXX_CHOICE_DEFAULT_NO is defined.
2015         Requested by Eric Blake.
2016
2017 2010-03-28  Bruno Haible  <bruno@clisp.org>
2018
2019         unistd: Avoid #define replacements in C++ mode.
2020         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
2021         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
2022         setsockopt, shutdown, select): In C++, attach a warning to the function
2023         if possible, rather than #defining the symbol to a dysfunctional alias.
2024         Reported by John W. Eaton <jwe@gnu.org>.
2025
2026 2010-03-28  Bruno Haible  <bruno@clisp.org>
2027
2028         Fix link errors on mingw.
2029         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
2030         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
2031         $(LIBSOCKET).
2032         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
2033         $(LIBSOCKET).
2034
2035 2010-03-28  Bruno Haible  <bruno@clisp.org>
2036             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2037
2038         lib-ignore: Determine different options for different compilers.
2039         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
2040         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
2041         Add comments.
2042         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
2043         * NEWS: Mention the change.
2044
2045 2010-03-27  Bruno Haible  <bruno@clisp.org>
2046
2047         Remove unused GNULIB_XYZ macro definitions.
2048         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
2049         * modules/fseek (configure.ac): Likewise.
2050         * modules/ioctl (configure.ac): Likewise.
2051         * modules/open (configure.ac): Likewise.
2052         * modules/stdlib-safer (configure.ac): Likewise.
2053
2054 2010-03-27  Bruno Haible  <bruno@clisp.org>
2055
2056         Add a remark about certain modules.
2057         * modules/malloc (Comment): New section.
2058         * modules/realloc (Comment): Likewise.
2059         * modules/sigpipe (Comment): Likewise.
2060
2061 2010-03-27  Bruno Haible  <bruno@clisp.org>
2062
2063         Resolve conflict between the two kinds of module indicators.
2064         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
2065         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
2066         * modules/canonicalize (configure.ac): Invoke
2067         gl_MODULE_INDICATOR_FOR_TESTS.
2068         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
2069         GNULIB_XYZ.
2070         * tests/test-dirent-c++.cc: Likewise.
2071         * tests/test-dirent-safer.c: Likewise.
2072         * tests/test-dup2.c: Likewise.
2073         * tests/test-fchdir.c: Likewise.
2074         * tests/test-fcntl-h-c++.cc: Likewise.
2075         * tests/test-getopt.c: Likewise.
2076         * tests/test-getopt.h: Likewise.
2077         * tests/test-langinfo-c++.cc: Likewise.
2078         * tests/test-locale-c++.cc: Likewise.
2079         * tests/test-math-c++.cc: Likewise.
2080         * tests/test-pty-c++.cc: Likewise.
2081         * tests/test-search-c++.cc: Likewise.
2082         * tests/test-signal-c++.cc: Likewise.
2083         * tests/test-spawn-c++.cc: Likewise.
2084         * tests/test-stdio-c++.cc: Likewise.
2085         * tests/test-stdlib-c++.cc: Likewise.
2086         * tests/test-string-c++.cc: Likewise.
2087         * tests/test-sys_ioctl-c++.cc: Likewise.
2088         * tests/test-sys_select-c++.cc: Likewise.
2089         * tests/test-sys_socket-c++.cc: Likewise.
2090         * tests/test-sys_stat-c++.cc: Likewise.
2091         * tests/test-sys_time-c++.cc: Likewise.
2092         * tests/test-time-c++.cc: Likewise.
2093         * tests/test-unistd-c++.cc: Likewise.
2094         * tests/test-wchar-c++.cc: Likewise.
2095         * tests/uninorm/test-u8-nfc.c: Likewise.
2096         * tests/uninorm/test-u8-nfd.c: Likewise.
2097         * tests/uninorm/test-u8-nfkc.c: Likewise.
2098         * tests/uninorm/test-u8-nfkd.c: Likewise.
2099         * tests/uninorm/test-u16-nfc.c: Likewise.
2100         * tests/uninorm/test-u16-nfd.c: Likewise.
2101         * tests/uninorm/test-u16-nfkc.c: Likewise.
2102         * tests/uninorm/test-u16-nfkd.c: Likewise.
2103         * tests/uninorm/test-u32-nfc.c: Likewise.
2104         * tests/uninorm/test-u32-nfc-big.c: Likewise.
2105         * tests/uninorm/test-u32-nfd.c: Likewise.
2106         * tests/uninorm/test-u32-nfd-big.c: Likewise.
2107         * tests/uninorm/test-u32-nfkc.c: Likewise.
2108         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
2109         * tests/uninorm/test-u32-nfkd.c: Likewise.
2110         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
2111         * tests/uninorm/test-u32-normalize-big.c: Likewise.
2112
2113 2010-03-27  Bruno Haible  <bruno@clisp.org>
2114
2115         Distinguish two kinds of module indicators.
2116         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
2117         gl_MODULE_INDICATOR.
2118         (gl_MODULE_INDICATOR): New macro.
2119         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
2120         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
2121         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
2122         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
2123         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
2124         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
2125         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
2126         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
2127         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
2128         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
2129         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
2130         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
2131         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
2132         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
2133         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
2134         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
2135         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
2136         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
2137         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
2138         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
2139         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
2140         * modules/cloexec (configure.ac): Likewise.
2141         * modules/getopt-gnu (configure.ac): Likewise.
2142         * modules/uninorm/u8-normalize (configure.ac): Likewise.
2143         * modules/uninorm/u16-normalize (configure.ac): Likewise.
2144         * modules/uninorm/u32-normalize (configure.ac): Likewise.
2145         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
2146
2147 2010-03-27  Bruno Haible  <bruno@clisp.org>
2148
2149         New module description field 'Comment'.
2150         * gnulib-tool: New option --extract-comment.
2151         (func_usage): Document it.
2152         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
2153         (func_get_comment): New function.
2154         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
2155
2156 2010-03-27  Bruno Haible  <bruno@clisp.org>
2157
2158         Addendum to 2010-02-07 commit.
2159         * gnulib-tool (func_usage): Document --extract-applicability option.
2160
2161 2010-03-27  Bruno Haible  <bruno@clisp.org>
2162
2163         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
2164         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
2165         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
2166         rather than link errors.
2167
2168 2010-03-27  Bruno Haible  <bruno@clisp.org>
2169
2170         Avoid side effects from tests-related modules on the compilation of lib.
2171         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
2172         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
2173         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
2174         parameter. Emit into AM_CPPFLAGS a definition of the designated C
2175         macro.
2176         (func_import): Define a witness macro. Assign it a value that depends
2177         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
2178         tests-related modules.
2179         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
2180         Reported by Jim Meyering.
2181
2182 2010-03-27  Bruno Haible  <bruno@clisp.org>
2183
2184         Factorize common .m4 code.
2185         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
2186         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
2187         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
2188         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
2189         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
2190         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
2191         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
2192         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
2193         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
2194         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
2195         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
2196         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
2197         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
2198         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
2199         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
2200         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
2201         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
2202         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
2203         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
2204         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
2205         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
2206         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
2207         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
2208         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
2209         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
2210         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
2211         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
2212         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
2213         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
2214         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
2215         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
2216         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
2217
2218 2010-03-27  Bruno Haible  <bruno@clisp.org>
2219
2220         Fix a compilation error on Cygwin with g++ >= 4.3.
2221         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
2222         if it is undefined or if we alias it to chmod.
2223         (lstat): Don't warn about the use of this function if it is undefined
2224         or if we alias it to stat.
2225         Reported by Simon Josefsson.
2226
2227 2010-03-27  Bruno Haible  <bruno@clisp.org>
2228
2229         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
2230         * modules/getlogin (configure.ac): Update.
2231
2232         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
2233         * modules/getlogin_r (configure.ac): Update.
2234
2235         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
2236         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
2237         * modules/inet_ntop (configure.ac): Update.
2238
2239         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
2240         * modules/inet_pton (configure.ac): Update.
2241
2242         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
2243         * modules/mbslen (configure.ac): Update.
2244
2245         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
2246         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
2247         * modules/forkpty (configure.ac): Update.
2248         * modules/openpty (configure.ac): Update.
2249
2250 2010-03-26  Simon Josefsson  <simon@josefsson.org>
2251
2252         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
2253         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
2254
2255 2010-03-25  Eric Blake  <eblake@redhat.com>
2256
2257         maint: use pragma consistently across replacement headers
2258         * lib/ctype.in.h (system_header): Hoist for consistent placement.
2259         * lib/dirent.in.h (system_header): Likewise.
2260         * lib/errno.in.h (system_header): Likewise.
2261         * lib/float.in.h (system_header): Likewise.
2262         * lib/getopt.in.h (system_header): Likewise.
2263         * lib/iconv.in.h (system_header): Likewise.
2264         * lib/inttypes.in.h (system_header): Likewise.
2265         * lib/langinfo.in.h (system_header): Likewise.
2266         * lib/locale.in.h (system_header): Likewise.
2267         * lib/math.in.h (system_header): Likewise.
2268         * lib/netdb.in.h (system_header): Likewise.
2269         * lib/netinet_in.in.h (system_header): Likewise.
2270         * lib/pty.in.h (system_header): Likewise.
2271         * lib/sched.in.h (system_header): Likewise.
2272         * lib/se-selinux.in.h (system_header): Likewise.
2273         * lib/search.in.h (system_header): Likewise.
2274         * lib/spawn.in.h (system_header): Likewise.
2275         * lib/stdarg.in.h (system_header): Likewise.
2276         * lib/stdint.in.h (system_header): Likewise.
2277         * lib/string.in.h (system_header): Likewise.
2278         * lib/strings.in.h (system_header): Likewise.
2279         * lib/sys_file.in.h (system_header): Likewise.
2280         * lib/sys_ioctl.in.h (system_header): Likewise.
2281         * lib/sys_socket.in.h (system_header): Likewise.
2282         * lib/sys_times.in.h (system_header): Likewise.
2283         * lib/sys_utsname.in.h (system_header): Likewise.
2284         * lib/sys_wait.in.h (system_header): Likewise.
2285         * lib/sysexits.in.h (system_header): Likewise.
2286         * lib/unistd.in.h (system_header): Likewise.
2287         * lib/wctype.in.h (system_header): Likewise.
2288
2289         arpa/inet: fix mingw compilation warning
2290         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
2291         Reported by Matthew Bolte.
2292
2293 2010-03-25  Bruno Haible  <bruno@clisp.org>
2294
2295         Avoid collision between gnulib wrapper and libintl wrapper.
2296         * lib/printf.c (printf): Don't define if a printf wrapper is already
2297         defined in intl/printf.c.
2298         Reported by Michel Boaventura <michel@michelboaventura.com>.
2299
2300 2010-03-25  Bruno Haible  <bruno@clisp.org>
2301
2302         Use ANSI C.
2303         * lib/readutmp.h (getutent): Provide ANSI C prototype.
2304
2305 2010-03-25  Bruno Haible  <bruno@clisp.org>
2306
2307         Minor formatting changes.
2308         * lib/acosl.c: Insert space before function argument list.
2309         * lib/argz.c: Likewise.
2310         * lib/asinl.c: Likewise.
2311         * lib/expl.c: Likewise.
2312         * lib/gen-uni-tables.c: Likewise.
2313         * lib/gettext.h: Likewise.
2314         * lib/glthread/lock.h: Likewise.
2315         * lib/tanl.c: Likewise.
2316         * lib/uniname/uniname.c: Likewise.
2317         * tests/test-idpriv-drop.c: Likewise.
2318         * tests/test-idpriv-droptemp.c: Likewise.
2319         * tests/test-lock.c: Likewise.
2320         * tests/test-tls.c: Likewise.
2321         * lib/argp-help.c: Insert space before function-like macro argument
2322         list.
2323         * lib/memcmp.c: Likewise.
2324         * tests/test-base64.c: Likewise.
2325         * lib/localename.c: Insert space before sizeof's argument list.
2326         * lib/safe-alloc.h: Likewise.
2327         * lib/file-set.h: Insert space before macro argument list.
2328         * tests/test-argp.c: Likewise.
2329         * lib/argp-namefrob.h: Insert space before function parameter list.
2330         * lib/getaddrinfo.c: Likewise.
2331         * lib/netdb.in.h: Likewise.
2332         * lib/parse-duration.h: Likewise.
2333         * lib/parse-duration.c: Likewise.
2334         * lib/poll.c: Likewise.
2335         * lib/select.c: Likewise.
2336         * lib/trim.h: Likewise.
2337         * tests/test-usleep.c: Likewise.
2338         * lib/ldexpl.c: Insert space before function parameter list and before
2339         function argument list.
2340         * lib/logl.c: Likewise.
2341         * lib/sqrtl.c: Likewise.
2342         * lib/trim.c: Likewise.
2343         * lib/cosl.c: Use GNU style indentation. Insert space before function
2344         argument list.
2345         * lib/sinl.c: Likewise.
2346         * lib/tsearch.c: Insert space after 'for'.
2347         Reported by Jim Meyering.
2348
2349 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
2350
2351         * maint.mk (sc_Wundef_boolean): Check for the presence of the
2352         config header before grepping, as it's not present before
2353         autoreconf/configure are run.  Reported by Simon Josefsson.
2354
2355 2010-03-23  Bruno Haible  <bruno@clisp.org>
2356
2357         pt_chown: Make it work with automake < 1.11.
2358         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
2359         Reported by Simon Josefsson.
2360
2361 2010-03-23  Bruno Haible  <bruno@clisp.org>
2362
2363         pt_chown: Don't depend on GPLed modules.
2364         * lib/pt_chown.c: Don't include idpriv.h.
2365         (main): Don't drop privileges.
2366         * modules/pt_chown (Depends-on): Remove idpriv-drop.
2367         Reported by Simon Josefsson.
2368
2369 2010-03-24  Simon Josefsson  <simon@josefsson.org>
2370
2371         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
2372         suggestions from karl@freefriends.org (Karl Berry).
2373
2374 2010-03-22  Eric Blake  <eblake@redhat.com>
2375
2376         gethostname: further tweaks
2377         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
2378         are overriding gethostname.
2379         Suggested by Bruno Haible.
2380
2381 2010-03-21  Bruno Haible  <bruno@clisp.org>
2382
2383         Fix comments.
2384         * lib/forkpty.c (rpl_forkpty): Fix comment.
2385         * lib/openpty.c (rpl_openpty): Likewise.
2386         Reported by Eric Blake.
2387
2388 2010-03-22  Eric Blake  <eblake@redhat.com>
2389
2390         gethostname: fix build on mingw
2391         * lib/unistd.in.h (includes): Work around fact that mingw
2392         <winsock2.h> re-includes <unistd.h>, by avoiding any
2393         redeclarations if we are being included by <winsock2.h>.
2394         Reported by Matthias Bolte.
2395
2396 2010-03-21  Bruno Haible  <bruno@clisp.org>
2397
2398         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
2399         * lib/forkpty.c (forkpty): New replacement function, from glibc with
2400         modifications.
2401         * lib/pty.in.h (forkpty): Update declaration. Add comments.
2402         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
2403         provide the replacement.
2404         * modules/forkpty (Depends-on): Add openpty, login_tty.
2405         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
2406         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
2407         * doc/glibc-functions/forkpty.texi: More supported platforms.
2408         * config/srclist.txt: Add forkpty.c (commented).
2409
2410 2010-03-21  Bruno Haible  <bruno@clisp.org>
2411
2412         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
2413         (Makefile.am): Verify that PTY_LIB is defined.
2414
2415         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
2416
2417 2010-03-21  Bruno Haible  <bruno@clisp.org>
2418
2419         Tests for module 'login_tty'.
2420         * modules/login_tty-tests: New file.
2421         * tests/test-login_tty.c: New file.
2422
2423         New module 'login_tty'.
2424         * lib/login_tty.c: New file.
2425         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
2426         * modules/login_tty: New file.
2427         * doc/glibc-functions/login_tty.texi: Mention the new module.
2428
2429 2010-03-21  Bruno Haible  <bruno@clisp.org>
2430
2431         login_tty: Documentation.
2432         * doc/glibc-functions/login_tty.texi: New file.
2433         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
2434
2435 2010-03-21  Bruno Haible  <bruno@clisp.org>
2436
2437         pty: Consistent macro naming.
2438         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
2439         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
2440         * modules/pty (configure.ac): Update.
2441
2442 2010-03-21  Bruno Haible  <bruno@clisp.org>
2443
2444         Tests for openpty: Make stricter.
2445         * tests/test-openpty.c (main): Add test of canonical processing and
2446         erase.
2447         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
2448
2449         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
2450         * lib/openpty.c (openpty): New replacement function.
2451         * lib/pty.in.h: Include <termios.h>.
2452         (openpty): Update declaration. Add comments.
2453         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
2454         is not declared, arrange to provide the replacement. Check for _getpty
2455         and posix_openpt.
2456         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
2457         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
2458         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
2459         * modules/pty-tests (test_pty_c___LDADD): New variable.
2460         * doc/glibc-functions/openpty.texi: More supported platforms.
2461
2462 2010-03-21  Bruno Haible  <bruno@clisp.org>
2463
2464         setenv: Tweaks.
2465         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
2466         the test program.
2467         * doc/posix-functions/setenv.texi: Update platforms list.
2468
2469 2010-03-21  Bruno Haible  <bruno@clisp.org>
2470
2471         New module 'unlockpt'.
2472         * lib/unlockpt.c: New file, from glibc with modifications.
2473         * m4/unlockpt.m4: New file.
2474         * modules/unlockpt: New file.
2475         * lib/stdlib.in.h (unlockpt): New declaration.
2476         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
2477         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
2478         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
2479         HAVE_UNLOCKPT.
2480         * doc/posix-functions/unlockpt.texi: Mention the new module.
2481         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
2482         * config/srclist.txt: Add unlockpt.c (commented).
2483
2484 2010-03-21  Jim Meyering  <meyering@redhat.com>
2485
2486         maint.mk: prohibit inclusion of "intprops.h" without use
2487         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
2488
2489 2010-03-21  Bruno Haible  <bruno@clisp.org>
2490
2491         New module 'grantpt'.
2492         * lib/grantpt.c: New file, from glibc with modifications.
2493         * m4/grantpt.m4: New file.
2494         * modules/grantpt: New file.
2495         * lib/stdlib.in.h (grantpt): New declaration.
2496         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
2497         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
2498         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
2499         HAVE_GRANTPT.
2500         * doc/posix-functions/grantpt.texi: Mention the new module.
2501         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
2502         * config/srclist.txt: Add grantpt.c (commented).
2503
2504 2010-03-21  Bruno Haible  <bruno@clisp.org>
2505
2506         New module 'pt_chown'.
2507         * lib/pt_chown.c: New file, from glibc with modifications.
2508         * lib/pty-private.h: New file, from glibc with modifications.
2509         * modules/pt_chown: New file.
2510         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
2511
2512 2010-03-21  Bruno Haible  <bruno@clisp.org>
2513
2514         Tests for module 'ptsname'.
2515         * modules/ptsname-tests: New file.
2516         * tests/test-ptsname.c: New file.
2517
2518         New module 'ptsname'.
2519         * lib/ptsname.c: New file, from glibc with modifications.
2520         * m4/ptsname.m4: New file.
2521         * modules/ptsname: New file.
2522         * lib/stdlib.in.h (ptsname): New declaration.
2523         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
2524         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
2525         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
2526         HAVE_PTSNAME.
2527         * doc/posix-functions/ptsname.texi: Mention the new module.
2528         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
2529         * config/srclist.txt: Add ptsname.c (commented).
2530
2531 2010-03-21  Bruno Haible  <bruno@clisp.org>
2532
2533         Tests for module 'ttyname_r'.
2534         * modules/ttyname_r-tests: New file.
2535         * tests/test-ttyname_r.c: New file.
2536
2537         New module 'ttyname_r'.
2538         * lib/ttyname_r.c: New file.
2539         * m4/ttyname_r.m4: New file.
2540         * modules/ttyname_r: New file.
2541         * lib/unistd.in.h (ttyname_r): New declaration.
2542         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
2543         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
2544         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
2545         HAVE_TTYNAME_R.
2546         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
2547         * doc/posix-functions/ttyname_r.texi: Mention the new module.
2548
2549 2010-03-20  Bruno Haible  <bruno@clisp.org>
2550
2551         signal: Undefine macro definitions in C++ mode.
2552         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
2553         sigfillset): Undefine macro definitions from the system header in C++
2554         mode.
2555         Reported by John W. Eaton <jwe@gnu.org>.
2556
2557 2010-03-20  Bruno Haible  <bruno@clisp.org>
2558
2559         Ensure no #include statements inside extern "C" { ... }.
2560         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
2561         contain #include statements.
2562         * lib/time.in.h: Likewise.
2563
2564 2010-03-20  Bruno Haible  <bruno@clisp.org>
2565
2566         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
2567         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
2568         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
2569         Reported by John W. Eaton <jwe@gnu.org>.
2570
2571 2010-03-20  Bruno Haible  <bruno@clisp.org>
2572
2573         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
2574         Reported by Jim Meyering.
2575
2576 2010-03-20  Bruno Haible  <bruno@clisp.org>
2577
2578         pipe: Set errno upon failure.
2579         * lib/pipe.h: Specify that when -1 is returned, errno is set.
2580         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
2581         errno value in error message.
2582
2583 2010-03-20  Bruno Haible  <bruno@clisp.org>
2584             Jim Meyering  <meyering@redhat.com>
2585
2586         lchown: Avoid "unused variable" warning.
2587         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
2588
2589 2010-03-20  Bruno Haible  <bruno@clisp.org>
2590
2591         Work around unlink() bug on MacOS X 10.5.6.
2592         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
2593         attempting to unlink a parent directory.
2594         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
2595         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
2596         activate for the replacement function.
2597         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
2598
2599 2010-03-20  Bruno Haible  <bruno@clisp.org>
2600
2601         Fix link errors on Solaris 8.
2602         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
2603         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
2604
2605 2010-03-19  Jim Meyering  <meyering@redhat.com>
2606
2607         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
2608         The _LIBC implementation of build_range_exp correctly honors the
2609         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
2610         However, the non-_LIBC implementation would ignore that syntax-bit
2611         flag and return REG_ERANGE unconditionally.
2612         This change makes it honor that flag.
2613         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
2614         Make two pointer parameters "const".
2615         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
2616         (parse_bracket_exp): Update caller.
2617
2618         regex.m4: correct the reversed range endpoint ([b-a]) test
2619         * m4/regex.m4: When requiring that [b-a] evoke failure,
2620         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
2621         test pass once again for x86-based systems.
2622
2623 2010-03-19  Bruno Haible  <bruno@clisp.org>
2624
2625         scandir: Fix link error on Solaris 8.
2626         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
2627         macros.
2628
2629 2010-03-19  Bruno Haible  <bruno@clisp.org>
2630
2631         getusershell: Fix documentation.
2632         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
2633         module.
2634         * doc/glibc-functions/setusershell.texi: Likewise.
2635
2636         getusershell: Provide declaration, missing on Solaris 9.
2637         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
2638         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
2639         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
2640         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
2641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2642         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
2643         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
2644         HAVE_GETUSERSHELL.
2645         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
2646
2647 2010-03-19  Bruno Haible  <bruno@clisp.org>
2648
2649         wctype: Provide iswblank function.
2650         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
2651         exists and is fine.
2652         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
2653         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
2654         * tests/test-wctype.c (main): Re-enable the iswblank tests.
2655         * doc/posix-functions/iswblank.texi: Update.
2656
2657 2010-03-19  Bruno Haible  <bruno@clisp.org>
2658
2659         Tests of module 'pty' in C++ mode.
2660         * modules/pty-tests: New file.
2661         * tests/test-pty-c++.cc: New file.
2662         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2663
2664 2010-03-19  Eric Blake  <eblake@redhat.com>
2665
2666         logb: fix documentation
2667         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
2668         1.5 declaration bug.
2669
2670         forkpty, openpty: prefer glibc's const-safe prototype
2671         * lib/forkpty.c (rpl_forkpty): New file.
2672         * lib/openpty.c (rpl_openpty): Likewise.
2673         * modules/forkpty (Files): Distribute it.
2674         * modules/openpty (Files): Likewise.
2675         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
2676         check...
2677         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
2678         replacement for for non-const BSD signature.
2679         * modules/pty (Makefile.am): Substitute witnesses.
2680         * lib/pty.in.h (forkpty, openpty): Declare replacements.
2681         * tests/test-forkpty.c: Update signature check.
2682         * tests/test-openpty.c: Likewise.
2683         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
2684         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2685
2686         forkpty, openpty: split functions into new modules
2687         * modules/pty (Makefile.am): Substitute new witnesses.
2688         (Libraries): Move library detection...
2689         * modules/forkpty: ...into new module.
2690         * modules/openpty: Another new module.
2691         * modules/pty-tests: Rename and split...
2692         * modules/forkpty-tests: ...to this...
2693         * modules/openpty-tests: ...and this.
2694         * tests/test-pty.c: Rename and split...
2695         * tests/test-forkpty.c: ...to this...
2696         * tests/test-openpty.c: ...and this.
2697         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
2698         (gl_PTY): Split library searching...
2699         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
2700         (gl_FORKPTY, gl_OPENPTY): New macros.
2701         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
2702         * NEWS: Mention the split.
2703         * MODULES.html.sh (Misc): Document the modules.
2704         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
2705         * doc/glibc-functions/openpty.texi (openpty): Likewise.
2706
2707         pty: improve replacement header
2708         * lib/pty.in.h: New file.
2709         * modules/pty (Files): Ship it.
2710         (Makefile.am): Always build replacement.
2711         * m4/pty.m4: Rename...
2712         * m4/pty_h.m4: ...to this.
2713         (gl_PTY): Modernize setting of witness macros; update check of
2714         forkpty to take proper advantage of cache.
2715         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
2716
2717         getopt: avoid compiler warning
2718         * lib/getopt.c (attribute_hidden): Remove unused macro.
2719
2720 2010-03-18  Bruno Haible  <bruno@clisp.org>
2721
2722         Fix link errors on Solaris 8.
2723         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
2724         * modules/search-tests (test_search_c___LDADD): Likewise.
2725         * modules/signal-tests (test_signal_c___LDADD): Likewise.
2726         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
2727         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
2728         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
2729         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
2730         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
2731         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
2732
2733 2010-03-18  Bruno Haible  <bruno@clisp.org>
2734
2735         Fix bug introduced on 2010-03-14.
2736         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
2737         (gl_SPAWN_H): Require it.
2738         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
2739         Reported by Simon Josefsson.
2740
2741 2010-03-18  Bruno Haible  <bruno@clisp.org>
2742
2743         Fix typo introduced on 2009-12-31.
2744         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
2745         posix_spawn_file_actions_adddup2.
2746
2747 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
2748         and Eric Blake  <eblake@redhat.com>
2749
2750         test-vc-list-files-git: make more robust
2751         * tests/test-vc-list-files-git.sh: Unset problematic environment
2752         variables.  Chain commands together.
2753
2754 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
2755
2756         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
2757         `AC_CHECK_DECL' invocation.
2758
2759 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
2760
2761         * lib/inttostr.c (inttostr): Make sure the invocation of verify
2762         appears before executable statements. Suggested by Petr Sumbera
2763         <Petr.Sumbera@Sun.COM>.
2764
2765 2010-03-14  Bruno Haible  <bruno@clisp.org>
2766
2767         * tests/test-flock.c (test_exclusive): Comment out a test that causes
2768         portability problems. Instead use a simpler test.
2769         (main): Check that invalid arguments are rejected only on Linux.
2770
2771 2010-03-14  Bruno Haible  <bruno@clisp.org>
2772
2773         Fix bug introduced on 2009-12-31.
2774         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
2775         gl_PREREQ_SYS_H_WINSOCK2 always.
2776         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
2777         SYS_SOCKET_H variable.
2778         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
2779         Update comments.
2780         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
2781         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
2782         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2783         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
2784         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
2785
2786 2010-03-14  Bruno Haible  <bruno@clisp.org>
2787
2788         Fix values returned by sinl, cosl.
2789         * lib/trigl.h: Add specification comments.
2790         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
2791         that combines the values from the precomputed table with the values of
2792         the Chebyshev polynomials.
2793
2794 2010-03-14  Bruno Haible  <bruno@clisp.org>
2795
2796         Fix compilation error when modules 'posix_spawn[p]' are not used.
2797         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
2798         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
2799
2800 2010-03-14  Bruno Haible  <bruno@clisp.org>
2801
2802         Fix compilation error on mingw when module 'time_r' is not used.
2803         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
2804         is 1.
2805         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
2806         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2807         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
2808         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
2809
2810 2010-03-14  Bruno Haible  <bruno@clisp.org>
2811
2812         Fix compilation error with Sun C.
2813         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
2814         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
2815         instead of GCC specific ULONG_LONG_MAX.
2816         * lib/xstrtoll.c: Likewise.
2817         * lib/xstrtoull.c: Likewise.
2818
2819 2010-03-13  Bruno Haible  <bruno@clisp.org>
2820
2821         Allow the user to disable C++ code and tests.
2822         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
2823         (gl_PROG_ANSI_CXX): Require it.
2824
2825 2010-03-13  Bruno Haible  <bruno@clisp.org>
2826
2827         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
2828         cases.
2829
2830 2010-03-13  Bruno Haible  <bruno@clisp.org>
2831
2832         Test that gnulib does not break the standard C++ headers.
2833         * tests/test-locale-c++2.cc: New file.
2834         * modules/locale-tests (Files): Add it.
2835         (Makefile.am): Compile it for test-locale-c++.
2836         * tests/test-math-c++2.cc: New file.
2837         * modules/math-tests (Files): Add it.
2838         (Makefile.am): Compile it for test-math-c++.
2839         * tests/test-signal-c++2.cc: New file.
2840         * modules/signal-tests (Files): Add it.
2841         (Makefile.am): Compile it for test-signal-c++.
2842         * tests/test-stdio-c++2.cc: New file.
2843         * modules/stdio-tests (Files): Add it.
2844         (Makefile.am): Compile it for test-stdio-c++.
2845         * tests/test-stdlib-c++2.cc: New file.
2846         * modules/stdlib-tests (Files): Add it.
2847         (Makefile.am): Compile it for test-stdlib-c++.
2848         * tests/test-string-c++2.cc: New file.
2849         * modules/string-tests (Files): Add it.
2850         (Makefile.am): Compile it for test-string-c++.
2851         * tests/test-time-c++2.cc: New file.
2852         * modules/time-tests (Files): Add it.
2853         (Makefile.am): Compile it for test-time-c++.
2854         Reported by John W. Eaton <jwe@gnu.org>.
2855
2856 2010-03-13  Bruno Haible  <bruno@clisp.org>
2857
2858         * gnulib-tool (func_usage): Clarify which options are available for
2859         --create-testdir and --create-megatestdir.
2860
2861 2010-03-13  Bruno Haible  <bruno@clisp.org>
2862
2863         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
2864         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
2865         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
2866         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
2867         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
2868         when appropriate.
2869         Reported by Jim Meyering.
2870
2871 2010-03-12  Simon Josefsson  <simon@josefsson.org>
2872
2873         * gnulib-tool (func_import): Explain origin of code.
2874
2875 2010-03-12  Bruno Haible  <bruno@clisp.org>
2876
2877         Fix problem with automake's definition of CXXLINK.
2878         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
2879         Reported by Simon Josefsson and Ludovic Courtès.
2880
2881 2010-03-12  Bruno Haible  <bruno@clisp.org>
2882
2883         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
2884         stable releases.
2885
2886 2010-03-11  Bruno Haible  <bruno@clisp.org>
2887
2888         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
2889         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
2890         whether the system provides one variant or multiple variants of the
2891         function.
2892         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
2893         C++ compilers.
2894         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
2895         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
2896         Reported by Jim Meyering.
2897
2898 2010-03-09  Simon Josefsson  <simon@josefsson.org>
2899
2900         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
2901
2902 2010-03-08  Bruno Haible  <bruno@clisp.org>
2903
2904         gnulib-tool: Add support for --libtool in --create-testdir.
2905         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
2906         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
2907
2908 2010-03-08  Eric Blake  <eblake@redhat.com>
2909
2910         gnulib-tool.texi: mention possibility of git submodule
2911         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
2912         submodules.
2913         * doc/.gitignore: Ignore another generated file.
2914
2915 2010-03-08  Karl Berry  <karl@gnu.org>
2916
2917         * doc/gnulib-tool.texi (VCS Issues): Mention third option
2918         of committing gnulib files while skipping others.
2919
2920 2010-03-07  Bruno Haible  <bruno@clisp.org>
2921
2922         Tests of module 'wctype' in C++ mode.
2923         * tests/test-wctype-c++.cc: New file.
2924         * modules/wctype-tests (Files): Add it and tests/signature.h.
2925         (Depends-on): Add ansi-c++-opt.
2926         (Makefile.am): Arrange to compile and run test-wctype-c++.
2927
2928         Tests of module 'wchar' in C++ mode.
2929         * tests/test-wchar-c++.cc: New file.
2930         * modules/wchar-tests (Files): Add it and tests/signature.h.
2931         (Depends-on): Add ansi-c++-opt.
2932         (Makefile.am): Arrange to compile and run test-wchar-c++.
2933         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
2934         gl_MODULE_INDICATOR.
2935
2936         Tests of module 'unistd' in C++ mode.
2937         * tests/test-unistd-c++.cc: New file.
2938         * modules/unistd-tests (Files): Add it and tests/signature.h.
2939         (Depends-on): Add ansi-c++-opt.
2940         (Makefile.am): Arrange to compile and run test-unistd-c++.
2941         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
2942         gl_MODULE_INDICATOR.
2943
2944         Tests of module 'time' in C++ mode.
2945         * tests/test-time-c++.cc: New file.
2946         * modules/time-tests (Files): Add it and tests/signature.h.
2947         (Depends-on): Add ansi-c++-opt.
2948         (Makefile.am): Arrange to compile and run test-time-c++.
2949         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2950
2951         Tests of module 'sys_time' in C++ mode.
2952         * tests/test-sys_time-c++.cc: New file.
2953         * modules/sys_time-tests (Files): Add it and tests/signature.h.
2954         (Depends-on): Add ansi-c++-opt.
2955         (Makefile.am): Arrange to compile and run test-sys_time-c++.
2956         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
2957         gl_MODULE_INDICATOR.
2958
2959         Tests of module 'sys_stat' in C++ mode.
2960         * tests/test-sys_stat-c++.cc: New file.
2961         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
2962         (Depends-on): Add ansi-c++-opt.
2963         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
2964         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
2965         gl_MODULE_INDICATOR.
2966
2967         Tests of module 'sys_socket' in C++ mode.
2968         * tests/test-sys_socket-c++.cc: New file.
2969         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
2970         (Depends-on): Add ansi-c++-opt.
2971         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
2972         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
2973         gl_MODULE_INDICATOR.
2974
2975         Tests of module 'sys_select' in C++ mode.
2976         * tests/test-sys_select-c++.cc: New file.
2977         * modules/sys_select-tests (Files): Add it and tests/signature.h.
2978         (Depends-on): Add ansi-c++-opt.
2979         (Makefile.am): Arrange to compile and run test-sys_select-c++.
2980         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
2981         gl_MODULE_INDICATOR.
2982
2983         Tests of module 'sys_ioctl' in C++ mode.
2984         * tests/test-sys_ioctl-c++.cc: New file.
2985         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
2986         (Depends-on): Add ansi-c++-opt.
2987         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
2988         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
2989         gl_MODULE_INDICATOR.
2990
2991         Tests of module 'string' in C++ mode.
2992         * tests/test-string-c++.cc: New file.
2993         * modules/string-tests (Files): Add it and tests/signature.h.
2994         (Depends-on): Add ansi-c++-opt.
2995         (Makefile.am): Arrange to compile and run test-string-c++.
2996         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
2997         gl_MODULE_INDICATOR.
2998
2999         Tests of module 'stdlib' in C++ mode.
3000         * tests/test-stdlib-c++.cc: New file.
3001         * modules/stdlib-tests (Files): Add it and tests/signature.h.
3002         (Depends-on): Add ansi-c++-opt.
3003         (Makefile.am): Arrange to compile and run test-stdlib-c++.
3004         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
3005         gl_MODULE_INDICATOR.
3006
3007         Tests of module 'stdio' in C++ mode.
3008         * tests/test-stdio-c++.cc: New file.
3009         * modules/stdio-tests (Files): Add it and tests/signature.h.
3010         (Depends-on): Add ansi-c++-opt.
3011         (Makefile.am): Arrange to compile and run test-stdio-c++.
3012         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
3013         gl_MODULE_INDICATOR.
3014
3015         Tests of module 'spawn' in C++ mode.
3016         * tests/test-spawn-c++.cc: New file.
3017         * modules/spawn-tests (Files): Add it and tests/signature.h.
3018         (Depends-on): Add ansi-c++-opt.
3019         (Makefile.am): Arrange to compile and run test-spawn-c++.
3020         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
3021         gl_MODULE_INDICATOR.
3022
3023         Tests of module 'signal' in C++ mode.
3024         * tests/test-signal-c++.cc: New file.
3025         * modules/signal-tests (Files): Add it and tests/signature.h.
3026         (Depends-on): Add ansi-c++-opt.
3027         (Makefile.am): Arrange to compile and run test-signal-c++.
3028         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
3029         gl_MODULE_INDICATOR.
3030
3031         Tests of module 'search' in C++ mode.
3032         * tests/test-search-c++.cc: New file.
3033         * modules/search-tests (Files): Add it and tests/signature.h.
3034         (Depends-on): Add ansi-c++-opt.
3035         (Makefile.am): Arrange to compile and run test-search-c++.
3036         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
3037         gl_MODULE_INDICATOR.
3038
3039         Tests of module 'math' in C++ mode.
3040         * tests/test-math-c++.cc: New file.
3041         * modules/math-tests (Files): Add it and tests/signature.h.
3042         (Depends-on): Add ansi-c++-opt.
3043         (Makefile.am): Arrange to compile and run test-math-c++.
3044         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
3045
3046         Tests of module 'locale' in C++ mode.
3047         * tests/test-locale-c++.cc: New file.
3048         * modules/locale-tests (Files): Add it and tests/signature.h.
3049         (Depends-on): Add ansi-c++-opt.
3050         (Makefile.am): Arrange to compile and run test-locale-c++.
3051         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
3052         gl_MODULE_INDICATOR.
3053
3054         Tests of module 'langinfo' in C++ mode.
3055         * tests/test-langinfo-c++.cc: New file.
3056         * modules/langinfo-tests (Files): Add it and tests/signature.h.
3057         (Depends-on): Add ansi-c++-opt.
3058         (Makefile.am): Arrange to compile and run test-langinfo-c++.
3059         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
3060         gl_MODULE_INDICATOR.
3061
3062         Tests of module 'iconv-h' in C++ mode.
3063         * tests/test-iconv-h-c++.cc: New file.
3064         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
3065         (Depends-on): Add ansi-c++-opt.
3066         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
3067
3068         Tests of module 'glob' in C++ mode.
3069         * tests/test-glob-c++.cc: New file.
3070         * modules/glob-tests (Files): Add it.
3071         (Depends-on): Add ansi-c++-opt.
3072         (Makefile.am): Arrange to compile and run test-glob-c++.
3073
3074         Tests of module 'fcntl-h' in C++ mode.
3075         * tests/test-fcntl-h-c++.cc: New file.
3076         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
3077         (Depends-on): Add ansi-c++-opt.
3078         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
3079         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
3080         gl_MODULE_INDICATOR.
3081
3082         Tests of module 'dirent' in C++ mode.
3083         * tests/test-dirent-c++.cc: New file.
3084         * modules/dirent-tests (Files): Add it and tests/signature.h.
3085         (Depends-on): Add ansi-c++-opt.
3086         (Makefile.am): Arrange to compile and run test-dirent-c++.
3087         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
3088         gl_MODULE_INDICATOR.
3089
3090         New module 'ansi-c++-opt'.
3091         * modules/ansi-c++-opt: New file.
3092         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
3093
3094         Document C++ namespace mode.
3095         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
3096
3097         wctype: Avoid #define replacements in C++ mode.
3098         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
3099         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
3100         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
3101         In C++, define a namespaced alias symbol.
3102         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
3103         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
3104         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
3105         rule.
3106
3107         wchar: Avoid #define replacements in C++ mode.
3108         * lib/wchar.in.h: Include c++defs.h.
3109         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
3110         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
3111         symbol.
3112         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
3113         * modules/wchar (Depends-on): Add c++defs.
3114         (Makefile.am): Update wchar.h rule.
3115
3116         unistd: Avoid #define replacements in C++ mode.
3117         * lib/unistd.in.h: Include c++defs.h.
3118         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
3119         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
3120         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
3121         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
3122         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
3123         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
3124         symbol.
3125         (environ): Update.
3126         * modules/unistd (Depends-on): Add c++defs.
3127         (Makefile.am): Update unistd.h rule.
3128
3129         time: Avoid #define replacements in C++ mode.
3130         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
3131         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
3132         define a namespaced alias symbol.
3133         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
3134         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
3135         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
3136         * modules/time (Depends-on): Add c++defs, warn-on-use.
3137         (Makefile.am): Update time.h rule.
3138         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
3139         * modules/nanosleep (configure.ac): Likewise.
3140         * modules/strptime (configure.ac): Likewise.
3141         * modules/timegm (configure.ac): Likewise.
3142
3143         sys_time: Avoid #define replacements in C++ mode.
3144         * lib/sys_time.in.h: Include c++defs.h.
3145         (gettimeofday): In C++, define a namespaced alias symbol.
3146         * modules/sys_time (Depends-on): Add c++defs.
3147         (Makefile.am): Update sys/time.h rule.
3148
3149         sys_stat: Avoid #define replacements in C++ mode.
3150         * lib/sys_stat.in.h: Include c++defs.h.
3151         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
3152         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
3153         namespaced alias symbol.
3154         In C++, define a namespaced alias symbol.
3155         * modules/sys_stat (Depends-on): Add c++defs.
3156         (Makefile.am): Update sys/stat.h rule.
3157
3158         sys_socket: Avoid #define replacements in C++ mode.
3159         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
3160         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
3161         definitions also when the system has a <sys/socket.h>.
3162         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
3163         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
3164         In C++, define a namespaced alias symbol.
3165         * modules/sys_socket (Depends-on): Add c++defs.
3166         (Makefile.am): Update sys/socket.h rule.
3167
3168         sys_select: Avoid #define replacements in C++ mode.
3169         * lib/sys_select.in.h: Include c++defs.h. Enable the function
3170         definitions also when the system has a <sys/select.h>.
3171         (select): In C++, define a namespaced alias symbol.
3172         * modules/sys_select (Depends-on): Add c++defs.
3173         (Makefile.am): Update sys/select.h rule.
3174
3175         sys_ioctl: Avoid #define replacements in C++ mode.
3176         * lib/sys_ioctl.in.h: Include c++defs.h.
3177         (ioctl): In C++, define a namespaced alias symbol.
3178         * modules/sys_ioctl (Depends-on): Add c++defs.
3179         (Makefile.am): Update sys/ioctl.h rule.
3180
3181         string: Avoid #define replacements in C++ mode.
3182         * lib/string.in.h: Include c++defs.h.
3183         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
3184         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
3185         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
3186         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
3187         strsignal, strverscmp): In C++, define a namespaced alias symbol.
3188         * modules/string (Depends-on): Add c++defs.
3189         (Makefile.am): Update string.h rule.
3190
3191         stdlib: Avoid #define replacements in C++ mode.
3192         * lib/stdlib.in.h: Include c++defs.h.
3193         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
3194         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
3195         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
3196         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
3197         symbol.
3198         * modules/stdlib (Depends-on): Add c++defs.
3199         (Makefile.am): Update stdlib.h rule.
3200
3201         stdio: Avoid #define replacements in C++ mode.
3202         * lib/stdio.in.h: Include c++defs.h.
3203         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
3204         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
3205         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
3206         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
3207         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
3208         namespaced alias symbol.
3209         * modules/stdio (Depends-on): Add c++defs.
3210         (Makefile.am): Update stdio.h rule.
3211
3212         spawn: Avoid #define replacements in C++ mode.
3213         * lib/spawn.in.h: Include c++defs.h.
3214         (posix_spawn, posix_spawnp, posix_spawnattr_init,
3215         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
3216         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
3217         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
3218         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
3219         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
3220         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
3221         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
3222         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
3223         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
3224         In C++, define a namespaced alias symbol.
3225         * modules/spawn (Depends-on): Add c++defs.
3226         (Makefile.am): Update spawn.h rule.
3227
3228         signal: Avoid #define replacements in C++ mode.
3229         * lib/signal.in.h: Include c++defs.h.
3230         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
3231         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
3232         namespaced alias symbol.
3233         * modules/signal (Depends-on): Add c++defs.
3234         (Makefile.am): Update signal.h rule.
3235
3236         search: Avoid #define replacements in C++ mode.
3237         * lib/search.in.h: Include c++defs.h.
3238         (_gl_search_compar_fn, _gl_search_action_fn): New types.
3239         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
3240         symbol.
3241         * modules/search (Depends-on): Add c++defs.
3242         (Makefile.am): Update search.h rule.
3243
3244         math: Avoid #define replacements in C++ mode.
3245         * lib/math.in.h: Include c++defs.h.
3246         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
3247         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
3248         trunc, truncl): In C++, define a namespaced alias symbol.
3249         * modules/math (Depends-on): Add c++defs.
3250         (Makefile.am): Update math.h rule.
3251
3252         locale: Avoid #define replacements in C++ mode.
3253         * lib/locale.in.h: Include c++defs.h.
3254         (duplocale): In C++, define a namespaced alias symbol.
3255         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
3256         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
3257         * modules/locale (Depends-on): Add c++defs.
3258         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
3259
3260         langinfo: Avoid #define replacements in C++ mode.
3261         * lib/langinfo.in.h: Include c++defs.h.
3262         (nl_langinfo): In C++, define a namespaced alias symbol.
3263         * modules/langinfo (Depends-on): Add c++defs.
3264         (Makefile.am): Update langinfo.h rule.
3265
3266         iconv-h: Avoid #define replacements in C++ mode.
3267         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
3268         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
3269         symbol.
3270         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
3271         whenever iconv is present.
3272         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
3273         (Makefile.am): Update iconv.h rule.
3274
3275         glob: Avoid #define replacements in C++ mode.
3276         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
3277         (_gl_glob_errfunc_fn): New type.
3278         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
3279         symbol.
3280         * modules/glob (Depends-on): Add c++defs, warn-on-use.
3281         (Makefile.am): Update glob.h rule.
3282
3283         fcntl-h: Avoid #define replacements in C++ mode.
3284         * lib/fcntl.in.h: Include c++defs.h.
3285         (fcntl, open, openat): In C++, define a namespaced alias symbol.
3286         * modules/fcntl-h (Depends-on): Add c++defs.
3287         (Makefile.am): Update fcntl.h rule.
3288
3289         dirent: Avoid #define replacements in C++ mode.
3290         * lib/dirent.in.h: Include c++defs.h.
3291         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
3292         namespaced alias symbol.
3293         (dirfd): Update declaration.
3294         * modules/dirent (Depends-on): Add c++defs.
3295         (Makefile.am): Update dirent.h rule.
3296
3297         ctype: Make it usable in C++ code.
3298         * lib/ctype.in.h: Include c++defs.h.
3299         (isblank): Declare as extern "C".
3300         * modules/ctype (Depends-on): Add c++defs.
3301         (Makefile.am): Update ctype.h rule.
3302
3303         New module 'c++defs'.
3304         * modules/c++defs: New file.
3305         * build-aux/c++defs.h: New file.
3306         Reported by John W. Eaton <jwe@gnu.org>.
3307
3308 2010-03-07  Bruno Haible  <bruno@clisp.org>
3309
3310         logb: Provide missing declaration for Cygwin.
3311         * lib/math.in.h (logb): New declaration.
3312         * m4/logb.m4: New file.
3313         * modules/logb (Files): Add m4/logb.m4.
3314         (Depends-on): Add math.
3315         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
3316         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
3317         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
3318         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
3319         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
3320
3321 2010-03-07  Bruno Haible  <bruno@clisp.org>
3322
3323         Fix test-cond link error.
3324         * tests/test-cond.c: Include <stdio.h>.
3325
3326 2010-03-07  Bruno Haible  <bruno@clisp.org>
3327
3328         Fix test-dirent-safer link error.
3329         * modules/dirent-safer-tests (Makefile.am): Define
3330         test_dirent_safer_LDADD.
3331
3332 2010-03-07  Bruno Haible  <bruno@clisp.org>
3333
3334         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
3335         among default module list.
3336
3337 2010-03-07  Bruno Haible  <bruno@clisp.org>
3338
3339         Fix link error on platforms with GNU libiconv.
3340         * modules/unistr/u8-strcoll-tests (Makefile): Define
3341         test_u8_strcoll_LDADD.
3342         * modules/unistr/u16-strcoll-tests (Makefile): Define
3343         test_u16_strcoll_LDADD.
3344         * modules/unistr/u32-strcoll-tests (Makefile): Define
3345         test_u32_strcoll_LDADD.
3346
3347 2010-03-07  Bruno Haible  <bruno@clisp.org>
3348
3349         Use POSIX declarations for socket functions.
3350         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
3351         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
3352         rpl_sendto): Change declaration to match POSIX.
3353         * lib/connect.c (rpl_connect): Likewise.
3354         * lib/accept.c (rpl_accept): Likewise.
3355         * lib/bind.c (rpl_bind): Likewise.
3356         * lib/getpeername.c (rpl_getpeername): Likewise.
3357         * lib/getsockname.c (rpl_getsockname): Likewise.
3358         * lib/recv.c (rpl_recv): Likewise.
3359         * lib/send.c (rpl_send): Likewise.
3360         * lib/recvfrom.c (rpl_recvfrom): Likewise.
3361         * lib/sendto.c (rpl_sendto): Likewise.
3362
3363 2010-03-06  Bruno Haible  <bruno@clisp.org>
3364
3365         Clarify access, euidaccess, faccessat.
3366         * doc/posix-functions/faccessat.texi: Mention security problem under
3367         "Other problems", not "Portability problems".
3368         * doc/posix-functions/access.texi: Likewise. Mention a related security
3369         problem.
3370         * doc/glibc-functions/euidaccess.texi: Mention security problems.
3371         * lib/euidaccess.c: Add comments about platforms.
3372         * lib/unistd.in.h (access, euidaccess): Add warnings.
3373
3374 2010-03-07  Bruno Haible  <bruno@clisp.org>
3375
3376         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
3377         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
3378         (POSIX_SPAWN_SETSCHEDULER): Likewise.
3379         (POSIX_SPAWN_USEVFORK): Define in a way that works when
3380         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
3381         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
3382         declare when POSIX_SPAWN_SETSCHEDULER is zero.
3383         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
3384         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
3385         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
3386         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
3387         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
3388         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
3389         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
3390         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
3391         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
3392         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
3393         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
3394         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
3395         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
3396         Likewise.
3397         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
3398         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
3399         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
3400         Likewise.
3401         * tests/test-spawn.c (main): Make it work when
3402         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
3403
3404 2010-03-07  Bruno Haible  <bruno@clisp.org>
3405
3406         Fix incorrect Makefile.am generation in German locale.
3407         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3408         Execute sed command with character range in C locale.
3409
3410 2010-03-06  Bruno Haible  <bruno@clisp.org>
3411
3412         Tests for module 'iconv-h'.
3413         * modules/iconv-h-tests: New file.
3414         * tests/test-iconv-h.c: New file.
3415
3416         New module 'iconv-h'.
3417         * modules/iconv-h: New file.
3418         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
3419         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
3420         (configure.ac): Remove gl_ICONV_H.
3421         (Makefile.am): Remove rule for iconv.h.
3422
3423 2010-03-06  Bruno Haible  <bruno@clisp.org>
3424
3425         More consistent naming of *.m4 files.
3426         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
3427         * modules/wctype (Files): Update.
3428
3429         More consistent naming of *.m4 files.
3430         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
3431         * modules/wchar (Files): Update.
3432
3433 2010-03-06  Jim Meyering  <meyering@redhat.com>
3434
3435         euidaccess: relax license to LGPLv2+
3436         * modules/euidaccess (License): Relax to LGPLv2+.
3437
3438 2010-03-06  Bruno Haible  <bruno@clisp.org>
3439
3440         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
3441         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
3442         (Makefile.am): Augment lib_SOURCES instead.
3443
3444 2010-03-04  Jim Meyering  <meyering@redhat.com>
3445
3446         utime: remove obsolete module
3447         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
3448         unnecessary for years, and has been marked as obsolete for 10 months.
3449         * modules/utime: Remove file.
3450         * lib/utime.c: Remove file.
3451         * m4/utime.m4: Remove file.
3452         * m4/utimes-null.m4: Remove file.
3453         * doc/posix-functions/utime.texi (utime): Remove reference to
3454         the module.  Move the sole "fixed by gnulib" item into the
3455         "problems not fixed by Gnulib" list.
3456         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
3457
3458 2010-03-05  Simon Josefsson  <simon@josefsson.org>
3459
3460         * modules/exit (License): Relax license to LGPLv2+.
3461         (Status): Mark as obsolete.
3462         * NEWS: Mention deprecated 'exit' module.
3463         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
3464         of now obsolete 'exit'.
3465
3466 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3467
3468         fts-lgpl: remove unused module
3469         * modules/fts-lgpl: Remove.
3470         * MODULES.html.sh (func_all_modules): Adjust.
3471         * check-module (find_included_lib_files): Adjust.
3472         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
3473
3474 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
3475
3476         copy-acl: enhance Solaris ACL error handling
3477         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
3478         * lib/set-mode-acl.c (qset_acl): Likewise.
3479
3480 2010-03-02  Bruno Haible  <bruno@clisp.org>
3481
3482         spawn: Don't override the system defined values on FreeBSD 8.
3483         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
3484         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
3485         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
3486         if HAVE_POSIX_SPAWN is 1.
3487         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
3488
3489 2010-03-01  Bruno Haible  <bruno@clisp.org>
3490
3491         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
3492         regarding Automake.
3493
3494 2010-02-25  Bruno Haible  <bruno@clisp.org>
3495
3496         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
3497         * gnulib-tool: Define 'echo' as a function only before the ksh alias
3498         setting, not afterwards.
3499         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
3500
3501 2010-02-24  Eric Blake  <eblake@redhat.com>
3502
3503         bootstrap, git-version-gen: use timestamp
3504         * build-aux/git-version-gen (scriptversion): Force UTC.
3505         * build-aux/bootstrap (scriptversion): New variable.
3506
3507         bootstrap: allow older git
3508         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
3509         older than 1.6.4.  Requested by the libvirt project.
3510
3511 2010-02-23  Eric Blake  <eblake@redhat.com>
3512
3513         warn-on-use: work with old autoconf
3514         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
3515         AS_VAR semantics of autoconf 2.60.
3516         Reported by Bruno Haible.
3517
3518         bootstrap: improve some comments
3519         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
3520         clarification comments.
3521
3522         gettimeofday: provide correct function
3523         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
3524         when replacement is declared, otherwise provide gettimeofday.
3525         Reported by Michael Goffioul.
3526
3527 2010-02-23  Jim Meyering  <meyering@redhat.com>
3528
3529         lib-ignore: relax license to "unlimited", not LGPLv2+
3530         * modules/lib-ignore (License): Relax to "unlimited".
3531
3532 2010-02-23  Jim Meyering  <meyering@redhat.com>
3533
3534         lib-ignore: relax license to LGPLv2+
3535         * modules/lib-ignore (License): Relax to LGPLv2+.
3536
3537 2010-02-22  Eric Blake  <eblake@redhat.com>
3538
3539         lseek: avoid bash 3.2 broken pipe bug
3540         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
3541         warning from bash 3.2.
3542         Reported by Ben Pfaff, with analysis from Bruno Haible.
3543
3544         bootstrap: support non-FSF copyright holder
3545         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
3546         bootstrap.conf override of COPYRIGHT_HOLDER.
3547         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
3548
3549         bootstrap: interoperate with gettext 0.14.1
3550         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
3551
3552         bootstrap: allow for alternate submodule location
3553         * build-aux/bootstrap (gnulib_path): New variable; use instead of
3554         hardcoding submodule location.
3555         (gnulib_mk): Allow direct use of Makefile.am.
3556
3557         bootstrap: use GNULIB_SRCDIR to reduce disk usage
3558         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
3559         rather than reconfiguring where the submodule points.
3560
3561         gettimeofday: restore support for platforms that lack function
3562         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
3563         replacement if function is missing.
3564         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
3565         * modules/sys_time (Makefile.am): Substitute it.
3566         * lib/sys_time.in.h (gettimeofday): Check it.
3567         Reported by Michael Goffioul.
3568
3569 2010-02-21  Bruno Haible  <bruno@clisp.org>
3570
3571         * lib/stdio.in.h (obstack_printf): Fix typo.
3572
3573 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
3574
3575         vc-list-files: use bzr ls's -R option
3576         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
3577         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
3578
3579 2010-02-21  Jim Meyering  <meyering@redhat.com>
3580
3581         init.sh: fix EXEEXT shims to work also for names like test-prog
3582         * tests/init.sh: Re-exec a better shell, when needed.
3583         If the current shell lacks support for posix $(...), an init.sh-using
3584         test will now try to find a shell that supports that.  If EXEEXT is
3585         nonempty, we also require support for hyphen-in-alias-name and shell
3586         substitutions like ${var#glob}.  Failure to find such a shell results
3587         in a skipped test.
3588
3589 2010-02-21  Bruno Haible  <bruno@clisp.org>
3590
3591         Really work around around "broken pipe" error message from bash 3.2.
3592         * gnulib-tool (func_reset_sigpipe): Remove function.
3593         (echo): In bash 3.2, define to a function that uses printf.
3594         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
3595
3596 2010-02-20  Bruno Haible  <bruno@clisp.org>
3597
3598         Restore support for automake 1.9.6 with autoconf 2.61.
3599         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
3600         Reported by James Youngman <jay@gnu.org>.
3601
3602 2010-02-20  Bruno Haible  <bruno@clisp.org>
3603
3604         Improve *printf warning condition.
3605         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
3606         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
3607         and the function is overridden due to SIGPIPE emulation.
3608
3609 2010-02-20  Bruno Haible  <bruno@clisp.org>
3610
3611         * lib/stdio.in.h: Tweak comments.
3612
3613 2010-02-19  Bruno Haible  <bruno@clisp.org>
3614
3615         Make it easier to find modules. New gnulib-tool option '--find'.
3616         * gnulib-tool: New option --find.
3617         (func_usage): Document it.
3618         (func_sanitize_modulelist): New function, extracted from
3619         func_all_modules.
3620         (func_all_modules): Invoke it.
3621         * doc/gnulib-tool.texi (Which modules?): New node.
3622
3623 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
3624
3625         * lib/sys_select.in.h: Provide select replacement even if
3626         sys/select.h exists on a system, for Interix.
3627
3628 2010-02-18  Jim Meyering  <meyering@redhat.com>
3629
3630         init.sh: don't use $(...) just yet
3631         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
3632         to accommodate e.g., Solaris' /bin/sh.
3633
3634 2010-02-17  Bruno Haible  <bruno@clisp.org>
3635
3636         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
3637         Reported by Ludovic Courtès <ludo@gnu.org>.
3638
3639 2010-02-16  Simon Josefsson  <simon@josefsson.org>
3640
3641         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
3642         linking with -lintl.
3643
3644 2010-02-17  Simon Josefsson  <simon@josefsson.org>
3645
3646         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
3647         if not provided by the system's netdb.h.  Reported by
3648         ludo@gnu.org (Ludovic Courtès).
3649
3650 2010-02-15  Jim Meyering  <meyering@redhat.com>
3651
3652         init.sh: improve portability and efficiency
3653         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
3654         "dummy" in a for loop.
3655         Use '!', not '^' to select the complement of a character set used
3656         in a "case" statement.
3657         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
3658         Suggestions from Eric Blake.
3659
3660         init.sh: automatically accommodate programs with the .exe suffix
3661         Automatically arrange for an invocation of "prog" to execute the
3662         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
3663         may use the simpler "prog", yet still work when built on a system
3664         that requires specifying the added suffix.
3665         Do this by constructing a function named "prog" that invokes
3666         "prog.exe" for each .exe file in selected directories.
3667         * tests/init.sh (find_exe_basenames_): New function.
3668         (create_exe_shim_functions_): New function.
3669         (path_prepend_): Use it.
3670
3671         maint.mk: mark syntax-check sc_*.m rules as .PHONY
3672         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
3673         "make -t syntax-check" doesn't create a ton of sc_*.m files.
3674
3675 2010-02-14  Jim Meyering  <meyering@redhat.com>
3676
3677         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
3678         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
3679         (sc_prohibit_hash_pjw_without_use): New rule.
3680
3681         maint.mk: allow the default upload destination dir to be overridden
3682         * top/maint.mk (upload_dest_dir_): Define with a default that
3683         preserves the status quo.
3684         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
3685         Reported by Peter Simons.
3686
3687         maint.mk: prohibit inclusion of "hash.h" without_use
3688         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
3689
3690 2010-02-10  Jim Meyering  <meyering@redhat.com>
3691
3692         maint.mk: prohibit inclusion of "ignore-value.h" without_use
3693         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
3694
3695 2010-02-09  Eric Blake  <ebb9@byu.net>
3696         and Bruno Haible  <bruno@clisp.org>
3697
3698         obstack-printf-posix: ensure declaration
3699         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
3700         extracted from gl_FUNC_OBSTACK_PRINTF.
3701         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
3702         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
3703         Likewise.
3704         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
3705         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
3706         0.
3707
3708 2010-02-08  Bruno Haible  <bruno@clisp.org>
3709
3710         gnulib-tool: Fix typo in 2010-02-07 commit.
3711         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
3712         Reported by Eric Blake.
3713
3714 2010-02-07  Bruno Haible  <bruno@clisp.org>
3715
3716         gnulib-tool: Fix up caching patches.
3717         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
3718         option --no-cache. Use associative arrays when supported by the shell.
3719         (sed_comments): New variable.
3720         (modcache): Renamed from do_cache.
3721         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
3722         abbreviate unnecessarily.
3723         (have_associative): New variable.
3724         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
3725         way also for ksh and zsh.
3726         (func_init_sed_convert_to_cache_statements): New function, extracted
3727         from func_cache_lookup_module. Add support for associative arrays.
3728         Don't set the c_MODULE_cached variable here. Ignore all lines before
3729         the first field header. Remove only the final newline, not all trailing
3730         newlines. Support empty fields correctly. Limit the use of 'eval' to
3731         assignments.
3732         (func_get_description, func_get_status, func_get_notice,
3733         func_get_applicability, func_get_filelist, func_get_dependencies,
3734         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
3735         func_get_automake_snippet, func_get_include_directive,
3736         func_get_link_directive, func_get_license, func_get_maintainer):
3737         Update documentation. List the unoptimized code first. Add support for
3738         associative arrays. Limit the use of 'eval' to assignments.
3739         (func_get_applicability): Undo stylistic pessimisations.
3740         (func_get_automake_snippet, func_get_include_directive): Reduce code
3741         duplication.
3742         (func_modules_transitive_closure, func_modules_add_dummy,
3743         func_modules_notice, func_modules_to_filelist, func_add_file,
3744         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
3745         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
3746         func_create_testdir, func_create_megatestdir): Update documentation.
3747
3748 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3749
3750         * gnulib-tool (func_cache_lookup_module): Store the module name
3751         belonging to the cache variable; error out if two different
3752         module names map to the same cache variable name.
3753
3754 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3755
3756         gnulib-tool: Make caching optional.
3757         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
3758         Update matching short versions of --no-changelog.
3759         (func_usage): Update.
3760         (sed_extract_cache_prog): Renamed from ...
3761         (sed_extract_prog): ... this; revert to old extraction script.
3762         (func_get_description, func_get_status)
3763         (func_get_notice, func_get_applicability, func_get_filelist)
3764         (func_get_dependencies, func_get_autoconf_early_snippet)
3765         (func_get_autoconf_snippet, func_get_automake_snippet)
3766         (func_get_include_directive, func_get_link_directive)
3767         (func_get_license, func_get_maintainer): If $do_cache is false,
3768         use old, non-caching extraction scripts.
3769         Suggestion by Bruno Haible.
3770
3771 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3772
3773         gnulib-tool: cache module metainformation.
3774         * gnulib-tool (sed_extract_prog): Match newline before each
3775         header, and rewrite header to a shell variable suffix.
3776         (func_cache_var, func_cache_lookup_module): New functions,
3777         to turn a module name into a cache variable prefix, and to
3778         look up and cache module metainformation.
3779         (func_get_description, func_get_status)
3780         (func_get_notice, func_get_applicability, func_get_filelist)
3781         (func_get_dependencies, func_get_autoconf_early_snippet)
3782         (func_get_autoconf_snippet, func_get_automake_snippet)
3783         (func_get_include_directive, func_get_link_directive)
3784         (func_get_license, func_get_maintainer): Use
3785         func_cache_lookup_module.
3786
3787 2010-02-07  Bruno Haible  <bruno@clisp.org>
3788
3789         fnctl: Fix missing dependency.
3790         * modules/fcntl (Depends-on): Add getdtablesize.
3791         Reported by John W. Eaton <jwe@gnu.org>.
3792
3793 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3794
3795         Argp: fix recognition of short alias options.
3796
3797         * lib/argp-parse.c (convert_options): Fix improper use of
3798         `|' between character values.
3799         * tests/test-argp.c (group1_option): New alias option
3800         --read (-r).
3801         (group1_parser): Special handling for 'r'.
3802         (test15): New test case.
3803         (test_fun): Add test15.
3804         * tests/test-argp-2.sh: Update expected --help and --usage
3805         outputs.
3806
3807 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3808
3809         * tests/test-argp.c: Fix indentation.
3810
3811 2010-02-04  Eric Blake  <ebb9@byu.net>
3812
3813         gettimeofday: expose type of second argument
3814         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
3815         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
3816         * tests/test-gettimeofday.c: Use it to silence warning.
3817         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
3818         the issue.
3819
3820 2010-02-03  Jim Meyering  <meyering@redhat.com>
3821
3822         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
3823         * lib/regcomp.c (TYPE_SIGNED): Define.
3824         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
3825
3826         regcomp.c: avoid a new -Wshadow warning
3827         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
3828
3829 2010-02-01  Jim Meyering  <meyering@redhat.com>
3830
3831         removing useless parentheses in cpp #define directives
3832         For motivation, see commit c0221df4, "define STREQ(a,b)
3833         consistently, removing useless parentheses"
3834         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
3835         * lib/mountlist.c (MNT_IGNORE): Likewise.
3836         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
3837
3838 2010-02-01  Eric Blake  <ebb9@byu.net>
3839
3840         sys_time: use link-warning
3841         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
3842         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
3843         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
3844         * modules/sys_time (Depends-on): Add warn-on-use.
3845         (Makefile.am): Always build replacement.
3846         (configure.ac): Update substitutions.
3847         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
3848         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
3849         bother with SYS_TIME_H.
3850         * modules/gettimeofday (configure.ac): Declare indicator.
3851         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
3852         in use.
3853
3854         closein-tests: silence compiler warning
3855         * tests/test-closein.c (main): Ignore fread result.
3856         * modules/closein-tests (Depends-on): Add ignore-value.
3857
3858         tests: silence warning about system return
3859         * tests/test-areadlink-with-size.c (main): Ignore system result.
3860         * tests/test-areadlink.c (main): Likewise.
3861         * tests/test-areadlinkat-with-size.c (main): Likewise.
3862         * tests/test-areadlinkat.c (main): Likewise.
3863         * tests/test-canonicalize-lgpl.c (main): Likewise.
3864         * tests/test-canonicalize.c (main): Likewise.
3865         * tests/test-chown.c (main): Likewise.
3866         * tests/test-fchownat.c (main): Likewise.
3867         * tests/test-fdutimensat.c (main): Likewise.
3868         * tests/test-fstatat.c (main): Likewise.
3869         * tests/test-futimens.c (main): Likewise.
3870         * tests/test-lchown.c (main): Likewise.
3871         * tests/test-link.c (main): Likewise.
3872         * tests/test-linkat.c (main): Likewise.
3873         * tests/test-lstat.c (main): Likewise.
3874         * tests/test-mkdir.c (main): Likewise.
3875         * tests/test-mkdirat.c (main): Likewise.
3876         * tests/test-mkfifo.c (main): Likewise.
3877         * tests/test-mkfifoat.c (main): Likewise.
3878         * tests/test-mknod.c (main): Likewise.
3879         * tests/test-readlink.c (main): Likewise.
3880         * tests/test-remove.c (main): Likewise.
3881         * tests/test-rename.c (main): Likewise.
3882         * tests/test-renameat.c (main): Likewise.
3883         * tests/test-rmdir.c (main): Likewise.
3884         * tests/test-symlink.c (main): Likewise.
3885         * tests/test-symlinkat.c (main): Likewise.
3886         * tests/test-unlink.c (main): Likewise.
3887         * tests/test-unlinkat.c (main): Likewise.
3888         * tests/test-utimens.c (main): Likewise.
3889         * tests/test-utimensat.c (main): Likewise.
3890         * modules/areadlink-tests (Depends-on): Add ignore-value.
3891         * modules/areadlink-with-size-tests (Depends-on): Likewise.
3892         * modules/areadlinkat-tests (Depends-on): Likewise.
3893         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
3894         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
3895         * modules/canonicalize-tests (Depends-on): Likewise.
3896         * modules/chown-tests (Depends-on): Likewise.
3897         * modules/fdutimensat-tests (Depends-on): Likewise.
3898         * modules/futimens-tests (Depends-on): Likewise.
3899         * modules/lchown-tests (Depends-on): Likewise.
3900         * modules/link-tests (Depends-on): Likewise.
3901         * modules/linkat-tests (Depends-on): Likewise.
3902         * modules/lstat-tests (Depends-on): Likewise.
3903         * modules/mkdir-tests (Depends-on): Likewise.
3904         * modules/mkfifo-tests (Depends-on): Likewise.
3905         * modules/mkfifoat-tests (Depends-on): Likewise.
3906         * modules/mknod-tests (Depends-on): Likewise.
3907         * modules/openat-tests (Depends-on): Likewise.
3908         * modules/readlink-tests (Depends-on): Likewise.
3909         * modules/remove-tests (Depends-on): Likewise.
3910         * modules/rename-tests (Depends-on): Likewise.
3911         * modules/renameat-tests (Depends-on): Likewise.
3912         * modules/rmdir-tests (Depends-on): Likewise.
3913         * modules/symlink-tests (Depends-on): Likewise.
3914         * modules/symlinkat-tests (Depends-on): Likewise.
3915         * modules/unlink-tests (Depends-on): Likewise.
3916         * modules/utimens-tests (Depends-on): Likewise.
3917         * modules/utimensat-tests (Depends-on): Likewise.
3918
3919 2010-01-31  Bruno Haible  <bruno@clisp.org>
3920
3921         Perform the same test for many <math.h> functions.
3922         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
3923         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
3924         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
3925         of gl_MATHFUNC.
3926         * modules/acos (configure.ac): Likewise.
3927         * modules/asin (configure.ac): Likewise.
3928         * modules/atan (configure.ac): Likewise.
3929         * modules/atan2 (configure.ac): Likewise.
3930         * modules/cbrt (configure.ac): Likewise.
3931         * modules/copysign (configure.ac): Likewise.
3932         * modules/cos (configure.ac): Likewise.
3933         * modules/cosh (configure.ac): Likewise.
3934         * modules/erf (configure.ac): Likewise.
3935         * modules/erfc (configure.ac): Likewise.
3936         * modules/exp (configure.ac): Likewise.
3937         * modules/fmod (configure.ac): Likewise.
3938         * modules/hypot (configure.ac): Likewise.
3939         * modules/j0 (configure.ac): Likewise.
3940         * modules/j1 (configure.ac): Likewise.
3941         * modules/jn (configure.ac): Likewise.
3942         * modules/lgamma (configure.ac): Likewise.
3943         * modules/log (configure.ac): Likewise.
3944         * modules/log10 (configure.ac): Likewise.
3945         * modules/log1p (configure.ac): Likewise.
3946         * modules/pow (configure.ac): Likewise.
3947         * modules/remainder (configure.ac): Likewise.
3948         * modules/sin (configure.ac): Likewise.
3949         * modules/sinh (configure.ac): Likewise.
3950         * modules/tan (configure.ac): Likewise.
3951         * modules/tanh (configure.ac): Likewise.
3952         * modules/y0 (configure.ac): Likewise.
3953         * modules/y1 (configure.ac): Likewise.
3954         * modules/yn (configure.ac): Likewise.
3955         Suggested by Paolo Bonzini.
3956
3957 2010-01-31  Bruno Haible  <bruno@clisp.org>
3958
3959         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
3960
3961 2010-01-31  Bruno Haible  <bruno@clisp.org>
3962
3963         Work around getdelim() bug on FreeBSD 8.0.
3964         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
3965         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
3966         not work.
3967         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
3968         is 1.
3969         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
3970         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
3971         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
3972         a non-zero size.
3973         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
3974
3975 2010-01-31  Bruno Haible  <bruno@clisp.org>
3976
3977         Work around getline() bug on FreeBSD 8.0.
3978         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
3979         and a non-zero size.
3980         * tests/test-getline.c (main): Likewise.
3981         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
3982         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
3983
3984 2010-01-28  Eric Blake  <ebb9@byu.net>
3985
3986         regex: fix build failure
3987         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
3988         platforms.
3989
3990 2010-01-28  Jim Meyering  <meyering@redhat.com>
3991
3992         regex: do not ignore memory allocation failure
3993         * lib/regex_internal.c (create_cd_newstate): Detect
3994         re_node_set_init_copy failure.   Extracted from glibc commit
3995         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3996
3997         regex: sync more white-space changes from libc
3998         * lib/regex_internal.c: White-space only changes.
3999         * lib/regexec.c: Likewise.
4000
4001         regex: add many uses of __attribute_warn_unused_result__
4002         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
4003         * lib/regexec.c: Likewise.
4004         Extracted from a messy glibc commit.
4005
4006         regcomp.c: spelling and merge-artifact from glibc
4007         * lib/regcomp.c: Merge remainder of glibc's
4008         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
4009
4010         regcomp.c: sync white-space changes from glibc
4011         * lib/regcomp.c: Merge to accommodate white space
4012         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
4013
4014         regcomp.c: do not ignore internal return values
4015         * lib/regcomp.c: Do not ignore internal return values.
4016         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
4017         but without its white-space changes and spelling fixes.
4018
4019         regex_internal.h: define __attribute_warn_unused_result__
4020         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
4021
4022         maint: add a syntax-check rule to check for vulnerable Makefile.in
4023         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
4024
4025 2010-01-27  Jim Meyering  <meyering@redhat.com>
4026
4027         ncftpput-ftp: clean up spaces
4028         * build-aux/ncftpput-ftp: Make Copyright line consistent.
4029         Remove trailing blanks.
4030
4031 2010-01-27  Simon Josefsson  <simon@josefsson.org>
4032
4033         * build-aux/git-version-gen: Fix copyright statement.
4034         * build-aux/gnupload: Likewise.
4035         * tests/test-arcfour.c: Likewise.
4036         * tests/test-arctwo.c: Likewise.
4037         * tests/test-count-one-bits.c: Likewise.
4038         * tests/test-crc.c: Likewise.
4039         * tests/test-des.c: Likewise.
4040         * tests/test-gc-arcfour.c: Likewise.
4041         * tests/test-gc-arctwo.c: Likewise.
4042         * tests/test-gc-des.c: Likewise.
4043         * tests/test-gc-hmac-md5.c: Likewise.
4044         * tests/test-gc-hmac-sha1.c: Likewise.
4045         * tests/test-gc-md2.c: Likewise.
4046         * tests/test-gc-md4.c: Likewise.
4047         * tests/test-gc-md5.c: Likewise.
4048         * tests/test-gc-pbkdf2-sha1.c: Likewise.
4049         * tests/test-gc-rijndael.c: Likewise.
4050         * tests/test-gc-sha1.c: Likewise.
4051         * tests/test-gc.c: Likewise.
4052         * tests/test-gethostname.c: Likewise.
4053         * tests/test-gettimeofday.c: Likewise.
4054         * tests/test-hash.c: Likewise.
4055         * tests/test-hmac-md5.c: Likewise.
4056         * tests/test-hmac-sha1.c: Likewise.
4057         * tests/test-md2.c: Likewise.
4058         * tests/test-md4.c: Likewise.
4059         * tests/test-md5.c: Likewise.
4060         * tests/test-memchr.c: Likewise.
4061         * tests/test-memchr2.c: Likewise.
4062         * tests/test-memcmp.c: Likewise.
4063         * tests/test-memmem.c: Likewise.
4064         * tests/test-memrchr.c: Likewise.
4065         * tests/test-rawmemchr.c: Likewise.
4066         * tests/test-read-file.c: Likewise.
4067         * tests/test-rijndael.c: Likewise.
4068         * tests/test-sockets.c: Likewise.
4069         * tests/test-strchrnul.c: Likewise.
4070         * tests/test-strstr.c: Likewise.
4071         * tests/test-strtod.c: Likewise.
4072         * build-aux/ncftpput-ftp: Likewise.
4073
4074 2010-01-26  Eric Blake  <ebb9@byu.net>
4075
4076         ignore-value: update recommended header name
4077         * modules/ignore-value (Include): Only use <> for headers that
4078         exist in glibc.
4079
4080 2010-01-26  Jim Meyering  <meyering@redhat.com>
4081
4082         test-userspec.c: avoid compiler warnings
4083         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
4084         and "initialization discards qualifiers..." warnings.
4085         Put the first "uid" in its own scope, and make char* members "const".
4086
4087 2010-01-25  Bruno Haible  <bruno@clisp.org>
4088
4089         gnulib-tool: Make warning diagnostics consistent.
4090         * gnulib-tool (func_warning): New function.
4091         Use it everywhere where gnulib-tool produces output to stderr and it is
4092         not a fatal error.
4093
4094 2010-01-25  Bruno Haible  <bruno@clisp.org>
4095
4096         Fix test dependencies.
4097         * modules/xstrtol-tests (Depends-on): Add inttypes.
4098         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
4099
4100 2010-01-25 Pádraig Brady <P@draigBrady.com>
4101
4102         syntax-check: detect incorrect boolean macro values in config.h
4103         * modules/maintainer-makefile (configure.ac): Parameterize the location
4104         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
4105         The logic is from Eric Blake and the location indicated by Jim Meyering.
4106         Note the more natural CONFIG_HEADER name is prohibited by automake
4107         for backwards compatibility reasons.
4108         * top/maint.mk (sc_Wundef_boolean): New rule.
4109
4110 2010-01-25  Jim Meyering  <meyering@redhat.com>
4111
4112         bootstrap: detect MacOS 10.6's shasum, too
4113         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
4114         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
4115
4116 2010-01-23  Jim Meyering  <meyering@redhat.com>
4117
4118         xstrtoll: new module
4119         * modules/xstrtoll: New file.
4120         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
4121         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
4122         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
4123         ./configure fails if you use this module and lack "long long".
4124         * modules/xstrtoll-tests: New module.
4125         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
4126         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
4127         new init.sh-based test framework.
4128
4129 2010-01-24  Bruno Haible  <bruno@clisp.org>
4130
4131         Tests for module 'yn'.
4132         * modules/yn-tests: New file.
4133         * tests/test-yn.c: New file.
4134
4135         Tests for module 'y1'.
4136         * modules/y1-tests: New file.
4137         * tests/test-y1.c: New file.
4138
4139         Tests for module 'y0'.
4140         * modules/y0-tests: New file.
4141         * tests/test-y0.c: New file.
4142
4143         Tests for module 'tanh'.
4144         * modules/tanh-tests: New file.
4145         * tests/test-tanh.c: New file.
4146
4147         Tests for module 'tan'.
4148         * modules/tan-tests: New file.
4149         * tests/test-tan.c: New file.
4150
4151         Tests for module 'sqrt'.
4152         * modules/sqrt-tests: New file.
4153         * tests/test-sqrt.c: New file.
4154
4155         Tests for module 'sinh'.
4156         * modules/sinh-tests: New file.
4157         * tests/test-sinh.c: New file.
4158
4159         Tests for module 'sin'.
4160         * modules/sin-tests: New file.
4161         * tests/test-sin.c: New file.
4162
4163         Tests for module 'rint'.
4164         * modules/rint-tests: New file.
4165         * tests/test-rint.c: New file.
4166
4167         Tests for module 'remainder'.
4168         * modules/remainder-tests: New file.
4169         * tests/test-remainder.c: New file.
4170
4171         Tests for module 'pow'.
4172         * modules/pow-tests: New file.
4173         * tests/test-pow.c: New file.
4174
4175         Tests for module 'nextafter'.
4176         * modules/nextafter-tests: New file.
4177         * tests/test-nextafter.c: New file.
4178
4179         Tests for module 'modf'.
4180         * modules/modf-tests: New file.
4181         * tests/test-modf.c: New file.
4182
4183         Tests for module 'logb'.
4184         * modules/logb-tests: New file.
4185         * tests/test-logb.c: New file.
4186
4187         Tests for module 'log1p'.
4188         * modules/log1p-tests: New file.
4189         * tests/test-log1p.c: New file.
4190
4191         Tests for module 'log10'.
4192         * modules/log10-tests: New file.
4193         * tests/test-log10.c: New file.
4194
4195         Tests for module 'log'.
4196         * modules/log-tests: New file.
4197         * tests/test-log.c: New file.
4198
4199         Tests for module 'lgamma'.
4200         * modules/lgamma-tests: New file.
4201         * tests/test-lgamma.c: New file.
4202
4203         Tests for module 'ldexp'.
4204         * modules/ldexp-tests: New file.
4205         * tests/test-ldexp.c: New file.
4206
4207         Tests for module 'jn'.
4208         * modules/jn-tests: New file.
4209         * tests/test-jn.c: New file.
4210
4211         Tests for module 'j1'.
4212         * modules/j1-tests: New file.
4213         * tests/test-j1.c: New file.
4214
4215         Tests for module 'j0'.
4216         * modules/j0-tests: New file.
4217         * tests/test-j0.c: New file.
4218
4219         Tests for module 'hypot'.
4220         * modules/hypot-tests: New file.
4221         * tests/test-hypot.c: New file.
4222
4223         Tests for module 'fmod'.
4224         * modules/fmod-tests: New file.
4225         * tests/test-fmod.c: New file.
4226
4227         Tests for module 'fabs'.
4228         * modules/fabs-tests: New file.
4229         * tests/test-fabs.c: New file.
4230
4231         Tests for module 'exp'.
4232         * modules/exp-tests: New file.
4233         * tests/test-exp.c: New file.
4234
4235         Tests for module 'erfc'.
4236         * modules/erfc-tests: New file.
4237         * tests/test-erfc.c: New file.
4238
4239         Tests for module 'erf'.
4240         * modules/erf-tests: New file.
4241         * tests/test-erf.c: New file.
4242
4243         Tests for module 'cosh'.
4244         * modules/cosh-tests: New file.
4245         * tests/test-cosh.c: New file.
4246
4247         Tests for module 'cos'.
4248         * modules/cos-tests: New file.
4249         * tests/test-cos.c: New file.
4250
4251         Tests for module 'copysign'.
4252         * modules/copysign-tests: New file.
4253         * tests/test-copysign.c: New file.
4254
4255         Tests for module 'cbrt'.
4256         * modules/cbrt-tests: New file.
4257         * tests/test-cbrt.c: New file.
4258
4259         Tests for module 'atan2'.
4260         * modules/atan2-tests: New file.
4261         * tests/test-atan2.c: New file.
4262
4263         Tests for module 'atan'.
4264         * modules/atan-tests: New file.
4265         * tests/test-atan.c: New file.
4266
4267         Tests for module 'asin'.
4268         * modules/asin-tests: New file.
4269         * tests/test-asin.c: New file.
4270
4271         Tests for module 'acos'.
4272         * modules/acos-tests: New file.
4273         * tests/test-acos.c: New file.
4274
4275 2010-01-24  Bruno Haible  <bruno@clisp.org>
4276
4277         Fix tests for common <math.h> functions.
4278         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
4279         code snippet that references the function pointer, rather than merely
4280         calling the function. Substitute the FUNC_LIBM variable.
4281         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
4282         * modules/acos (configure.ac): Likewise.
4283         * modules/asin (configure.ac): Likewise.
4284         * modules/atan (configure.ac): Likewise.
4285         * modules/atan2 (configure.ac): Likewise.
4286         * modules/cbrt (configure.ac): Likewise.
4287         * modules/copysign (configure.ac): Likewise.
4288         * modules/cos (configure.ac): Likewise.
4289         * modules/cosh (configure.ac): Likewise.
4290         * modules/erf (configure.ac): Likewise.
4291         * modules/erfc (configure.ac): Likewise.
4292         * modules/exp (configure.ac): Likewise.
4293         * modules/fabs (configure.ac): Likewise.
4294         * modules/fmod (configure.ac): Likewise.
4295         * modules/hypot (configure.ac): Likewise.
4296         * modules/j0 (configure.ac): Likewise.
4297         * modules/j1 (configure.ac): Likewise.
4298         * modules/jn (configure.ac): Likewise.
4299         * modules/ldexp (configure.ac): Likewise.
4300         * modules/lgamma (configure.ac): Likewise.
4301         * modules/log (configure.ac): Likewise.
4302         * modules/log10 (configure.ac): Likewise.
4303         * modules/log1p (configure.ac): Likewise.
4304         * modules/logb (configure.ac): Likewise.
4305         * modules/modf (configure.ac): Likewise.
4306         * modules/nextafter (configure.ac): Likewise.
4307         * modules/pow (configure.ac): Likewise.
4308         * modules/remainder (configure.ac): Likewise.
4309         * modules/rint (configure.ac): Likewise.
4310         * modules/sin (configure.ac): Likewise.
4311         * modules/sinh (configure.ac): Likewise.
4312         * modules/tan (configure.ac): Likewise.
4313         * modules/tanh (configure.ac): Likewise.
4314         * modules/y0 (configure.ac): Likewise.
4315         * modules/y1 (configure.ac): Likewise.
4316         * modules/yn (configure.ac): Likewise.
4317
4318 2010-01-24  Bruno Haible  <bruno@clisp.org>
4319
4320         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
4321         * tests/test-acosl.c (x): New variable.
4322         (main): Store argument in x and fetch it from x.
4323         * tests/test-asinl.c (x): New variable.
4324         (main): Store argument in x and fetch it from x.
4325         * tests/test-atanl.c (x): New variable.
4326         (main): Store argument in x and fetch it from x.
4327         * tests/test-cosl.c (x): New variable.
4328         (main): Store argument in x and fetch it from x.
4329         * tests/test-expl.c (x): New variable.
4330         (main): Store argument in x and fetch it from x.
4331         * tests/test-logl.c (x): New variable.
4332         (main): Store argument in x and fetch it from x.
4333         * tests/test-sinl.c (x): New variable.
4334         (main): Store argument in x and fetch it from x.
4335         * tests/test-sqrtl.c (x): New variable.
4336         (main): Store argument in x and fetch it from x.
4337         * tests/test-tanl.c (x): New variable.
4338         (main): Store argument in x and fetch it from x.
4339
4340 2010-01-24  Bruno Haible  <bruno@clisp.org>
4341
4342         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
4343         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
4344         assignments to the initial TESTS_ENVIRONMENT.
4345         * doc/gnulib.texi (Unit test modules): Document it.
4346         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
4347         TESTS_ENVIRONMENT.
4348         * modules/btowc-tests (Makefile.am): Likewise.
4349         * modules/c-stack-tests (Makefile.am): Likewise.
4350         * modules/c-strcase-tests (Makefile.am): Likewise.
4351         * modules/copy-file-tests (Makefile.am): Likewise.
4352         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
4353         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
4354         * modules/mbrtowc-tests (Makefile.am): Likewise.
4355         * modules/mbscasecmp-tests (Makefile.am): Likewise.
4356         * modules/mbscasestr-tests (Makefile.am): Likewise.
4357         * modules/mbschr-tests (Makefile.am): Likewise.
4358         * modules/mbscspn-tests (Makefile.am): Likewise.
4359         * modules/mbsinit-tests (Makefile.am): Likewise.
4360         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
4361         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
4362         * modules/mbspbrk-tests (Makefile.am): Likewise.
4363         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
4364         * modules/mbsrchr-tests (Makefile.am): Likewise.
4365         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
4366         * modules/mbsspn-tests (Makefile.am): Likewise.
4367         * modules/mbsstr-tests (Makefile.am): Likewise.
4368         * modules/nl_langinfo-tests (Makefile.am): Likewise.
4369         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
4370         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
4371         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
4372         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
4373         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
4374         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
4375         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
4376         * modules/wcrtomb-tests (Makefile.am): Likewise.
4377         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
4378         * modules/wcsrtombs-tests (Makefile.am): Likewise.
4379         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
4380         assignments from TESTS_ENVIRONMENT.
4381         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
4382         augmentation.
4383         * modules/argp-version-etc-tests (Makefile.am): Likewise.
4384         * modules/atexit-tests (Makefile.am): Likewise.
4385         * modules/binary-io-tests (Makefile.am): Likewise.
4386         * modules/closein-tests (Makefile.am): Likewise.
4387         * modules/dprintf-posix-tests (Makefile.am): Likewise.
4388         * modules/exclude-tests (Makefile.am): Likewise.
4389         * modules/fflush-tests (Makefile.am): Likewise.
4390         * modules/fpending-tests (Makefile.am): Likewise.
4391         * modules/fprintf-posix-tests (Makefile.am): Likewise.
4392         * modules/freadahead-tests (Makefile.am): Likewise.
4393         * modules/freadptr-tests (Makefile.am): Likewise.
4394         * modules/freadseek-tests (Makefile.am): Likewise.
4395         * modules/fseek-tests (Makefile.am): Likewise.
4396         * modules/fseeko-tests (Makefile.am): Likewise.
4397         * modules/ftell-tests (Makefile.am): Likewise.
4398         * modules/ftello-tests (Makefile.am): Likewise.
4399         * modules/idpriv-drop-tests (Makefile.am): Likewise.
4400         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
4401         * modules/lseek-tests (Makefile.am): Likewise.
4402         * modules/parse-duration-tests (Makefile.am): Likewise.
4403         * modules/perror-tests (Makefile.am): Likewise.
4404         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
4405         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
4406         * modules/pipe-tests (Makefile.am): Likewise.
4407         * modules/pread-tests (Makefile.am): Likewise.
4408         * modules/printf-posix-tests (Makefile.am): Likewise.
4409         * modules/select-tests (Makefile.am): Likewise.
4410         * modules/sigpipe-tests (Makefile.am): Likewise.
4411         * modules/tsearch-tests (Makefile.am): Likewise.
4412         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
4413         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
4414         * modules/uniname/uniname-tests (Makefile.am): Likewise.
4415         * modules/uniwidth/width-tests (Makefile.am): Likewise.
4416         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
4417         * modules/version-etc-tests (Makefile.am): Likewise.
4418         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
4419         * modules/vprintf-posix-tests (Makefile.am): Likewise.
4420         * modules/xalloc-die-tests (Makefile.am): Likewise.
4421         * modules/xprintf-posix-tests (Makefile.am): Likewise.
4422         * modules/xstrtoimax-tests (Makefile.am): Likewise.
4423         * modules/xstrtol-tests (Makefile.am): Likewise.
4424         * modules/xstrtoumax-tests (Makefile.am): Likewise.
4425         * modules/yesno-tests (Makefile.am): Likewise.
4426         Suggested by Jim Meyering.
4427
4428 2010-01-24  Bruno Haible  <bruno@clisp.org>
4429
4430         More documentation.
4431         * doc/gnulib.texi (Writing modules): New chapter.
4432         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
4433         the new chapter.
4434
4435 2010-01-24  Jim Meyering  <meyering@redhat.com>
4436
4437         maint.mk: do not prepend "./" after filtering
4438         * top/maint.mk (_prepend_srcdir_prefix): New variable
4439         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
4440         "./" when $(srcdir) is ".".
4441
4442         define STREQ(a,b) consistently, removing useless parentheses
4443         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
4444         since the only risk is that "a" or "b" contains an unparenthesized
4445         comma, but if either did that, STREQ would have 3 or more arguments.
4446         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
4447         * lib/fts.c (STREQ): Remove unnecessary parentheses.
4448         * lib/hash-triple.c (STREQ): Likewise.
4449         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
4450         * lib/getugroups.c (STREQ): Likewise.
4451
4452 2010-01-23  Jim Meyering  <meyering@redhat.com>
4453
4454         maint.mk: fix syntax-check in a non-srcdir build directory
4455         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
4456         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
4457
4458 2010-01-22  Jim Meyering  <meyering@redhat.com>
4459
4460         userspec: add unit tests
4461         * tests/test-userspec.c: New file.
4462         * modules/userspec-tests: Likewise.
4463
4464 2010-01-21  Jim Meyering  <meyering@redhat.com>
4465
4466         maint.mk: handle source file names containing "." robustly
4467         * top/maint.mk (_dot_escaped_srcdir): Define.
4468         (VC_LIST): Use it in LHS of sed substitution.
4469
4470 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
4471
4472         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
4473         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
4474         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
4475         from a non-srcdir build.
4476
4477 2010-01-20  Eric Blake  <ebb9@byu.net>
4478
4479         warn-on-use: use instead of link-warning
4480         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
4481         * modules/unistd (Depends-on, Makefile.am): Likewise.
4482         * modules/arpa_inet (Depends-on): Replace link-warning with
4483         warn-on-use.
4484         (Makefile.am): Update rules accordingly.
4485         * modules/ctype (Depends-on, Makefile.am): Likewise.
4486         * modules/dirent (Depends-on, Makefile.am): Likewise.
4487         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
4488         * modules/inttypes (Depends-on, Makefile.am): Likewise.
4489         * modules/langinfo (Depends-on, Makefile.am): Likewise.
4490         * modules/locale (Depends-on, Makefile.am): Likewise.
4491         * modules/math (Depends-on, Makefile.am): Likewise.
4492         * modules/search (Depends-on, Makefile.am): Likewise.
4493         * modules/signal (Depends-on, Makefile.am): Likewise.
4494         * modules/spawn (Depends-on, Makefile.am): Likewise.
4495         * modules/stdlib (Depends-on, Makefile.am): Likewise.
4496         * modules/string (Depends-on, Makefile.am): Likewise.
4497         * modules/strings (Depends-on, Makefile.am): Likewise.
4498         * modules/sys_file (Depends-on, Makefile.am): Likewise.
4499         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
4500         * modules/sys_select (Depends-on, Makefile.am): Likewise.
4501         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
4502         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
4503         * modules/sys_times (Depends-on, Makefile.am): Likewise.
4504         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
4505         * modules/wchar (Depends-on, Makefile.am): Likewise.
4506         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
4507         should be poisoned.
4508         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
4509         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
4510         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
4511         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
4512         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
4513         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
4514         * m4/math_h.m4 (gl_MATH_H): Likewise.
4515         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4516         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
4517         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4518         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
4519         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
4520         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
4521         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
4522         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
4523         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4524         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4525         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
4526         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
4527         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4528         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4529         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4530         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
4531         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
4532         GL_LINK_WARNING.
4533         * lib/ctype.in.h: Likewise.
4534         * lib/dirent.in.h: Likewise.
4535         * lib/fcntl.in.h: Likewise.
4536         * lib/inttypes.in.h: Likewise.
4537         * lib/langinfo.in.h: Likewise.
4538         * lib/locale.in.h: Likewise.
4539         * lib/math.in.h: Likewise.
4540         * lib/search.in.h: Likewise.
4541         * lib/signal.in.h: Likewise.
4542         * lib/spawn.in.h: Likewise.
4543         * lib/stdio.in.h: Likewise.
4544         * lib/stdlib.in.h: Likewise.
4545         * lib/string.in.h: Likewise.
4546         * lib/strings.in.h: Likewise.
4547         * lib/sys_file.in.h: Likewise.
4548         * lib/sys_ioctl.in.h: Likewise.
4549         * lib/sys_select.in.h: Likewise.
4550         * lib/sys_socket.in.h: Likewise.
4551         * lib/sys_stat.in.h: Likewise.
4552         * lib/sys_times.in.h: Likewise.
4553         * lib/sys_utsname.in.h: Likewise.
4554         * lib/unistd.in.h: Likewise.
4555         * lib/wchar.in.h: Likewise.
4556
4557 2010-01-20  Bruno Haible  <bruno@clisp.org>
4558
4559         Avoid duplicate -lm.
4560         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
4561         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
4562         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
4563         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
4564         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
4565         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
4566         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
4567         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
4568         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
4569         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
4570         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
4571         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
4572         Reported by Paolo Bonzini.
4573
4574 2010-01-19  Bruno Haible  <bruno@clisp.org>
4575
4576         langinfo, nl_langinfo: Relicense under LGPLv2+.
4577         * modules/langinfo (License): Change to LGPLv2+.
4578         * modules/nl_langinfo (License): Likewise.
4579         Patch by David Lutterkort <lutter@redhat.com>.
4580
4581 2010-01-19  Bruno Haible  <bruno@clisp.org>
4582
4583         Avoid compilation error with cc on OSF/1 5.1.
4584         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
4585         statement, not before.
4586         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4587
4588 2010-01-18  Bruno Haible  <bruno@clisp.org>
4589
4590         Avoid a link error due to the __printf__ symbol.
4591         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
4592         and 2.6.x.
4593         (__format__, __printf__): Remove definitions.
4594         * lib/argp-fmtstream.h: Likewise.
4595         * lib/argp.h: Likewise.
4596         * lib/error.h: Likewise.
4597         * lib/vasnprintf.h: Likewise.
4598         * lib/xprintf.h: Likewise.
4599         * lib/xvasprintf.h: Likewise.
4600         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4601
4602 2010-01-18  Bruno Haible  <bruno@clisp.org>
4603
4604         Tests for module 'tanl'.
4605         * modules/tanl-tests: New file.
4606         * tests/test-tanl.c: New file.
4607
4608         Tests for module 'sqrtl'.
4609         * modules/sqrtl-tests: New file.
4610         * tests/test-sqrtl.c: New file.
4611
4612         Tests for module 'sinl'.
4613         * modules/sinl-tests: New file.
4614         * tests/test-sinl.c: New file.
4615
4616         Tests for module 'logl'.
4617         * modules/logl-tests: New file.
4618         * tests/test-logl.c: New file.
4619
4620         Tests for module 'expl'.
4621         * modules/expl-tests: New file.
4622         * tests/test-expl.c: New file.
4623
4624         Tests for module 'cosl'.
4625         * modules/cosl-tests: New file.
4626         * tests/test-cosl.c: New file.
4627
4628         Tests for module 'atanl'.
4629         * modules/atanl-tests: New file.
4630         * tests/test-atanl.c: New file.
4631
4632         Tests for module 'asinl'.
4633         * modules/asinl-tests: New file.
4634         * tests/test-asinl.c: New file.
4635
4636         Tests for module 'acosl'.
4637         * modules/acosl-tests: New file.
4638         * tests/test-acosl.c: New file.
4639
4640         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4641         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
4642         tanl): Use the standard gnulib idiom.
4643         * lib/cosl.c: Don't include trigl.c and sincosl.c.
4644         * lib/sinl.c: Likewise.
4645         * lib/tanl.c: Don't include trigl.c.
4646         (kernel_tanl): Make static.
4647         * lib/sincosl.c: Include trigl.h first.
4648         * lib/trigl.c: Likewise.
4649         * m4/acosl.m4: New file.
4650         * m4/asinl.m4: New file.
4651         * m4/atanl.m4: New file.
4652         * m4/cosl.m4: New file.
4653         * m4/expl.m4: New file.
4654         * m4/logl.m4: New file.
4655         * m4/sinl.m4: New file.
4656         * m4/sqrtl.m4: New file.
4657         * m4/tanl.m4: New file.
4658         * m4/mathl.m4: Remove file.
4659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
4660         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
4661         Don't initialize GNULIB_MATHL.
4662         * modules/acosl: New file.
4663         * modules/asinl: New file.
4664         * modules/atanl: New file.
4665         * modules/cosl: New file.
4666         * modules/expl: New file.
4667         * modules/logl: New file.
4668         * modules/sinl: New file.
4669         * modules/sqrtl: New file.
4670         * modules/tanl: New file.
4671         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
4672         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
4673         substitute GNULIB_MATHL.
4674         * modules/mathl: Rewritten.
4675         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
4676         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
4677         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
4678         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
4679         * doc/posix-functions/expl.texi: Mention the 'expl' module.
4680         * doc/posix-functions/logl.texi: Mention the 'logl' module.
4681         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
4682         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
4683         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
4684
4685 2010-01-18  Bruno Haible  <bruno@clisp.org>
4686
4687         sqrt: Make gl_FUNC_SQRT requirable.
4688         * m4/sqrt.m4: New file.
4689         * modules/sqrt (Files): Add it.
4690         (configure.ac): Invoke gl_FUNC_SQRT.
4691
4692 2010-01-18  Bruno Haible  <bruno@clisp.org>
4693
4694         New modules for common <math.h> functions.
4695         * m4/mathfunc.m4: New file.
4696         * modules/acos: New file.
4697         * modules/asin: New file.
4698         * modules/atan: New file.
4699         * modules/atan2: New file.
4700         * modules/cbrt: New file.
4701         * modules/copysign: New file.
4702         * modules/cos: New file.
4703         * modules/cosh: New file.
4704         * modules/erf: New file.
4705         * modules/erfc: New file.
4706         * modules/exp: New file.
4707         * modules/fabs: New file.
4708         * modules/fmod: New file.
4709         * modules/hypot: New file.
4710         * modules/j0: New file.
4711         * modules/j1: New file.
4712         * modules/jn: New file.
4713         * modules/ldexp: New file.
4714         * modules/lgamma: New file.
4715         * modules/log: New file.
4716         * modules/log10: New file.
4717         * modules/log1p: New file.
4718         * modules/logb: New file.
4719         * modules/modf: New file.
4720         * modules/nextafter: New file.
4721         * modules/pow: New file.
4722         * modules/remainder: New file.
4723         * modules/rint: New file.
4724         * modules/sin: New file.
4725         * modules/sinh: New file.
4726         * modules/sqrt: New file.
4727         * modules/tan: New file.
4728         * modules/tanh: New file.
4729         * modules/y0: New file.
4730         * modules/y1: New file.
4731         * modules/yn: New file.
4732         * doc/posix-functions/acos.texi: Mention the 'acos' module.
4733         * doc/posix-functions/asin.texi: Mention the 'asin' module.
4734         * doc/posix-functions/atan.texi: Mention the 'atan' module.
4735         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
4736         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
4737         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
4738         * doc/posix-functions/cos.texi: Mention the 'cos' module.
4739         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
4740         * doc/posix-functions/erf.texi: Mention the 'erf' module.
4741         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
4742         * doc/posix-functions/exp.texi: Mention the 'exp' module.
4743         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
4744         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
4745         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
4746         * doc/posix-functions/j0.texi: Mention the 'j0' module.
4747         * doc/posix-functions/j1.texi: Mention the 'j1' module.
4748         * doc/posix-functions/jn.texi: Mention the 'jn' module.
4749         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
4750         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
4751         * doc/posix-functions/log.texi: Mention the 'log' module.
4752         * doc/posix-functions/log10.texi: Mention the 'log10' module.
4753         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
4754         * doc/posix-functions/logb.texi: Mention the 'logb' module.
4755         * doc/posix-functions/modf.texi: Mention the 'modf' module.
4756         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
4757         * doc/posix-functions/pow.texi: Mention the 'pow' module.
4758         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
4759         * doc/posix-functions/rint.texi: Mention the 'rint' module.
4760         * doc/posix-functions/sin.texi: Mention the 'sin' module.
4761         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
4762         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
4763         * doc/posix-functions/tan.texi: Mention the 'tan' module.
4764         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
4765         * doc/posix-functions/y0.texi: Mention the 'y0' module.
4766         * doc/posix-functions/y1.texi: Mention the 'y1' module.
4767         * doc/posix-functions/yn.texi: Mention the 'yn' module.
4768
4769 2010-01-18  Jim Meyering  <meyering@redhat.com>
4770
4771         ignore-value: relax license to LGPLv2+
4772         * modules/ignore-value (License): Relax to LGPLv2+.
4773
4774         getdate: don't leak when TZ contains two or more '"'s
4775         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
4776         double quote in TZ after the first one.
4777
4778         readtokens: do not leak internal token_lengths buffer
4779         * lib/readtokens.c (readtokens): Free the local, lengths,
4780         when the supplied "token_lengths" parameter is NULL.
4781
4782 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4783
4784         Fix a couple of missing LIBTHREAD link failures on AIX.
4785         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
4786         $(LIBTHREAD).
4787         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
4788
4789         Link test-poll against INET_PTON_LIB.
4790         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
4791         for inet_pton on Solaris 10.
4792
4793 2010-01-17  Bruno Haible  <bruno@clisp.org>
4794
4795         unistdio/*-sprintf: Fix typo in module description.
4796         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
4797         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
4798         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
4799         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
4800         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
4801         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
4802         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
4803         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4804
4805 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4806
4807         gnulib-tool: fix filelist for AIX, HP-UX ksh.
4808         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
4809         variables in shell case patterns, for AIX and HP-UX ksh.
4810
4811         Split large sed scripts, for HP-UX sed.
4812         * modules/stdio: Split sed scripts around 50 sed commands,
4813         to avoid HP-UX limit of 99 commands, in the near future.
4814         * modules/string: Likewise.
4815         * modules/unistd: Likewise.
4816
4817         gnulib-tool: avoid writing in the current directory.
4818         * gnulib-tool (func_emit_lib_Makefile_am)
4819         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
4820         not in the current directory, so concurrent gnulib-tool
4821         instances do not interfere.
4822
4823 2010-01-16  Jim Meyering  <meyering@redhat.com>
4824
4825         doc: update users.txt
4826         * users.txt: Add grep.
4827         (diffutils, gzip): Update URLs.
4828
4829 2010-01-12  Bruno Haible  <bruno@clisp.org>
4830
4831         posix_spawn: Avoid test failure on Cygwin.
4832         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
4833         characters.
4834         Reported by Simon Josefsson.
4835
4836 2010-01-12  Bruno Haible  <bruno@clisp.org>
4837
4838         * tests/test-cond.c (main): When skipping the test, show the reason.
4839
4840 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4841
4842         * lib/striconv.c (str_cd_iconv): Avoid if before free.
4843
4844 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4845
4846         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
4847         VC_LIST_ALWAYS_EXCLUDE_REGEX.
4848
4849 2010-01-12  Eric Blake  <ebb9@byu.net>
4850
4851         build: guarantee AS_VAR_IF
4852         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
4853         (gl_AS_VAR_IF): Move...
4854         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
4855         Reported by Simon Josefsson.
4856
4857 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4858
4859         * lib/stdio.in.h: Fix typo.
4860
4861 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4862
4863         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
4864         libgpg-error.
4865
4866 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4867
4868         * tests/test-xalloc-die.sh: Use $EXEEXT.
4869
4870 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4871             Bruno Haible  <bruno@clisp.org>
4872
4873         getlogin, getlogin_r: Avoid test failure.
4874         * tests/test-getlogin.c: Include <stdio.h>.
4875         (main): Skip the test when the function fails because stdin is not a
4876         tty.
4877         * tests/test-getlogin_r.c: Include <stdio.h>.
4878         (main): Skip the test when the function fails because stdin is not a
4879         tty.
4880
4881 2010-01-11  Eric Blake  <ebb9@byu.net>
4882
4883         tests: avoid more large file warnings
4884         * tests/test-fflush.c: Avoid warning about ftell use.
4885         * tests/test-fseek.c: Avoid warning about fseek use.
4886
4887 2010-01-10  Bruno Haible  <bruno@clisp.org>
4888
4889         nproc: Work better on Linux when /proc and /sys are not mounted.
4890         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
4891         as lower bound when, on glibc/Linux systems,
4892         sysconf (_SC_NPROCESSORS_CONF) returns 1.
4893         Suggested by Pádraig Brady <P@draigbrady.com>.
4894         Reported by Dmitry V. Levin <ldv@altlinux.org>.
4895
4896         nproc: Refactor.
4897         * lib/nproc.c (num_processors_via_affinity_mask): New function,
4898         extracted from num_processors.
4899         (num_processors): Call it.
4900
4901 2010-01-11  Jim Meyering  <meyering@redhat.com>
4902
4903         utimecmp: avoid new warning from upcoming gcc-4.5.0
4904         * lib/utimecmp.c (BILLION): Define using #define rather than an
4905         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
4906
4907 2010-01-11  Eric Blake  <ebb9@byu.net>
4908
4909         math: add portability warnings for classification macros
4910         * modules/math (Depends-on): Add warn-on-use.
4911         (Makefile.am): Provide new substitutions.
4912         * m4/math_h.m4 (gl_MATH_H): Require inline.
4913         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
4914         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
4915         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
4916         implement warnings.
4917
4918         unistd: warn on use of environ without module
4919         * modules/unistd (Depends-on): Add warn-on-use.
4920         (Makefile.am): Provide new substitutions.
4921         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
4922         * lib/unistd.in.h (environ): Wrap with a warning helper function.
4923
4924         stdio: warn on suspicious uses
4925         * modules/stdio (Depends-on): Add warn-on-use.
4926         (Makefile.am): Provide new substitutions.
4927         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
4928         fseeko.
4929         * lib/stdio.in.h (gets): Always warn on use.
4930         (fseek, ftell): Adjust when warnings are issued, and honor
4931         _GL_NO_LARGE_FILES as a way to silence the warning.
4932         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
4933         any warning about large file offsets.
4934         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
4935         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
4936         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
4937         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
4938         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
4939         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
4940         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
4941         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
4942
4943         warn-on-use: new module
4944         * modules/warn-on-use: New file.
4945         * build-aux/warn-on-use.h: Likewise.
4946         * m4/warn-on-use.m4: Likewise.
4947         * MODULES.html.sh (Support for building): Mention it.
4948
4949 2010-01-10  Bruno Haible  <bruno@clisp.org>
4950
4951         Tests for module 'unistr/u32-strdup'.
4952         * modules/unistr/u32-strdup-tests: New file.
4953         * tests/unistr/test-u32-strdup.c: New file.
4954
4955         Tests for module 'unistr/u16-strdup'.
4956         * modules/unistr/u16-strdup-tests: New file.
4957         * tests/unistr/test-u16-strdup.c: New file.
4958
4959         Tests for module 'unistr/u8-strdup'.
4960         * modules/unistr/u8-strdup-tests: New file.
4961         * tests/unistr/test-u8-strdup.c: New file.
4962         * tests/unistr/test-strdup.h: New file.
4963
4964         Tests for module 'unistr/u32-strncmp'.
4965         * modules/unistr/u32-strncmp-tests: New file.
4966         * tests/unistr/test-u32-strncmp.c: New file.
4967
4968         Tests for module 'unistr/u16-strncmp'.
4969         * modules/unistr/u16-strncmp-tests: New file.
4970         * tests/unistr/test-u16-strncmp.c: New file.
4971
4972         Tests for module 'unistr/u8-strncmp'.
4973         * modules/unistr/u8-strncmp-tests: New file.
4974         * tests/unistr/test-u8-strncmp.c: New file.
4975         * tests/unistr/test-strncmp.h: New file.
4976
4977         Tests for module 'unistr/u32-strcoll'.
4978         * modules/unistr/u32-strcoll-tests: New file.
4979         * tests/unistr/test-u32-strcoll.c: New file.
4980
4981         Tests for module 'unistr/u16-strcoll'.
4982         * modules/unistr/u16-strcoll-tests: New file.
4983         * tests/unistr/test-u16-strcoll.c: New file.
4984
4985         Tests for module 'unistr/u8-strcoll'.
4986         * modules/unistr/u8-strcoll-tests: New file.
4987         * tests/unistr/test-u8-strcoll.c: New file.
4988
4989         Tests for module 'unistr/u32-strcmp'.
4990         * modules/unistr/u32-strcmp-tests: New file.
4991         * tests/unistr/test-u32-strcmp.c: New file.
4992         * tests/unistr/test-u32-strcmp.h: New file.
4993
4994         Tests for module 'unistr/u16-strcmp'.
4995         * modules/unistr/u16-strcmp-tests: New file.
4996         * tests/unistr/test-u16-strcmp.c: New file.
4997         * tests/unistr/test-u16-strcmp.h: New file.
4998
4999         Tests for module 'unistr/u8-strcmp'.
5000         * modules/unistr/u8-strcmp-tests: New file.
5001         * tests/unistr/test-u8-strcmp.c: New file.
5002         * tests/unistr/test-u8-strcmp.h: New file.
5003         * tests/unistr/test-strcmp.h: New file.
5004
5005         Tests for module 'unistr/u32-strncat'.
5006         * modules/unistr/u32-strncat-tests: New file.
5007         * tests/unistr/test-u32-strncat.c: New file.
5008
5009         Tests for module 'unistr/u16-strncat'.
5010         * modules/unistr/u16-strncat-tests: New file.
5011         * tests/unistr/test-u16-strncat.c: New file.
5012
5013         Tests for module 'unistr/u8-strncat'.
5014         * modules/unistr/u8-strncat-tests: New file.
5015         * tests/unistr/test-u8-strncat.c: New file.
5016         * tests/unistr/test-strncat.h: New file.
5017
5018         Tests for module 'unistr/u32-strcat'.
5019         * modules/unistr/u32-strcat-tests: New file.
5020         * tests/unistr/test-u32-strcat.c: New file.
5021
5022         Tests for module 'unistr/u16-strcat'.
5023         * modules/unistr/u16-strcat-tests: New file.
5024         * tests/unistr/test-u16-strcat.c: New file.
5025
5026         Tests for module 'unistr/u8-strcat'.
5027         * modules/unistr/u8-strcat-tests: New file.
5028         * tests/unistr/test-u8-strcat.c: New file.
5029         * tests/unistr/test-strcat.h: New file.
5030
5031         Tests for module 'unistr/u32-stpncpy'.
5032         * modules/unistr/u32-stpncpy-tests: New file.
5033         * tests/unistr/test-u32-stpncpy.c: New file.
5034
5035         Tests for module 'unistr/u16-stpncpy'.
5036         * modules/unistr/u16-stpncpy-tests: New file.
5037         * tests/unistr/test-u16-stpncpy.c: New file.
5038
5039         Tests for module 'unistr/u8-stpncpy'.
5040         * modules/unistr/u8-stpncpy-tests: New file.
5041         * tests/unistr/test-u8-stpncpy.c: New file.
5042         * tests/unistr/test-stpncpy.h: New file.
5043
5044         Tests for module 'unistr/u32-strncpy'.
5045         * modules/unistr/u32-strncpy-tests: New file.
5046         * tests/unistr/test-u32-strncpy.c: New file.
5047
5048         Tests for module 'unistr/u16-strncpy'.
5049         * modules/unistr/u16-strncpy-tests: New file.
5050         * tests/unistr/test-u16-strncpy.c: New file.
5051
5052         Tests for module 'unistr/u8-strncpy'.
5053         * modules/unistr/u8-strncpy-tests: New file.
5054         * tests/unistr/test-u8-strncpy.c: New file.
5055         * tests/unistr/test-strncpy.h: New file.
5056
5057         Tests for module 'unistr/u32-stpcpy'.
5058         * modules/unistr/u32-stpcpy-tests: New file.
5059         * tests/unistr/test-u32-stpcpy.c: New file.
5060
5061         Tests for module 'unistr/u16-stpcpy'.
5062         * modules/unistr/u16-stpcpy-tests: New file.
5063         * tests/unistr/test-u16-stpcpy.c: New file.
5064
5065         Tests for module 'unistr/u8-stpcpy'.
5066         * modules/unistr/u8-stpcpy-tests: New file.
5067         * tests/unistr/test-u8-stpcpy.c: New file.
5068         * tests/unistr/test-stpcpy.h: New file.
5069
5070         Tests for module 'unistr/u32-strcpy'.
5071         * modules/unistr/u32-strcpy-tests: New file.
5072         * tests/unistr/test-u32-strcpy.c: New file.
5073
5074         Tests for module 'unistr/u16-strcpy'.
5075         * modules/unistr/u16-strcpy-tests: New file.
5076         * tests/unistr/test-u16-strcpy.c: New file.
5077
5078         Tests for module 'unistr/u8-strcpy'.
5079         * modules/unistr/u8-strcpy-tests: New file.
5080         * tests/unistr/test-u8-strcpy.c: New file.
5081         * tests/unistr/test-strcpy.h: New file.
5082
5083         Tests for module 'unistr/u32-strnlen'.
5084         * modules/unistr/u32-strnlen-tests: New file.
5085         * tests/unistr/test-u32-strnlen.c: New file.
5086
5087         Tests for module 'unistr/u16-strnlen'.
5088         * modules/unistr/u16-strnlen-tests: New file.
5089         * tests/unistr/test-u16-strnlen.c: New file.
5090
5091         Tests for module 'unistr/u8-strnlen'.
5092         * modules/unistr/u8-strnlen-tests: New file.
5093         * tests/unistr/test-u8-strnlen.c: New file.
5094         * tests/unistr/test-strnlen.h: New file.
5095
5096         Tests for module 'unistr/u32-strlen'.
5097         * modules/unistr/u32-strlen-tests: New file.
5098         * tests/unistr/test-u32-strlen.c: New file.
5099
5100         Tests for module 'unistr/u16-strlen'.
5101         * modules/unistr/u16-strlen-tests: New file.
5102         * tests/unistr/test-u16-strlen.c: New file.
5103
5104         Tests for module 'unistr/u8-strlen'.
5105         * modules/unistr/u8-strlen-tests: New file.
5106         * tests/unistr/test-u8-strlen.c: New file.
5107
5108         Tests for module 'unistr/u32-prev'.
5109         * modules/unistr/u32-prev-tests: New file.
5110         * tests/unistr/test-u32-prev.c: New file.
5111
5112         Tests for module 'unistr/u16-prev'.
5113         * modules/unistr/u16-prev-tests: New file.
5114         * tests/unistr/test-u16-prev.c: New file.
5115
5116         Tests for module 'unistr/u8-prev'.
5117         * modules/unistr/u8-prev-tests: New file.
5118         * tests/unistr/test-u8-prev.c: New file.
5119
5120         Tests for module 'unistr/u32-next'.
5121         * modules/unistr/u32-next-tests: New file.
5122         * tests/unistr/test-u32-next.c: New file.
5123
5124         Tests for module 'unistr/u16-next'.
5125         * modules/unistr/u16-next-tests: New file.
5126         * tests/unistr/test-u16-next.c: New file.
5127
5128         Tests for module 'unistr/u8-next'.
5129         * modules/unistr/u8-next-tests: New file.
5130         * tests/unistr/test-u8-next.c: New file.
5131
5132         Tests for module 'unistr/u32-strmbtouc'.
5133         * modules/unistr/u32-strmbtouc-tests: New file.
5134         * tests/unistr/test-u32-strmbtouc.c: New file.
5135
5136         Tests for module 'unistr/u16-strmbtouc'.
5137         * modules/unistr/u16-strmbtouc-tests: New file.
5138         * tests/unistr/test-u16-strmbtouc.c: New file.
5139
5140         Tests for module 'unistr/u8-strmbtouc'.
5141         * modules/unistr/u8-strmbtouc-tests: New file.
5142         * tests/unistr/test-u8-strmbtouc.c: New file.
5143
5144         Tests for module 'unistr/u32-strmblen'.
5145         * modules/unistr/u32-strmblen-tests: New file.
5146         * tests/unistr/test-u32-strmblen.c: New file.
5147
5148         Tests for module 'unistr/u16-strmblen'.
5149         * modules/unistr/u16-strmblen-tests: New file.
5150         * tests/unistr/test-u16-strmblen.c: New file.
5151
5152         Tests for module 'unistr/u8-strmblen'.
5153         * modules/unistr/u8-strmblen-tests: New file.
5154         * tests/unistr/test-u8-strmblen.c: New file.
5155
5156         Tests for module 'unistr/u32-cpy-alloc'.
5157         * modules/unistr/u32-cpy-alloc-tests: New file.
5158         * tests/unistr/test-u32-cpy-alloc.c: New file.
5159
5160         Tests for module 'unistr/u16-cpy-alloc'.
5161         * modules/unistr/u16-cpy-alloc-tests: New file.
5162         * tests/unistr/test-u16-cpy-alloc.c: New file.
5163
5164         Tests for module 'unistr/u8-cpy-alloc'.
5165         * modules/unistr/u8-cpy-alloc-tests: New file.
5166         * tests/unistr/test-u8-cpy-alloc.c: New file.
5167         * tests/unistr/test-cpy-alloc.h: New file.
5168
5169         Tests for module 'unistr/u32-mbsnlen'.
5170         * modules/unistr/u32-mbsnlen-tests: New file.
5171         * tests/unistr/test-u32-mbsnlen.c: New file.
5172
5173         Tests for module 'unistr/u16-mbsnlen'.
5174         * modules/unistr/u16-mbsnlen-tests: New file.
5175         * tests/unistr/test-u16-mbsnlen.c: New file.
5176
5177         Tests for module 'unistr/u8-mbsnlen'.
5178         * modules/unistr/u8-mbsnlen-tests: New file.
5179         * tests/unistr/test-u8-mbsnlen.c: New file.
5180
5181         Tests for module 'unistr/u32-chr'.
5182         * modules/unistr/u32-chr-tests: New file.
5183         * tests/unistr/test-u32-chr.c: New file.
5184
5185         Tests for module 'unistr/u16-chr'.
5186         * modules/unistr/u16-chr-tests: New file.
5187         * tests/unistr/test-u16-chr.c: New file.
5188
5189         Tests for module 'unistr/u8-chr'.
5190         * modules/unistr/u8-chr-tests: New file.
5191         * tests/unistr/test-u8-chr.c: New file.
5192         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
5193
5194         Tests for module 'unistr/u32-cmp2'.
5195         * modules/unistr/u32-cmp2-tests: New file.
5196         * tests/unistr/test-u32-cmp2.c: New file.
5197
5198         Tests for module 'unistr/u16-cmp2'.
5199         * modules/unistr/u16-cmp2-tests: New file.
5200         * tests/unistr/test-u16-cmp2.c: New file.
5201
5202         Tests for module 'unistr/u8-cmp2'.
5203         * modules/unistr/u8-cmp2-tests: New file.
5204         * tests/unistr/test-u8-cmp2.c: New file.
5205         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
5206
5207         Tests for module 'unistr/u32-cmp'.
5208         * modules/unistr/u32-cmp-tests: New file.
5209         * tests/unistr/test-u32-cmp.c: New file.
5210
5211         Tests for module 'unistr/u16-cmp'.
5212         * modules/unistr/u16-cmp-tests: New file.
5213         * tests/unistr/test-u16-cmp.c: New file.
5214
5215         Tests for module 'unistr/u8-cmp'.
5216         * modules/unistr/u8-cmp-tests: New file.
5217         * tests/unistr/test-u8-cmp.c: New file.
5218         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
5219
5220         Tests for module 'unistr/u32-set'.
5221         * modules/unistr/u32-set-tests: New file.
5222         * tests/unistr/test-u32-set.c: New file.
5223
5224         Tests for module 'unistr/u16-set'.
5225         * modules/unistr/u16-set-tests: New file.
5226         * tests/unistr/test-u16-set.c: New file.
5227
5228         Tests for module 'unistr/u8-set'.
5229         * modules/unistr/u8-set-tests: New file.
5230         * tests/unistr/test-u8-set.c: New file.
5231         * tests/unistr/test-set.h: New file.
5232
5233         Tests for module 'unistr/u32-move'.
5234         * modules/unistr/u32-move-tests: New file.
5235         * tests/unistr/test-u32-move.c: New file.
5236
5237         Tests for module 'unistr/u16-move'.
5238         * modules/unistr/u16-move-tests: New file.
5239         * tests/unistr/test-u16-move.c: New file.
5240
5241         Tests for module 'unistr/u8-move'.
5242         * modules/unistr/u8-move-tests: New file.
5243         * tests/unistr/test-u8-move.c: New file.
5244         * tests/unistr/test-move.h: New file.
5245
5246         Tests for module 'unistr/u32-cpy'.
5247         * modules/unistr/u32-cpy-tests: New file.
5248         * tests/unistr/test-u32-cpy.c: New file.
5249
5250         Tests for module 'unistr/u16-cpy'.
5251         * modules/unistr/u16-cpy-tests: New file.
5252         * tests/unistr/test-u16-cpy.c: New file.
5253
5254         Tests for module 'unistr/u8-cpy'.
5255         * modules/unistr/u8-cpy-tests: New file.
5256         * tests/unistr/test-u8-cpy.c: New file.
5257         * tests/unistr/test-cpy.h: New file.
5258
5259 2010-01-09  Bruno Haible  <bruno@clisp.org>
5260
5261         Tests for module 'unistr/u32-uctomb'.
5262         * modules/unistr/u32-uctomb-tests: New file.
5263         * tests/unistr/test-u32-uctomb.c: New file.
5264
5265         Tests for module 'unistr/u16-uctomb'.
5266         * modules/unistr/u16-uctomb-tests: New file.
5267         * tests/unistr/test-u16-uctomb.c: New file.
5268
5269         Tests for module 'unistr/u8-uctomb'.
5270         * modules/unistr/u8-uctomb-tests: New file.
5271         * tests/unistr/test-u8-uctomb.c: New file.
5272
5273         Tests for module 'unistr/u32-mbtoucr'.
5274         * modules/unistr/u32-mbtoucr-tests: New file.
5275         * tests/unistr/test-u32-mbtoucr.c: New file.
5276
5277         Tests for module 'unistr/u16-mbtoucr'.
5278         * modules/unistr/u16-mbtoucr-tests: New file.
5279         * tests/unistr/test-u16-mbtoucr.c: New file.
5280
5281         Tests for module 'unistr/u8-mbtoucr'.
5282         * modules/unistr/u8-mbtoucr-tests: New file.
5283         * tests/unistr/test-u8-mbtoucr.c: New file.
5284
5285         Tests for module 'unistr/u32-mbtouc'.
5286         * modules/unistr/u32-mbtouc-tests: New file.
5287         * tests/unistr/test-u32-mbtouc.c: New file.
5288
5289         Tests for module 'unistr/u16-mbtouc'.
5290         * modules/unistr/u16-mbtouc-tests: New file.
5291         * tests/unistr/test-u16-mbtouc.c: New file.
5292
5293         Tests for module 'unistr/u8-mbtouc'.
5294         * modules/unistr/u8-mbtouc-tests: New file.
5295         * tests/unistr/test-u8-mbtouc.c: New file.
5296
5297         Tests for module 'unistr/u32-mbtouc-unsafe'.
5298         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
5299         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
5300         * tests/unistr/test-u32-mbtouc.h: New file.
5301
5302         Tests for module 'unistr/u16-mbtouc-unsafe'.
5303         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
5304         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
5305         * tests/unistr/test-u16-mbtouc.h: New file.
5306
5307         Tests for module 'unistr/u8-mbtouc-unsafe'.
5308         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
5309         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
5310         * tests/unistr/test-u8-mbtouc.h: New file.
5311
5312         Tests for module 'unistr/u32-mblen'.
5313         * modules/unistr/u32-mblen-tests: New file.
5314         * tests/unistr/test-u32-mblen.c: New file.
5315
5316         Tests for module 'unistr/u16-mblen'.
5317         * modules/unistr/u16-mblen-tests: New file.
5318         * tests/unistr/test-u16-mblen.c: New file.
5319
5320         Tests for module 'unistr/u8-mblen'.
5321         * modules/unistr/u8-mblen-tests: New file.
5322         * tests/unistr/test-u8-mblen.c: New file.
5323
5324         Tests for module 'unistr/u32-to-u16'.
5325         * modules/unistr/u32-to-u16-tests: New file.
5326         * tests/unistr/test-u32-to-u16.c: New file.
5327
5328         Tests for module 'unistr/u32-to-u8'.
5329         * modules/unistr/u32-to-u8-tests: New file.
5330         * tests/unistr/test-u32-to-u8.c: New file.
5331
5332         Tests for module 'unistr/u16-to-u32'.
5333         * modules/unistr/u16-to-u32-tests: New file.
5334         * tests/unistr/test-u16-to-u32.c: New file.
5335
5336         Tests for module 'unistr/u16-to-u8'.
5337         * modules/unistr/u16-to-u8-tests: New file.
5338         * tests/unistr/test-u16-to-u8.c: New file.
5339
5340         Tests for module 'unistr/u8-to-u32'.
5341         * modules/unistr/u8-to-u32-tests: New file.
5342         * tests/unistr/test-u8-to-u32.c: New file.
5343
5344         Tests for module 'unistr/u8-to-u16'.
5345         * modules/unistr/u8-to-u16-tests: New file.
5346         * tests/unistr/test-u8-to-u16.c: New file.
5347
5348         Tests for module 'unistr/u32-check'.
5349         * modules/unistr/u32-check-tests: New file.
5350         * tests/unistr/test-u32-check.c: New file.
5351
5352         Tests for module 'unistr/u16-check'.
5353         * modules/unistr/u16-check-tests: New file.
5354         * tests/unistr/test-u16-check.c: New file.
5355
5356         Tests for module 'unistr/u8-check'.
5357         * modules/unistr/u8-check-tests: New file.
5358         * tests/unistr/test-u8-check.c: New file.
5359
5360         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
5361         (category_equals): New function.
5362         (main): Add more tests.
5363         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
5364
5365         * tests/unictype/test-bidi_byname.c (main): Add more tests.
5366
5367 2010-01-10  Bruno Haible  <bruno@clisp.org>
5368
5369         unistr/u*-strcoll: Try harder to distinguish different strings.
5370         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
5371         compare s1 and s2 to see if they are different.
5372
5373 2010-01-10  Bruno Haible  <bruno@clisp.org>
5374
5375         unistr/u*-stpncpy: Fix the return value.
5376         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
5377         description of the return value consistent with stpncpy in glibc.
5378         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
5379         written non-NUL unit.
5380
5381 2010-01-10  Bruno Haible  <bruno@clisp.org>
5382
5383         unistr/u*-next: Add missing dependencies.
5384         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
5385         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
5386         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
5387
5388 2010-01-10  Bruno Haible  <bruno@clisp.org>
5389
5390         unistr/u8-mbsnlen: Fix return value for incomplete character.
5391         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
5392         u8_mblen.
5393         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
5394         Remove unistr/u8-mblen.
5395         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
5396         u16_mblen.
5397         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
5398         Remove unistr/u16-mblen.
5399
5400 2010-01-10  Bruno Haible  <bruno@clisp.org>
5401
5402         wchar: Fix compilation error when <wchar.h> is used from coreutils.
5403         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
5404         Reported by Brian Gough <bjg@gnu.org> and
5405         Chris Clayton <chris2553@googlemail.com> via
5406         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
5407
5408 2010-01-09  Bruno Haible  <bruno@clisp.org>
5409
5410         unistr/u16-to-u32: Reject invalid input.
5411         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
5412         u16_mbtouc.
5413         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
5414         Remove unistr/u16-mbtouc.
5415
5416         unistr/u16-to-u8: Reject invalid input.
5417         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
5418         u16_mbtouc.
5419         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
5420         Remove unistr/u16-mbtouc.
5421
5422         unistr/u8-to-u32: Reject invalid input.
5423         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
5424         u8_mbtouc.
5425         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
5426         Remove unistr/u8-mbtouc.
5427
5428         unistr/u8-to-u16: Reject invalid input.
5429         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
5430         u8_mbtouc.
5431         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
5432         Remove unistr/u8-mbtouc.
5433
5434 2010-01-09  Bruno Haible  <bruno@clisp.org>
5435
5436         Tests for module 'getlogin'.
5437         * modules/getlogin-tests: New file.
5438         * tests/test-getlogin.c: New file.
5439
5440         New module 'getlogin'.
5441         * lib/unistd.in.h (getlogin): New declaration.
5442         * lib/getlogin.c: New file.
5443         * m4/getlogin.m4: New file.
5444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
5445         HAVE_GETLOGIN.
5446         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
5447         HAVE_GETLOGIN.
5448         * modules/getlogin: New file.
5449         * doc/posix-functions/getlogin.texi: Mention the new module.
5450         Reported by John W. Eaton <jwe@gnu.org>.
5451
5452 2010-01-09  Bruno Haible  <bruno@clisp.org>
5453
5454         getlogin_r: Support for native Windows.
5455         * lib/getlogin_r.c: Include <windows.h>
5456         (getlogin_r): Implement for native Windows.
5457         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
5458         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
5459         via John W. Eaton <jwe@gnu.org>.
5460
5461 2010-01-09  Bruno Haible  <bruno@clisp.org>
5462
5463         getlogin_r: Small fixes.
5464         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
5465         succeeds.
5466         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
5467         before testing whether getlogin_r is declared. No need to set
5468         HAVE_DECL_GETLOGIN_R to 1.
5469         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
5470
5471 2010-01-09  Bruno Haible  <bruno@clisp.org>
5472
5473         * lib/unistd.in.h (getlogin_r): Add comment.
5474
5475 2010-01-09  Bruno Haible  <bruno@clisp.org>
5476
5477         Tests for module 'getlogin_r'.
5478         * modules/getlogin_r-tests: New file.
5479         * tests/test-getlogin_r.c: New file.
5480
5481 2010-01-09  Jim Meyering  <meyering@redhat.com>
5482
5483         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
5484         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
5485         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
5486
5487 2010-01-08  Simon Josefsson  <simon@josefsson.org>
5488
5489         * lib/dup2.c (rpl_dup2): Improve comment.
5490
5491 2010-01-08  Eric Blake  <ebb9@byu.net>
5492
5493         maint.mk: allow packages to add makefile @@ exceptions
5494         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
5495         (sc_makefile_check): Rename...
5496         (sc_makefile_at_at_check): ...to this, and use hook.
5497
5498         dup2: work around mingw bug
5499         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
5500         Reported by Simon Josefsson.
5501
5502 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
5503
5504         glob: Fix C++ compilation.
5505         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
5506         C++.
5507
5508 2010-01-07  Bruno Haible  <bruno@clisp.org>
5509
5510         Fix indentation of wctype.in.h, broken since 2007-01-06.
5511         * lib/wctype.in.h: Fix indentation of preprocessor directives.
5512
5513 2010-01-07  Bruno Haible  <bruno@clisp.org>
5514
5515         mbslen: Avoid collision with system function.
5516         * lib/string.in.h [MirBSD]: Include <wchar.h>.
5517         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
5518         * m4/mbslen.m4: New file.
5519         * modules/mbslen (Files): Add it.
5520         (configure.ac): Invoke gl_MBSLEN.
5521         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
5522         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
5523         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
5524         via Ian Beckwith <ianb@erislabs.net>.
5525
5526 2010-01-07  Bruno Haible  <bruno@clisp.org>
5527
5528         dirent: Document the last fix.
5529         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
5530
5531 2010-01-07  Bruno Haible  <bruno@clisp.org>
5532
5533         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
5534         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
5535         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
5536         va_list are defined.
5537         * doc/posix-headers/stdio.texi: Document the bug of missing types.
5538         Reported by Eric Blake.
5539
5540 2010-01-07  Bruno Haible  <bruno@clisp.org>
5541
5542         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
5543         * modules/xlist (Depends-on): Add 'list',
5544         * modules/xoset (Depends-on): Add 'oset'.
5545         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5546
5547 2010-01-07  Bruno Haible  <bruno@clisp.org>
5548
5549         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
5550         * doc/posix-functions/strncasecmp.texi: Likewise.
5551
5552 2010-01-07  Bruno Haible  <bruno@clisp.org>
5553
5554         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
5555
5556 2010-01-07  John W. Eaton  <jwe@octave.org>
5557
5558         wctype: allow C++ use
5559         * lib/wctype.in.h: Add extern "C" block for C++.
5560
5561 2010-01-06  Eric Blake  <ebb9@byu.net>
5562
5563         maint.mk: detect incorrect GFDL usage
5564         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
5565
5566 2010-01-06  Jim Meyering  <meyering@redhat.com>
5567         and Eric Blake  <ebb9@byu.net>
5568
5569         maint.mk: ignore multi-line copyright in NEWS
5570         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
5571
5572 2010-01-06  Eric Blake  <ebb9@byu.net>
5573
5574         select: add missing dependency
5575         * modules/select-tests (Depends-on): Move sockets dependency...
5576         * modules/select (Depends-on): ...here.
5577         Reported by Ian Beckwith.
5578
5579         doc: regenerate INSTALL
5580         * doc/INSTALL: Reflect recent autoconf update.
5581         * doc/INSTALL.ISO: Likewise.
5582         * doc/INSTALL.UTF-8: Likewise.
5583
5584         pread: fix compilation on glibc
5585         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
5586         Reported by Ralf Wildenhues.
5587
5588         dirent: fix test failure
5589         * lib/dirent.in.h (includes): Guarantee ino_t.
5590         Reported by Ralf Wildenhues.
5591
5592 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
5593
5594         linkat, renameat: avoid bad free
5595         * lib/at-func2.c (at_func2): Fix typo.
5596         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
5597
5598 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5599
5600         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
5601         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
5602         to avoid failure of symlink test later.
5603
5604 2010-01-06  Eric Blake  <ebb9@byu.net>
5605
5606         stdio, unistd: guarantee ssize_t
5607         * lib/unistd.in.h (includes): Ensure that types required by POSIX
5608         2008 are exposed when needed.
5609         * lib/stdio.in.h (includes): Likewise.
5610         Reported by Ralf Wildenhues.
5611
5612 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
5613
5614         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
5615         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
5616         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
5617
5618 2010-01-06  Jim Meyering  <meyering@redhat.com>
5619
5620         readtokens: this module *does* require xalloc.h
5621         It uses only functions that were omitted by the old syntax-check rule.
5622         * lib/readtokens.c: Include "xalloc.h" once again.
5623         * modules/readtokens (Depends-on): Add xalloc.
5624         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
5625
5626 2010-01-05  Eric Blake  <ebb9@byu.net>
5627
5628         maint: support 'make announcement' from a VPATH build
5629         * top/maint.mk (announcement): Look for correct NEWS file.
5630
5631 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
5632
5633         utimens (fdutimens): ignore a negative FD, per contract
5634         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
5635         when we have a valid file descriptor.  Otherwise, using a brand
5636         new glibc (with just-patched futimens that now fails with EBADF)
5637         would cause this function to fail with ENOSYS.
5638         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
5639         See also http://bugzilla.redhat.com/552320.
5640
5641 2010-01-05  Eric Blake  <ebb9@byu.net>
5642
5643         strcase: document what it provides
5644         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
5645         gnulib module.
5646         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
5647         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
5648
5649 2010-01-05  Jim Meyering  <meyering@redhat.com>
5650
5651         maint: remove useless inclusions of "xalloc.h"
5652         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
5653         * lib/readtokens.c: Likewise.
5654         * lib/same.c: Likewise.
5655         * modules/getloadavg (Depends-on): Remove xalloc.
5656         * modules/readtokens: Likewise.
5657         * modules/same: Likewise.
5658
5659         maint.mk: include 4 more function names in alloca.h-checking regexp
5660         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
5661         regexp.  Before, we would give a false-positive (saying alloca.h
5662         is included unnecessarily) when the only uses involved omitted symbols.
5663
5664         xalloc.h: use consistent formatting
5665         * lib/xalloc.h: Move declarations to start in the first column.
5666
5667 2010-01-05  Eric Blake  <ebb9@byu.net>
5668
5669         mkdir: avoid xalloc
5670         * lib/mkdir.c (includes): Drop unused header.
5671         Reported by John W. Eaton.
5672
5673 2010-01-04  Jim Meyering  <meyering@redhat.com>
5674
5675         nl_langinfo: avoid configure-time syntax error
5676         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
5677         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
5678         the empty string.  Don't let that provoke a shell syntax error.
5679
5680         regcomp, regexec, fnmatch: avoid array bounds read error
5681         * lib/regcomp.c (build_equiv_class): From glibc:
5682         Use only the low 24 bits of a findidx return value as an index
5683         into the weights array.  Patch by Ulrich Drepper:
5684         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
5685         * lib/regexec.c (check_node_accept_bytes): Likewise.
5686         * lib/fnmatch_loop.c (FCT): Likewise.
5687
5688         regcomp: skip collseq lookup when there are no rules
5689         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
5690         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
5691
5692         regcomp: recognize ill-formed { } expressions
5693         * lib/regcomp.c (parse_dup_op): From glibc:
5694         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
5695
5696         regcomp: fix typo in comment
5697         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
5698         s/satisfy/satisfies/.
5699
5700         regcomp: sync from glibc: remove dead store
5701         * lib/regcomp.c (duplicate_node_closure): Remove useless
5702         search_duplicated_node call and dead store.
5703
5704         regcomp: sync from glibc; always use nl_langinfo
5705         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
5706         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
5707         * modules/regex (Depends-on): Add nl_langinfo.
5708
5709 2010-01-04  Eric Blake  <ebb9@byu.net>
5710
5711         fdopendir: fix configure test
5712         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
5713
5714 2010-01-01  Bruno Haible  <bruno@clisp.org>
5715
5716         wchar: Remove unused configure check.
5717         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
5718
5719 2010-01-01  Eric Blake  <ebb9@byu.net>
5720
5721         headers: make check of system header explicit
5722         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
5723         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
5724         ourselves.
5725         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5726         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5727         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
5728         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
5729         internals.
5730         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
5731         missing.
5732         Suggested by Bruno Haible.
5733
5734 2010-01-01  Jim Meyering  <meyering@redhat.com>
5735
5736         ChangeLog: tweak to eliminate unnecessary copyright line
5737         * ChangeLog: Remove a copyright line that was mistakenly updated
5738         by today's update-copyright run.  Reported by Eric Blake.
5739
5740         test-update-copyright: don't let envvar setting cause test failure
5741         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5742
5743 2010-01-01  Bruno Haible  <bruno@clisp.org>
5744
5745         localename: Avoid gcc warning.
5746         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
5747         function if it is not used.
5748
5749 2010-01-01  Jim Meyering  <meyering@redhat.com>
5750
5751         update nearly all FSF copyright year lists to include 2010
5752         Use the same procedure as for 2009, outlined in
5753         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
5754
5755         version-etc: set COPYRIGHT_YEAR to 2010
5756         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
5757
5758 2009-12-31  Eric Blake  <ebb9@byu.net>
5759
5760         doc: correct availability of cygwin 1.5.x getopt
5761         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
5762         variables.
5763         * doc/posix-functions/opterr.texi (opterr): Likewise.
5764         * doc/posix-functions/optind.texi (optind): Likewise.
5765         * doc/posix-functions/optopt.texi (optopt): Likewise.
5766         * doc/posix-functions/tzname.texi (tzname): Likewise.
5767
5768         openat: update maintainer
5769         * modules/openat (Maintainer): Add myself.
5770
5771         utimens: avoid shadowing warning
5772         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
5773         buffers into one, to avoid shadowing, as well as avoiding a
5774         redundant stat.
5775         Reported by Jim Meyering.
5776
5777         test-dup2: avoid compiler warning
5778         * tests/test-dup2.c (is_inheritable): Only define if used.
5779
5780 2010-01-01  Bruno Haible  <bruno@clisp.org>
5781
5782         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
5783         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
5784         defined, use wctomb instead of wcrtomb.
5785
5786 2010-01-01  Bruno Haible  <bruno@clisp.org>
5787
5788         iconv: Reject native Solaris iconv.
5789         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
5790         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
5791
5792 2009-12-31  Bruno Haible  <bruno@clisp.org>
5793
5794         * tests/test-signal.c (main): Remove test of 'SIG'.
5795
5796 2009-12-31  Bruno Haible  <bruno@clisp.org>
5797
5798         spawn: Fix incomplete fix.
5799         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5800         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5801         warnings for GNULIB_POSIXCHECK again.
5802         Reported by Eric Blake.
5803
5804 2009-12-31  Bruno Haible  <bruno@clisp.org>
5805
5806         Avoid namespace pollution on glibc systems.
5807         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
5808         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
5809         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
5810         glibc systems.
5811
5812 2009-12-31  Bruno Haible  <bruno@clisp.org>
5813
5814         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
5815         (gl_REPLACE_WCHAR_H): Turn into a no-op.
5816         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
5817         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
5818         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
5819         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
5820         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
5821
5822 2009-12-31  Bruno Haible  <bruno@clisp.org>
5823
5824         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5825         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
5826         afterwards.
5827
5828 2009-12-31  Bruno Haible  <bruno@clisp.org>
5829
5830         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
5831         SYS_UTSNAME_H.
5832
5833 2009-12-31  Bruno Haible  <bruno@clisp.org>
5834
5835         spawn: Fix misapplied patch.
5836         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5837         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5838         warnings for GNULIB_POSIXCHECK.
5839
5840 2009-12-31  Bruno Haible  <bruno@clisp.org>
5841
5842         times: Update after sys_times changed.
5843         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
5844         * modules/times (Files): Add it.
5845         (configure.ac): Invoke gl_FUNC_TIMES.
5846
5847 2009-12-31  Bruno Haible  <bruno@clisp.org>
5848
5849         Use AC_C_INLINE where necessary.
5850         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
5851         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
5852         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5853         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
5854         * m4/mbfile.m4 (gl_MBFILE): Likewise.
5855         * m4/mbiter.m4 (gl_MBITER): Likewise.
5856         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5857         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5858         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
5859         * modules/u64 (configure.ac): Likewise.
5860
5861 2009-12-31  Bruno Haible  <bruno@clisp.org>
5862
5863         Use AC_C_INLINE instead of module 'inline' where possible.
5864         * modules/inline (Description): Clarify purpose.
5865         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
5866         * modules/count-one-bits (Depends-on): Remove inline.
5867         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
5868         * modules/openat (Depends-on): Remove inline.
5869         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
5870         instead of depending on module 'inline'.
5871         * modules/filevercmp (Depends-on, configure.ac): Likewise.
5872         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
5873         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
5874         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
5875         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
5876         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
5877         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
5878         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
5879         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
5880         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
5881         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
5882         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
5883         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
5884         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
5885         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
5886         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
5887         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
5888         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
5889         Likewise.
5890         * modules/unictype/property-ascii-hex-digit (Depends-on,
5891         configure.ac): Likewise.
5892         * modules/unictype/property-bidi-arabic-digit (Depends-on,
5893         configure.ac): Likewise.
5894         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
5895         configure.ac): Likewise.
5896         * modules/unictype/property-bidi-block-separator (Depends-on,
5897         configure.ac): Likewise.
5898         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
5899         configure.ac): Likewise.
5900         * modules/unictype/property-bidi-common-separator (Depends-on,
5901         configure.ac): Likewise.
5902         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
5903         Likewise.
5904         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
5905         configure.ac): Likewise.
5906         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
5907         configure.ac): Likewise.
5908         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
5909         configure.ac): Likewise.
5910         * modules/unictype/property-bidi-european-digit (Depends-on,
5911         configure.ac): Likewise.
5912         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
5913         configure.ac): Likewise.
5914         * modules/unictype/property-bidi-left-to-right (Depends-on,
5915         configure.ac): Likewise.
5916         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
5917         configure.ac): Likewise.
5918         * modules/unictype/property-bidi-other-neutral (Depends-on,
5919         configure.ac): Likewise.
5920         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
5921         Likewise.
5922         * modules/unictype/property-bidi-segment-separator (Depends-on,
5923         configure.ac): Likewise.
5924         * modules/unictype/property-bidi-whitespace (Depends-on,
5925         configure.ac): Likewise.
5926         * modules/unictype/property-combining (Depends-on, configure.ac):
5927         Likewise.
5928         * modules/unictype/property-composite (Depends-on, configure.ac):
5929         Likewise.
5930         * modules/unictype/property-currency-symbol (Depends-on,
5931         configure.ac): Likewise.
5932         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
5933         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
5934         Likewise.
5935         * modules/unictype/property-default-ignorable-code-point (Depends-on,
5936         configure.ac): Likewise.
5937         * modules/unictype/property-deprecated (Depends-on, configure.ac):
5938         Likewise.
5939         * modules/unictype/property-diacritic (Depends-on, configure.ac):
5940         Likewise.
5941         * modules/unictype/property-extender (Depends-on, configure.ac):
5942         Likewise.
5943         * modules/unictype/property-format-control (Depends-on, configure.ac):
5944         Likewise.
5945         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
5946         Likewise.
5947         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
5948         Likewise.
5949         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
5950         Likewise.
5951         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
5952         Likewise.
5953         * modules/unictype/property-hyphen (Depends-on, configure.ac):
5954         Likewise.
5955         * modules/unictype/property-id-continue (Depends-on, configure.ac):
5956         Likewise.
5957         * modules/unictype/property-id-start (Depends-on, configure.ac):
5958         Likewise.
5959         * modules/unictype/property-ideographic (Depends-on, configure.ac):
5960         Likewise.
5961         * modules/unictype/property-ids-binary-operator (Depends-on,
5962         configure.ac): Likewise.
5963         * modules/unictype/property-ids-trinary-operator (Depends-on,
5964         configure.ac): Likewise.
5965         * modules/unictype/property-ignorable-control (Depends-on,
5966         configure.ac): Likewise.
5967         * modules/unictype/property-iso-control (Depends-on, configure.ac):
5968         Likewise.
5969         * modules/unictype/property-join-control (Depends-on, configure.ac):
5970         Likewise.
5971         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
5972         Likewise.
5973         * modules/unictype/property-line-separator (Depends-on, configure.ac):
5974         Likewise.
5975         * modules/unictype/property-logical-order-exception (Depends-on,
5976         configure.ac): Likewise.
5977         * modules/unictype/property-lowercase (Depends-on, configure.ac):
5978         Likewise.
5979         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
5980         * modules/unictype/property-non-break (Depends-on, configure.ac):
5981         Likewise.
5982         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
5983         Likewise.
5984         * modules/unictype/property-numeric (Depends-on, configure.ac):
5985         Likewise.
5986         * modules/unictype/property-other-alphabetic (Depends-on,
5987         configure.ac): Likewise.
5988         * modules/unictype/property-other-default-ignorable-code-point
5989         (Depends-on, configure.ac): Likewise.
5990         * modules/unictype/property-other-grapheme-extend (Depends-on,
5991         configure.ac): Likewise.
5992         * modules/unictype/property-other-id-continue (Depends-on,
5993         configure.ac): Likewise.
5994         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
5995         Likewise.
5996         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
5997         Likewise.
5998         * modules/unictype/property-other-math (Depends-on, configure.ac):
5999         Likewise.
6000         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
6001         Likewise.
6002         * modules/unictype/property-paired-punctuation (Depends-on,
6003         configure.ac): Likewise.
6004         * modules/unictype/property-paragraph-separator (Depends-on,
6005         configure.ac): Likewise.
6006         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
6007         Likewise.
6008         * modules/unictype/property-pattern-white-space (Depends-on,
6009         configure.ac): Likewise.
6010         * modules/unictype/property-private-use (Depends-on, configure.ac):
6011         Likewise.
6012         * modules/unictype/property-punctuation (Depends-on, configure.ac):
6013         Likewise.
6014         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
6015         Likewise.
6016         * modules/unictype/property-radical (Depends-on, configure.ac):
6017         Likewise.
6018         * modules/unictype/property-sentence-terminal (Depends-on,
6019         configure.ac): Likewise.
6020         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
6021         Likewise.
6022         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
6023         * modules/unictype/property-terminal-punctuation (Depends-on,
6024         configure.ac): Likewise.
6025         * modules/unictype/property-titlecase (Depends-on, configure.ac):
6026         Likewise.
6027         * modules/unictype/property-unassigned-code-value (Depends-on,
6028         configure.ac): Likewise.
6029         * modules/unictype/property-unified-ideograph (Depends-on,
6030         configure.ac): Likewise.
6031         * modules/unictype/property-uppercase (Depends-on, configure.ac):
6032         Likewise.
6033         * modules/unictype/property-variation-selector (Depends-on,
6034         configure.ac): Likewise.
6035         * modules/unictype/property-white-space (Depends-on, configure.ac):
6036         Likewise.
6037         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
6038         Likewise.
6039         * modules/unictype/property-xid-start (Depends-on, configure.ac):
6040         Likewise.
6041         * modules/unictype/property-zero-width (Depends-on, configure.ac):
6042         Likewise.
6043         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
6044         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
6045         Likewise.
6046
6047 2009-12-31  Bruno Haible  <bruno@clisp.org>
6048
6049         Remove unnecessary AC_C_INLINE invocation.
6050         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
6051         since 2009-08-21.
6052
6053 2009-12-31  Jim Meyering  <meyering@redhat.com>
6054
6055         maint.mk: don't require explicit gpg_key_ID in cfg.mk
6056         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
6057         With this change, we can all remove the gpg_key_ID = ... definition
6058         from our respective cfg.mk files.
6059
6060         maint.mk: create announcement template in ~/, not in /tmp
6061         * top/maint.mk (emit_upload_commands): Adjust.
6062         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
6063         Remove temporary file, .ci-msg.
6064
6065 2009-12-31  Eric Blake  <ebb9@byu.net>
6066
6067         link-warning: always build headers with link warnings
6068         * modules/arpa_inet (Makefile.am): Always build replacement
6069         header.
6070         * modules/ctype (Makefile.am): Likewise.
6071         * modules/dirent (Makefile.am): Likewise.
6072         * modules/inttypes (Makefile.am): Likewise.
6073         * modules/langinfo (Makefile.am): Likewise.
6074         * modules/locale (Makefile.am): Likewise.
6075         * modules/spawn (Makefile.am): Likewise.
6076         * modules/sys_file (Makefile.am): Likewise.
6077         * modules/sys_ioctl (Makefile.am): Likewise.
6078         * modules/sys_select (Makefile.am): Likewise.
6079         * modules/sys_socket (Makefile.am): Likewise.
6080         * modules/sys_times (Makefile.am): Likewise.
6081         * modules/sys_utsname (Makefile.am): Likewise.
6082         * modules/sys_wait (Makefile.am): Likewise.
6083         * modules/wchar (Makefile.am): Likewise.
6084         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
6085         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
6086         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
6087         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
6088         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
6089         Likewise.
6090         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
6091         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
6092         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
6093         Likewise.
6094         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
6095         Likewise.
6096         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
6097         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
6098         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
6099         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6100         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6101         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
6102         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
6103         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
6104         (gl_WCHAR_H_DEFAULTS): Likewise.
6105
6106 2009-12-31  Eric Blake  <ebb9@byu.net>
6107
6108         signal, spawn: use link warnings
6109         * lib/signal.in.h (sigset_t): Make unconditional.
6110         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
6111         (sigpending, sigprocmask, sigaction): Add link warnings.
6112         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
6113         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
6114         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
6115         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
6116         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
6117         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
6118         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
6119         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
6120         (posix_spawn_file_actions_destroy)
6121         (posix_spawn_file_actions_addopen)
6122         (posix_spawn_file_actions_addclose)
6123         (posix_spawn_file_actions_adddup2): Likewise.
6124         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
6125         * tests/test-signal.c (main): Enhance test.
6126
6127         spawn: improve wrapper support
6128         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
6129         (gl_SPAWN_H_DEFAULTS): New defaults.
6130         * modules/spawn (Makefile.am): Substitute them.
6131         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
6132         Only declare if missing or broken.
6133
6134         sys_times, sys_utsname: use include_next
6135         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
6136         header.
6137         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
6138         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
6139         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
6140         * modules/sys_times (Depends-on): Add include_next.
6141         (Makefile.am): Substitute additional values.
6142         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
6143         * lib/sys_times.in.h (includes): Include native header, if
6144         available.
6145         * lib/sys_utsname.in.h (includes): Likewise.
6146         * tests/test-sys_times.c (main): Enhance test.
6147
6148         fdutimensat: revert prior patch
6149         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
6150         utimens.h.
6151         Reported by Bruno Haible.
6152
6153 2009-12-30  Eric Blake  <ebb9@byu.net>
6154
6155         sys_wait: drop link-warning dependency
6156         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
6157         link-warning efforts.
6158         * lib/sys_wait.in.h: Likewise.
6159
6160         fdutimensat: remove bogus dependency
6161         * modules/fdutimensat (Depends-on): Drop inline.
6162
6163         unistd: fix typo
6164         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
6165
6166 2009-12-30  Bruno Haible  <bruno@clisp.org>
6167
6168         Fix compilation error with Solaris cc.
6169         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
6170         * lib/unicase/u16-is-invariant.c: Likewise.
6171         * lib/unicase/u32-is-invariant.c: Likewise.
6172         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
6173
6174 2009-12-30  Bruno Haible  <bruno@clisp.org>
6175
6176         Fix test crash.
6177         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
6178         locales.
6179         Reported by Simon Josefsson <simon@josefsson.org>.
6180
6181 2009-12-30  Bruno Haible  <bruno@clisp.org>
6182
6183         Fix compilation error on most platforms.
6184         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
6185         Reported by Simon Josefsson <simon@josefsson.org>
6186         and Nelson H. F. Beebe <beebe@math.utah.edu>.
6187
6188 2009-12-30  Eric Blake  <ebb9@byu.net>
6189
6190         futimens, utimensat: work around ntfs-3g bug
6191         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
6192         a ctime bug is present, and expand workaround to cover ntfs-3g.
6193         * lib/utimens.c (fdutimens, lutimens): Likewise.
6194         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
6195         (validate_timespec): Adjust return value.
6196         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
6197         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6198         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
6199
6200 2009-12-29  Eric Blake  <ebb9@byu.net>
6201
6202         link-warning: make usage consistent
6203         * modules/ctype (Depends-on): Add link-warning.
6204         (Makefile.am): Update rules accordingly.
6205         * modules/langinfo (Depends-on, Makefile.am): Likewise.
6206         * modules/locale (Depends-on, Makefile.am): Likewise.
6207         * modules/sys_file (Makefile.am): Likewise.
6208         * modules/getopt-posix (Makefile.am): Delete unused link warning
6209         efforts.
6210         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
6211         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
6212         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
6213         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
6214
6215         stdio: remove unused variables
6216         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
6217         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
6218         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6219
6220         tests: test more substitute headers
6221         * modules/ctype-tests: New file.
6222         * modules/dirent-tests: Likewise.
6223         * modules/spawn-tests: Likewise.
6224         * modules/sys_file-tests: Likewise.
6225         * modules/sys_ioctl-tests: Likewise.
6226         * modules/sys_wait-tests: Likewise.
6227         * tests/test-ctype.c: Likewise.
6228         * tests/test-dirent.c: Likewise.
6229         * tests/test-spawn.c: Likewise.
6230         * tests/test-sys_file.c: Likewise.
6231         * tests/test-sys_ioctl.c: Likewise.
6232         * tests/test-sys_wait.c: Likewise.
6233         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
6234         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
6235         whether or not flock is in use.
6236
6237         tests: remove License section from module
6238         * modules/arpa_inet-tests: Remove unneeded section.
6239         * modules/byteswap-tests: Likewise.
6240         * modules/ceilf-tests: Likewise.
6241         * modules/ceill-tests: Likewise.
6242         * modules/crypto/des-tests: Likewise.
6243         * modules/crypto/gc-arcfour-tests: Likewise.
6244         * modules/crypto/gc-arctwo-tests: Likewise.
6245         * modules/crypto/gc-des-tests: Likewise.
6246         * modules/crypto/gc-hmac-md5-tests: Likewise.
6247         * modules/crypto/gc-hmac-sha1-tests: Likewise.
6248         * modules/crypto/gc-md2-tests: Likewise.
6249         * modules/crypto/gc-md4-tests: Likewise.
6250         * modules/crypto/gc-md5-tests: Likewise.
6251         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
6252         * modules/crypto/gc-rijndael-tests: Likewise.
6253         * modules/crypto/gc-sha1-tests: Likewise.
6254         * modules/crypto/gc-tests: Likewise.
6255         * modules/crypto/md2-tests: Likewise.
6256         * modules/crypto/md4-tests: Likewise.
6257         * modules/fcntl-h-tests: Likewise.
6258         * modules/floorf-tests: Likewise.
6259         * modules/floorl-tests: Likewise.
6260         * modules/frexp-nolibm-tests: Likewise.
6261         * modules/frexp-tests: Likewise.
6262         * modules/frexpl-nolibm-tests: Likewise.
6263         * modules/frexpl-tests: Likewise.
6264         * modules/getaddrinfo-tests: Likewise.
6265         * modules/inttypes-tests: Likewise.
6266         * modules/isfinite-tests: Likewise.
6267         * modules/isinf-tests: Likewise.
6268         * modules/ldexpl-tests: Likewise.
6269         * modules/locale-tests: Likewise.
6270         * modules/math-tests: Likewise.
6271         * modules/netdb-tests: Likewise.
6272         * modules/netinet_in-tests: Likewise.
6273         * modules/printf-frexp-tests: Likewise.
6274         * modules/printf-frexpl-tests: Likewise.
6275         * modules/priv-set-tests: Likewise.
6276         * modules/random_r-tests: Likewise.
6277         * modules/round-tests: Likewise.
6278         * modules/roundf-tests: Likewise.
6279         * modules/roundl-tests: Likewise.
6280         * modules/search-tests: Likewise.
6281         * modules/select-tests: Likewise.
6282         * modules/signal-tests: Likewise.
6283         * modules/stdbool-tests: Likewise.
6284         * modules/stddef-tests: Likewise.
6285         * modules/stdint-tests: Likewise.
6286         * modules/stdio-tests: Likewise.
6287         * modules/stdlib-tests: Likewise.
6288         * modules/string-tests: Likewise.
6289         * modules/strings-tests: Likewise.
6290         * modules/sys_select-tests: Likewise.
6291         * modules/sys_socket-tests: Likewise.
6292         * modules/sys_stat-tests: Likewise.
6293         * modules/sys_time-tests: Likewise.
6294         * modules/sys_utsname-tests: Likewise.
6295         * modules/sysexits-tests: Likewise.
6296         * modules/time-tests: Likewise.
6297         * modules/trunc-tests: Likewise.
6298         * modules/truncf-tests: Likewise.
6299         * modules/truncl-tests: Likewise.
6300         * modules/tsearch-tests: Likewise.
6301         * modules/unistd-tests: Likewise.
6302         * modules/wchar-tests: Likewise.
6303         * modules/wctype-tests: Likewise.
6304
6305         tests: fix license on several tests
6306         * tests/test-des.c: Update to GPLv3+.
6307         * tests/test-flock.c: Likewise.
6308         * tests/test-fsync.c: Likewise.
6309         * tests/test-futimens.h: Likewise.
6310         * tests/test-gc-arcfour.c: Likewise.
6311         * tests/test-gc-arctwo.c: Likewise.
6312         * tests/test-gc-des.c: Likewise.
6313         * tests/test-gc-hmac-md5.c: Likewise.
6314         * tests/test-gc-hmac-sha1.c: Likewise.
6315         * tests/test-gc-md2.c: Likewise.
6316         * tests/test-gc-md4.c: Likewise.
6317         * tests/test-gc-md5.c: Likewise.
6318         * tests/test-gc-pbkdf2-sha1.c: Likewise.
6319         * tests/test-gc-rijndael.c: Likewise.
6320         * tests/test-gc-sha1.c: Likewise.
6321         * tests/test-gc.c: Likewise.
6322         * tests/test-getcwd.c: Likewise.
6323         * tests/test-link.c: Likewise.
6324         * tests/test-link.h: Likewise.
6325         * tests/test-lutimens.h: Likewise.
6326         * tests/test-md2.c: Likewise.
6327         * tests/test-md4.c: Likewise.
6328         * tests/test-mkdir.h: Likewise.
6329         * tests/test-rename.c: Likewise.
6330         * tests/test-rename.h: Likewise.
6331         * tests/test-safe-alloc.c: Likewise.
6332         * tests/test-utimens-common.h: Likewise.
6333         * tests/test-utimens.h: Likewise.
6334
6335         maint: sync license texts
6336         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
6337         * doc/gpl-3.0.texi: Revert copyright year update.
6338         * doc/lgpl-3.0.texi: Likewise.
6339
6340 2009-12-29  Jim Meyering  <meyering@redhat.com>
6341
6342         update nearly all FSF copyright year lists to include 2009
6343         The files named by the following are exempted:
6344             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
6345               test -f "$dst" && { echo "$dst"; continue; }
6346               test -d "$dst" || continue
6347               echo "$dst"/$(basename "$src")
6348             done > exempt
6349             git ls-files tests/unictype >> exempt
6350         In the remaining files, convert to all-interval notation if
6351         - there is already at least one year interval like 2000-2003
6352         - the file is maintained by me
6353         - the file is in lib/uni*/, where that style already prevails
6354         Otherwise, use update-copyright's default.
6355
6356 2009-12-29  Simon Josefsson  <simon@josefsson.org>
6357         and Eric Blake  <ebb9@byu.net>
6358
6359         tests: don't require debug system() to pass
6360         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
6361         * tests/test-rmdir.h (test_rmdir_func): Likewise.
6362         * tests/test-unlink.h (test_unlink_func): Likewise.
6363         * tests/test-fstatat.c (main): ...into callers.
6364         * tests/test-lstat.c (main): Likewise.
6365         * tests/test-rmdir.c (main): Likewise.
6366         * tests/test-unlink.c (main): Likewise.
6367         * tests/test-unlinkat.c (main): Likewise.
6368         * tests/test-areadlink-with-size.c (main): Don't require a
6369         debug-only system call to pass, aiding cross-testing to mingw.
6370         * tests/test-areadlink.c (main): Likewise.
6371         * tests/test-areadlinkat-with-size.c (main): Likewise.
6372         * tests/test-areadlinkat.c (main): Likewise.
6373         * tests/test-canonicalize-lgpl.c (main): Likewise.
6374         * tests/test-canonicalize.c (main): Likewise.
6375         * tests/test-chown.c (main): Likewise.
6376         * tests/test-fchownat.c (main): Likewise.
6377         * tests/test-lchown.c (main): Likewise.
6378         * tests/test-fdutimensat.c (main): Likewise.
6379         * tests/test-futimens.c (main): Likewise.
6380         * tests/test-link.c (main): Likewise.
6381         * tests/test-linkat.c (main): Likewise.
6382         * tests/test-mkdir.c (main): Likewise.
6383         * tests/test-mkdirat.c (main): Likewise.
6384         * tests/test-mkfifo.c (main): Likewise.
6385         * tests/test-mkfifoat.c (main): Likewise.
6386         * tests/test-mknod.c (main): Likewise.
6387         * tests/test-readlink.c (main): Likewise.
6388         * tests/test-remove.c (main): Likewise.
6389         * tests/test-rename.c (main): Likewise.
6390         * tests/test-renameat.c (main): Likewise.
6391         * tests/test-symlink.c (main): Likewise.
6392         * tests/test-symlinkat.c (main): Likewise.
6393         * tests/test-utimens.c (main): Likewise.
6394         * tests/test-utimensat.c (main): Likewise.
6395
6396 2009-12-29  Simon Josefsson  <simon@josefsson.org>
6397
6398         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
6399         on $(UNUSED_PARAMETER_H) to avoid build failure.
6400
6401 2009-12-28  Jim Meyering  <meyering@redhat.com>
6402
6403         update-copyright: you may specify a max. line length other than 72
6404         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
6405
6406         maint: use consistent FSF copyright line syntax
6407         * lib/posixtm.c: Add missing comma in FSF copyright line.
6408         * lib/posixtm.h: Likewise.
6409         * lib/getugroups.c: Add missing ", Inc.".
6410
6411         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
6412         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
6413         FSF copyright line.  Remove trailing blanks.
6414
6415 2009-12-28  Eric Blake  <ebb9@byu.net>
6416
6417         test-dup2: reduce dependencies
6418         * modules/cloexec (Configure.ac): Set witness.
6419         * modules/dup2-tests (Depends-on): Drop cloexec.
6420         * tests/test-dup2.c (main): Skip portion of test if cloexec module
6421         not present.
6422         Suggested by Bruno Haible.
6423
6424 2009-12-26  Bruno Haible  <bruno@clisp.org>
6425
6426         Remove an unneeded dependency.
6427         * modules/fseterr (Depends-on): Remove dup2.
6428
6429 2009-12-26  Eric Blake  <ebb9@byu.net>
6430
6431         tests: use macros.h in more places
6432         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
6433         (ASSERT_STREAM): Provide default of stderr.
6434         * tests/test-dirent-safer.c: Include macros.h, using alternate
6435         stream for assertions.
6436         * tests/test-dup-safer.c: Likewise.
6437         * tests/test-freopen-safer.c: Likewise.
6438         * tests/test-getopt.c: Likewise.
6439         * tests/test-openat-safer.c: Likewise.
6440         * tests/test-pipe.c: Likewise.
6441         * tests/test-popen-safer.c: Likewise.
6442         * modules/dirent-safer-tests (Files): Include macros.h.
6443         * modules/unistd-safer-tests (Files): Likewise.
6444         * modules/freopen-safer-tests (Files): Likewise.
6445         * modules/getopt-posix-tests (Files): Likewise.
6446         * modules/openat-safer-tests (Files): Likewise.
6447         * modules/pipe-tests (Files): Likewise.
6448
6449 2009-12-26  Bruno Haible  <bruno@clisp.org>
6450
6451         javacomp: Portability fix.
6452         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
6453         that it also works on Solaris.
6454
6455 2009-12-26  Bruno Haible  <bruno@clisp.org>
6456
6457         localename: Fix storage allocation of gl_locale_name_thread's result.
6458         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
6459         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
6460         all platforms that have 'uselocale'.
6461         (gl_locale_name_thread_unsafe): New function, extracted from
6462         gl_locale_name_thread.
6463         (gl_locale_name_thread): Call struniq on all platforms that have
6464         'uselocale'.
6465         * tests/test-localename.c (test_locale_name_thread): Check that the
6466         resulting strings are permanently allocated.
6467         * modules/localename-tests (Depends-on): Add strdup.
6468
6469 2009-12-26  Bruno Haible  <bruno@clisp.org>
6470
6471         * tests/test-localename.c (categories): Fill in the strings.
6472
6473 2009-12-26  Jim Meyering  <meyering@redhat.com>
6474
6475         isdir: complete the removal of m4/isdir.m4
6476         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
6477
6478         isdir: clean up, since at least grep still uses it
6479         * lib/isdir.c: Include "isdir.h".
6480         (S_ISDIR): Remove now-unneeded definition.
6481         * modules/isdir (Files): Add lib/isdir.h.
6482         * lib/isdir.h: New file, with declaration.
6483         * m4/isdir.m4: Remove file -- unneeded.
6484
6485 2009-12-25  Bruno Haible  <bruno@clisp.org>
6486
6487         selinux-h: Make generated .h files standalone.
6488         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
6489         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
6490         * lib/se-selinux.in.h: Likewise.
6491         * modules/selinux-h (Depends-on): Add unused-parameter.
6492         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
6493         selinux/selinux.h and selinux/context.h.
6494         Suggested by Eric Blake.
6495
6496 2009-12-25  Bruno Haible  <bruno@clisp.org>
6497
6498         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
6499         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
6500         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
6501         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
6502         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
6503
6504 2009-12-24  Bruno Haible  <bruno@clisp.org>
6505
6506         openat: Fix warning.
6507         * lib/openat-proc.c: Include <unistd.h>.
6508
6509 2009-12-24  Bruno Haible  <bruno@clisp.org>
6510
6511         New module 'unused-parameter'.
6512         * build-aux/unused-parameter.h: New file, extracted from earlier
6513         gnulib-common.m4.
6514         * modules/unused-parameter: New file.
6515         * lib/unistr.h: Include unused-parameter.h.
6516         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
6517         _GL_UNUSED.
6518         * modules/unistr/base (Depends-on): Add unused-parameter.
6519
6520 2009-12-24  Bruno Haible  <bruno@clisp.org>
6521
6522         Add missing dependencies to 'extensions' module.
6523         * m4/extensions.m4: Add comment.
6524         * modules/accept4 (Depends-on): Add extensions.
6525         * modules/dup3 (Depends-on): Likewise.
6526         * modules/fcntl (Depends-on): Likewise.
6527         * modules/futimens (Depends-on): Likewise.
6528         * modules/mknod (Depends-on): Likewise.
6529         * modules/pipe2 (Depends-on): Likewise.
6530         * modules/stat-time (Depends-on): Likewise.
6531         * modules/strcasestr-simple (Depends-on): Likewise.
6532         * modules/strsignal (Depends-on): Likewise.
6533         * modules/utimensat (Depends-on): Likewise.
6534         * modules/localcharset (Depends-on): Likewise. Needed because of
6535         gl_FCNTL_O_FLAGS.
6536         * modules/wcrtomb (Depends-on): Likewise. Needed because of
6537         AC_TYPE_MBSTATE_T.
6538         * modules/wcsnrtombs (Depends-on): Likewise.
6539         * modules/wcsrtombs (Depends-on): Likewise.
6540
6541 2009-12-24  Bruno Haible  <bruno@clisp.org>
6542
6543         binary-io: Avoid gcc warning due to SET_BINARY.
6544         * lib/binary-io.h (SET_BINARY): Cast the result to void.
6545         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
6546
6547 2009-12-24  Bruno Haible  <bruno@clisp.org>
6548
6549         Avoid future namespace pollution on glibc systems.
6550         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
6551         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
6552         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
6553         glibc systems.
6554
6555 2009-12-24  Bruno Haible  <bruno@clisp.org>
6556
6557         Refactor common macros used in tests.
6558         * tests/macros.h: New file.
6559         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
6560         and/or <stdlib.h>, if appropriate.
6561         (ASSERT, SIZEOF): Remove macros.
6562         * tests/test-areadlink-with-size.c: Likewise.
6563         * tests/test-areadlinkat.c: Likewise.
6564         * tests/test-areadlinkat-with-size.c: Likewise.
6565         * tests/test-argmatch.c: Likewise.
6566         * tests/test-argv-iter.c: Likewise.
6567         * tests/test-array-mergesort.c: Likewise.
6568         * tests/test-array_list.c: Likewise.
6569         * tests/test-array_oset.c: Likewise.
6570         * tests/test-avltree_list.c: Likewise.
6571         * tests/test-avltree_oset.c: Likewise.
6572         * tests/test-avltreehash_list.c: Likewise.
6573         * tests/test-base64.c: Likewise.
6574         * tests/test-binary-io.c: Likewise.
6575         * tests/test-bitrotate.c: Likewise.
6576         * tests/test-btowc.c: Likewise.
6577         * tests/test-byteswap.c: Likewise.
6578         * tests/test-c-ctype.c: Likewise.
6579         * tests/test-c-stack.c: Likewise.
6580         * tests/test-c-strcasecmp.c: Likewise.
6581         * tests/test-c-strcasestr.c: Likewise.
6582         * tests/test-c-strncasecmp.c: Likewise.
6583         * tests/test-c-strstr.c: Likewise.
6584         * tests/test-canonicalize-lgpl.c: Likewise.
6585         * tests/test-canonicalize.c: Likewise.
6586         * tests/test-carray_list.c: Likewise.
6587         * tests/test-ceilf1.c: Likewise.
6588         * tests/test-ceilf2.c: Likewise.
6589         * tests/test-ceill.c: Likewise.
6590         * tests/test-chown.c: Likewise.
6591         * tests/test-cloexec.c: Likewise.
6592         * tests/test-copy-acl.c: Likewise.
6593         * tests/test-copy-file.c: Likewise.
6594         * tests/test-count-one-bits.c: Likewise.
6595         * tests/test-dprintf-posix.c: Likewise.
6596         * tests/test-dup2.c: Likewise.
6597         * tests/test-dup3.c: Likewise.
6598         * tests/test-duplocale.c: Likewise.
6599         * tests/test-fbufmode.c: Likewise.
6600         * tests/test-fchdir.c: Likewise.
6601         * tests/test-fchownat.c: Likewise.
6602         * tests/test-fcntl-safer.c: Likewise.
6603         * tests/test-fcntl.c: Likewise.
6604         * tests/test-fdopendir.c: Likewise.
6605         * tests/test-fdutimensat.c: Likewise.
6606         * tests/test-fflush2.c: Likewise.
6607         * tests/test-file-has-acl.c: Likewise.
6608         * tests/test-filevercmp.c: Likewise.
6609         * tests/test-flock.c: Likewise.
6610         * tests/test-floorf1.c: Likewise.
6611         * tests/test-floorf2.c: Likewise.
6612         * tests/test-floorl.c: Likewise.
6613         * tests/test-fnmatch.c: Likewise.
6614         * tests/test-fopen.h: Likewise.
6615         * tests/test-fpending.c: Likewise.
6616         * tests/test-fprintf-posix.c: Likewise.
6617         * tests/test-fpurge.c: Likewise.
6618         * tests/test-freadable.c: Likewise.
6619         * tests/test-freadahead.c: Likewise.
6620         * tests/test-freading.c: Likewise.
6621         * tests/test-freadptr.c: Likewise.
6622         * tests/test-freadptr2.c: Likewise.
6623         * tests/test-freadseek.c: Likewise.
6624         * tests/test-freopen.c: Likewise.
6625         * tests/test-frexp.c: Likewise.
6626         * tests/test-frexpl.c: Likewise.
6627         * tests/test-fseek.c: Likewise.
6628         * tests/test-fseeko.c: Likewise.
6629         * tests/test-fstatat.c: Likewise.
6630         * tests/test-fstrcmp.c: Likewise.
6631         * tests/test-fsync.c: Likewise.
6632         * tests/test-ftell.c: Likewise.
6633         * tests/test-ftello.c: Likewise.
6634         * tests/test-func.c: Likewise.
6635         * tests/test-futimens.c: Likewise.
6636         * tests/test-fwritable.c: Likewise.
6637         * tests/test-fwriting.c: Likewise.
6638         * tests/test-getcwd.c: Likewise.
6639         * tests/test-getdate.c: Likewise.
6640         * tests/test-getdelim.c: Likewise.
6641         * tests/test-getdtablesize.c: Likewise.
6642         * tests/test-getgroups.c: Likewise.
6643         * tests/test-getline.c: Likewise.
6644         * tests/test-getndelim2.c: Likewise.
6645         * tests/test-glob.c: Likewise.
6646         * tests/test-hash.c: Likewise.
6647         * tests/test-i-ring.c: Likewise.
6648         * tests/test-iconv-utf.c: Likewise.
6649         * tests/test-iconv.c: Likewise.
6650         * tests/test-idpriv-drop.c: Likewise.
6651         * tests/test-idpriv-droptemp.c: Likewise.
6652         * tests/test-inet_ntop.c: Likewise.
6653         * tests/test-inet_pton.c: Likewise.
6654         * tests/test-isblank.c: Likewise.
6655         * tests/test-isfinite.c: Likewise.
6656         * tests/test-isinf.c: Likewise.
6657         * tests/test-isnan.c: Likewise.
6658         * tests/test-isnand.h: Likewise.
6659         * tests/test-isnanf.h: Likewise.
6660         * tests/test-isnanl.h: Likewise.
6661         * tests/test-lchown.c: Likewise.
6662         * tests/test-ldexpl.c: Likewise.
6663         * tests/test-link.c: Likewise.
6664         * tests/test-linkat.c: Likewise.
6665         * tests/test-linked_list.c: Likewise.
6666         * tests/test-linkedhash_list.c: Likewise.
6667         * tests/test-localename.c: Likewise.
6668         * tests/test-lseek.c: Likewise.
6669         * tests/test-lstat.c: Likewise.
6670         * tests/test-mbmemcasecmp.c: Likewise.
6671         * tests/test-mbmemcasecoll.c: Likewise.
6672         * tests/test-mbrtowc.c: Likewise.
6673         * tests/test-mbscasecmp.c: Likewise.
6674         * tests/test-mbscasestr1.c: Likewise.
6675         * tests/test-mbscasestr2.c: Likewise.
6676         * tests/test-mbscasestr3.c: Likewise.
6677         * tests/test-mbscasestr4.c: Likewise.
6678         * tests/test-mbschr.c: Likewise.
6679         * tests/test-mbscspn.c: Likewise.
6680         * tests/test-mbsinit.c: Likewise.
6681         * tests/test-mbsncasecmp.c: Likewise.
6682         * tests/test-mbsnrtowcs.c: Likewise.
6683         * tests/test-mbspbrk.c: Likewise.
6684         * tests/test-mbspcasecmp.c: Likewise.
6685         * tests/test-mbsrchr.c: Likewise.
6686         * tests/test-mbsrtowcs.c: Likewise.
6687         * tests/test-mbsspn.c: Likewise.
6688         * tests/test-mbsstr1.c: Likewise.
6689         * tests/test-mbsstr2.c: Likewise.
6690         * tests/test-mbsstr3.c: Likewise.
6691         * tests/test-memchr.c: Likewise.
6692         * tests/test-memchr2.c: Likewise.
6693         * tests/test-memcmp.c: Likewise.
6694         * tests/test-memmem.c: Likewise.
6695         * tests/test-memrchr.c: Likewise.
6696         * tests/test-mkdir.c: Likewise.
6697         * tests/test-mkdirat.c: Likewise.
6698         * tests/test-mkfifo.c: Likewise.
6699         * tests/test-mkfifoat.c: Likewise.
6700         * tests/test-mknod.c: Likewise.
6701         * tests/test-nanosleep.c: Likewise.
6702         * tests/test-nl_langinfo.c: Likewise.
6703         * tests/test-obstack-printf.c: Likewise.
6704         * tests/test-open.c: Likewise.
6705         * tests/test-openat.c: Likewise.
6706         * tests/test-pipe-filter-gi1.c: Likewise.
6707         * tests/test-pipe-filter-gi2-main.c: Likewise.
6708         * tests/test-pipe-filter-ii1.c: Likewise.
6709         * tests/test-pipe-filter-ii2-main.c: Likewise.
6710         * tests/test-pipe2.c: Likewise.
6711         * tests/test-popen.h: Likewise.
6712         * tests/test-posixtm.c: Likewise.
6713         * tests/test-pread.c: Likewise.
6714         * tests/test-printf-frexp.c: Likewise.
6715         * tests/test-printf-frexpl.c: Likewise.
6716         * tests/test-printf-posix.c: Likewise.
6717         * tests/test-priv-set.c: Likewise.
6718         * tests/test-quotearg.c: Likewise.
6719         * tests/test-random_r.c: Likewise.
6720         * tests/test-rawmemchr.c: Likewise.
6721         * tests/test-rbtree_list.c: Likewise.
6722         * tests/test-rbtree_oset.c: Likewise.
6723         * tests/test-rbtreehash_list.c: Likewise.
6724         * tests/test-readlink.c: Likewise.
6725         * tests/test-remove.c: Likewise.
6726         * tests/test-rename.c: Likewise.
6727         * tests/test-renameat.c: Likewise.
6728         * tests/test-rmdir.c: Likewise.
6729         * tests/test-round1.c: Likewise.
6730         * tests/test-roundf1.c: Likewise.
6731         * tests/test-roundl.c: Likewise.
6732         * tests/test-safe-alloc.c: Likewise.
6733         * tests/test-sameacls.c: Likewise.
6734         * tests/test-set-mode-acl.c: Likewise.
6735         * tests/test-setenv.c: Likewise.
6736         * tests/test-sigaction.c: Likewise.
6737         * tests/test-signbit.c: Likewise.
6738         * tests/test-sleep.c: Likewise.
6739         * tests/test-snprintf-posix.c: Likewise.
6740         * tests/test-snprintf.c: Likewise.
6741         * tests/test-sprintf-posix.c: Likewise.
6742         * tests/test-stat-time.c: Likewise.
6743         * tests/test-stat.c: Likewise.
6744         * tests/test-strcasestr.c: Likewise.
6745         * tests/test-strchrnul.c: Likewise.
6746         * tests/test-strerror.c: Likewise.
6747         * tests/test-striconv.c: Likewise.
6748         * tests/test-striconveh.c: Likewise.
6749         * tests/test-striconveha.c: Likewise.
6750         * tests/test-strsignal.c: Likewise.
6751         * tests/test-strstr.c: Likewise.
6752         * tests/test-strtod.c: Likewise.
6753         * tests/test-strverscmp.c: Likewise.
6754         * tests/test-symlink.c: Likewise.
6755         * tests/test-symlinkat.c: Likewise.
6756         * tests/test-trunc1.c: Likewise.
6757         * tests/test-trunc2.c: Likewise.
6758         * tests/test-truncf1.c: Likewise.
6759         * tests/test-truncf2.c: Likewise.
6760         * tests/test-truncl.c: Likewise.
6761         * tests/test-uname.c: Likewise.
6762         * tests/test-unlink.c: Likewise.
6763         * tests/test-unlinkat.c: Likewise.
6764         * tests/test-unsetenv.c: Likewise.
6765         * tests/test-usleep.c: Likewise.
6766         * tests/test-utimens.c: Likewise.
6767         * tests/test-utimensat.c: Likewise.
6768         * tests/test-vasnprintf-posix.c: Likewise.
6769         * tests/test-vasnprintf-posix2.c: Likewise.
6770         * tests/test-vasnprintf.c: Likewise.
6771         * tests/test-vasprintf-posix.c: Likewise.
6772         * tests/test-vasprintf.c: Likewise.
6773         * tests/test-vdprintf-posix.c: Likewise.
6774         * tests/test-vfprintf-posix.c: Likewise.
6775         * tests/test-vprintf-posix.c: Likewise.
6776         * tests/test-vsnprintf-posix.c: Likewise.
6777         * tests/test-vsnprintf.c: Likewise.
6778         * tests/test-vsprintf-posix.c: Likewise.
6779         * tests/test-wcrtomb.c: Likewise.
6780         * tests/test-wcsnrtombs.c: Likewise.
6781         * tests/test-wcsrtombs.c: Likewise.
6782         * tests/test-wctype.c: Likewise.
6783         * tests/test-wcwidth.c: Likewise.
6784         * tests/test-xfprintf-posix.c: Likewise.
6785         * tests/test-xmemdup0.c: Likewise.
6786         * tests/test-xprintf-posix.c: Likewise.
6787         * tests/test-xvasprintf.c: Likewise.
6788         * tests/unicase/test-locale-language.c: Likewise.
6789         * tests/unicase/test-mapping-part1.h: Likewise.
6790         * tests/unicase/test-predicate-part1.h: Likewise.
6791         * tests/unicase/test-u8-casecmp.c: Likewise.
6792         * tests/unicase/test-u8-casecoll.c: Likewise.
6793         * tests/unicase/test-u8-casefold.c: Likewise.
6794         * tests/unicase/test-u8-is-cased.c: Likewise.
6795         * tests/unicase/test-u8-is-casefolded.c: Likewise.
6796         * tests/unicase/test-u8-is-lowercase.c: Likewise.
6797         * tests/unicase/test-u8-is-titlecase.c: Likewise.
6798         * tests/unicase/test-u8-is-uppercase.c: Likewise.
6799         * tests/unicase/test-u8-tolower.c: Likewise.
6800         * tests/unicase/test-u8-totitle.c: Likewise.
6801         * tests/unicase/test-u8-toupper.c: Likewise.
6802         * tests/unicase/test-u16-casecmp.c: Likewise.
6803         * tests/unicase/test-u16-casecoll.c: Likewise.
6804         * tests/unicase/test-u16-casefold.c: Likewise.
6805         * tests/unicase/test-u16-is-cased.c: Likewise.
6806         * tests/unicase/test-u16-is-casefolded.c: Likewise.
6807         * tests/unicase/test-u16-is-lowercase.c: Likewise.
6808         * tests/unicase/test-u16-is-titlecase.c: Likewise.
6809         * tests/unicase/test-u16-is-uppercase.c: Likewise.
6810         * tests/unicase/test-u16-tolower.c: Likewise.
6811         * tests/unicase/test-u16-totitle.c: Likewise.
6812         * tests/unicase/test-u16-toupper.c: Likewise.
6813         * tests/unicase/test-u32-casecmp.c: Likewise.
6814         * tests/unicase/test-u32-casecoll.c: Likewise.
6815         * tests/unicase/test-u32-casefold.c: Likewise.
6816         * tests/unicase/test-u32-is-cased.c: Likewise.
6817         * tests/unicase/test-u32-is-casefolded.c: Likewise.
6818         * tests/unicase/test-u32-is-lowercase.c: Likewise.
6819         * tests/unicase/test-u32-is-titlecase.c: Likewise.
6820         * tests/unicase/test-u32-is-uppercase.c: Likewise.
6821         * tests/unicase/test-u32-tolower.c: Likewise.
6822         * tests/unicase/test-u32-totitle.c: Likewise.
6823         * tests/unicase/test-u32-toupper.c: Likewise.
6824         * tests/unicase/test-ulc-casecmp.c: Likewise.
6825         * tests/unicase/test-ulc-casecoll.c: Likewise.
6826         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6827         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
6828         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6829         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6830         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
6831         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
6832         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6833         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6834         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6835         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
6836         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6837         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6838         * tests/unictype/test-bidi_byname.c: Likewise.
6839         * tests/unictype/test-bidi_name.c: Likewise.
6840         * tests/unictype/test-bidi_of.c: Likewise.
6841         * tests/unictype/test-bidi_test.c: Likewise.
6842         * tests/unictype/test-block_list.c: Likewise.
6843         * tests/unictype/test-block_of.c: Likewise.
6844         * tests/unictype/test-block_test.c: Likewise.
6845         * tests/unictype/test-categ_and.c: Likewise.
6846         * tests/unictype/test-categ_and_not.c: Likewise.
6847         * tests/unictype/test-categ_byname.c: Likewise.
6848         * tests/unictype/test-categ_name.c: Likewise.
6849         * tests/unictype/test-categ_none.c: Likewise.
6850         * tests/unictype/test-categ_of.c: Likewise.
6851         * tests/unictype/test-categ_or.c: Likewise.
6852         * tests/unictype/test-categ_test_withtable.c: Likewise.
6853         * tests/unictype/test-combining.c: Likewise.
6854         * tests/unictype/test-decdigit.c: Likewise.
6855         * tests/unictype/test-digit.c: Likewise.
6856         * tests/unictype/test-mirror.c: Likewise.
6857         * tests/unictype/test-numeric.c: Likewise.
6858         * tests/unictype/test-pr_byname.c: Likewise.
6859         * tests/unictype/test-pr_test.c: Likewise.
6860         * tests/unictype/test-predicate-part1.h: Likewise.
6861         * tests/unictype/test-scripts.c: Likewise.
6862         * tests/unictype/test-sy_c_ident.c: Likewise.
6863         * tests/unictype/test-sy_java_ident.c: Likewise.
6864         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
6865         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
6866         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
6867         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
6868         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
6869         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
6870         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
6871         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
6872         * tests/uninorm/test-canonical-decomposition.c: Likewise.
6873         * tests/uninorm/test-compat-decomposition.c: Likewise.
6874         * tests/uninorm/test-composition.c: Likewise.
6875         * tests/uninorm/test-decomposing-form.c: Likewise.
6876         * tests/uninorm/test-decomposition.c: Likewise.
6877         * tests/uninorm/test-u8-nfc.c: Likewise.
6878         * tests/uninorm/test-u8-nfd.c: Likewise.
6879         * tests/uninorm/test-u8-nfkc.c: Likewise.
6880         * tests/uninorm/test-u8-nfkd.c: Likewise.
6881         * tests/uninorm/test-u8-normcmp.c: Likewise.
6882         * tests/uninorm/test-u8-normcoll.c: Likewise.
6883         * tests/uninorm/test-u16-nfc.c: Likewise.
6884         * tests/uninorm/test-u16-nfd.c: Likewise.
6885         * tests/uninorm/test-u16-nfkc.c: Likewise.
6886         * tests/uninorm/test-u16-nfkd.c: Likewise.
6887         * tests/uninorm/test-u16-normcmp.c: Likewise.
6888         * tests/uninorm/test-u16-normcoll.c: Likewise.
6889         * tests/uninorm/test-u32-nfc.c: Likewise.
6890         * tests/uninorm/test-u32-nfd.c: Likewise.
6891         * tests/uninorm/test-u32-nfkc.c: Likewise.
6892         * tests/uninorm/test-u32-nfkd.c: Likewise.
6893         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6894         * tests/uninorm/test-u32-normcmp.c: Likewise.
6895         * tests/uninorm/test-u32-normcoll.c: Likewise.
6896         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
6897         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
6898         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
6899         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
6900         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
6901         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
6902         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6903         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6904         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
6905         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
6906         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
6907         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
6908         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
6909         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6910         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6911         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
6912         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
6913         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
6914         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
6915         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
6916         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6917         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6918         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
6919         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
6920         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
6921         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
6922         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
6923         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6924         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6925         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
6926         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
6927         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
6928         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
6929         * tests/uniwidth/test-u8-strwidth.c: Likewise.
6930         * tests/uniwidth/test-u8-width.c: Likewise.
6931         * tests/uniwidth/test-u16-strwidth.c: Likewise.
6932         * tests/uniwidth/test-u16-width.c: Likewise.
6933         * tests/uniwidth/test-u32-strwidth.c: Likewise.
6934         * tests/uniwidth/test-u32-width.c: Likewise.
6935         * tests/uniwidth/test-uc_width.c: Likewise.
6936         * tests/uniwidth/test-uc_width2.c: Likewise.
6937         * modules/acl-tests (Files): Add tests/macros.h.
6938         * modules/areadlink-tests (Files): Likewise.
6939         * modules/areadlink-with-size-tests (Files): Likewise.
6940         * modules/areadlinkat-tests (Files): Likewise.
6941         * modules/areadlinkat-with-size-tests (Files): Likewise.
6942         * modules/argmatch-tests (Files): Likewise.
6943         * modules/argv-iter-tests (Files): Likewise.
6944         * modules/array-list-tests (Files): Likewise.
6945         * modules/array-mergesort-tests (Files): Likewise.
6946         * modules/array-oset-tests (Files): Likewise.
6947         * modules/avltree-list-tests (Files): Likewise.
6948         * modules/avltree-oset-tests (Files): Likewise.
6949         * modules/avltreehash-list-tests (Files): Likewise.
6950         * modules/base64-tests (Files): Likewise.
6951         * modules/binary-io-tests (Files): Likewise.
6952         * modules/bitrotate-tests (Files): Likewise.
6953         * modules/btowc-tests (Files): Likewise.
6954         * modules/byteswap-tests (Files): Likewise.
6955         * modules/c-ctype-tests (Files): Likewise.
6956         * modules/c-stack-tests (Files): Likewise.
6957         * modules/c-strcase-tests (Files): Likewise.
6958         * modules/c-strcasestr-tests (Files): Likewise.
6959         * modules/c-strstr-tests (Files): Likewise.
6960         * modules/canonicalize-lgpl-tests (Files): Likewise.
6961         * modules/canonicalize-tests (Files): Likewise.
6962         * modules/carray-list-tests (Files): Likewise.
6963         * modules/ceilf-tests (Files): Likewise.
6964         * modules/ceill-tests (Files): Likewise.
6965         * modules/chown-tests (Files): Likewise.
6966         * modules/cloexec-tests (Files): Likewise.
6967         * modules/copy-file-tests (Files): Likewise.
6968         * modules/count-one-bits-tests (Files): Likewise.
6969         * modules/dprintf-posix-tests (Files): Likewise.
6970         * modules/dup2-tests (Files): Likewise.
6971         * modules/dup3-tests (Files): Likewise.
6972         * modules/duplocale-tests (Files): Likewise.
6973         * modules/fbufmode-tests (Files): Likewise.
6974         * modules/fchdir-tests (Files): Likewise.
6975         * modules/fcntl-safer-tests (Files): Likewise.
6976         * modules/fcntl-tests (Files): Likewise.
6977         * modules/fdopendir-tests (Files): Likewise.
6978         * modules/fdutimensat-tests (Files): Likewise.
6979         * modules/fflush-tests (Files): Likewise.
6980         * modules/filevercmp-tests (Files): Likewise.
6981         * modules/flock-tests (Files): Likewise.
6982         * modules/floorf-tests (Files): Likewise.
6983         * modules/floorl-tests (Files): Likewise.
6984         * modules/fnmatch-tests (Files): Likewise.
6985         * modules/fopen-safer-tests (Files): Likewise.
6986         * modules/fopen-tests (Files): Likewise.
6987         * modules/fpending-tests (Files): Likewise.
6988         * modules/fprintf-posix-tests (Files): Likewise.
6989         * modules/fpurge-tests (Files): Likewise.
6990         * modules/freadable-tests (Files): Likewise.
6991         * modules/freadahead-tests (Files): Likewise.
6992         * modules/freading-tests (Files): Likewise.
6993         * modules/freadptr-tests (Files): Likewise.
6994         * modules/freadseek-tests (Files): Likewise.
6995         * modules/freopen-tests (Files): Likewise.
6996         * modules/frexp-nolibm-tests (Files): Likewise.
6997         * modules/frexp-tests (Files): Likewise.
6998         * modules/frexpl-nolibm-tests (Files): Likewise.
6999         * modules/frexpl-tests (Files): Likewise.
7000         * modules/fseek-tests (Files): Likewise.
7001         * modules/fseeko-tests (Files): Likewise.
7002         * modules/fstrcmp-tests (Files): Likewise.
7003         * modules/fsync-tests (Files): Likewise.
7004         * modules/ftell-tests (Files): Likewise.
7005         * modules/ftello-tests (Files): Likewise.
7006         * modules/func-tests (Files): Likewise.
7007         * modules/futimens-tests (Files): Likewise.
7008         * modules/fwritable-tests (Files): Likewise.
7009         * modules/fwriting-tests (Files): Likewise.
7010         * modules/getcwd-tests (Files): Likewise.
7011         * modules/getdate-tests (Files): Likewise.
7012         * modules/getdelim-tests (Files): Likewise.
7013         * modules/getdtablesize-tests (Files): Likewise.
7014         * modules/getgroups-tests (Files): Likewise.
7015         * modules/getline-tests (Files): Likewise.
7016         * modules/getndelim2-tests (Files): Likewise.
7017         * modules/glob-tests (Files): Likewise.
7018         * modules/hash-tests (Files): Likewise.
7019         * modules/i-ring-tests (Files): Likewise.
7020         * modules/iconv-tests (Files): Likewise.
7021         * modules/iconv_open-utf-tests (Files): Likewise.
7022         * modules/idpriv-drop-tests (Files): Likewise.
7023         * modules/idpriv-droptemp-tests (Files): Likewise.
7024         * modules/inet_ntop-tests (Files): Likewise.
7025         * modules/inet_pton-tests (Files): Likewise.
7026         * modules/isblank-tests (Files): Likewise.
7027         * modules/isfinite-tests (Files): Likewise.
7028         * modules/isinf-tests (Files): Likewise.
7029         * modules/isnan-tests (Files): Likewise.
7030         * modules/isnand-nolibm-tests (Files): Likewise.
7031         * modules/isnand-tests (Files): Likewise.
7032         * modules/isnanf-nolibm-tests (Files): Likewise.
7033         * modules/isnanf-tests (Files): Likewise.
7034         * modules/isnanl-nolibm-tests (Files): Likewise.
7035         * modules/isnanl-tests (Files): Likewise.
7036         * modules/lchown-tests (Files): Likewise.
7037         * modules/ldexpl-tests (Files): Likewise.
7038         * modules/link-tests (Files): Likewise.
7039         * modules/linkat-tests (Files): Likewise.
7040         * modules/linked-list-tests (Files): Likewise.
7041         * modules/linkedhash-list-tests (Files): Likewise.
7042         * modules/localename-tests (Files): Likewise.
7043         * modules/lseek-tests (Files): Likewise.
7044         * modules/lstat-tests (Files): Likewise.
7045         * modules/mbmemcasecmp-tests (Files): Likewise.
7046         * modules/mbmemcasecoll-tests (Files): Likewise.
7047         * modules/mbrtowc-tests (Files): Likewise.
7048         * modules/mbscasecmp-tests (Files): Likewise.
7049         * modules/mbscasestr-tests (Files): Likewise.
7050         * modules/mbschr-tests (Files): Likewise.
7051         * modules/mbscspn-tests (Files): Likewise.
7052         * modules/mbsinit-tests (Files): Likewise.
7053         * modules/mbsncasecmp-tests (Files): Likewise.
7054         * modules/mbsnrtowcs-tests (Files): Likewise.
7055         * modules/mbspbrk-tests (Files): Likewise.
7056         * modules/mbspcasecmp-tests (Files): Likewise.
7057         * modules/mbsrchr-tests (Files): Likewise.
7058         * modules/mbsrtowcs-tests (Files): Likewise.
7059         * modules/mbsspn-tests (Files): Likewise.
7060         * modules/mbsstr-tests (Files): Likewise.
7061         * modules/memchr-tests (Files): Likewise.
7062         * modules/memchr2-tests (Files): Likewise.
7063         * modules/memcmp-tests (Files): Likewise.
7064         * modules/memmem-tests (Files): Likewise.
7065         * modules/memrchr-tests (Files): Likewise.
7066         * modules/mkdir-tests (Files): Likewise.
7067         * modules/mkfifo-tests (Files): Likewise.
7068         * modules/mkfifoat-tests (Files): Likewise.
7069         * modules/mknod-tests (Files): Likewise.
7070         * modules/nanosleep-tests (Files): Likewise.
7071         * modules/nl_langinfo-tests (Files): Likewise.
7072         * modules/obstack-printf-tests (Files): Likewise.
7073         * modules/open-tests (Files): Likewise.
7074         * modules/openat-tests (Files): Likewise.
7075         * modules/pipe-filter-gi-tests (Files): Likewise.
7076         * modules/pipe-filter-ii-tests (Files): Likewise.
7077         * modules/pipe2-tests (Files): Likewise.
7078         * modules/popen-safer-tests (Files): Likewise.
7079         * modules/popen-tests (Files): Likewise.
7080         * modules/posixtm-tests (Files): Likewise.
7081         * modules/pread-tests (Files): Likewise.
7082         * modules/printf-frexp-tests (Files): Likewise.
7083         * modules/printf-frexpl-tests (Files): Likewise.
7084         * modules/printf-posix-tests (Files): Likewise.
7085         * modules/priv-set-tests (Files): Likewise.
7086         * modules/quotearg-tests (Files): Likewise.
7087         * modules/random_r-tests (Files): Likewise.
7088         * modules/rawmemchr-tests (Files): Likewise.
7089         * modules/rbtree-list-tests (Files): Likewise.
7090         * modules/rbtree-oset-tests (Files): Likewise.
7091         * modules/rbtreehash-list-tests (Files): Likewise.
7092         * modules/readlink-tests (Files): Likewise.
7093         * modules/remove-tests (Files): Likewise.
7094         * modules/rename-tests (Files): Likewise.
7095         * modules/renameat-tests (Files): Likewise.
7096         * modules/rmdir-tests (Files): Likewise.
7097         * modules/round-tests (Files): Likewise.
7098         * modules/roundf-tests (Files): Likewise.
7099         * modules/roundl-tests (Files): Likewise.
7100         * modules/safe-alloc-tests (Files): Likewise.
7101         * modules/setenv-tests (Files): Likewise.
7102         * modules/sigaction-tests (Files): Likewise.
7103         * modules/signbit-tests (Files): Likewise.
7104         * modules/sleep-tests (Files): Likewise.
7105         * modules/snprintf-posix-tests (Files): Likewise.
7106         * modules/snprintf-tests (Files): Likewise.
7107         * modules/sprintf-posix-tests (Files): Likewise.
7108         * modules/stat-tests (Files): Likewise.
7109         * modules/stat-time-tests (Files): Likewise.
7110         * modules/strcasestr-tests (Files): Likewise.
7111         * modules/strchrnul-tests (Files): Likewise.
7112         * modules/strerror-tests (Files): Likewise.
7113         * modules/striconv-tests (Files): Likewise.
7114         * modules/striconveh-tests (Files): Likewise.
7115         * modules/striconveha-tests (Files): Likewise.
7116         * modules/strsignal-tests (Files): Likewise.
7117         * modules/strstr-tests (Files): Likewise.
7118         * modules/strtod-tests (Files): Likewise.
7119         * modules/strverscmp-tests (Files): Likewise.
7120         * modules/symlink-tests (Files): Likewise.
7121         * modules/symlinkat-tests (Files): Likewise.
7122         * modules/trunc-tests (Files): Likewise.
7123         * modules/truncf-tests (Files): Likewise.
7124         * modules/truncl-tests (Files): Likewise.
7125         * modules/uname-tests (Files): Likewise.
7126         * modules/unicase/cased-tests (Files): Likewise.
7127         * modules/unicase/ignorable-tests (Files): Likewise.
7128         * modules/unicase/locale-language-tests (Files): Likewise.
7129         * modules/unicase/tolower-tests (Files): Likewise.
7130         * modules/unicase/totitle-tests (Files): Likewise.
7131         * modules/unicase/toupper-tests (Files): Likewise.
7132         * modules/unicase/u8-casecmp-tests (Files): Likewise.
7133         * modules/unicase/u8-casecoll-tests (Files): Likewise.
7134         * modules/unicase/u8-casefold-tests (Files): Likewise.
7135         * modules/unicase/u8-is-cased-tests (Files): Likewise.
7136         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
7137         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
7138         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
7139         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
7140         * modules/unicase/u8-tolower-tests (Files): Likewise.
7141         * modules/unicase/u8-totitle-tests (Files): Likewise.
7142         * modules/unicase/u8-toupper-tests (Files): Likewise.
7143         * modules/unicase/u16-casecmp-tests (Files): Likewise.
7144         * modules/unicase/u16-casecoll-tests (Files): Likewise.
7145         * modules/unicase/u16-casefold-tests (Files): Likewise.
7146         * modules/unicase/u16-is-cased-tests (Files): Likewise.
7147         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
7148         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
7149         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
7150         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
7151         * modules/unicase/u16-tolower-tests (Files): Likewise.
7152         * modules/unicase/u16-totitle-tests (Files): Likewise.
7153         * modules/unicase/u16-toupper-tests (Files): Likewise.
7154         * modules/unicase/u32-casecmp-tests (Files): Likewise.
7155         * modules/unicase/u32-casecoll-tests (Files): Likewise.
7156         * modules/unicase/u32-casefold-tests (Files): Likewise.
7157         * modules/unicase/u32-is-cased-tests (Files): Likewise.
7158         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
7159         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
7160         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
7161         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
7162         * modules/unicase/u32-tolower-tests (Files): Likewise.
7163         * modules/unicase/u32-totitle-tests (Files): Likewise.
7164         * modules/unicase/u32-toupper-tests (Files): Likewise.
7165         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
7166         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
7167         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
7168         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
7169         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
7170         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
7171         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
7172         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
7173         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
7174         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
7175         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
7176         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
7177         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
7178         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
7179         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
7180         * modules/unictype/bidicategory-name-tests (Files): Likewise.
7181         * modules/unictype/bidicategory-of-tests (Files): Likewise.
7182         * modules/unictype/bidicategory-test-tests (Files): Likewise.
7183         * modules/unictype/block-list-tests (Files): Likewise.
7184         * modules/unictype/block-of-tests (Files): Likewise.
7185         * modules/unictype/block-test-tests (Files): Likewise.
7186         * modules/unictype/category-C-tests (Files): Likewise.
7187         * modules/unictype/category-Cc-tests (Files): Likewise.
7188         * modules/unictype/category-Cf-tests (Files): Likewise.
7189         * modules/unictype/category-Cn-tests (Files): Likewise.
7190         * modules/unictype/category-Co-tests (Files): Likewise.
7191         * modules/unictype/category-Cs-tests (Files): Likewise.
7192         * modules/unictype/category-L-tests (Files): Likewise.
7193         * modules/unictype/category-Ll-tests (Files): Likewise.
7194         * modules/unictype/category-Lm-tests (Files): Likewise.
7195         * modules/unictype/category-Lo-tests (Files): Likewise.
7196         * modules/unictype/category-Lt-tests (Files): Likewise.
7197         * modules/unictype/category-Lu-tests (Files): Likewise.
7198         * modules/unictype/category-M-tests (Files): Likewise.
7199         * modules/unictype/category-Mc-tests (Files): Likewise.
7200         * modules/unictype/category-Me-tests (Files): Likewise.
7201         * modules/unictype/category-Mn-tests (Files): Likewise.
7202         * modules/unictype/category-N-tests (Files): Likewise.
7203         * modules/unictype/category-Nd-tests (Files): Likewise.
7204         * modules/unictype/category-Nl-tests (Files): Likewise.
7205         * modules/unictype/category-No-tests (Files): Likewise.
7206         * modules/unictype/category-P-tests (Files): Likewise.
7207         * modules/unictype/category-Pc-tests (Files): Likewise.
7208         * modules/unictype/category-Pd-tests (Files): Likewise.
7209         * modules/unictype/category-Pe-tests (Files): Likewise.
7210         * modules/unictype/category-Pf-tests (Files): Likewise.
7211         * modules/unictype/category-Pi-tests (Files): Likewise.
7212         * modules/unictype/category-Po-tests (Files): Likewise.
7213         * modules/unictype/category-Ps-tests (Files): Likewise.
7214         * modules/unictype/category-S-tests (Files): Likewise.
7215         * modules/unictype/category-Sc-tests (Files): Likewise.
7216         * modules/unictype/category-Sk-tests (Files): Likewise.
7217         * modules/unictype/category-Sm-tests (Files): Likewise.
7218         * modules/unictype/category-So-tests (Files): Likewise.
7219         * modules/unictype/category-Z-tests (Files): Likewise.
7220         * modules/unictype/category-Zl-tests (Files): Likewise.
7221         * modules/unictype/category-Zp-tests (Files): Likewise.
7222         * modules/unictype/category-Zs-tests (Files): Likewise.
7223         * modules/unictype/category-and-not-tests (Files): Likewise.
7224         * modules/unictype/category-and-tests (Files): Likewise.
7225         * modules/unictype/category-byname-tests (Files): Likewise.
7226         * modules/unictype/category-name-tests (Files): Likewise.
7227         * modules/unictype/category-none-tests (Files): Likewise.
7228         * modules/unictype/category-of-tests (Files): Likewise.
7229         * modules/unictype/category-or-tests (Files): Likewise.
7230         * modules/unictype/category-test-withtable-tests (Files): Likewise.
7231         * modules/unictype/combining-class-tests (Files): Likewise.
7232         * modules/unictype/ctype-alnum-tests (Files): Likewise.
7233         * modules/unictype/ctype-alpha-tests (Files): Likewise.
7234         * modules/unictype/ctype-blank-tests (Files): Likewise.
7235         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
7236         * modules/unictype/ctype-digit-tests (Files): Likewise.
7237         * modules/unictype/ctype-graph-tests (Files): Likewise.
7238         * modules/unictype/ctype-lower-tests (Files): Likewise.
7239         * modules/unictype/ctype-print-tests (Files): Likewise.
7240         * modules/unictype/ctype-punct-tests (Files): Likewise.
7241         * modules/unictype/ctype-space-tests (Files): Likewise.
7242         * modules/unictype/ctype-upper-tests (Files): Likewise.
7243         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
7244         * modules/unictype/decimal-digit-tests (Files): Likewise.
7245         * modules/unictype/digit-tests (Files): Likewise.
7246         * modules/unictype/mirror-tests (Files): Likewise.
7247         * modules/unictype/numeric-tests (Files): Likewise.
7248         * modules/unictype/property-alphabetic-tests (Files): Likewise.
7249         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
7250         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
7251         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
7252         Likewise.
7253         * modules/unictype/property-bidi-block-separator-tests (Files):
7254         Likewise.
7255         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
7256         Likewise.
7257         * modules/unictype/property-bidi-common-separator-tests (Files):
7258         Likewise.
7259         * modules/unictype/property-bidi-control-tests (Files): Likewise.
7260         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
7261         Likewise.
7262         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
7263         Likewise.
7264         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
7265         Likewise.
7266         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
7267         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
7268         Likewise.
7269         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
7270         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
7271         Likewise.
7272         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
7273         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
7274         * modules/unictype/property-bidi-segment-separator-tests (Files):
7275         Likewise.
7276         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
7277         * modules/unictype/property-byname-tests (Files): Likewise.
7278         * modules/unictype/property-combining-tests (Files): Likewise.
7279         * modules/unictype/property-composite-tests (Files): Likewise.
7280         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
7281         * modules/unictype/property-dash-tests (Files): Likewise.
7282         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
7283         * modules/unictype/property-default-ignorable-code-point-tests (Files):
7284         Likewise.
7285         * modules/unictype/property-deprecated-tests (Files): Likewise.
7286         * modules/unictype/property-diacritic-tests (Files): Likewise.
7287         * modules/unictype/property-extender-tests (Files): Likewise.
7288         * modules/unictype/property-format-control-tests (Files): Likewise.
7289         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
7290         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
7291         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
7292         * modules/unictype/property-hex-digit-tests (Files): Likewise.
7293         * modules/unictype/property-hyphen-tests (Files): Likewise.
7294         * modules/unictype/property-id-continue-tests (Files): Likewise.
7295         * modules/unictype/property-id-start-tests (Files): Likewise.
7296         * modules/unictype/property-ideographic-tests (Files): Likewise.
7297         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
7298         * modules/unictype/property-ids-trinary-operator-tests (Files):
7299         Likewise.
7300         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
7301         * modules/unictype/property-iso-control-tests (Files): Likewise.
7302         * modules/unictype/property-join-control-tests (Files): Likewise.
7303         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
7304         * modules/unictype/property-line-separator-tests (Files): Likewise.
7305         * modules/unictype/property-logical-order-exception-tests (Files):
7306         Likewise.
7307         * modules/unictype/property-lowercase-tests (Files): Likewise.
7308         * modules/unictype/property-math-tests (Files): Likewise.
7309         * modules/unictype/property-non-break-tests (Files): Likewise.
7310         * modules/unictype/property-not-a-character-tests (Files): Likewise.
7311         * modules/unictype/property-numeric-tests (Files): Likewise.
7312         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
7313         * modules/unictype/property-other-default-ignorable-code-point-tests
7314         (Files): Likewise.
7315         * modules/unictype/property-other-grapheme-extend-tests (Files):
7316         Likewise.
7317         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
7318         * modules/unictype/property-other-id-start-tests (Files): Likewise.
7319         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
7320         * modules/unictype/property-other-math-tests (Files): Likewise.
7321         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
7322         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
7323         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
7324         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
7325         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
7326         * modules/unictype/property-private-use-tests (Files): Likewise.
7327         * modules/unictype/property-punctuation-tests (Files): Likewise.
7328         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
7329         * modules/unictype/property-radical-tests (Files): Likewise.
7330         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
7331         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
7332         * modules/unictype/property-space-tests (Files): Likewise.
7333         * modules/unictype/property-terminal-punctuation-tests (Files):
7334         Likewise.
7335         * modules/unictype/property-test-tests (Files): Likewise.
7336         * modules/unictype/property-titlecase-tests (Files): Likewise.
7337         * modules/unictype/property-unassigned-code-value-tests (Files):
7338         Likewise.
7339         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
7340         * modules/unictype/property-uppercase-tests (Files): Likewise.
7341         * modules/unictype/property-variation-selector-tests (Files): Likewise.
7342         * modules/unictype/property-white-space-tests (Files): Likewise.
7343         * modules/unictype/property-xid-continue-tests (Files): Likewise.
7344         * modules/unictype/property-xid-start-tests (Files): Likewise.
7345         * modules/unictype/property-zero-width-tests (Files): Likewise.
7346         * modules/unictype/scripts-tests (Files): Likewise.
7347         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
7348         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
7349         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
7350         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
7351         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
7352         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
7353         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
7354         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
7355         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
7356         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
7357         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
7358         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
7359         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
7360         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
7361         * modules/uninorm/composition-tests (Files): Likewise.
7362         * modules/uninorm/decomposing-form-tests (Files): Likewise.
7363         * modules/uninorm/decomposition-tests (Files): Likewise.
7364         * modules/uninorm/filter-tests (Files): Likewise.
7365         * modules/uninorm/nfc-tests (Files): Likewise.
7366         * modules/uninorm/nfd-tests (Files): Likewise.
7367         * modules/uninorm/nfkc-tests (Files): Likewise.
7368         * modules/uninorm/nfkd-tests (Files): Likewise.
7369         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
7370         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
7371         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
7372         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
7373         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
7374         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
7375         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
7376         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
7377         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
7378         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
7379         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
7380         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
7381         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
7382         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
7383         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
7384         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
7385         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
7386         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
7387         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
7388         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
7389         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
7390         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
7391         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
7392         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
7393         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
7394         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
7395         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
7396         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
7397         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
7398         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
7399         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
7400         * modules/uniwidth/u8-width-tests (Files): Likewise.
7401         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
7402         * modules/uniwidth/u16-width-tests (Files): Likewise.
7403         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
7404         * modules/uniwidth/u32-width-tests (Files): Likewise.
7405         * modules/uniwidth/width-tests (Files): Likewise.
7406         * modules/unlink-tests (Files): Likewise.
7407         * modules/unsetenv-tests (Files): Likewise.
7408         * modules/usleep-tests (Files): Likewise.
7409         * modules/utimens-tests (Files): Likewise.
7410         * modules/utimensat-tests (Files): Likewise.
7411         * modules/vasnprintf-posix-tests (Files): Likewise.
7412         * modules/vasnprintf-tests (Files): Likewise.
7413         * modules/vasprintf-posix-tests (Files): Likewise.
7414         * modules/vasprintf-tests (Files): Likewise.
7415         * modules/vdprintf-posix-tests (Files): Likewise.
7416         * modules/vfprintf-posix-tests (Files): Likewise.
7417         * modules/vprintf-posix-tests (Files): Likewise.
7418         * modules/vsnprintf-posix-tests (Files): Likewise.
7419         * modules/vsnprintf-tests (Files): Likewise.
7420         * modules/vsprintf-posix-tests (Files): Likewise.
7421         * modules/wcrtomb-tests (Files): Likewise.
7422         * modules/wcsnrtombs-tests (Files): Likewise.
7423         * modules/wcsrtombs-tests (Files): Likewise.
7424         * modules/wctype-tests (Files): Likewise.
7425         * modules/wcwidth-tests (Files): Likewise.
7426         * modules/xmemdup0-tests (Files): Likewise.
7427         * modules/xprintf-posix-tests (Files): Likewise.
7428         * modules/xvasprintf-tests (Files): Likewise.
7429
7430 2009-12-24  Eric Blake  <ebb9@byu.net>
7431
7432         test-nanosleep: fix typo
7433         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
7434         patch.
7435         Reported by Bruno Haible.
7436
7437 2009-12-24  Bruno Haible  <bruno@clisp.org>
7438
7439         Reduce namespace pollution on glibc systems.
7440         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
7441         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
7442         systems.
7443         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
7444         <getopt.h> on glibc systems.
7445         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
7446         systems.
7447         * lib/fcntl.c: Include <unistd.h> here instead.
7448
7449 2009-12-24  Bruno Haible  <bruno@clisp.org>
7450
7451         * lib/stdlib.in.h (includes): Fix typo in today's commit.
7452
7453 2009-12-24  Eric Blake  <ebb9@byu.net>
7454
7455         tests: add signature checks
7456         * tests/signature.h (SIGNATURE_CHECK): New file.
7457         * modules/atexit-tests (Files): Use it.
7458         * modules/btowc-tests (Files): Likewise.
7459         * modules/canonicalize-lgpl-tests (Files): Likewise.
7460         * modules/ceilf-tests (Files): Likewise.
7461         * modules/ceill-tests (Files): Likewise.
7462         * modules/chown-tests (Files): Likewise.
7463         * modules/dprintf-posix-tests (Files): Likewise.
7464         * modules/dup2-tests (Files): Likewise.
7465         * modules/dup3-tests (Files): Likewise.
7466         * modules/duplocale-tests (Files): Likewise.
7467         * modules/fchdir-tests (Files): Likewise.
7468         * modules/fcntl-tests (Files): Likewise.
7469         * modules/fdopendir-tests (Files): Likewise.
7470         * modules/fflush-tests (Files): Likewise.
7471         * modules/flock-tests (Files): Likewise.
7472         * modules/floorf-tests (Files): Likewise.
7473         * modules/floorl-tests (Files): Likewise.
7474         * modules/fnmatch-tests (Files): Likewise.
7475         * modules/fopen-tests (Files): Likewise.
7476         * modules/fprintf-posix-tests (Files): Likewise.
7477         * modules/freopen-tests (Files): Likewise.
7478         * modules/frexp-nolibm-tests (Files): Likewise.
7479         * modules/frexp-tests (Files): Likewise.
7480         * modules/frexpl-nolibm-tests (Files): Likewise.
7481         * modules/frexpl-tests (Files): Likewise.
7482         * modules/fseek-tests (Files): Likewise.
7483         * modules/fseeko-tests (Files): Likewise.
7484         * modules/fsync-tests (Files): Likewise.
7485         * modules/ftell-tests (Files): Likewise.
7486         * modules/ftello-tests (Files): Likewise.
7487         * modules/futimens-tests (Files): Likewise.
7488         * modules/getaddrinfo-tests (Files): Likewise.
7489         * modules/getcwd-tests (Files): Likewise.
7490         * modules/getdelim-tests (Files): Likewise.
7491         * modules/getdtablesize-tests (Files): Likewise.
7492         * modules/getgroups-tests (Files): Likewise.
7493         * modules/gethostname-tests (Files): Likewise.
7494         * modules/getline-tests (Files): Likewise.
7495         * modules/getopt-posix-tests (Files): Likewise.
7496         * modules/gettimeofday-tests (Files): Likewise.
7497         * modules/glob-tests (Files): Likewise.
7498         * modules/iconv-tests (Files): Likewise.
7499         * modules/inet_ntop-tests (Files): Likewise.
7500         * modules/inet_pton-tests (Files): Likewise.
7501         * modules/isblank-tests (Files): Likewise.
7502         * modules/lchown-tests (Files): Likewise.
7503         * modules/ldexpl-tests (Files): Likewise.
7504         * modules/link-tests (Files): Likewise.
7505         * modules/linkat-tests (Files): Likewise.
7506         * modules/lseek-tests (Files): Likewise.
7507         * modules/lstat-tests (Files): Likewise.
7508         * modules/mbrtowc-tests (Files): Likewise.
7509         * modules/mbsinit-tests (Files): Likewise.
7510         * modules/mbsnrtowcs-tests (Files): Likewise.
7511         * modules/mbsrtowcs-tests (Files): Likewise.
7512         * modules/memchr-tests (Files): Likewise.
7513         * modules/memcmp-tests (Files): Likewise.
7514         * modules/memmem-tests (Files): Likewise.
7515         * modules/memrchr-tests (Files): Likewise.
7516         * modules/mkdir-tests (Files): Likewise.
7517         * modules/mkfifo-tests (Files): Likewise.
7518         * modules/mkfifoat-tests (Files): Likewise.
7519         * modules/mknod-tests (Files): Likewise.
7520         * modules/nanosleep-tests (Files): Likewise.
7521         * modules/nl_langinfo-tests (Files): Likewise.
7522         * modules/obstack-printf-tests (Files): Likewise.
7523         * modules/open-tests (Files): Likewise.
7524         * modules/openat-tests (Files): Likewise.
7525         * modules/perror-tests (Files): Likewise.
7526         * modules/pipe2-tests (Files): Likewise.
7527         * modules/poll-tests (Files): Likewise.
7528         * modules/popen-tests (Files): Likewise.
7529         * modules/posix_spawn-tests (Files): Likewise.
7530         * modules/posix_spawnp-tests (Files): Likewise.
7531         * modules/pread-tests (Files): Likewise.
7532         * modules/printf-posix-tests (Files): Likewise.
7533         * modules/pty-tests (Files): Likewise.
7534         * modules/random_r-tests (Files): Likewise.
7535         * modules/rawmemchr-tests (Files): Likewise.
7536         * modules/readlink-tests (Files): Likewise.
7537         * modules/remove-tests (Files): Likewise.
7538         * modules/rename-tests (Files): Likewise.
7539         * modules/renameat-tests (Files): Likewise.
7540         * modules/rmdir-tests (Files): Likewise.
7541         * modules/round-tests (Files): Likewise.
7542         * modules/roundf-tests (Files): Likewise.
7543         * modules/roundl-tests (Files): Likewise.
7544         * modules/select-tests (Files): Likewise.
7545         * modules/setenv-tests (Files): Likewise.
7546         * modules/sigaction-tests (Files): Likewise.
7547         * modules/sleep-tests (Files): Likewise.
7548         * modules/snprintf-posix-tests (Files): Likewise.
7549         * modules/snprintf-tests (Files): Likewise.
7550         * modules/sprintf-posix-tests (Files): Likewise.
7551         * modules/stat-tests (Files): Likewise.
7552         * modules/strcasestr-tests (Files): Likewise.
7553         * modules/strchrnul-tests (Files): Likewise.
7554         * modules/strerror-tests (Files): Likewise.
7555         * modules/strsignal-tests (Files): Likewise.
7556         * modules/strstr-tests (Files): Likewise.
7557         * modules/strtod-tests (Files): Likewise.
7558         * modules/strverscmp-tests (Files): Likewise.
7559         * modules/symlink-tests (Files): Likewise.
7560         * modules/symlinkat-tests (Files): Likewise.
7561         * modules/times-tests (Files): Likewise.
7562         * modules/trunc-tests (Files): Likewise.
7563         * modules/truncf-tests (Files): Likewise.
7564         * modules/truncl-tests (Files): Likewise.
7565         * modules/tsearch-tests (Files): Likewise.
7566         * modules/uname-tests (Files): Likewise.
7567         * modules/unlink-tests (Files): Likewise.
7568         * modules/unsetenv-tests (Files): Likewise.
7569         * modules/usleep-tests (Files): Likewise.
7570         * modules/utimensat-tests (Files): Likewise.
7571         * modules/vasprintf-tests (Files): Likewise.
7572         * modules/vdprintf-posix-tests (Files): Likewise.
7573         * modules/vfprintf-posix-tests (Files): Likewise.
7574         * modules/vprintf-posix-tests (Files): Likewise.
7575         * modules/vsnprintf-posix-tests (Files): Likewise.
7576         * modules/vsnprintf-tests (Files): Likewise.
7577         * modules/vsprintf-posix-tests (Files): Likewise.
7578         * modules/wcrtomb-tests (Files): Likewise.
7579         * modules/wcsnrtombs-tests (Files): Likewise.
7580         * modules/wcsrtombs-tests (Files): Likewise.
7581         * modules/wcwidth-tests (Files): Likewise.
7582         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
7583         * tests/test-isinf.c (isinf): Likewise.
7584         * tests/test-isnan.c (isnan): Likewise.
7585         * tests/test-signbit.c (signbit): Likewise.
7586         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
7587         declaration, either as macro or with correct signature.
7588         (select): Ensure function under test is declared with correct
7589         signature in correct header.
7590         * tests/test-atexit.c (atexit): Likewise.
7591         * tests/test-btowc.c (btowc): Likewise.
7592         * tests/test-canonicalize-lgpl.c (realpath)
7593         (canonicalize_file_name): Likewise.
7594         * tests/test-ceilf1.c (ceilf): Likewise.
7595         * tests/test-ceill.c (ceill): Likewise.
7596         * tests/test-chown.c (chown): Likewise.
7597         * tests/test-dprintf-posix.c (dprintf): Likewise.
7598         * tests/test-dup2.c (dup2): Likewise.
7599         * tests/test-dup3.c (dup3): Likewise.
7600         * tests/test-duplocale.c (duplocale): Likewise.
7601         * tests/test-fchdir.c (fchdir): Likewise.
7602         * tests/test-fchownat.c (fchownat): Likewise.
7603         * tests/test-fcntl.c (fcntl): Likewise.
7604         * tests/test-fdopendir.c (fdopendir): Likewise.
7605         * tests/test-fflush.c (fflush): Likewise.
7606         * tests/test-flock.c (flock): Likewise.
7607         * tests/test-floorf1.c (floorf): Likewise.
7608         * tests/test-floorl.c (floorl): Likewise.
7609         * tests/test-fnmatch.c (fnmatch): Likewise.
7610         * tests/test-fopen.c (fopen): Likewise.
7611         * tests/test-fprintf-posix.c (fprintf): Likewise.
7612         * tests/test-freopen.c (freopen): Likewise.
7613         * tests/test-frexp.c (frexp): Likewise.
7614         * tests/test-frexpl.c (frexpl): Likewise.
7615         * tests/test-fseek.c (fseek): Likewise.
7616         * tests/test-fseeko.c (fseeko): Likewise.
7617         * tests/test-fstatat.c (fstatat): Likewise.
7618         * tests/test-fsync.c (fsync): Likewise.
7619         * tests/test-ftell.c (ftell): Likewise.
7620         * tests/test-ftello.c (ftello): Likewise.
7621         * tests/test-futimens.c (futimens): Likewise.
7622         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
7623         (gai_strerror): Likewise.
7624         * tests/test-getcwd.c (getcwd): Likewise.
7625         * tests/test-getdelim.c (getdelim): Likewise.
7626         * tests/test-getdtablesize.c (getdtablesize): Likewise.
7627         * tests/test-getgroups.c (getgroups): Likewise.
7628         * tests/test-gethostname.c (gethostname): Likewise.
7629         * tests/test-getline.c (getline): Likewise.
7630         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
7631         Likewise.
7632         * tests/test-gettimeofday.c (gettimeofday): Likewise.
7633         * tests/test-glob.c (glob, globfree): Likewise.
7634         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
7635         * tests/test-inet_ntop.c (inet_ntop): Likewise.
7636         * tests/test-inet_pton.c (inet_pton): Likewise.
7637         * tests/test-isblank.c (isblank): Likewise.
7638         * tests/test-lchown.c (lchown): Likewise.
7639         * tests/test-ldexpl.c (ldexpl): Likewise.
7640         * tests/test-link.c (link): Likewise.
7641         * tests/test-linkat.c (linkat): Likewise.
7642         * tests/test-lseek.c (lseek): Likewise.
7643         * tests/test-lstat.c (lstat): Likewise.
7644         * tests/test-mbrtowc.c (mbrtowc): Likewise.
7645         * tests/test-mbsinit.c (mbsinit): Likewise.
7646         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
7647         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
7648         * tests/test-memchr.c (memchr): Likewise.
7649         * tests/test-memcmp.c (memcmp): Likewise.
7650         * tests/test-memmem.c (memmem): Likewise.
7651         * tests/test-memrchr.c (memrchr): Likewise.
7652         * tests/test-mkdir.c (mkdir): Likewise.
7653         * tests/test-mkdirat.c (mkdirat): Likewise.
7654         * tests/test-mkfifo.c (mkfifo): Likewise.
7655         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
7656         * tests/test-mknod.c (mknod): Likewise.
7657         * tests/test-nanosleep.c (nanosleep): Likewise.
7658         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
7659         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
7660         Likewise.
7661         * tests/test-open.c (open): Likewise.
7662         * tests/test-openat.c (openat): Likewise.
7663         * tests/test-perror.c (perror): Likewise.
7664         * tests/test-pipe2.c (pipe2): Likewise.
7665         * tests/test-poll.c (poll): Likewise.
7666         * tests/test-popen.c (popen, pclose): Likewise.
7667         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
7668         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
7669         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
7670         (posix_spawn_file_actions_destroy)
7671         (posix_spawn_file_actions_addclose)
7672         (posix_spawn_file_actions_addopen)
7673         (posix_spawn_file_actions_adddup2): Likewise.
7674         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
7675         * tests/test-pread.c (pread): Likewise.
7676         * tests/test-printf-posix.c (printf): Likewise.
7677         * tests/test-pty.c (openpty, forkpty): Likewise.
7678         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
7679         (random_r): Likewise.
7680         * tests/test-rawmemchr.c (rawmemchr): Likewise.
7681         * tests/test-readlink.c (readlink): Likewise.
7682         * tests/test-remove.c (remove): Likewise.
7683         * tests/test-rename.c (rename): Likewise.
7684         * tests/test-renameat.c (renameat): Likewise.
7685         * tests/test-rmdir.c (rmdir): Likewise.
7686         * tests/test-round1.c (round): Likewise.
7687         * tests/test-roundf1.c (roundf): Likewise.
7688         * tests/test-roundl.c (roundl): Likewise.
7689         * tests/test-setenv.c (setenv): Likewise.
7690         * tests/test-sigaction.c (sigaction): Likewise.
7691         * tests/test-sleep.c (sleep): Likewise.
7692         * tests/test-snprintf.c (snprintf): Likewise.
7693         * tests/test-sprintf-posix.c (sprintf): Likewise.
7694         * tests/test-stat.c (stat): Likewise.
7695         * tests/test-stpncpy.c (stpncpy): Likewise.
7696         * tests/test-strcasestr.c (strcasestr): Likewise.
7697         * tests/test-strchrnul.c (strchrnul): Likewise.
7698         * tests/test-strerror.c (strerror): Likewise.
7699         * tests/test-strsignal.c (strsignal): Likewise.
7700         * tests/test-strstr.c (strstr): Likewise.
7701         * tests/test-strtod.c (strtod): Likewise.
7702         * tests/test-strverscmp.c (strverscmp): Likewise.
7703         * tests/test-symlink.c (symlink): Likewise.
7704         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
7705         * tests/test-times.c (times): Likewise.
7706         * tests/test-trunc1.c (trunc): Likewise.
7707         * tests/test-truncf1.c (truncf): Likewise.
7708         * tests/test-truncl.c (truncl): Likewise.
7709         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
7710         Likewise.
7711         * tests/test-uname.c (uname): Likewise.
7712         * tests/test-unlink.c (unlink): Likewise.
7713         * tests/test-unlinkat.c (unlinkat): Likewise.
7714         * tests/test-unsetenv.c (unsetenv): Likewise.
7715         * tests/test-usleep.c (usleep): Likewise.
7716         * tests/test-utimensat.c (utimensat): Likewise.
7717         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
7718         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
7719         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
7720         * tests/test-vprintf-posix.c (vprintf): Likewise.
7721         * tests/test-vsnprintf.c (vsnprintf): Likewise.
7722         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
7723         * tests/test-wcrtomb.c (wcrtomb): Likewise.
7724         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
7725         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
7726         * tests/test-wcwidth.c (wcwidth): Likewise.
7727
7728         build: pull in conditional headers during GNULIB_POSIXCHECK
7729         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
7730         definitions from any conditionally-included headers.
7731         * lib/stdlib.in.h (includes): Likewise.
7732         * lib/unistd.in.h (includes): Likewise.
7733
7734 2009-12-24  Bruno Haible  <bruno@clisp.org>
7735
7736         * tests/test-argv-iter.c: Include header file being tested immediately
7737         after config.h.
7738         * tests/test-base64.c: Likewise.
7739         * tests/test-flock.c: Likewise.
7740         * tests/test-fsync.c: Likewise.
7741         * tests/test-getdate.c: Likewise.
7742         * tests/test-getndelim2.c: Likewise.
7743         * tests/test-isfinite.c: Likewise.
7744         * tests/test-isinf.c: Likewise.
7745         * tests/test-strerror.c: Likewise.
7746         * tests/test-strsignal.c: Likewise.
7747
7748 2009-12-23  Eric Blake  <ebb9@byu.net>
7749
7750         unistd: work around cygwin bug
7751         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
7752         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
7753         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7754
7755 2009-12-23  Bruno Haible  <bruno@clisp.org>
7756
7757         localename: More tests.
7758         * tests/test-localename.c (SIZEOF): New macro.
7759         (categories): New variable.
7760         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
7761         test_locale_name_default): Add test w.r.t. thread locale.
7762         (test_locale_name_thread): New function.
7763         (main): Invoke it.
7764
7765         localename: Make aware of thread locale.
7766         * lib/localename.h (gl_locale_name_thread): New declaration.
7767         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
7768         behaviour with respect to thread locale.
7769         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
7770         <langinfo.h>, glthread/lock.h.
7771         (SIZE_BITS): New macro.
7772         (string_hash): New function.
7773         (struct hash_node): New type.
7774         (HASH_TABLE_SIZE): New macro.
7775         (struniq_hash_table, struniq_lock): New variables.
7776         (struniq): New function.
7777         (gl_locale_name_thread): New function.
7778         (gl_locale_name): Invoke it.
7779         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
7780         * modules/localename (Depends-on): Add lock.
7781         Reported by Mike Gran <spk121@yahoo.com>.
7782
7783 2009-12-23  Eric Blake  <ebb9@byu.net>
7784
7785         va-args: new module
7786         * modules/va-args: New file.
7787         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
7788         * MODULES.html.sh (Core language properties): Mention it.
7789
7790         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
7791         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
7792         named alias for __attribute__((__unused__)).
7793         * lib/chown.c: Update client.
7794         * lib/fchmodat.c: Likewise.
7795         * lib/fts.c: Likewise.
7796         * lib/getdate.y: Likewise.
7797         * lib/getgroups.c: Likewise.
7798         * lib/getopt.c: Likewise.
7799         * lib/getugroups.c: Likewise.
7800         * lib/mkdir.c: Likewise.
7801         * lib/mkfifo.c: Likewise.
7802         * lib/mkfifoat.c: Likewise.
7803         * lib/mknod.c: Likewise.
7804         * lib/mknodat.c: Likewise.
7805         * lib/readlink.c: Likewise.
7806         * lib/se-context.in.h: Likewise.
7807         * lib/se-selinux.in.h: Likewise.
7808         * lib/sockets.c: Likewise.
7809         * lib/symlink.c: Likewise.
7810         * lib/symlinkat.c: Likewise.
7811         * lib/unicodeio.c: Likewise.
7812         * lib/unistr.h: Likewise.
7813         * tests/test-areadlink.c: Likewise.
7814         * tests/test-areadlinkat.c: Likewise.
7815         * tests/test-filenamecat.c: Likewise.
7816         * tests/test-fseeko.c: Likewise.
7817         * tests/test-ftello.c: Likewise.
7818         * tests/test-getdate.c: Likewise.
7819         * tests/test-getgroups.c: Likewise.
7820         * tests/test-gethostname.c: Likewise.
7821         * tests/test-quotearg.c: Likewise.
7822         * tests/test-version-etc.c: Likewise.
7823         * tests/test-xalloc-die.c: Likewise.
7824         * tests/test-xfprintf-posix.c: Likewise.
7825         * tests/test-xprintf-posix.c: Likewise.
7826         * tests/test-xvasprintf.c: Likewise.
7827
7828         tests: avoid compiler warnings
7829         * tests/test-fcntl.c (main): Delete unused parameters.
7830         * tests/test-freopen-safer.c (main): Likewise.
7831         * tests/test-xalloc-die.c (main): Mark unused parameters.
7832         * tests/test-fseeko.c (main): Likewise.
7833         * tests/test-ftello.c (main): Likewise.
7834         * tests/test-nanosleep.c (main): Avoid declaration warning.
7835         * tests/test-sleep.c (main): Likewise.
7836         * tests/test-unsetenv.c (main): Silence warning about string
7837         literal.
7838         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
7839
7840 2009-12-23  Bruno Haible  <bruno@clisp.org>
7841
7842         * tests/test-localename.c (test_locale_name): New function, extracted
7843         from main. Also test mixed situations.
7844         (test_locale_name_posix, test_locale_name_environ,
7845         test_locale_name_default): New functions.
7846         (main): Invoke them all.
7847         * modules/localename-tests (configure.ac): Test for newlocale.
7848
7849 2009-12-23  Bruno Haible  <bruno@clisp.org>
7850
7851         unistd: Ensure getcwd gets declared before being overridden.
7852         * lib/unistd.in.h: Conditionally include <io.h>.
7853
7854 2009-12-22  Bruno Haible  <bruno@clisp.org>
7855
7856         wchar: Diagnose broken combination of glibc and gcc versions and flags.
7857         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
7858         (gl_WCHAR_H): Invoke it.
7859         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
7860         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
7861         Reported by Karl Berry <karl@freefriends.org>.
7862
7863 2009-12-22  Eric Blake  <ebb9@byu.net>
7864
7865         math, unistd: avoid redundant includes
7866         * lib/math.in.h (isnan): No need to re-include <math.h>.
7867         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
7868
7869         getsubopt: work around cygwin bug
7870         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
7871         avoid conflicting with system getsubopt.
7872         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
7873         bug.
7874
7875         getopt: synchronize from glibc
7876         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
7877         parameter order.  Adjust all callers.
7878         (_getopt_internal_r, main): Adjust quoting in error messages.
7879         Drop considerations for outdated POSIX 1003.2 error message.
7880         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
7881         callers.
7882         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
7883
7884         test-getopt: test stderr behavior
7885         * modules/getopt-posix-tests (Depends-on): Add dup2.
7886         * tests/test-getopt.c (ASSERT): Avoid stderr.
7887         (main): Move stderr to a temporary file.
7888         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
7889         Instead, add parameter to inform caller if output occurred.
7890         (test_getopt): Adjust all existing tests to expect silence, and
7891         add new tests of leading ":".
7892         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7893         glibc shortcomings with leading "-:" or "+:" in optstring.
7894         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7895         Likewise.
7896         * doc/posix-functions/getopt.texi (getopt): Likewise.
7897
7898         test-getopt: enhance test
7899         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
7900         supports optind=0.
7901         * tests/test-getopt.c (OPTIND_MIN): Move...
7902         * tests/test-getopt.h (OPTIND_MIN): ...here.
7903         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
7904         Require that optind=0 works, since modern BSD supports it in
7905         addition to optreset, and since coreutils expects it.
7906         (test_getopt_long_only): New test.
7907         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7908         glibc shortcomings with 'W;', and enforcement of optind=0.
7909         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7910         Likewise.
7911
7912 2009-12-21  Bruno Haible  <bruno@clisp.org>
7913
7914         localename: Improvements for MacOS X and Cygwin.
7915         * lib/localename.h (gl_locale_name_environ): New declaration.
7916         * lib/localename.c (gl_locale_name_environ): New function, extracted from
7917         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
7918         (gl_locale_name_posix): Invoke it.
7919         (gl_locale_name_default): Add comments. Use Windows native API also on
7920         Cygwin.
7921
7922 2009-12-21  Bruno Haible  <bruno@clisp.org>
7923
7924         Update list of Win32 locale ids.
7925         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
7926         (LANG_SAMI): Renamed from LANG_SAAMI.
7927         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
7928         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
7929         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
7930         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
7931         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
7932         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
7933         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
7934         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
7935         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
7936         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
7937         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
7938         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
7939         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
7940         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
7941         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
7942         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
7943         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
7944         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
7945         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
7946         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
7947         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
7948         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
7949         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
7950         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
7951         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
7952         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
7953         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
7954         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
7955         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
7956         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
7957         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
7958         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
7959         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
7960         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
7961         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
7962         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
7963         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
7964         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
7965         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
7966         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
7967         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
7968         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
7969         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
7970         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
7971         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
7972         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
7973         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
7974         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
7975         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
7976         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
7977         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
7978         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
7979         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
7980         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
7981         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
7982         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
7983         Add more languages and countries for Sami, Sorbian. Add more countries
7984         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
7985         for Pashto. Change country for Syriac, Tswana.
7986
7987 2009-12-21  Eric Blake  <ebb9@byu.net>
7988
7989         test-utimens: avoid spurious failure
7990         * tests/test-chown.h (nap): Factor...
7991         * tests/nap.h: ...into new file.
7992         * tests/test-lchown.h (nap): Avoid duplication.
7993         * tests/test-utimens-common.h (nap): Use shared implementation,
7994         necessary on file systems with 1-second resolution.
7995         * modules/chown-tests (Files): Include new file.
7996         * modules/fdutimensat-tests (Files): Likewise.
7997         * modules/futimens-tests (Files): Likewise.
7998         * modules/lchown-tests (Files): Likewise.
7999         * modules/openat-tests (Files): Likewise.
8000         * modules/utimens-tests (Files): Likewise.
8001         * modules/utimensat-tests (Files): Likewise.
8002
8003 2009-12-19  Eric Blake  <ebb9@byu.net>
8004
8005         futimens, utimensat: work around Linux bug
8006         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
8007         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8008         * lib/utimensat.c (rpl_utimensat): Work around it.
8009         * lib/futimens.c (rpl_futimens): Adjust comment.
8010
8011         utimens: work around Linux ctime bug
8012         * lib/utimens.c (detect_ctime_bug): New helper function.
8013         (update_timespec): Differentiate between workaround needed for
8014         this bug vs. what is needed for systems that lack utimensat.
8015         (fdutimens, lutimens): Work around bug.
8016
8017         utimens: check for ctime update
8018         * tests/test-utimens-common.h (check_ctime): Define.
8019         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
8020         * tests/test-futimens.h (test_futimens): Likewise.
8021         * tests/test-lutimens.h (test_lutimens): Likewise.
8022         * doc/posix-functions/futimens.texi (futimens): Document the bug.
8023         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
8024
8025 2009-12-19  Bruno Haible  <bruno@clisp.org>
8026
8027         dprintf-posix: Check against memory leak fixed on 2009-12-15.
8028         * tests/test-dprintf-posix2.sh: New file.
8029         * tests/test-dprintf-posix2.c: New file.
8030         * modules/dprintf-posix-tests (Files): Add them.
8031         (configure.ac): Check for getrlimit and setrlimit.
8032         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
8033
8034 2009-12-19  Bruno Haible  <bruno@clisp.org>
8035
8036         fprintf-posix: Check against memory leak fixed on 2009-12-15.
8037         * tests/test-fprintf-posix3.sh: New file.
8038         * tests/test-fprintf-posix3.c: New file.
8039         * modules/fprintf-posix-tests (Files): Add them.
8040         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
8041
8042 2009-12-19  Eric Blake  <ebb9@byu.net>
8043
8044         dirfd: fix prototype
8045         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
8046         * lib/dirfd.c (dirfd): Likewise.
8047
8048         canonicalize: reduce memory usage
8049         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
8050         allocation to size.
8051         Reported by Solar Designer <solar@openwall.com>.
8052
8053 2009-12-19  Bruno Haible  <bruno@clisp.org>
8054
8055         New module attribute 'Applicability'.
8056         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
8057         * gnulib-tool: New option --extract-applicability.
8058         (func_usage): Document it.
8059         (sed_extract_prog): Recognize it.
8060         (func_get_applicability): New function.
8061         (func_import): Generalize handling of 'link-warning' module.
8062         * modules/link-warning (Applicability): New section.
8063         * modules/arg-nonnull (Applicability): New section.
8064         Repoted by Simon Josefsson <simon@josefsson.org>.
8065
8066 2009-12-19  Bruno Haible  <bruno@clisp.org>
8067
8068         fflush: tweak
8069         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
8070         * lib/fseeko.c (rpl_fseeko): Likewise.
8071
8072 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
8073
8074         * lib/gl_list.h: Fix typo in comment.
8075
8076 2009-12-16  Eric Blake  <ebb9@byu.net>
8077
8078         fcntl: use to simplify other modules
8079         * modules/cloexec (Depends-on): Add fcntl.
8080         * modules/fchdir (Depends-on): Likewise.
8081         * modules/fd-safer-flag (Depends-on): Likewise.
8082         * modules/unistd-safer (Depends-on): Likewise.
8083         * modules/dup3 (configure.ac): Set module indicator.
8084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
8085         missing.
8086         * lib/fchdir.c (_gl_register_dup): Fix comment.
8087         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
8088         * lib/dup-safer.c (dup_safer): Likewise.
8089         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
8090         * lib/dup3.c (dup3): Likewise.
8091         * tests/test-fchdir.c (main): Enhance test.
8092         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
8093
8094         fcntl: port portions of fcntl to mingw
8095         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
8096         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
8097         replacement for mingw.
8098         * modules/fcntl (Description): Update.
8099         (Depends-on): Add dup2.
8100         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
8101         * modules/fcntl-h (Makefile.am): Substitute it.
8102         * lib/fcntl.in.h (fcntl): Update declaration.
8103         (F_DUPFD, F_GETFD): New macros, when needed.
8104         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
8105         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
8106         * tests/test-fcntl.c (check_flags, main): Enhance test for items
8107         we now guarantee.
8108
8109         fcntl: work around cygwin bug in F_DUPFD
8110         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
8111         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
8112         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
8113         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
8114         * doc/posix-functions/fcntl.texi (fcntl): Document it.
8115
8116         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
8117         * modules/fcntl (Files): List new files.
8118         (configure.ac): Run a test.
8119         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
8120         * lib/fcntl.c (rpl_fcntl): Likewise.
8121         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
8122         (gl_FCNTL_H): Always replace fcntl.h.
8123         * modules/fcntl-h (Makefile.am): Substitute witnesses.
8124         * lib/fcntl.in.h (fcntl): Declare replacement.
8125         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
8126         needed, plus a witness.
8127         * doc/posix-functions/fcntl.texi (fcntl): Document this.
8128         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
8129         * tests/test-fcntl.c: New file.
8130         * modules/fcntl-tests: Likewise.
8131
8132         binary-io: avoid potential compilation warning
8133         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
8134         directives.
8135
8136         fflush: avoid compilation error on NetBSD
8137         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
8138         between off_t and fpos_t, since the latter is sometimes a struct.
8139         * lib/fseeko.c (rpl_fseeko): Likewise.
8140         Reported by Alexander Nasonov <alnsn@yandex.ru>.
8141
8142 2009-12-15  Eric Blake  <ebb9@byu.net>
8143
8144         fcntl-h, stdio, sys_ioctl: fix declarations
8145         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
8146         function must not take arguments.
8147         * lib/sys_ioctl.in.h (ioctl): Likewise.
8148         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
8149         (open): Add a link warning.
8150
8151 2009-12-15  Jim Meyering  <meyering@redhat.com>
8152
8153         areadlink, areadlink-with-size: relax license to LGPLv2+
8154         * modules/areadlink (License): Relax to LGPLv2+.
8155         * modules/areadlink-with-size (License): Likewise.
8156
8157 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
8158             Bruno Haible  <bruno@clisp.org>
8159
8160         *printf: Fix memory leak.
8161         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
8162         * lib/vfprintf.c (vfprintf): Likewise.
8163         * lib/dprintf.c (dprintf): Likewise.
8164         * lib/vdprintf.c (vdprintf): Likewise.
8165
8166 2009-12-14  Eric Blake  <ebb9@byu.net>
8167
8168         accept4: adjust module dependencies
8169         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
8170
8171         utimens: one more try at avoiding compiler warning
8172         * lib/utimens.c (lutimens): Lower scope of result.
8173
8174 2009-12-13  Bruno Haible  <bruno@clisp.org>
8175
8176         Move the malloc checking from module 'list' to new module 'xlist'.
8177         * modules/xlist: New file.
8178         * lib/gl_xlist.h: New file.
8179         * lib/gl_xlist.c: New file.
8180         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
8181         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
8182         gl_list_add_last, gl_list_add_before, gl_list_add_after,
8183         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
8184         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
8185         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
8186         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
8187         gl_sortedlist_nx_add): New declarations.
8188         (struct gl_list_implementation): Rename and change methods accordingly.
8189         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
8190         (gl_list_nx_create): Renamed from gl_list_create.
8191         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
8192         (gl_list_nx_set_at): Renamed from gl_list_set_at.
8193         (gl_list_nx_add_first): Renamed from gl_list_add_first.
8194         (gl_list_nx_add_last): Renamed from gl_list_add_last.
8195         (gl_list_nx_add_before): Renamed from gl_list_add_before.
8196         (gl_list_nx_add_after): Renamed from gl_list_add_after.
8197         (gl_list_nx_add_at): Renamed from gl_list_add_at.
8198         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
8199         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
8200         gl_list_create_empty.
8201         (gl_list_nx_create): Renamed from gl_list_create.
8202         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
8203         (gl_list_nx_set_at): Renamed from gl_list_set_at.
8204         (gl_list_nx_add_first): Renamed from gl_list_add_first.
8205         (gl_list_nx_add_last): Renamed from gl_list_add_last.
8206         (gl_list_nx_add_before): Renamed from gl_list_add_before.
8207         (gl_list_nx_add_after): Renamed from gl_list_add_after.
8208         (gl_list_nx_add_at): Renamed from gl_list_add_at.
8209         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
8210         * lib/gl_array_list.c: Don't include xalloc.h.
8211         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
8212         NULL upon out-of-memory.
8213         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
8214         out-of-memory.
8215         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
8216         Change return type to 'int'.
8217         (gl_array_nx_set_at): Renamed from gl_array_set_at.
8218         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
8219         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
8220         upon out-of-memory.
8221         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
8222         upon out-of-memory.
8223         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
8224         upon out-of-memory.
8225         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
8226         upon out-of-memory.
8227         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
8228         out-of-memory.
8229         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
8230         Update.
8231         (gl_array_list_implementation): Update.
8232         * lib/gl_carray_list.c: Don't include xalloc.h.
8233         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
8234         Return NULL upon out-of-memory.
8235         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
8236         out-of-memory.
8237         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
8238         Change return type to 'int'.
8239         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
8240         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
8241         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
8242         upon out-of-memory.
8243         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
8244         upon out-of-memory.
8245         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
8246         out-of-memory.
8247         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
8248         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
8249         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
8250         Update.
8251         (gl_carray_list_implementation): Update.
8252         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
8253         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
8254         gl_linked_create_empty. Return NULL upon out-of-memory.
8255         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
8256         out-of-memory.
8257         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
8258         Change return type to 'int'. Return -1 upon out-of-memory.
8259         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
8260         out-of-memory.
8261         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
8262         upon out-of-memory.
8263         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
8264         upon out-of-memory.
8265         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
8266         NULL upon out-of-memory.
8267         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
8268         upon out-of-memory.
8269         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
8270         out-of-memory.
8271         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
8272         Update.
8273         * lib/gl_linked_list.c: Don't include xalloc.h.
8274         (gl_linked_list_implementation): Update.
8275         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
8276         (add_to_bucket): Change return type to 'int'.
8277         (gl_linkedhash_list_implementation): Update.
8278         * lib/gl_anytree_list1.h (free_subtree): New function.
8279         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
8280         gl_tree_create_empty. Return NULL upon out-of-memory.
8281         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
8282         Change return type to 'int'. Return -1 upon out-of-memory.
8283         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
8284         out-of-memory.
8285         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
8286         (gl_tree_remove_node): New function, moved here from
8287         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
8288         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
8289         Update.
8290         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
8291         malloc, not xmalloc. Return NULL upon out-of-memory.
8292         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
8293         out-of-memory.
8294         (gl_tree_remove_node_from_tree): New function, extracted from
8295         gl_tree_remove_node.
8296         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
8297         upon out-of-memory.
8298         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
8299         out-of-memory.
8300         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
8301         upon out-of-memory.
8302         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
8303         upon out-of-memory.
8304         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
8305         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
8306         not xmalloc. Return NULL upon out-of-memory.
8307         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
8308         out-of-memory.
8309         (gl_tree_remove_node_from_tree): New function, extracted from
8310         gl_tree_remove_node.
8311         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
8312         upon out-of-memory.
8313         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
8314         out-of-memory.
8315         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
8316         upon out-of-memory.
8317         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
8318         upon out-of-memory.
8319         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
8320         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
8321         gl_anytree_list1.h before gl_anyavltree_list2.h.
8322         (gl_avltree_list_implementation): Update.
8323         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
8324         gl_anytree_list1.h before gl_anyavltree_list2.h.
8325         (gl_rbtree_list_implementation): Update.
8326         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
8327         Change return type to 'int'. Return -1 upon out-of-memory. Use
8328         __builtin_expect.
8329         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
8330         (gl_avltreehash_list_implementation): Update.
8331         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
8332         (gl_rbtreehash_list_implementation): Update.
8333         * modules/array-list (Depends-on): Remove xalloc.
8334         * modules/carray-list (Depends-on): Likewise.
8335         * modules/linked-list (Depends-on): Likewise.
8336         * modules/linkedhash-list (Depends-on): Likewise.
8337         * modules/avltree-list (Depends-on): Likewise.
8338         * modules/rbtree-list (Depends-on): Likewise.
8339         * modules/avltreehash-list (Depends-on): Likewise.
8340         * modules/rbtreehash-list (Depends-on): Likewise.
8341
8342         * modules/xsublist: New file.
8343         * lib/gl_xsublist.h: New file.
8344         * lib/gl_xsublist.c: New file.
8345         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
8346         (gl_sublist_nx_create): New declaration.
8347         * lib/gl_sublist.c: Don't include xalloc.h.
8348         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
8349         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
8350         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
8351         Change return type to 'int'. Return -1 upon out-of-memory.
8352         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
8353         upon out-of-memory.
8354         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
8355         NULL upon out-of-memory.
8356         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
8357         upon out-of-memory.
8358         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
8359         NULL upon out-of-memory.
8360         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
8361         NULL upon out-of-memory.
8362         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
8363         upon out-of-memory.
8364         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
8365         (gl_sublist_list_implementation): Update.
8366         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
8367         upon out-of-memory.
8368         * modules/sublist (Depends-on): Remove xalloc.
8369
8370         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
8371         * tests/test-carray_list.c: Likewise.
8372         * tests/test-linked_list.c: Likewise.
8373         * tests/test-linkedhash_list.c: Likewise.
8374         * tests/test-avltree_list.c: Likewise.
8375         * tests/test-rbtree_list.c: Likewise.
8376         * tests/test-avltreehash_list.c: Likewise.
8377         * tests/test-rbtreehash_list.c: Likewise.
8378         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
8379         * modules/carray-list-tests (Makefile.am): Likewise.
8380         * modules/linked-list-tests (Makefile.am): Likewise.
8381         * modules/linkedhash-list-tests (Makefile.am): Likewise.
8382         * modules/avltree-list-tests (Makefile.am): Likewise.
8383         * modules/rbtree-list-tests (Makefile.am): Likewise.
8384         * modules/avltreehash-list-tests (Makefile.am): Likewise.
8385         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
8386
8387         * NEWS: Mention the changes.
8388
8389         * lib/clean-temp.c: Include gl_xlist.h.
8390         * modules/clean-temp (Depends-on): Add xlist.
8391
8392         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
8393         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
8394
8395         * tests/test-array_oset.c: Include gl_xlist.h.
8396         * modules/array-oset-tests (Depends-on): Add xlist.
8397
8398         Reported by José E. Marchesi <jemarch@gnu.org>.
8399
8400 2009-12-13  Bruno Haible  <bruno@clisp.org>
8401
8402         Move the malloc checking from module 'oset' to new module 'xoset'.
8403         * modules/xoset: New file.
8404         * lib/gl_xoset.h: New file.
8405         * lib/gl_xoset.c: New file.
8406         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
8407         declarations.
8408         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
8409         (struct gl_oset_implementation): Rename and change methods accordingly.
8410         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
8411         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
8412         'int'. Mark as __warn_unused_result__.
8413         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
8414         gl_oset_create_empty.
8415         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
8416         'int'.
8417         * lib/gl_array_oset.c: Don't include xalloc.h.
8418         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
8419         malloc, not xmalloc.
8420         (grow): Change return type to 'int'. Don't call xalloc_die.
8421         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
8422         to 'int'.
8423         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
8424         'int'.
8425         (gl_array_oset_implementation): Update.
8426         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
8427         gl_tree_create_empty.
8428         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
8429         'int'.
8430         * lib/gl_avltree_oset.c: Don't include xalloc.h.
8431         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
8432         xmalloc.
8433         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
8434         not xmalloc.
8435         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
8436         xmalloc.
8437         (gl_avltree_oset_implementation): Update.
8438         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
8439         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
8440         xmalloc.
8441         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
8442         not xmalloc.
8443         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
8444         xmalloc.
8445         (gl_rbtree_oset_implementation): Update.
8446         * modules/array-oset (Depends-on): Remove xalloc.
8447         * modules/avltree-oset (Depends-on): Likewise.
8448         * modules/rbtree-oset (Depends-on): Likewise.
8449         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
8450         * tests/test-avltree_oset.c: Likewise.
8451         * tests/test-rbtree_oset.c: Likewise.
8452         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
8453         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
8454         * modules/rbtree-oset-tests (Makefile.am): Likewise.
8455         * NEWS: Mention the change.
8456
8457 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
8458
8459         maint.mk: allow a project to override release-prep commands
8460         * top/maint.mk (alpha, beta, stable): Move release-preparatory
8461         commands into a new rule.
8462         (release-prep): New rule.
8463         (release-prep-hook): New overridable variable.
8464
8465 2009-12-13  Bruno Haible  <bruno@clisp.org>
8466
8467         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
8468
8469 2009-12-13  Jim Meyering  <meyering@redhat.com>
8470
8471         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
8472         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
8473
8474 2009-12-12  Bruno Haible  <bruno@clisp.org>
8475
8476         duplocale: Tweak.
8477         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
8478
8479 2009-12-12  Karl Berry  <karl@gnu.org>
8480
8481         * config/srclist.txt (strtoll.c): tab changes, no more sync.
8482
8483 2009-12-12  Bruno Haible  <bruno@clisp.org>
8484
8485         * m4/po.m4: Undo incorrect untabification.
8486
8487 2009-12-12  Bruno Haible  <bruno@clisp.org>
8488
8489         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
8490         * modules/c-strtod (Depends-on): Add locale.
8491         * modules/c-strtold (Depends-on): Likewise.
8492
8493 2009-12-12  Bruno Haible  <bruno@clisp.org>
8494
8495         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
8496
8497 2009-12-11  Eric Blake  <ebb9@byu.net>
8498
8499         setenv: relax requirement in light of POSIX ruling
8500         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
8501         not NULL.
8502         * tests/test-setenv.c (main): Relax test.
8503         * tests/test-unsetenv.c (main): Likewise.
8504         * doc/posix-functions/setenv.texi (setenv): Document this.
8505         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
8506
8507 2009-12-11  Bruno Haible  <bruno@clisp.org>
8508
8509         New module 'fd-safer-flag'.
8510         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
8511         * lib/dup-safer.c (dup_safer_flag): Remove function.
8512         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
8513         * lib/fd-safer.c (fd_safer_flag): Remove function.
8514         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
8515         * modules/cloexec (configure.ac): Drop indicator macro.
8516         * modules/fd-safer-flag: New file.
8517         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
8518         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
8519         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
8520
8521 2009-12-11  Bruno Haible  <bruno@clisp.org>
8522
8523         Tests for module 'nl_langinfo'.
8524         * modules/nl_langinfo-tests: New file.
8525         * tests/test-nl_langinfo.sh: New file.
8526         * tests/test-nl_langinfo.c: New file.
8527
8528         New module 'nl_langinfo'.
8529         * lib/nl_langinfo.c: New file.
8530         * m4/nl_langinfo.m4: New file.
8531         * modules/nl_langinfo: New file.
8532         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
8533
8534 2009-12-11  Bruno Haible  <bruno@clisp.org>
8535
8536         Tests for module 'langinfo'.
8537         * modules/langinfo-tests: New file.
8538         * tests/test-langinfo.c: New file.
8539
8540         New module 'langinfo'.
8541         * lib/langinfo.in.h: New file.
8542         * m4/langinfo_h.m4: New file.
8543         * modules/langinfo: New file.
8544         * doc/posix-headers/langinfo.texi: Mention the new module.
8545
8546 2009-12-11  Bruno Haible  <bruno@clisp.org>
8547
8548         * lib/config.charset: Untabify.
8549
8550 2009-12-11  Bruno Haible  <bruno@clisp.org>
8551
8552         * modules/unistd-safer (configure.ac): Drop indicator macro.
8553
8554 2009-12-11  Bruno Haible  <bruno@clisp.org>
8555
8556         Move pipe2-safer code to its own file.
8557         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
8558         * lib/pipe-safer.c (pipe2_safer): Remove function.
8559         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
8560         (Makefile.am): Add it to lib_SOURCES.
8561
8562 2009-12-10  Bruno Haible  <bruno@clisp.org>
8563
8564         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
8565
8566 2009-12-10  Bruno Haible  <bruno@clisp.org>
8567
8568         Declare which arguments expect non-NULL values, for GCC and clang.
8569         * build-aux/arg-nonnull.h: New file.
8570         * modules/arg-nonnull: New file.
8571         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
8572         (inet_ntop, inet_pton): Use it.
8573         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
8574         (closedir, dirfd, opendir, scandir, alphasort): Use it.
8575         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
8576         (open, openat): Use it.
8577         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
8578         (fnmatch): Use it.
8579         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
8580         (getopt, getopt_long, getopt_long_only): Use it.
8581         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
8582         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
8583         Use it.
8584         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
8585         (iconv_open): Use it.
8586         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
8587         (strtoimax, strtoumax): Use it.
8588         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
8589         (duplocale): Use it.
8590         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
8591         (frexp, frexpl): Use it.
8592         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
8593         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
8594         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
8595         (tsearch, tfind, tdelete, twalk): Use it.
8596         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
8597         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
8598         sigpending): Use it.
8599         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
8600         (posix_spawn, posix_spawnp, posix_spawnattr_init,
8601         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
8602         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
8603         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
8604         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
8605         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
8606         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
8607         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
8608         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
8609         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
8610         Use it.
8611         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
8612         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
8613         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
8614         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
8615         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
8616         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
8617         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
8618         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
8619         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
8620         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
8621         strtoull, unsetenv): Use it.
8622         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
8623         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
8624         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
8625         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
8626         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
8627         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
8628         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
8629         (strcasecmp, strncasecmp): Use it.
8630         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
8631         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
8632         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
8633         rpl_setsockopt): Use it.
8634         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
8635         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
8636         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
8637         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
8638         (gettimeofday): Use it.
8639         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
8640         (times): Use it.
8641         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
8642         (uname): Use it.
8643         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
8644         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
8645         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
8646         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
8647         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
8648         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
8649         unlinkat, write): Use it.
8650         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
8651         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
8652         * lib/argv-iter.h: Include arg-nonnull.h.
8653         (_ATTRIBUTE_NONNULL_): Remove macro.
8654         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
8655         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
8656         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
8657         optimization.
8658         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
8659         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
8660         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
8661         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
8662         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
8663         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
8664         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
8665         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
8666         * modules/arpa_inet (Depends-on): Add arg-nonnull.
8667         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
8668         * modules/dirent (Depends-on): Add arg-nonnull.
8669         (Makefile.am): Insert arg-nonnull.h into dirent.h.
8670         * modules/fcntl-h (Depends-on): Add arg-nonnull.
8671         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
8672         * modules/fnmatch (Depends-on): Add arg-nonnull.
8673         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
8674         * modules/getopt-posix (Depends-on): Add arg-nonnull.
8675         (Makefile.am): Insert arg-nonnull.h into getopt.h.
8676         * modules/glob (Depends-on): Add arg-nonnull.
8677         (Makefile.am): Insert arg-nonnull.h into glob.h.
8678         * modules/iconv_open (Depends-on): Add arg-nonnull.
8679         (Makefile.am): Insert arg-nonnull.h into iconv.h.
8680         * modules/inttypes (Depends-on): Add arg-nonnull.
8681         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
8682         * modules/locale (Depends-on): Add arg-nonnull.
8683         (Makefile.am): Insert arg-nonnull.h into locale.h.
8684         * modules/math (Depends-on): Add arg-nonnull.
8685         (Makefile.am): Insert arg-nonnull.h into math.h.
8686         * modules/netdb (Depends-on): Add arg-nonnull.
8687         (Makefile.am): Insert arg-nonnull.h into netdb.h.
8688         * modules/search (Depends-on): Add arg-nonnull.
8689         (Makefile.am): Insert arg-nonnull.h into search.h.
8690         * modules/signal (Depends-on): Add arg-nonnull.
8691         (Makefile.am): Insert arg-nonnull.h into signal.h.
8692         * modules/spawn (Depends-on): Add arg-nonnull.
8693         (Makefile.am): Insert arg-nonnull.h into spawn.h.
8694         * modules/stdio (Depends-on): Add arg-nonnull.
8695         (Makefile.am): Insert arg-nonnull.h into stdio.h.
8696         * modules/stdlib (Depends-on): Add arg-nonnull.
8697         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
8698         * modules/string (Depends-on): Add arg-nonnull.
8699         (Makefile.am): Insert arg-nonnull.h into string.h.
8700         * modules/strings (Depends-on): Add arg-nonnull.
8701         (Makefile.am): Insert arg-nonnull.h into strings.h.
8702         * modules/sys_socket (Depends-on): Add arg-nonnull.
8703         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
8704         * modules/sys_stat (Depends-on): Add arg-nonnull.
8705         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
8706         * modules/sys_time (Depends-on): Add arg-nonnull.
8707         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
8708         * modules/sys_times (Depends-on): Add arg-nonnull.
8709         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
8710         * modules/sys_utsname (Depends-on): Add arg-nonnull.
8711         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
8712         * modules/time (Depends-on): Add arg-nonnull.
8713         (Makefile.am): Insert arg-nonnull.h into time.h.
8714         * modules/unistd (Depends-on): Add arg-nonnull.
8715         (Makefile.am): Insert arg-nonnull.h into unistd.h.
8716         * modules/wchar (Depends-on): Add arg-nonnull.
8717         (Makefile.am): Insert arg-nonnull.h into wchar.h.
8718         * modules/argv-iter (Depends-on): Add arg-nonnull.
8719         * tests/test-canonicalize.c (null_ptr): New function.
8720         (main): Use it.
8721         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
8722         (main): Use it.
8723         * tests/test-memmem.c (null_ptr): New function.
8724         (main): Use it.
8725         Reported by Jim Meyering.
8726
8727 2009-12-10  Bruno Haible  <bruno@clisp.org>
8728
8729         Use spaces for indentation, not tabs.
8730         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
8731         * m4/*.m4: Untabify.
8732         * build-aux/*.h: Untabify.
8733         * tests/**/*.[hc]: Untabify.
8734         * README: New section "Indent with spaces, not TABs", based on
8735         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
8736         * NEWS: Mention the change.
8737
8738 2009-12-10  Bruno Haible  <bruno@clisp.org>
8739
8740         pty test: Fix link error.
8741         * modules/pty-tests (Makefile.am): Add the default LDADD value to
8742         test_pty_LDADD.
8743
8744 2009-12-07  Simon Josefsson  <simon@josefsson.org>
8745
8746         * modules/pty: New file.
8747         * modules/pty-tests: New file.
8748         * m4/pty.m4: New file.
8749         * tests/test-pty.c: New file.
8750         * doc/glibc-headers/pty.texi: Modified.
8751         * doc/glibc-functions/forkpty.texi: Modified.
8752         * doc/glibc-functions/openpty.texi: Modified.
8753
8754 2009-12-10  Bruno Haible  <bruno@clisp.org>
8755
8756         Avoid syntax error in C++ mode.
8757         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
8758
8759 2009-12-10  Bruno Haible  <bruno@clisp.org>
8760
8761         Use sed with option -e.
8762         * gnulib-tool (func_version, func_emit_copyright_notice,
8763         func_emit_initmacro_end, func_import, func_create_testdir): Pass
8764         option -e to sed.
8765         * modules/link-warning (Makefile.am): Likewise.
8766
8767 2009-12-10  Jim Meyering  <meyering@redhat.com>
8768
8769         mgetgroups: do not write bytes beyond end of malloc'd buffer
8770         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
8771         username, we call getgroups with a one-element-shorter buffer,
8772         but still told it the length was original, max_n_groups.
8773
8774 2009-12-09  Eric Blake  <ebb9@byu.net>
8775
8776         cloexec: relax license
8777         * modules/cloexec (Maintainer): Add myself.
8778         (License): Use LGPL, not GPL.
8779
8780         link-warning: optimize generation
8781         * modules/link-warning (Makefile.am): Reduce process usage.
8782
8783 2009-12-09  Bruno Haible  <bruno@clisp.org>
8784
8785         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
8786         workaround was added on 2009-11-17.
8787
8788 2009-12-09  Jim Meyering  <meyering@redhat.com>
8789             Bruno Haible  <bruno@clisp.org>
8790
8791         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
8792         * modules/link-warning (Makefile.am): Make the comment-removing sed
8793         command more robust in the face of bootstrap-prepended comment lines.
8794
8795 2009-12-09  Bruno Haible  <bruno@clisp.org>
8796
8797         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
8798         most one group.
8799
8800 2009-12-09  Simon Josefsson <simon@josefsson.org>
8801             Bruno Haible  <bruno@clisp.org>
8802
8803         * build-aux/link-warning.h: Add copyright notice.
8804         * modules/link-warning (Makefile.am): Generate link-warning.h from
8805         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
8806         * NEWS: Mention change in link-warning module.
8807         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
8808         * modules/dirent (Makefile.am): Add dependency to dirent.h.
8809         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
8810         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
8811         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
8812         * modules/math (Makefile.am): Add dependency to math.h.
8813         * modules/search (Makefile.am): Add dependency to search.h.
8814         * modules/signal (Makefile.am): Add dependency to signal.h.
8815         * modules/spawn (Makefile.am): Add dependency to spawn.h.
8816         * modules/stdio (Makefile.am): Add dependency to stdio.h.
8817         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
8818         * modules/string (Makefile.am): Add dependency to string.h.
8819         * modules/strings (Makefile.am): Add dependency to strings.h.
8820         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
8821         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
8822         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
8823         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
8824         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
8825         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
8826         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
8827         * modules/unistd (Makefile.am): Add dependency to unistd.h.
8828         * modules/wchar (Makefile.am): Add dependency to wchar.h.
8829
8830 2009-12-09  Bruno Haible  <bruno@clisp.org>
8831
8832         fchdir: Optimize away rpl_fstat when possible.
8833         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
8834         REPLACE_OPEN_DIRECTORY.
8835         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
8836
8837 2009-12-09  Bruno Haible  <bruno@clisp.org>
8838
8839         * lib/fchdir.c: Update comment.
8840
8841 2009-12-09  Bruno Haible  <bruno@clisp.org>
8842
8843         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
8844
8845 2009-12-08  Eric Blake  <ebb9@byu.net>
8846
8847         fchdir: avoid memory leak on re-registration.
8848         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
8849
8850 2009-12-08  Jim Meyering  <meyering@redhat.com>
8851
8852         init.sh: avoid Solaris 10 /bin/sh portability problem
8853         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
8854         sourced script:
8855           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
8856           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
8857           bar
8858         tests/init.sh relied on that, accepting a --set-path=DIR argument,
8859         and two tests used that idiom.
8860         * tests/init.sh: Update suggested usage comments.
8861         (path_prepend_): New function, to be used in place
8862         of the --src-path=DIR option.
8863         (setup_): Move PATH-prepending code into path_prepend_.
8864         * tests/test-pread.sh: Adapt to new usage.
8865         * tests/test-xalloc-die.sh: Likewise.
8866
8867 2009-12-08  Simon Josefsson  <simon@josefsson.org>
8868
8869         * doc/gnulib.texi (Glibc pty.h): Add.
8870         * doc/glibc-functions/forkpty.texi: Add.
8871         * doc/glibc-functions/openpty.texi: Add.
8872         Suggested by Bruno Haible.
8873
8874 2009-12-08  Eric Blake  <ebb9@byu.net>
8875
8876         fchdir: fix logic bugs
8877         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
8878         * tests/test-fchdir.c (main): Enhance test.
8879         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
8880         is in use.
8881
8882         dup2: fix logic bugs
8883         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
8884         REPLACE_DUP2 to decide when rpl_dup2 is needed.
8885         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
8886         exists.
8887         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
8888
8889 2009-12-07  Eric Blake  <ebb9@byu.net>
8890
8891         unlink: fix m4 detection
8892         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
8893
8894         unistd-safer: add unit test
8895         * modules/unistd-safer-tests: New file.
8896         * tests/test-dup-safer.c: Likewise.
8897         * tests/test-cloexec.c (setmode): Avoid compiler warning.
8898         * tests/test-dup2.c (setmode): Likewise.
8899         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
8900
8901         cloexec: preserve text vs. binary across dup_cloexec
8902         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
8903         mode.
8904         * modules/dup2-tests (Depends-on): Add binary-io.
8905         * modules/cloexec-tests (Depends-on): Likewise.
8906         * tests/test-dup2.c (setmode, is_mode): New helpers.
8907         (main): Add tests that translation mode is preserved.
8908         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
8909         Reported by Bruno Haible.
8910
8911         mgetgroups: reduce duplicate listings
8912         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
8913         resulting array.
8914         * tests/test-chown.h (test_chown): Simplify client.
8915         * tests/test-lchown.h (test_lchown): Likewise.
8916
8917 2009-12-06  Bruno Haible  <bruno@clisp.org>
8918
8919         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
8920         value.
8921
8922 2009-12-06  Bruno Haible  <bruno@clisp.org>
8923
8924         * lib/progname.c: Include stdio.h, stdlib.h.
8925         (set_program_name): Reject a NULL argument.
8926
8927 2009-12-05  Eric Blake  <ebb9@byu.net>
8928
8929         pipe2-safer: new module
8930         * modules/pipe2-safer: New file.
8931         * lib/unistd-safer.h (pipe2_safer): New prototype.
8932         * lib/unistd--.h (pipe2): New wrapper.
8933         * lib/pipe-safer.c (pipe2_safer): New function.
8934         * modules/pipe (Depends-on): Add pipe2-safer.
8935         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
8936
8937         stdlib-safer: preserve cloexec flag for mkostemp[s]
8938         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
8939         fd_safer_flag.
8940
8941         unistd-safer: allow preservation of cloexec status via flag
8942         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
8943         prototypes.
8944         * lib/dup-safer.c (dup_safer_flag): New function.
8945         * lib/fd-safer.c (fd_safer_flag): Likewise.
8946         * modules/cloexec (configure.ac): Set witness.
8947
8948         test-dup2: enhance test
8949         * modules/dup2-tests (Depends-on): Add cloexec.
8950         * tests/test-dup2.c (main): Enhance test.
8951
8952         cloexec: add dup_cloexec
8953         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
8954         header and comments.
8955         * lib/cloexec.c (set_cloexec_flag): Add comments.
8956         (dup_cloexec): New function, with mingw implementation borrowed
8957         from...
8958         * lib/w32spawn.h (dup_noinherit): ...here.
8959         * modules/execute (Depends-on): Add cloexec.
8960         * modules/pipe (Depends-on): Likewise.
8961         * modules/cloexec (Depends-on): Add dup2.
8962         * modules/cloexec-tests (Files): New file.
8963         * tests/test-cloexec.c: Likewise.
8964
8965         test-xalloc-die: fix test for mingw
8966         * modules/xalloc-die-tests (Files): Add tests/init.sh.
8967         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
8968         directory and .exe suffix off argv[0] output.
8969
8970         test-fseeko: fix test for mingw
8971         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
8972         than undefining fseek, so test will pass on mingw.
8973
8974 2009-12-05  Bruno Haible  <bruno@clisp.org>
8975
8976         * lib/progname.h (set_program_name): Clarify specification.
8977         * lib/progname.c (set_program_name): Likewise.
8978         Reported by Jim Meyering.
8979
8980 2009-12-05  Jim Meyering  <meyering@redhat.com>
8981
8982         maint.mk: backslash-escape parens in default regexp
8983         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
8984         backslash-escape the literal parentheses.
8985
8986         maint.mk: news-date-check: use grep -E
8987         * top/maint.mk (today): Define a Make variable, not a...
8988         (news-date-check): ...shell variable.
8989         (news-date-regexp): Use the Make variable.
8990         Use grep's -E option.  Change the failing diagnostic to mention
8991         the variable, $(news-date-regexp).
8992
8993 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
8994
8995         maintainer-makefile: allow customization of NEWS entry format
8996         * top/maint.mk (news-date-regexp): New overridable variable.
8997         (news-date-check): Use it.
8998
8999 2009-12-04  Eric Blake  <ebb9@byu.net>
9000
9001         mgetgroups: add xgetgroups, and avoid ENOSYS failures
9002         * lib/mgetgroups.h (xgetgroups): New prototype.
9003         * lib/mgetgroups.c (xgetgroups): New wrapper.
9004         (mgetgroups): Handle ENOSYS.
9005         * modules/mgetgroups (Depends-on): Add realloc.
9006         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
9007
9008         mgetgroups: avoid argument promotion issues with -1
9009         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
9010         for invalid gid_t.
9011         * tests/test-chown.h (getegid, test_chown): Likewise.
9012         * tests/test-lchown.h (getegid, test_lchown): Likewise.
9013
9014 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
9015
9016         exclude: Fix header file problems.
9017         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
9018
9019 2009-12-01  Jim Meyering  <meyering@redhat.com>
9020
9021         fts: fts_open: do not let an empty string cause immediate failure
9022         This is required in support of GNU rm, for which the command
9023         "rm A '' B" must process and remove both A and B, in spite of
9024         the empty string argument.
9025         * lib/fts.c (fts_open): Do not let the presence of an empty string
9026         cause fts_open to fail immediately.  Most fts-using tools must be
9027         able to process all arguments, in order, and can be expected to
9028         diagnose such arguments themselves.
9029
9030 2009-11-30  Eric Blake  <ebb9@byu.net>
9031
9032         utimens: fix compilation error
9033         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
9034         Declare variable at right scope.
9035
9036 2009-11-29  Jim Meyering  <meyering@redhat.com>
9037
9038         bootstrap: handle perl-5.11's changed --version output
9039         * build-aux/bootstrap (get_version): Handle perl separately,
9040         since perl-5.11's --version output is different.
9041
9042 2009-11-28  Jim Meyering  <meyering@redhat.com>
9043
9044         userspec: depend on the inttostr module, too
9045         * modules/userspec (Depends-on): Add inttostr.
9046
9047         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
9048         * lib/userspec.c (parse_with_separator): Do not accept a user ID
9049         number of MAXUID when it evaluates to (uid_t) -1.
9050         Likewise for group ID.  Reported by Matt McCutchen in
9051         <http://savannah.gnu.org/bugs/?28113>
9052
9053         userspec: reformat to use spaces, not TABs
9054         * lib/userspec.c: Expand TABs to spaces.
9055         Add Emacs' "indent-tabs-mode: nil" hint.
9056
9057 2009-11-27  Eric Blake  <ebb9@byu.net>
9058
9059         getopt-gnu: flush out another BSD bug
9060         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
9061         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
9062         flush out BSD bug.
9063         * tests/test-getopt.h (test_getopt): End lists with NULL.
9064         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9065         (test_getopt_long_posix): Enhance test.
9066         * modules/getopt-posix-tests (Depends-on): Add stdbool.
9067         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
9068         getopt-gnu.
9069         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9070         Likewise.
9071
9072 2009-11-27  Simon Josefsson  <simon@josefsson.org>
9073
9074         * modules/idpriv-droptemp-tests (Notice): Fix text.
9075
9076 2009-11-27  Jim Meyering  <meyering@redhat.com>
9077
9078         test-xalloc-die: avoid spurious failure due to libtool argv difference
9079         In a libtool-enabled project, this test would fail due to a difference
9080         in the emitted program name, e.g.,
9081         -test-xalloc-die: memory exhausted
9082         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
9083         Use program to avoid that.
9084         * modules/xalloc-die-tests (Depends-on): Add progname.
9085         * tests/test-xalloc-die.c: Include progname.h".
9086         (program_name): Remove decl.
9087         (main): Call set_program_name.
9088         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
9089
9090 2009-11-26  Richard Jones  <rjones@redhat.com>
9091
9092         w32sock: leave win32 error in place.
9093         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
9094
9095 2009-11-26  Eric Blake  <ebb9@byu.net>
9096
9097         init.sh: suggest to use skip_ and fail_ functions in comments
9098         * tests/init.sh: Add a sentence.
9099
9100 2009-11-25  Bruno Haible  <bruno@clisp.org>
9101
9102         init.sh: add documentation in comments
9103         * tests/init.sh: Add some developer and user documentation.
9104
9105 2009-11-26  Jim Meyering  <meyering@redhat.com>
9106
9107         init.sh: accommodate even those who specify bogus srcdir manually
9108         * tests/init.sh: Normally, srcdir is guaranteed by automake and
9109         configure-time tests to be sanitized, so that there is no need to
9110         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
9111         (with no double quotes) suffices.  However, since tests may be
9112         invoked manually, and since you may explicitly set srcdir to the
9113         name of a directory containing spaces, do quote its uses here.
9114         * tests/test-pread.sh: Likewise.
9115         Suggested by Bruno Haible.
9116
9117         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
9118         * tests/test-pread.sh: Write no data into the pipe, because
9119         test-pread actually reads none.  This avoids a diagnostic,
9120         "bash: echo: write error: Broken pipe", that arises in the unusual
9121         event something is ignoring SIGPIPE, and might be interpreted
9122         as some sort of failure.  Reported by Bruno Haible.
9123
9124 2009-11-25  Jim Meyering  <meyering@redhat.com>
9125
9126         test-pread: cover failure with ESPIPE and EINVAL
9127         * tests/test-pread.c (main): Test for failure, too.
9128         * tests/test-pread.sh: Invoke with stdin on a pipe.
9129         Suggested by Eric Blake.
9130
9131         pread: improvement and fix
9132         * modules/pread (Depends-on): Depend on lseek, for portability to
9133         e.g., mingw.  Suggested by Eric Blake.
9134         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
9135
9136         unistd.in.h: correct declaration of pread
9137         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
9138         Reported by Richard W.M. Jones.
9139
9140         test-pread.sh: distribute the test script
9141         * modules/pread-tests (Files): Include test-pread.sh.
9142
9143         test-pread.sh: clean up
9144         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
9145         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
9146         That is unnecessary, since it's always ".".
9147         Suggestion from Eric Blake.
9148
9149         test-pread.sh: make executable
9150         * tests/test-pread.sh: Set executable bit.
9151         Reported by Eric Blake.
9152
9153         correct typo in test-pread.sh
9154         * tests/test-pread.sh: Add #! line.
9155
9156         test pread
9157         * tests/test-pread.c: New file.
9158         * tests/test-pread.sh: Likewise.
9159         * modules/pread-tests: Likewise.
9160
9161         pread: new module
9162         * modules/pread: New file.
9163         * lib/unistd.in.h (pread): Define/declare.
9164         * lib/pread.c (pread): New file.
9165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
9166         * modules/unistd (Makefile.am): Substitute witnesses.
9167         * doc/posix-functions/pread.texi (pread): Update.
9168         * MODULES.html.sh: Add pread.
9169
9170 2009-11-25  Jim Meyering  <meyering@redhat.com>
9171
9172         tests/init.sh: new file to be used via most *.sh tests
9173         * tests/init.sh: New file.
9174
9175 2009-11-25  Eric Blake  <ebb9@byu.net>
9176
9177         utimens: work around older Linux failure with symlinks
9178         * lib/utimens.c (lutimensat_works_really): New variable.
9179         (fdutimens, lutimens): Use it to manage kernels that support
9180         nanosecond times on files, but not on symlinks.
9181         Reported by OndÅ™ej Vašík.
9182
9183         utimes: fix configure grammar
9184         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
9185
9186 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
9187
9188         regex: Fix fastmap for multibyte character ranges.
9189         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
9190         characters when a multibyte character range is included.
9191
9192 2009-11-22  Andy Wingo  <wingo@pobox.com>
9193
9194         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
9195         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
9196
9197 2009-11-24  Bruno Haible  <bruno@clisp.org>
9198
9199         doc: Most *_l functions exist in MacOS X 10.5.
9200         * doc/posix-functions/duplocale.texi: Update platforms list.
9201         * doc/posix-functions/freelocale.texi: Likewise.
9202         * doc/posix-functions/newlocale.texi: Likewise.
9203         * doc/posix-functions/uselocale.texi: Likewise.
9204         * doc/posix-functions/isalnum_l.texi: Likewise.
9205         * doc/posix-functions/isalpha_l.texi: Likewise.
9206         * doc/posix-functions/isblank_l.texi: Likewise.
9207         * doc/posix-functions/iscntrl_l.texi: Likewise.
9208         * doc/posix-functions/isdigit_l.texi: Likewise.
9209         * doc/posix-functions/isgraph_l.texi: Likewise.
9210         * doc/posix-functions/islower_l.texi: Likewise.
9211         * doc/posix-functions/isprint_l.texi: Likewise.
9212         * doc/posix-functions/ispunct_l.texi: Likewise.
9213         * doc/posix-functions/isspace_l.texi: Likewise.
9214         * doc/posix-functions/isupper_l.texi: Likewise.
9215         * doc/posix-functions/iswalnum_l.texi: Likewise.
9216         * doc/posix-functions/iswalpha_l.texi: Likewise.
9217         * doc/posix-functions/iswblank_l.texi: Likewise.
9218         * doc/posix-functions/iswcntrl_l.texi: Likewise.
9219         * doc/posix-functions/iswctype_l.texi: Likewise.
9220         * doc/posix-functions/iswdigit_l.texi: Likewise.
9221         * doc/posix-functions/iswgraph_l.texi: Likewise.
9222         * doc/posix-functions/iswlower_l.texi: Likewise.
9223         * doc/posix-functions/iswprint_l.texi: Likewise.
9224         * doc/posix-functions/iswpunct_l.texi: Likewise.
9225         * doc/posix-functions/iswspace_l.texi: Likewise.
9226         * doc/posix-functions/iswupper_l.texi: Likewise.
9227         * doc/posix-functions/iswxdigit_l.texi: Likewise.
9228         * doc/posix-functions/isxdigit_l.texi: Likewise.
9229         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
9230         * doc/posix-functions/strcasecmp_l.texi: Likewise.
9231         * doc/posix-functions/strcoll_l.texi: Likewise.
9232         * doc/posix-functions/strfmon_l.texi: Likewise.
9233         * doc/posix-functions/strftime_l.texi: Likewise.
9234         * doc/posix-functions/strncasecmp_l.texi: Likewise.
9235         * doc/posix-functions/strxfrm_l.texi: Likewise.
9236         * doc/posix-functions/tolower_l.texi: Likewise.
9237         * doc/posix-functions/toupper_l.texi: Likewise.
9238         * doc/posix-functions/towctrans_l.texi: Likewise.
9239         * doc/posix-functions/towlower_l.texi: Likewise.
9240         * doc/posix-functions/towupper_l.texi: Likewise.
9241         * doc/posix-functions/wcscoll_l.texi: Likewise.
9242         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
9243         * doc/posix-functions/wctrans_l.texi: Likewise.
9244         * doc/posix-functions/wctype_l.texi: Likewise.
9245         * doc/glibc-functions/strptime_l.texi: Likewise.
9246         * doc/glibc-functions/strtod_l.texi: Likewise.
9247         * doc/glibc-functions/strtof_l.texi: Likewise.
9248         * doc/glibc-functions/strtol_l.texi: Likewise.
9249         * doc/glibc-functions/strtold_l.texi: Likewise.
9250         * doc/glibc-functions/strtoll_l.texi: Likewise.
9251         * doc/glibc-functions/strtoul_l.texi: Likewise.
9252         * doc/glibc-functions/strtoull_l.texi: Likewise.
9253         * doc/glibc-functions/wcsftime_l.texi: Likewise.
9254         * doc/glibc-functions/wcstod_l.texi: Likewise.
9255         * doc/glibc-functions/wcstof_l.texi: Likewise.
9256         * doc/glibc-functions/wcstol_l.texi: Likewise.
9257         * doc/glibc-functions/wcstold_l.texi: Likewise.
9258         * doc/glibc-functions/wcstoll_l.texi: Likewise.
9259         * doc/glibc-functions/wcstoul_l.texi: Likewise.
9260         * doc/glibc-functions/wcstoull_l.texi: Likewise.
9261
9262 2009-11-24  Bruno Haible  <bruno@clisp.org>
9263
9264         duplocale: Fix logic bug.
9265         * lib/duplocale.c: Don't include <langinfo.h>.
9266         (_NL_LOCALE_NAME): Remove macro.
9267         (rpl_duplocale): Use setlocale instead of nl_langinfo.
9268         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
9269
9270 2009-11-23  Jim Meyering  <meyering@redhat.com>
9271
9272         test-update-copyright: don't hard-code /usr/bin/perl
9273         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
9274         perl to print the current year.  Gilles Espinasse reported that
9275         the replaced use of perl was hard-coded as /usr/bin/perl.
9276
9277 2009-11-23  Bruno Haible  <bruno@clisp.org>
9278
9279         duplocale: Add support for glibc 2.3.x.
9280         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
9281
9282 2009-11-22  Bruno Haible  <bruno@clisp.org>
9283
9284         vasnprintf: Tiny optimization.
9285         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
9286         MacOS X.
9287
9288 2009-11-22  Bruno Haible  <bruno@clisp.org>
9289
9290         Tests for module 'duplocale'.
9291         * modules/duplocale-tests: New file.
9292         * tests/test-duplocale.c: New file.
9293
9294         New module 'duplocale'.
9295         * m4/duplocale.m4: New file.
9296         * lib/locale.in.h (duplocale): New declaration.
9297         * lib/duplocale.c: New file.
9298         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
9299         gl_LOCALE_H_DEFAULTS): New macros.
9300         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
9301         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
9302         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
9303         REPLACE_DUPLOCALE.
9304         * modules/duplocale: New file.
9305         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
9306
9307 2009-11-22  Bruno Haible  <bruno@clisp.org>
9308
9309         * modules/locale-tests (configure.ac): Test for newlocale function.
9310         * tests/test-locale.c: When the system has extended locale functions,
9311         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
9312
9313         locale: Make locale_t available when possible.
9314         * lib/locale.in.h: Include <xlocale.h> when it exists.
9315         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
9316         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
9317         * modules/locale (Depends-on): Add extensions.
9318         (Makefile.am): Also substitute HAVE_XLOCALE_H.
9319         * doc/posix-headers/locale.texi: Document the problem with locale_t.
9320
9321 2009-11-22  Bruno Haible  <bruno@clisp.org>
9322
9323         Add comments.
9324         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
9325         invocation.
9326         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
9327         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9328         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
9329
9330 2009-11-22  Bruno Haible  <bruno@clisp.org>
9331
9332         error: account for the possibility of freopen (stdout).
9333         * lib/error.c: Include <unistd.h>.
9334         (flush_stdout): New function, extracted from error and error_at_line.
9335         Determine stdout's fd dynamically.
9336         (error, error_at_line): Invoke flush_stdout.
9337         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
9338         * modules/error (Depends-on): Add unistd.
9339
9340 2009-11-22  Bruno Haible  <bruno@clisp.org>
9341
9342         diffseq: Add comment.
9343         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
9344
9345 2009-11-22  Jim Meyering  <meyering@redhat.com>
9346
9347         c-stack: avoid defining an unused static function
9348         * lib/c-stack.c (find_stack_direction): Do not define this function
9349         when it will not be used.
9350
9351         diffseq: avoid spurious gcc warnings
9352         * lib/diffseq.h (IF_LINT2): Define.
9353         (compareseq): Use it to initialize two members of "part".
9354         This avoids two used-uninitialized warnings.
9355
9356 2009-11-21  Jim Meyering  <meyering@redhat.com>
9357
9358         c-stack: avoid "ignoring return value of `write'" warning
9359         * lib/c-stack.c: Include "ignore-value.h".
9360         (die): Explicitly ignore each write return value.
9361         * modules/c-stack (Depends-on): Add ignore-value.
9362
9363 2009-11-21  Bruno Haible  <bruno@clisp.org>
9364
9365         diffseq: reduce scope of variable 'best'.
9366         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
9367         variable, earlier used for two different purposes.
9368
9369 2009-11-21  Jim Meyering  <meyering@redhat.com>
9370
9371         diffseq: remove useless assignment to "best"
9372         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
9373         assignment.  At that point "best" is already guaranteed to be zero.
9374
9375 2009-11-20  Eric Blake  <ebb9@byu.net>
9376
9377         build: mention ftp redirector in release announcements
9378         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
9379         values that used to come from cfg.mk; mention FTP redirect URL.
9380         * build-aux/announce-gen: Mention the mirror list.
9381         Suggested by Karl Berry.
9382
9383         nanosleep: improve port to mingw
9384         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
9385         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
9386         LIB_NANOSLEEP, but only when needed.
9387         * modules/select (Link): Document LIBSOCKET.
9388         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
9389         enough.
9390
9391         nanosleep: work around cygwin bug
9392         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
9393         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
9394         bug.
9395         (getnow): Delete, not needed.
9396         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
9397         LIB_CLOCK_GETTIME.
9398         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
9399         clock-time, gettime.
9400         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
9401         bug.
9402         * modules/nanosleep-tests: New test.
9403         * tests/test-nanosleep.c: New file.
9404
9405         sleep: work around cygwin bug
9406         * lib/sleep.c (rpl_sleep): Work around the bug.
9407         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
9408         (gl_PREREQ_SLEEP): Delete unused macro.
9409         * modules/sleep (Depends-on): Add verify.
9410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
9411         * modules/unistd (Makefile.am): Substitute witness.
9412         * lib/unistd.in.h (sleep): Update prototype.
9413         * doc/posix-functions/sleep.texi (sleep): Document the bug.
9414         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
9415         * modules/sleep-tests (Depends-on): Check for alarm.
9416
9417 2009-11-20  Jim Meyering  <meyering@redhat.com>
9418
9419         maint.mk: improve sc_prohibit_magic_number_exit
9420         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
9421         so it does not match uses like System.exit(1).
9422         Add comments showing how to correct all offenders.
9423
9424 2009-11-19  Eric Blake  <ebb9@byu.net>
9425
9426         xalloc-die-tests: add missing library
9427         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
9428
9429         test-xvasprintf: silence compiler warnings
9430         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
9431         empty string from gcc.
9432
9433 2009-11-19  Jim Meyering  <meyering@redhat.com>
9434
9435         xfreopen: new module, from coreutils
9436         * modules/xfreopen: New module.
9437         * lib/xfreopen.c: New file.
9438         * lib/xfreopen.h: New file.
9439         * MODULES.html.sh (File stream based Input/Output"): Add it.
9440
9441 2009-11-19  Eric Blake  <ebb9@byu.net>
9442
9443         manywarnings: depend on warnings
9444         * modules/manywarnings (Depends-on): Add warnings.
9445
9446         build: avoid compiler warnings
9447         * lib/select.c (rpl_select): Delete unused variable.
9448         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
9449
9450 2009-11-18  Eric Blake  <ebb9@byu.net>
9451
9452         tests: avoid false negative with --with-packager
9453         * tests/test-version-etc.sh: Discard packager information.
9454         * tests/test-argp-version-etc-1.sh: Likewise.
9455         Reported by Mike Frysinger.
9456
9457         utimens: fix regression on Solaris
9458         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
9459         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
9460         can only change fd timestamps via futimesat.  Instead, use an
9461         additional witness macro to avoid BSD bug.
9462         Reported by Jim Meyering.
9463
9464 2009-11-17  Eric Blake  <ebb9@byu.net>
9465
9466         usleep: use it to simplify tests
9467         * modules/stat-time-tests (Depends-on): Add usleep.
9468         (configure.ac): Drop usleep check.
9469         * modules/chown-tests (Depends-on, configure.ac): Likewise.
9470         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
9471         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
9472         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
9473         * modules/openat-tests (Depends-on, configure.ac): Likewise.
9474         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
9475         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
9476         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
9477         Likewise.
9478         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
9479         * tests/test-lchown.h (nap): Likewise.
9480         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
9481         * tests/test-stat-time.c (nap): Likewise.
9482         * tests/test-utimens-common.h (nap): Update comments.
9483
9484         usleep: new module
9485         * modules/usleep: New file.
9486         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
9487         * lib/usleep.c (usleep): Likewise.
9488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
9489         * modules/unistd (Makefile.am): Substitute witnesses.
9490         * lib/unistd.in.h (usleep): Add declaration.
9491         * doc/pastposix-functions/usleep.texi (usleep): Document this.
9492         * MODULES.html.sh (Date and time): Likewise.
9493         * modules/usleep-tests (Depends-on): New test.
9494         * tests/test-usleep.c: New file.
9495
9496         chown: work around OpenBSD bug
9497         * lib/chown.c (rpl_chown): Work around the bug.
9498         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
9499         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
9500         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
9501         * modules/chown (Depends-on): Add stdbool.
9502         * modules/lchown (Depends-on): Likewise.
9503         * doc/posix-functions/chown.texi (chown): Document the bug.
9504         * doc/posix-functions/lchown.texi (lchown): Likewise.
9505         * tests/test-lchown.h (test_chown): Relax test.
9506
9507         mkstemp: avoid conflict with C++ keyword template
9508         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
9509         * lib/mkostemp.c (mkostemp): Likewise.
9510         * lib/mkostemps.c (mkostemps): Likewise.
9511         * lib/mkstemp.c (mkstemp): Likewise.
9512         * lib/mkstemps.c (mkstemps): Likewise.
9513
9514         xalloc-die-tests: optimize
9515         * tests/test-xalloc-die.sh: Reduce number of processes.
9516
9517 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9518
9519         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
9520         patch from ludo@gnu.org (Ludovic Courtès).
9521
9522 2009-11-17  Jim Meyering  <meyering@redhat.com>
9523
9524         version-etc: use proper license string
9525         * modules/version-etc (License): Use LGPL, not LGPLv3+.
9526         * modules/version-etc-fsf: Likewise.
9527
9528 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9529
9530         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
9531         printed to stdout.  Deal with EOL differences.
9532
9533 2009-11-17  Eric Blake  <ebb9@byu.net>
9534
9535         unsetenv: work around Solaris bug
9536         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
9537         * lib/unsetenv.c (rpl_unsetenv): Work around it.
9538         Reported by Jim Meyering.
9539
9540         vasnprintf: avoid compiler warnings
9541         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
9542         variables.
9543         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
9544
9545 2009-11-17  Simon Josefsson  <simon@josefsson.org>
9546
9547         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
9548         settings since xalloc-die is no longer the self test,
9549         xalloc-die.sh is.
9550
9551 2009-11-17  Jim Meyering  <meyering@redhat.com>
9552
9553         test-xalloc-die.sh: make the code agree with the commit log
9554         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
9555         at the end, just in case you happen to have a test-xalloc-die
9556         program in some other PATH directory.
9557
9558         test-xalloc-die.sh: fix a portability bug
9559         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
9560         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
9561         Otherwise, argv[0] (as often seen in diagnostics) would be too
9562         system-dependent, sometimes with, and sometimes without the leading "./".
9563
9564         version-etc-fsf: relax license to LGPLv3+
9565         * modules/version-etc-fsf (License): Relax license.
9566
9567 2009-11-16  Eric Blake  <ebb9@byu.net>
9568
9569         xalloc-die-tests: avoid printing null pointer
9570         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
9571         shell script.
9572         * tests/test-xalloc-die.c (program_name): Declare.
9573         * tests/test-xalloc-die.sh (tmpfiles): New file.
9574
9575         setenv, unsetenv: work around various bugs
9576         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
9577         (setenv) [HAVE_SETENV]: Work around bugs.
9578         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
9579         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
9580         for bugs.
9581         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
9582         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
9583         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
9584         * modules/stdlib (Makefile.am): Update substitutions.
9585         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
9586         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
9587         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
9588         * modules/setenv-tests: New test.
9589         * modules/unsetenv-tests: Likewise.
9590         * tests/test-setenv.c: New file.
9591         * tests/test-unsetenv.c: Likewise.
9592
9593 2009-11-16  Jim Meyering  <meyering@redhat.com>
9594
9595         version-etc: relax license to LGPLv3+
9596         * modules/version-etc (License): Relax license.
9597
9598         better AC_REQUIRE expanded-before-required-warning avoidance
9599         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
9600         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
9601         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
9602         which is no longer needed.
9603
9604 2009-11-16  Eric Blake  <ebb9@byu.net>
9605
9606         test-freading: clean up temporary file
9607         * tests/test-freading.c (main): Remove file on success, and use
9608         ASSERT more liberally.
9609         Reported by Jim Meyering.
9610
9611 2009-11-16  Jim Meyering  <meyering@redhat.com>
9612
9613         avoid new AC_REQUIRE expanded-before-required warnings
9614         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
9615         merely using it.
9616         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
9617         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
9618
9619 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9620
9621         * tests/test-xalloc-die.c: New file.
9622         * modules/xalloc-die-tests: New file.
9623         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
9624         XFAIL_TESTS so it can be appended by modules.
9625
9626 2009-11-15  Simon Josefsson  <simon@josefsson.org>
9627
9628         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
9629         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
9630
9631 2009-11-14  Eric Blake  <ebb9@byu.net>
9632
9633         fnmatch: avoid compiler warning
9634         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
9635         to silence compiler warning about mismatch signedness in ?:.
9636         Reported by Robert Millan.
9637
9638         intprops: add double-inclusion guard
9639         * lib/intprops.h: Allow idempotent includes.
9640         Suggested by Bruce Korb.
9641
9642         openat: detect Solaris fchownat bug
9643         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
9644         penalizing glibc chownat when only lchownat is broken.
9645         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
9646         trailing slash bugs.
9647         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
9648         * modules/openat-tests (Files): Include more files.
9649         (Depends-on): Add mgetgroups, sleep, stat-time.
9650         (configure.ac): Add additional checks.
9651         (Makefile.am): Build new test.
9652         * tests/test-fchownat.c: New file.
9653
9654         lchown: detect Solaris and FreeBSD bug
9655         * lib/lchown.c (rpl_lchown): Work around bug.
9656         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
9657         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9658         * modules/unistd (Makefile.am): Populate it.
9659         * lib/unistd.in.h (lchown): Update declaration.
9660         * doc/posix-functions/lchown.texi (lchown): Document the bug.
9661         * modules/lchown-tests: New file.
9662         * tests/test-lchown.h (test_lchown): Likewise.
9663         * tests/test-lchown.c (main): Likewise.
9664
9665         chown: detect Solaris and FreeBSD bug
9666         * lib/chown.c (rpl_chown): Work around bug.
9667         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
9668         (gl_PREREQ_CHOWN): Delete.
9669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9670         * modules/unistd (Makefile.am): Populate it.
9671         * lib/unistd.in.h (chown): Update declaration.
9672         * lib/lchown.c (chown): Update client.
9673         * modules/lchown (Depends-on): Add lstat.
9674         * doc/posix-functions/chown.texi (chown): Document the bug.
9675         * doc/posix-functions/getgroups.texi (getgroups): Document
9676         getgroups pitfall.
9677         * modules/chown-tests: New file.
9678         * tests/test-chown.h (test_chown): Likewise.
9679         * tests/test-chown.c (main): Likewise.
9680
9681 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
9682
9683         gnulib-tool: correctly detect absence of m4 directories
9684         * gnulib-tool: Avoid extra newline on data passed to wc -l.
9685
9686 2009-11-14  Jim Meyering  <meyering@redhat.com>
9687
9688         maint.mk: Prohibit inclusion of "xalloc.h" without use.
9689         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9690
9691 2009-11-14  John W. Eaton  <jwe@gnu.org>
9692
9693         strftime.h: wrap funtion declaration in extern "C" block
9694         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
9695
9696 2009-11-13  Eric Blake  <ebb9@byu.net>
9697
9698         getgroups: avoid compiler warning
9699         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
9700
9701         getgroups: work around FreeBSD bug
9702         * lib/getgroups.c (rpl_getgroups): Work around the bug.
9703         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
9704         * doc/posix-functions/getgroups.texi (getgroups): Document it.
9705         * tests/test-getgroups.c (main): Fix buffer overrun.
9706
9707         getgroups: avoid compilation failure
9708         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
9709         * modules/getgroups (Depends-on): Add stdint.
9710
9711 2009-11-13  Jim Meyering  <meyering@redhat.com>
9712
9713         test-getgroups: avoid compilation failure
9714         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
9715
9716 2009-11-13  Eric Blake  <ebb9@byu.net>
9717
9718         mgetgroups: new module, taken from coreutils
9719         * modules/mgetgroups: New file.
9720         * lib/mgetgroups.h: Likewise.
9721         * lib/mgetgroups.c (mgetgroups): Likewise.
9722         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
9723         * MODULES.html.sh (Users and groups): Mention it.
9724
9725         getgroups: don't expose GETGROUPS_T to user
9726         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
9727         an element at a time if GETGROUPS_T is wrong size.
9728         * lib/getugroups.h (getugroups): Change signature.
9729         * lib/unistd.in.h (getgroups): Likewise.
9730         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
9731         signature needs fixing.
9732         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
9733         AC_TYPE_GETGROUPS.
9734         * modules/group-member (Depends-on): Add getgroups.
9735         * lib/group-member.c (group_info, get_group_info): Use gid_t.
9736         (group_member): Rely on getgroups replacement.
9737         * lib/getugroups.c (getugroups): Use gid_t.
9738         * tests/test-getgroups.c (main): Likewise.
9739         * NEWS: Mention the signature change.
9740         * doc/posix-functions/getgroups.texi (getgroups): Mention the
9741         problem with signature.
9742         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
9743         GETGROUPS_T is still useful for setgroups.
9744
9745         getgroups, getugroups: provide stubs for mingw
9746         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
9747         * lib/getugroups.c (getugroups): Likewise.
9748         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
9749         function.  Modernize replacement scheme.
9750         (gl_PREREQ_GETGROUPS): Delete.
9751         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
9752         * modules/getgroups (configure.ac): Declare witness.
9753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
9754         * modules/unistd (Depends-on): Substitute witness.
9755         * lib/unistd.in.h (getgroups): Declare replacement.
9756
9757         getgroups: avoid calling exit
9758         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
9759         drop xalloc.
9760         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
9761         dependencies.
9762         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
9763         exiting, in the rare case of malloc failure.
9764
9765         getgroups: fix logic error
9766         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
9767         has more than 20 groups.
9768         * modules/getgroups-tests: New test.
9769         * tests/test-getgroups.c: New file.
9770
9771 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9772
9773         * tests/test-base64.c: Improve.
9774
9775 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9776
9777         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
9778         Blake <ebb9@byu.net>.
9779
9780 2009-11-13  Simon Josefsson  <simon@josefsson.org>
9781
9782         * tests/test-xvasprintf.c: Add %s%s related checks.
9783
9784 2009-11-12  Eric Blake  <ebb9@byu.net>
9785
9786         version-etc: match standards.texi style
9787         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
9788         and use <> only for URLs.
9789
9790 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
9791
9792         fts: do not fail on a submount during traversal
9793         * lib/fts.c (fts_build): Read the stat info again after opening
9794         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
9795         Original report at http://bugzilla.redhat.com/501848.
9796
9797 2009-11-12  Jim Meyering  <meyering@redhat.com>
9798
9799         bootstrap: sync from coreutils
9800         * build-aux/bootstrap (bootstrap_epilogue): New function.
9801         Use git_modules_config in one more place.  This make bootstrap's
9802         --gnulib-srcdir option more useful for testing.
9803
9804         bootstrap: generalize autoheader check
9805         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
9806         AC_CONFIG_HEADERS.
9807
9808 2009-11-11  Eric Blake  <ebb9@byu.net>
9809
9810         mkfifoat: use new modules for Solaris and BSD bugs
9811         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
9812         * lib/mkfifoat.c (mknodat): Split...
9813         * lib/mknodat.c (mknodat): ...into new file.
9814         * modules/mkfifoat (Files): Ship new file.
9815         (Depends-on): Add mkfifo, mknod.
9816         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
9817         (Depends-on): Add symlink.
9818         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
9819         redundant with test_mkfifo.h.
9820         (do_mkfifoat, do_mknodat): New helpers.
9821
9822         mknod: new module
9823         * modules/mknod: New file.
9824         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
9825         * lib/mknod.c (mknod): Likewise.
9826         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9827         defaults.
9828         * modules/sys_stat (Makefile.am): Substitute them.
9829         * lib/sys_stat.in.h (mknod): Declare replacement.
9830         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9831         Document it.
9832         * doc/posix-functions/mknod.texi (mknod): Likewise.
9833         * modules/mknod-tests: New test.
9834         * tests/test-mknod.c: Likewise.
9835
9836         mkfifo: new module
9837         * modules/mkfifo: New file.
9838         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9839         * lib/mkfifo.c (mkfifo): Likewise.
9840         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9841         defaults.
9842         * modules/sys_stat (Makefile.am): Substitute them.
9843         * lib/sys_stat.in.h (mkfifo): Declare replacement.
9844         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9845         Document it.
9846         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
9847         * modules/mkfifo-tests: New test.
9848         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
9849         from test-mkfifoat.c.
9850         * tests/test-mkfifo.c: New file.
9851
9852         readlink: detect FreeBSD bug
9853         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
9854         slash on symlink.
9855         * doc/posix-functions/readlink.texi (readlink): Document the bug.
9856         * tests/test-readlink.h (test_readlink): Enhance test.
9857
9858         symlink: detect FreeBSD bug
9859         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
9860         slash on symlink.
9861         * doc/posix-functions/symlink.texi (symlink): Document the bug.
9862         * tests/test-symlink.h (test_symlink): Enhance test.
9863
9864 2009-11-10  Eric Blake  <ebb9@byu.net>
9865
9866         link: detect FreeBSD bug
9867         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
9868         symlink.
9869         * doc/posix-functions/link.texi (link): Document the bug.
9870         * tests/test-link.h (test_link): Enhance test.
9871         * tests/test-linkat.c (main): Update caller.
9872
9873         unlink, remove: detect FreeBSD bug
9874         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
9875         slash on symlink.
9876         * doc/posix-functions/unlink.texi (unlink): Document the bug.
9877         * doc/posix-functions/remove.texi (remove): Likewise.
9878         * tests/test-unlink.h (test_unlink): Enhance test.
9879         * tests/test-remove.c (main): Likewise.
9880
9881 2009-11-09  Eric Blake  <ebb9@byu.net>
9882
9883         rename: detect FreeBSD bug
9884         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
9885         slash on symlink.
9886         * modules/renameat-tests (Depends-on): Add filenamecat.
9887         * tests/test-rename.h (test_rename): Allow one more errno.
9888         * tests/test-renameat.c (main): Likewise.
9889         * doc/posix-functions/rename.texi (rename): Document the bug.
9890
9891         open: detect FreeBSD bug
9892         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
9893         symlink.
9894         * doc/posix-functions/open.texi (open): Document the bug.
9895         * doc/posix-functions/utimes.texi (utimes): Likewise.
9896         * tests/test-open.h (test_open): Add parameters, and test symlink
9897         handling.
9898         * tests/test-open.c (main): Adjust caller.
9899         * tests/test-fcntl-safer.c (main): Likewise.
9900         * modules/open-tests (Depends-on): Add stdbool, symlink.
9901         * modules/fcntl-safer-tests (Depends-on): Likewise.
9902         * tests/test-openat.c (main): Add test-open tests.
9903
9904         stat: detect FreeBSD bug
9905         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
9906         symlink.
9907         * doc/posix-functions/stat.texi (stat): Document the bug.
9908         * tests/test-stat.h (test_stat_func): Add argument.
9909         * tests/test-stat.c (main): Adjust caller.
9910         * tests/test-fstatat.c (main): Likewise.
9911         * modules/stat-tests (Depends-on): Add stdbool, symlink.
9912         Reported by Jim Meyering.
9913
9914 2009-11-09  James Youngman  <jay@gnu.org>
9915
9916         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
9917         * lib/strftime.c: Correct placement of #include "ignore-value.h".
9918
9919 2009-11-08  Jim Meyering  <meyering@redhat.com>
9920
9921         utimens: remove invalid futimesat call
9922         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
9923         It used the file descriptor of the target file as the DIR_FD
9924         parameter and NULL as the file name.  That caused failure with
9925         errno == EFAULT on FreeBSD-8.0-rc2
9926
9927 2009-11-07  Eric Blake  <ebb9@byu.net>
9928
9929         fflush, freadseek: use fseeko, not fseek
9930         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
9931         (clear_ungetc_buffer): Avoid potential problems on large files.
9932         * lib/freadseek.c (freadseek): Likewise.
9933         * modules/freadseek (Depends-on): Add fseeko.
9934         * modules/fseek (configure.ac): Set a witness.
9935         * tests/test-fflush.c (main): Use fseeko.
9936         * tests/test-fpurge.c (fseek): Disable link warning.
9937         * tests/test-freadable.c (fseek): Likewise.
9938         * tests/test-freading.c (fseek): Likewise.
9939         * tests/test-fseeko.c (fseek): Likewise.
9940         * tests/test-ftell.c (fseek): Likewise.
9941         * tests/test-ftello.c (fseek): Likewise.
9942         * tests/test-fwritable.c (fseek): Likewise.
9943         * tests/test-fwriting.c (fseek): Likewise.
9944
9945 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9946
9947         * modules/memchr (Depends-on): Drop getpagesize dependency.
9948
9949 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9950
9951         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
9952         Reported by Ludovic Courtès.
9953         * build-aux/pmccabe2html: Improve example usage.
9954         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
9955
9956 2009-11-06  Jim Meyering  <meyering@redhat.com>
9957
9958         do-release-commit-and-tag: New module.
9959         Automate the release-commit and tag process.
9960         * build-aux/do-release-commit-and-tag: New script, from coreutils.
9961         * modules/do-release-commit-and-tag: New file.
9962         * MODULES.html.sh (Support for maintaining and releasing): Add it.
9963
9964 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9965
9966         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
9967         because test-select.c uses inet_pton.
9968
9969 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9970
9971         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
9972         GETADDRINFO_LIB.  Bump serial number.
9973         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
9974         Suggested by Eric Blake <ebb9@byu.net>.
9975
9976 2009-11-05  Eric Blake  <ebb9@byu.net>
9977
9978         strtod: detect darwin bug
9979         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
9980         Reported by Leo Davis.
9981
9982         freopen-safer: new module
9983         * modules/freopen-safer: New module.
9984         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
9985         * lib/freopen-safer.c (freopen_safer): New file.
9986         * lib/stdio-safer.h (freopen_safer): New declaration.
9987         * lib/stdio--.h (freopen): New override.
9988         * MODULES.html.sh (File stream based Input/Output): Mention it.
9989         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
9990         freopen-safer module.
9991         * doc/posix-functions/stderr.texi (stderr): Likewise.
9992         * doc/posix-functions/stdin.texi (stdin): Likewise.
9993         * doc/posix-functions/stdout.texi (stdout): Likewise.
9994         * modules/freopen-safer-tests: New test.
9995         * tests/test-reopen-safer.c: New file.
9996
9997 2009-11-05  Jim Meyering  <meyering@redhat.com>
9998
9999         maint.mk: Prohibit inclusion of "close-stream.h" without use.
10000         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
10001
10002 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10003
10004         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
10005
10006 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10007
10008         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
10009
10010 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10011
10012         Fix link error.
10013         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
10014         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
10015
10016 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10017
10018         * tests/test-func.c: Also test value of __func__.
10019
10020 2009-11-05  Simon Josefsson  <simon@josefsson.org>
10021
10022         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
10023         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
10024
10025 2009-11-05  Bruno Haible  <bruno@clisp.org>
10026
10027         Fix link error.
10028         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
10029         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
10030         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
10031
10032 2009-11-05  Bruno Haible  <bruno@clisp.org>
10033
10034         Tests for module 'inet_pton'.
10035         * modules/inet_pton-tests: New file.
10036         * tests/test-inet_pton.c: New file.
10037
10038 2009-11-05  Bruno Haible  <bruno@clisp.org>
10039
10040         Tests for module 'inet_ntop'.
10041         * modules/inet_ntop-tests: New file.
10042         * tests/test-inet_ntop.c: New file.
10043
10044 2009-11-04  Eric Blake  <ebb9@byu.net>
10045
10046         stdlib-safer: wrap all mkstemp variants
10047         * modules/mkostemp (configure.ac): Set witness.
10048         * modules/mkostemps (configure.ac): Likewise.
10049         * modules/mkstemps (configure.ac): Likewise.
10050         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
10051         (mkstemps_safer): Wrap more functions.
10052         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
10053         wrapping.
10054         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
10055         (mkstemps_safer): Implement the wrappers.
10056
10057         mkstemps, mkostemps: new modules
10058         * modules/mkostemps: New module.
10059         * modules/mkstemps: Likewise.
10060         * lib/mkostemps.c (mkostemps): New file.
10061         * lib/mkstemps.c (mkstemps): Likewise.
10062         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
10063         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
10064         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
10065         * modules/stdlib (Makefile.am): Substitute them.
10066         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
10067         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
10068         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
10069         * doc/gnulib.texi (Glibc stdlib.h): Include them.
10070         * MODULES.html.sh (File system functions): Mention them.
10071
10072         tempname: resync from glibc
10073         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
10074         same values for __GT_FILE as glibc.  Abort even when assertions
10075         are disabled.
10076         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
10077         match its value otherwise.  Allow idempotent inclusion.
10078         * lib/mkdtemp.c (mkdtemp): Adjust caller.
10079         * lib/mkostemp.c (mkostemp): Likewise.
10080         * lib/mkstemp.c (mkstemp): Likewise.
10081         * lib/tmpfile.c (tmpfile): Likewise.
10082         * NEWS: Document this.
10083
10084         utimens: fix use of futimens on older Linux
10085         * lib/utimens.c (fdutimens): Use updated, rather than original,
10086         timespec to avoid bug in older Linux kernel.
10087         Reported by Simon Josefsson.
10088
10089 2009-11-04  Bruno Haible  <bruno@clisp.org>
10090
10091         Make num_processors more flexible and consistent.
10092         * lib/nproc.h (enum nproc_query): New type.
10093         (num_processors): Add a 'query' argument.
10094         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
10095         (num_processors): Add a 'query' argument. Test the value of the
10096         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
10097         mingw, count the number of CPUs available for the current process.
10098         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
10099         Check for sched_getaffinity and sched_getaffinity_np.
10100         * modules/nproc (Depends-on): Add c-ctype, extensions.
10101         * NEWS: Mention the change.
10102
10103 2009-11-03  Bruno Haible  <bruno@clisp.org>
10104
10105         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
10106
10107 2009-11-03  Jim Meyering  <meyering@redhat.com>
10108
10109         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
10110         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
10111         if it is defined.
10112
10113 2009-11-02  Eric Blake  <ebb9@byu.net>
10114
10115         mktime, timegm: share common declaration
10116         * lib/mktime-internal.h: New file.
10117         * lib/mktime.c: Use it rather than open-coding a declaration.
10118         * lib/timegm.c: Likewise.
10119         * modules/mktime (Files): Ship it.
10120         * modules/timegm (Files): Likewise.
10121         Suggested by Bruno Haible.
10122
10123         test-update-copyright: update test to match script changes
10124         * tests/test-update-copyright.sh: Avoid hard-coding perl
10125         location.  Don't update *.bak created by earlier runs.
10126
10127 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
10128             Simon Josefsson  <simon@josefsson.org>
10129             Bruno Haible  <bruno@clisp.org>
10130
10131         Fix link error on Solaris 8.
10132         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
10133         also in libnsl. Define also INET_PTON_LIB.
10134         * modules/inet_pton (Link): New section.
10135
10136 2009-11-02  Simon Josefsson  <simon@josefsson.org>
10137             Bruno Haible  <bruno@clisp.org>
10138
10139         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
10140         * modules/inet_ntop (Link): New section.
10141         Reported by Boyan Kasarov <bkasarov@gmail.com>.
10142
10143 2009-11-02  Eric Blake  <ebb9@byu.net>
10144
10145         maint: avoid compiler warnings in m4 macros
10146         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
10147         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
10148
10149 2009-11-02  Simon Josefsson  <simon@josefsson.org>
10150
10151         * m4/pmccabe2html.m4: Remove file.
10152         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
10153         function.  Change maintainer.
10154         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
10155         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
10156         Courtès).
10157
10158 2009-10-31  Eric Blake  <ebb9@byu.net>
10159
10160         fseeko: fix m4 regression
10161         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
10162         regression from 2009-10-27.
10163         Reported by Ralf Wildenhues.
10164
10165 2009-10-31  Jim Meyering  <meyering@redhat.com>
10166
10167         inttostr: aesthetics and improved (compile-time) safety
10168         Define inttype_is_signed rather than inttype_is_unsigned,
10169         since the sole use is via "#if inttype_is_signed".
10170         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
10171         inttype_is_unsigned.
10172         * lib/offtostr.c (inttype_is_signed): Likewise.
10173         * lib/uinttostr.c (inttype_is_signed): Likewise.
10174         * lib/umaxtostr.c (inttype_is_signed): Likewise.
10175         * lib/inttostr.c (inttostr): Use verify to cross-check the
10176         inttype_is_signed value and the signedness of the actual type.
10177         * modules/inttostr (Depends-on): Add verify.
10178
10179 2009-10-30  Eric Blake  <ebb9@byu.net>
10180
10181         build: avoid compiler warnings
10182         * lib/fchmodat.c (lchmod): Mark unused variables.
10183         * lib/getopt.c (_getopt_initialize): Likewise.
10184         * lib/mktime.c (__mktime_internal): Provide prototype.
10185         * lib/inttostr.c (inttostr): Avoid compiler warning even with
10186         older gcc that do not understand #pragma GCC diagnostic.
10187         * lib/uinttostr.c (inttype_is_unsigned): Define.
10188         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
10189
10190 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
10191
10192         stat: fix compilation on AIX
10193         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
10194         only see struct stat64.
10195
10196 2009-10-30  Eric Blake  <ebb9@byu.net>
10197
10198         exclude: make more robust
10199         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
10200         rather than masking a coding bug.
10201         Suggested by Bruno Haible.
10202
10203 2009-10-30  Jim Meyering  <meyering@redhat.com>
10204
10205         perl scripts: remove #!/usr/bin/perl in favor of more portable...
10206         Rather than putting #!/usr/bin/perl on the first line,
10207         start with a variant of what's recommended by "man perlrun" that
10208         invokes the first "perl" program from your shell's search path.
10209         * build-aux/gitlog-to-changelog: Replace #!... as above.
10210         Add a "Local Variables" perl mode setting.
10211         Prompted by a patch from Ludovic Courtès.
10212         Improved by Eric Blake.
10213         * build-aux/useless-if-before-free: Likewise.
10214         * build-aux/announce-gen: Likewise.
10215         * build-aux/update-copyright: Likewise.
10216
10217 2009-10-29  Eric Blake  <ebb9@byu.net>
10218
10219         filenamecat-lgpl: adjust clients
10220         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
10221         filenamecat.
10222         * modules/renameat (Depends-on): Likewise.
10223
10224         filenamecat: split into filenamecat-lgpl
10225         * modules/filenamecat-lgpl: New module.
10226         * modules/filenamecat (Files): Move library-safe files into
10227         filenamecat-lgpl.
10228         (Depends-on): Add filenamecat-lgpl.
10229         (configure.ac): Declare witness.
10230         * lib/filenamecat.h (file_name_concat): Only declare when using
10231         GPL module.
10232         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
10233         Move...
10234         * lib/filenamecat-lgpl.c: ...into new file.
10235         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
10236         (gl_FILE_NAME_CONCAT): Use it.
10237         * MODULES.html.sh (File system functions): Mention new module.
10238
10239         argp: avoid memory leak
10240         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
10241         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
10242         base_name, since the latter malloc()s and can call exit().
10243         Leak introduced 2006-07-03.
10244
10245         dirname-lgpl: adjust clients that don't need full dirname
10246         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
10247         * modules/filenamecat (Depends-on): Likewise.
10248         * modules/linkat (Depends-on): Likewise.
10249         * modules/mkancesdirs (Depends-on): Likewise.
10250         * modules/mkdir (Depends-on): Likewise.
10251         * modules/openat (Depends-on): Likewise.
10252         * modules/savewd (Depends-on): Likewise.
10253         * modules/rename (Depends-on): Likewise.
10254         (License): Relax license.
10255         * modules/mkdir-tests (Depends-on): Drop progname.
10256         (Makefile.am): Delete unneeded LDADD.
10257         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
10258
10259         dirname: split into dirname-lgpl
10260         * modules/dirname-lgpl: New module.
10261         * modules/dirname (Files): Move library-safe files into
10262         dirname-lgpl.
10263         (Depends-on): Add dirname-lgpl.
10264         (configure.ac): Declare witness.
10265         * modules/double-slash-root (License): Relax license.
10266         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
10267         module.
10268         * lib/dirname.c (dir_len, mdir_name): Move...
10269         * lib/dirname-lgpl.c: ...into new file.
10270         * lib/basename.c (last_component, base_len): Move...
10271         * lib/basename-lgpl.c: ...into new file.
10272         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
10273         (gl_DIRNAME): Use it.
10274         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
10275         Mention new module.
10276         * modules/dirname-tests (Depends-on): Add progname.
10277         * tests/test-dirname.c (program_name): Delete.
10278
10279         mkdir: make safe for libraries
10280         * modules/mkdir (Depends-on): Drop xalloc.
10281         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
10282         exit.
10283
10284         tests: avoid some compiler warnings
10285         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
10286         literals.
10287         * tests/test-memchr.c (main): Avoid type mismatch.
10288         * tests/test-arpa_inet.c (main): Avoid unused parameters.
10289         * tests/test-base64.c (main): Likewise.
10290         * tests/test-getdelim.c (main): Likewise.
10291         * tests/test-gethostname.c (main): Likewise.
10292         * tests/test-getline.c (main): Likewise.
10293         * tests/test-netinet_in.c (main): Likewise.
10294         * tests/test-select.c (open_server_socket, main): Likewise.
10295         * tests/test-select-stdin.c (main): Likewise.
10296         * tests/test-sockets.c (main): Likewise.
10297         * tests/test-strsignal.c (main): Likewise.
10298         * tests/test-sys_select.c (main): Likewise.
10299         * tests/test-sys_socket.c (main): Likewise.
10300         * tests/test-u64.c (main): Likewise.
10301         * tests/test-xfprintf-posix.c (main): Likewise.
10302         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
10303
10304         sockets: avoid compiler warning
10305         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
10306
10307         maint: detect usage(1) and other suspicious exits
10308         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
10309
10310 2009-10-29  Jim Meyering  <meyering@redhat.com>
10311
10312         timespec: long-to-int truncation could make timespec_cmp malfunction
10313         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
10314         a multiple of 2^32 nanoseconds as no difference.
10315
10316 2009-10-28  Jim Meyering  <meyering@redhat.com>
10317
10318         fprintftime: wrap macro code argument in "do {...} while(0)"
10319         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
10320         cpy macro must be a statement that can be followed by a semicolon.
10321         Now that the else clause contains a comment and is hence longer
10322         than one line, I require curly braces.  That in turn requires
10323         that we wrap this code block in the standard do...while(0).
10324
10325         fprintftime: remove stray semicolon from previous change
10326         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
10327
10328         fprintftime: avoid a warning about ignored fwrite return value
10329         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
10330         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
10331         that is unsafe.
10332         * modules/fprintftime (Depends-on): Add ignore-value.
10333
10334         exclude: avoid an unwarranted warning
10335         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
10336
10337 2009-10-27  Eric Blake  <ebb9@byu.net>
10338
10339         fseek: avoid compilation failure when fflush is replaced
10340         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
10341         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
10342         module is in use.
10343         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
10344         module is not in use; since REPLACE_FSEEK worked otherwise.
10345         (GNULIB_FTELLO): Likewise for ftell.
10346         Reported by Ian Beckwith and others.
10347
10348 2009-10-27  Bruno Haible  <bruno@clisp.org>
10349
10350         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
10351         Reported by Jim Meyering.
10352
10353 2009-10-27  Jim Meyering  <jim@meyering.net>
10354             Bruno Haible  <bruno@clisp.org>
10355
10356         Avoid warning despite dropping the return value of fwrite.
10357         * lib/unicodeio.c: Include ignore-value.h.
10358         (fwrite_success_callback): Explicitly ignore fwrite's return value.
10359         * modules/unicodeio (Depends-on): Add ignore-value.
10360
10361 2009-10-26  Eric Blake  <ebb9@byu.net>
10362
10363         areadlinkat: fix fallback path
10364         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
10365         pointer and zero.
10366
10367 2009-10-22  Pádraig Brady  <P@draigBrady.com>
10368
10369         Use a better IO block size for modern systems
10370         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
10371         * lib/md2.c: Likewise.
10372         * lib/md4.c: Likewise.
10373         * lib/md5.c: Likewise.
10374         * lib/sha1.c: Likewise.
10375         * lib/sha256.c: Likewise.
10376         * lib/sha512.c: Likewise.
10377
10378 2009-10-22  Eric Blake  <ebb9@byu.net>
10379
10380         tests: avoid several compiler warnings
10381         * tests/test-getcwd.c (main): Avoid buffer underflow.
10382         * tests/test-getdate.c (main): String literals are not safe with
10383         putenv, so use setenv.  Declare unused argument.
10384         * modules/getdate-tests (Depends-on): Add setenv.
10385         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
10386         problems with string literals in char *.
10387         * tests/test-hash.c (main): Avoid shadowing declaration.
10388         (insert_new): Treat string literals as char const *.
10389         * tests/test-getopt.h (test_getopt): Likewise.
10390         (getopt_loop): Alter types to minimize casting elsewhere.
10391         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
10392         (test_getopt_long_posix): Likewise.
10393         (do_getopt_long): Add wrapper to minimize casting.
10394         * tests/test-atexit.c (clear_temp_file): Use void.
10395         * tests/test-areadlink-with-size.c (main): Declare unused
10396         arguments.
10397         * tests/test-areadlink.c (main): Likewise.
10398         * tests/test-areadlinkat-with-size.c (main): Likewise.
10399         * tests/test-areadlinkat.c (main): Likewise.
10400         * tests/test-canonicalize-lgpl.c (main): Likewise.
10401         * tests/test-canonicalize.c (main): Likewise.
10402         * tests/test-dirent-safer.c (main): Likewise.
10403         * tests/test-dirname.c (main): Likewise.
10404         * tests/test-dup2.c (main): Likewise.
10405         * tests/test-fchdir.c (main): Likewise.
10406         * tests/test-fcntl-h.c (main): Likewise.
10407         * tests/test-fcntl-safer.c (main): Likewise.
10408         * tests/test-fdopendir.c (main): Likewise.
10409         * tests/test-fdutimensat.c (main): Likewise.
10410         * tests/test-fflush.c (main): Likewise.
10411         * tests/test-filenamecat.c (main): Likewise.
10412         * tests/test-filevercmp.c (main): Likewise.
10413         * tests/test-fopen-safer.c (main): Likewise.
10414         * tests/test-fopen.c (main): Likewise.
10415         * tests/test-fpending.c (main): Likewise.
10416         * tests/test-fpurge.c (main): Likewise.
10417         * tests/test-freading.c (main): Likewise.
10418         * tests/test-fstatat.c (main): Likewise.
10419         * tests/test-fsync.c (main): Likewise.
10420         * tests/test-futimens.c (main): Likewise.
10421         * tests/test-getndelim2.c (main): Likewise.
10422         * tests/test-gettimeofday.c (main): Likewise.
10423         * tests/test-getopt.c (main): Likewise.
10424         * tests/test-i-ring.c (main): Likewise.
10425         * tests/test-inttypes.c (main): Likewise.
10426         * tests/test-link.c (main): Likewise.
10427         * tests/test-lstat.c (main): Likewise.
10428         * tests/test-math.c (main): Likewise.
10429         * tests/test-md5.c (main): Likewise.
10430         * tests/test-memchr2.c (main): Likewise.
10431         * tests/test-memrchr.c (main): Likewise.
10432         * tests/test-mkdir.c (main): Likewise.
10433         * tests/test-mkdirat.c (main): Likewise.
10434         * tests/test-mkfifoat.c (main): Likewise.
10435         * tests/test-open.c (main): Likewise.
10436         * tests/test-openat-safer.c (main): Likewise.
10437         * tests/test-openat.c (main): Likewise.
10438         * tests/test-quotearg.c (main): Likewise.
10439         * tests/test-rawmemchr.c (main): Likewise.
10440         * tests/test-readlink.c (main): Likewise.
10441         * tests/test-remove.c (main): Likewise.
10442         * tests/test-rename.c (main): Likewise.
10443         * tests/test-renameat.c (main): Likewise.
10444         * tests/test-rmdir.c (main): Likewise.
10445         * tests/test-sha1.c (main): Likewise.
10446         * tests/test-signal.c (main): Likewise.
10447         * tests/test-sigaction.c (main): Likewise.
10448         * tests/test-stat.c (main): Likewise.
10449         * tests/test-stat-time.c (main): Likewise.
10450         * tests/test-stddef.c (main): Likewise.
10451         * tests/test-stdint.c (main): Likewise.
10452         * tests/test-stdio.c (main): Likewise.
10453         * tests/test-stdlib.c (main): Likewise.
10454         * tests/test-strchrnul.c (main): Likewise.
10455         * tests/test-strerror.c (main): Likewise.
10456         * tests/test-string.c (main): Likewise.
10457         * tests/test-strtod.c (main): Likewise.
10458         * tests/test-strverscmp.c (main): Likewise.
10459         * tests/test-symlink.c (main): Likewise.
10460         * tests/test-symlinkat.c (main): Likewise.
10461         * tests/test-sys_stat.c (main): Likewise.
10462         * tests/test-sys_time.c (main): Likewise.
10463         * tests/test-time.c (main): Likewise.
10464         * tests/test-unistd.c (main): Likewise.
10465         * tests/test-unlink.c (main): Likewise.
10466         * tests/test-unlinkat.c (main): Likewise.
10467         * tests/test-utimens.c (main): Likewise.
10468         * tests/test-utimensat.c (main): Likewise.
10469         * tests/test-version-etc.c (main): Likewise.
10470         * tests/test-wchar.c (main): Likewise.
10471         * tests/test-wctype.c (main): Likewise.
10472         * tests/test-xprintf-posix.c (main): Likewise.
10473         * tests/test-posixtm.c (main): Likewise.
10474         (STREQ): Delete unused macro.
10475         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
10476         shadowed variables.
10477         * tests/test-memchr.c (main): Likewise.
10478
10479 2009-10-21  Eric Blake  <ebb9@byu.net>
10480
10481         areadlinkat: avoid failure on older glibc
10482         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
10483         rather than mis-comparing 0 against FUNC_RESULT of char*.
10484
10485 2009-10-21  Bruno Haible  <bruno@clisp.org>
10486
10487         * modules/stpncpy (License): Relicense under LGPLv2+.
10488         Reported by David Lutterkort <lutter@redhat.com>.
10489
10490 2009-10-20  Eric Blake  <ebb9@byu.net>
10491
10492         utimensat: work around Solaris 9 bug
10493         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
10494         has trailing slash bugs.
10495         * tests/test-lutimens.h (test_lutimens): Enhance test.
10496         * tests/test-utimens.h (test_utimens): Likewise.
10497         * doc/posix-functions/utime.texi (utime): Enhance documentation.
10498         * doc/posix-functions/utimes.texi (utimes): Likewise.
10499         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10500         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
10501         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
10502         * doc/posix-functions/futimens.texi (futimens): Likewise.
10503
10504         fdutimensat: new module
10505         * modules/fdutimensat: New file.
10506         * lib/fdutimensat.c (fdutimensat): Likewise.
10507         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
10508         * MODULES.html.sh (File system functions): Mention module.
10509         * modules/fdutimensat-tests: New test.
10510         * tests/test-fdutimensat.c: Likewise.
10511
10512         doc: regenerate INSTALL
10513         * doc/INSTALL: Reflect recent autoconf update.
10514         * doc/INSTALL.ISO: Likewise.
10515         * doc/INSTALL.UTF-8: Likewise.
10516
10517 2009-10-20  Pádraig Brady  <P@draigBrady.com>
10518
10519         acl: warn if ACL support is not detected
10520         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
10521
10522 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
10523
10524         * lib/nproc.h: Add extern "C" block for C++.
10525
10526 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
10527             Bruno Haible  <bruno@clisp.org>
10528
10529         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
10530         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
10531         * doc/posix-functions/isalpha.texi: Likewise.
10532         * doc/posix-functions/isblank.texi: Likewise.
10533         * doc/posix-functions/iscntrl.texi: Likewise.
10534         * doc/posix-functions/isdigit.texi: Likewise.
10535         * doc/posix-functions/isgraph.texi: Likewise.
10536         * doc/posix-functions/islower.texi: Likewise.
10537         * doc/posix-functions/isprint.texi: Likewise.
10538         * doc/posix-functions/ispunct.texi: Likewise.
10539         * doc/posix-functions/isspace.texi: Likewise.
10540         * doc/posix-functions/isupper.texi: Likewise.
10541         * doc/posix-functions/isxdigit.texi: Likewise.
10542
10543 2009-10-18  Bruno Haible  <bruno@clisp.org>
10544
10545         Tests for module 'isblank'.
10546         * modules/isblank-tests: New file.
10547         * tests/test-isblank.c: New file.
10548
10549         New module 'isblank'.
10550         * lib/isblank.c: New file.
10551         * m4/isblank.m4: New file.
10552         * modules/isblank: New file.
10553         * doc/posix-functions/isblank.texi: Mention the new module.
10554
10555 2009-10-18  Bruno Haible  <bruno@clisp.org>
10556
10557         New module 'ctype'.
10558         * lib/ctype.in.h: New file.
10559         * m4/ctype.m4: New file.
10560         * modules/ctype: New file.
10561         * doc/posix-headers/ctype.texi: Mention the new module.
10562
10563 2009-10-18  Jim Meyering  <meyering@redhat.com>
10564
10565         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
10566         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
10567         right after its initialization, rather than farther down.
10568         Keeping these in close proximity makes it easier to ensure
10569         that each such variable is initialized.  E.g.,
10570
10571             LIB_CLOCK_GETTIME=
10572             AC_SUBST([LIB_CLOCK_GETTIME])
10573
10574         This change also increments these serial numbers.
10575         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
10576         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10577         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10578
10579 2009-10-18  Bruno Haible  <bruno@clisp.org>
10580
10581         Don't let environment variables perturb build.
10582         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
10583         (gl_PREREQ_GETHRXTIME): ... not here.
10584
10585 2009-10-18  Bruno Haible  <bruno@clisp.org>
10586
10587         Avoid symlink attack in localcharset module.
10588         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
10589         (O_NOFOLLOW): Define fallback.
10590         (get_charset_aliases): Don't open the file if it is a symbolic link.
10591         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
10592         gl_FCNTL_H.
10593         (gl_FCNTL_H): Require it.
10594         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
10595         * modules/localcharset (Files): Add m4/fcntl_h.m4.
10596         Reported by Fergal Glynn <fglynn@veracode.com>.
10597
10598 2009-10-18  Bruno Haible  <bruno@clisp.org>
10599
10600         Implement nproc for mingw.
10601         * lib/nproc.c: Include <windows.h>
10602         (num_processors): On native Windows platforms, try GetSystemInfo.
10603
10604 2009-10-18  Bruno Haible  <bruno@clisp.org>
10605
10606         Implement nproc for IRIX.
10607         * lib/nproc.c: Include <sys/sysmp.h>.
10608         (num_processors): On IRIX systems, try sysmp.
10609         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
10610
10611 2009-10-18  Bruno Haible  <bruno@clisp.org>
10612
10613         Implement nproc for HP-UX.
10614         * lib/nproc.c: Include <sys/pstat.h>
10615         (num_processors): On HP-UX systems, try pstat_getdynamic.
10616         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
10617         pstat_getdynamic.
10618
10619 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
10620             Bruno Haible  <bruno@clisp.org>
10621
10622         Implement nproc for NetBSD, OpenBSD.
10623         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
10624         (ARRAY_SIZE): New macro.
10625         (num_processors): On BSD systems, try sysctl of HW_NCPU.
10626         * m4/nproc.m4: New file.
10627         * modules/nproc (Files): Add m4/nproc.m4.
10628         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
10629         (Makefile.am): Instead, augment lib_SOURCES.
10630
10631 2009-10-18  Bruno Haible  <bruno@clisp.org>
10632
10633         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
10634         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
10635         sys/param.h.
10636
10637 2009-10-16  Eric Blake  <ebb9@byu.net>
10638
10639         utimensat: new module
10640         * modules/utimensat: New file.
10641         * lib/utimensat.c (utimensat): Likewise.
10642         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10643         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
10644         so we can work around Linux bugs.
10645         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10646         * modules/sys_stat (Makefile.am): Substitute them.
10647         * lib/sys_stat.in.h (utimensat): Declare it.
10648         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10649         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10650         * modules/utimensat-tests: New test.
10651         * tests/test-utimensat.c: Likewise.
10652
10653         utimens: let lutimens work on non-symlinks
10654         * lib/utimens.c (lutimens): Fall back to utimens rather than
10655         failing with ENOSYS, when file is not a symlink.
10656         (utimens): Reduce redirection.
10657         * tests/test-lutimens.h (test_lutimens): Update test to cover
10658         non-symlinks.
10659         * tests/test-utimens.h (test_utimens): Update test to cover
10660         symlinks.
10661         * tests/test-utimens.c (main): Update caller.
10662
10663         utimens: cache whether utimensat syscall works
10664         * lib/utimens.c (utimensat_works_really): New cache variable.
10665         (fdutimens, lutimens): Use it to avoid failing syscall.
10666
10667         test-stat-time, test-utimens: improve portability
10668         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
10669         ext4 on alpha, and for cygwin.
10670         * tests/test-utimens-common.h: New file.
10671         (nap): Factor delays into single function.
10672         * tests/test-lutimens.h (test_lutimens): Use new header.
10673         * tests/test-futimens.h (test_futimens): Likewise.
10674         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
10675         timestamps to occur from same machine, as was done previously for
10676         test_utimens.
10677         * modules/utimens-tests (Files): Ship new file.
10678         * modules/futimens-tests (Files): Likewise.
10679         Reported in part by Jim Meyering.
10680
10681         sys_stat: sort replacement declarations
10682         * lib/sys_stat.in.h: Sort declarations.
10683         * lib/futimens.c (futimens): Fix typo.
10684
10685 2009-10-15  Jim Meyering  <meyering@redhat.com>
10686
10687         don't let environment settings perturb build
10688         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
10689         could cause a configure-time and/or build-time malfunction.
10690         Typically, a configure-time function-in-library test is performed
10691         via code like this:
10692
10693           LIB_VAR=
10694           AC_SUBST([LIB_VAR])
10695           prefix_saved_LIBS=$LIBS
10696             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
10697                        [test "$ac_cv_search_FUNC" = "none required" ||
10698                         LIB_VAR=$ac_cv_search_FUNC])
10699           LIBS=$prefix_saved_LIBS
10700
10701         However, in each of the files affected by this change, the LIB_VAR=
10702         initialization was omitted.  Thus, when set in the environment, its
10703         value would propagate into generated Makefiles when FUNC is not found
10704         in LIB_NAME.
10705         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
10706         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
10707         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10708
10709 2009-10-14  Eric Blake  <ebb9@byu.net>
10710
10711         fchdir: avoid infinite recursion in mingw
10712         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
10713         recursing.
10714
10715         test-stat-time: port to mingw
10716         * tests/test-stat-time.c (force_unlink): Return a value.
10717         (test_ctime) [W32]: Fix compilation error.
10718         (nap): Don't call usleep with too large an argument.  Use
10719         force_unlink.
10720         * doc/pastposix-functions/usleep.texi (usleep): Document the
10721         portability issue.
10722
10723 2009-10-13  Jim Meyering  <meyering@redhat.com>
10724
10725         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
10726         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
10727         * modules/pipe-filter-ii: Likewise.
10728         * modules/sys_socket-tests: Likewise.
10729         * modules/tsearch-tests: Likewise.
10730         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
10731         (check): Depend on it.
10732
10733 2009-10-12  Eric Blake  <ebb9@byu.net>
10734
10735         utimens-tests: port to NFS file systems
10736         * tests/test-utimens.h (test_utimens): Refactor utimecmp
10737         comparisons to avoid spurious failures from timestamp drift
10738         between NFS machines.
10739
10740 2009-10-12  Eric Blake  <ebb9@byu.net>
10741
10742         stat-time-tests: minor cleanups
10743         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
10744         * tests/test-stat-time.c (nap): Separate assignment from call.
10745         Suggested by Paolo Bonzini and Bruno Haible.
10746
10747         sys_stat: guarantee struct timespec
10748         * lib/sys_stat.in.h (includes): Always include <time.h>
10749         * modules/sys_stat (Depends-on): Add time.
10750         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
10751         mode_t permission values.
10752         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
10753         get at subsecond timestamps.
10754
10755 2009-10-10  Eric Blake  <ebb9@byu.net>
10756
10757         futimens: new module
10758         * modules/futimens: New file.
10759         * lib/futimens.c (futimens): Likewise.
10760         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
10761         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
10762         we can work around Linux bugs.
10763         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10764         * modules/sys_stat (Makefile.am): Substitute them.
10765         * lib/sys_stat.in.h (futimens): Declare it.
10766         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10767         * doc/posix-functions/futimens.texi (futimens): Likewise.
10768         * modules/futimens-tests: New test.
10769         * tests/test-futimens.c: Likewise.
10770
10771         utimens: introduce fdutimens
10772         * lib/utimens.h (fdutimens): New prototype.
10773         * lib/utimens.c (gl_futimens): Move guts...
10774         (fdutimens): ...to new interface.
10775         * tests/test-utimens.c (do_fdutimens): Use it.
10776
10777         utimens: add UTIME_NOW and UTIME_OMIT support
10778         * lib/utimens.c (validate_timespec, update_timespec): New helper
10779         functions.
10780         (gl_futimens, lutimens): Use them.
10781         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
10782         stdbool, sys_stat.
10783         (Link): Mention resulting library dependency.
10784         * modules/utimecmp (Link): Likewise.
10785         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
10786         (Makefile.am): Pick up library dependency.
10787         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
10788         definition.
10789         * tests/test-sys_stat.c: Test the definitions.
10790         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
10791         * NEWS: Document library dependency.
10792
10793         utimecmp: support symlink timestamps
10794         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
10795         hashing when possible.  Use pathconf when available.
10796         (SYSCALL_RESOLUTION): Recognize tighter resolution.
10797         * modules/utimecmp (Depends-on): Add lstat.
10798
10799         utimens: add lutimens interface
10800         * lib/utimens.c (lutimens): New function.
10801         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
10802         * lib/utimens.h (lutimens): Declare new interface.
10803         * tests/test-utimens.c (main): Enhance test.
10804         * tests/test-lutimens.h (test_lutimens): New file.
10805         * modules/utimens-tests (Files): Distribute it.
10806         (Depends-on): Add symlink.
10807         (configure.ac): Check for usleep.
10808
10809         utimens: validate futimens usage
10810         * lib/utimens.c (gl_futimens): Require valid fd up front, using
10811         fewer syscalls on failure later on.  Avoid compiler warning on
10812         mingw.
10813         * modules/utimens (Depends-on): Add dup2.
10814
10815         utimens: add test
10816         * modules/utimens-tests: New test.
10817         * tests/test-utimens.h: New file.
10818         * tests/test-futimens.h: Likewise.
10819         * tests/test-utimens.c: Likewise.
10820
10821         doc: mention timestamp portability issues
10822         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
10823         instead.
10824         * doc/posix-functions/utime.texi (utime): Likewise.
10825         * doc/posix-functions/utimes.texi (utimes): Likewise.
10826         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
10827         instead.
10828         * doc/posix-functions/futimens.texi (futimens): Mention utimens
10829         module.
10830         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10831         Mention weakness with symlink timestamps.
10832         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
10833         to utimensat/futimens instead.
10834         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
10835
10836         test-dup2: enhance test
10837         * tests/test-dup2.c (main): Also check AT_FDCWD.
10838
10839         test-stat-time: avoid more spurious failures
10840         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
10841         xfs; and avoid race if the two timestamps cross quantization edge.
10842
10843         relocatable: prefer 'file system' over 'filesystem'
10844         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
10845         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
10846         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
10847         * doc/relocatable.texi (Enabling Relocatability): Likewise.
10848         * lib/relocatable.c (compute_curr_prefix): Likewise.
10849
10850 2009-10-10  Jim Meyering  <meyering@redhat.com>
10851
10852         stat-time-tests: check for the usleep function
10853         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
10854
10855 2009-10-10  Bruno Haible  <bruno@clisp.org>
10856
10857         * modules/xnanosleep: Put the Link section after the Include section.
10858
10859 2009-10-09  Eric Blake  <ebb9@byu.net>
10860
10861         dup2: work around FreeBSD 6.1 bug
10862         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
10863         * doc/posix-functions/dup2.texi (dup2): Document it.
10864         Reported by Nelson H. F. Beebe and Jim Meyering.
10865
10866         test-stat-time: port to buggy NFS clients
10867         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
10868         (test_ctime): Also skip test if mtime and ctime are skewed.
10869
10870         maint: prefer 'file system' over 'filesystem'
10871         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10872         * doc/posix-functions/lstat.texi (lstat): Likewise.
10873         * lib/file-has-acl.c (file_has_acl): Likewise.
10874         * lib/fwriteerror.c [TEST]: Likewise.
10875         * tests/test-areadlink.h (test_areadlink): Likewise.
10876         * tests/test-areadlinkat-with-size.c (main): Likewise.
10877         * tests/test-areadlinkat.c (main): Likewise.
10878         * tests/test-canonicalize-lgpl.c (main): Likewise.
10879         * tests/test-canonicalize.c (main): Likewise.
10880         * tests/test-fstatat.c (main): Likewise.
10881         * tests/test-linkat.c (main): Likewise.
10882         * tests/test-lstat.h (test_lstat_func): Likewise.
10883         * tests/test-mkdir.h (test_mkdir): Likewise.
10884         * tests/test-readlink.h (test_readlink): Likewise.
10885         * tests/test-remove.c (main): Likewise.
10886         * tests/test-rename.h (test_rename): Likewise.
10887         * tests/test-renameat.c (main): Likewise.
10888         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10889         * tests/test-symlink.h (test_symlink): Likewise.
10890         * tests/test-symlinkat.c (main): Likewise.
10891         * tests/test-unlink.h (test_unlink_func): Likewise.
10892         * tests/test-unlinkat.c (main): Likewise.
10893
10894         maint: make realtime library usage explicit
10895         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
10896         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
10897         * modules/settime (Link): Likewise.
10898         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
10899
10900         test-stat-time: speed up execution
10901         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
10902         warning on mingw.
10903         (nap): New helper function.
10904         (prepare_test): Use it to reduce sleep time.
10905         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
10906         execution.
10907         * modules/stat-time-tests (configure.ac): Check for usleep.
10908
10909 2009-10-09  Jim Meyering  <meyering@redhat.com>
10910
10911         selinux-h: always use getfilecon wrappers
10912         * lib/getfilecon.c: New file.
10913         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
10914         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
10915         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
10916         (fgetfilecon): Provide a stub.
10917         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
10918         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
10919         file unconditionally.
10920         When <selinux/selinux.h> is found, arrange to use wrappers.
10921         * modules/selinux-h (Files): Add getfilecon.c.
10922         (Makefile.am): Substitute include-next-related bits
10923         into the now-always-generated selinux/selinux.h file.
10924         * doc/glibc-functions/lgetfilecon.texi: New file.
10925         * doc/glibc-functions/fgetfilecon.texi: New file.
10926         * doc/glibc-functions/getfilecon.texi: New file.
10927         * doc/glibc-functions/getfilecon-desc.texi: New file.
10928         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
10929         which to pull in the new files.
10930         * MODULES.html.sh (Misc): Add selinux-h.
10931
10932 2009-10-08  Jim Meyering  <meyering@redhat.com>
10933
10934         unistd: fix comment typo
10935         * lib/unistd.in.h (euidaccess): Fix a comment typo.
10936
10937 2009-10-08  Eric Blake  <ebb9@byu.net>
10938
10939         areadlink: use SIZE_MAX consistently
10940         * modules/areadlink (Depends-on): Add stdint.
10941         * modules/areadlink-with-size (Depends-on): Likewise.
10942         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
10943         gives NULL; drop sys/types, since unistd gives size_t; and add
10944         stdint for SIZE_MAX.
10945         (SIZE_MAX): Rely on headers.
10946         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
10947         and add stdint.
10948         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
10949         (SIZE_MAX): Likewise.
10950         (INITIAL_BUF_SIZE): Turn into enum.
10951         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
10952
10953 2009-10-08  Jim Meyering  <meyering@redhat.com>
10954
10955         areadlinkat: avoid compilation failure
10956         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
10957         Fix typo in comment.
10958
10959 2009-10-07  Eric Blake  <ebb9@byu.net>
10960
10961         areadlinkat-with-size: new module
10962         * modules/areadlinkat-with-size: New module.
10963         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
10964         * lib/areadlink.h (areadlinkat): Declare it.
10965         * MODULES.html.sh (File system functions): Mention it.
10966         * modules/areadlinkat-with-size-tests: New test.
10967         * tests/test-areadlinkat-with-size.c: New file.
10968
10969         xreadlinkat: new module
10970         * modules/xreadlinkat: New module.
10971         * lib/xreadlinkat.c (xreadlinkat): New file.
10972         * lib/xreadlink.h (xreadlinkat): Declare it.
10973         * MODULES.html.sh (File system functions): Mention it.
10974
10975         areadlinkat: new module
10976         * lib/at-func.c (FUNC_FAIL): New define.
10977         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
10978         * modules/areadlinkat: New module.
10979         * lib/linkat.c (areadlinkat): Move...
10980         * lib/areadlinkat.c (areadlinkat): ...to new file.
10981         * lib/areadlink.h (areadlinkat): Declare it.
10982         * modules/linkat (Depends-on): Add areadlinkat.
10983         * MODULES.html.sh (File system functions): Mention it.
10984         * modules/areadlinkat-tests: New test.
10985         * tests/test-areadlinkat.c: New file.
10986
10987         areadlink, areadlink-with-size: add tests
10988         * modules/areadlink-tests: New test.
10989         * modules/areadlink-with-size-tests: Likewise.
10990         * tests/test-areadlink.h: New file.
10991         * tests/test-areadlink.c: Likewise.
10992         * tests/test-areadlink-with-size.c: Likewise.
10993
10994         maint: minor cleanups
10995         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
10996         _UNUSED_PARAMETER_ instead.
10997         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
10998         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
10999         * modules/linkat-tests (Files): Distribute test-link.h.
11000
11001         openat, utimens: whitespace cleanup
11002         * lib/openat.c: Prefer space throughout, rather than mix of 8
11003         spaces vs. tabs.
11004         * lib/at-func.c: Likewise.
11005         * lib/utimens.c: Likewise.
11006
11007         openat: avoid using wrong fd
11008         * lib/openat.c (openat_permissive): Reject user's fd if saving the
11009         working directory chooses same fd.
11010         * lib/at-func.c (AT_FUNC_NAME): Likewise.
11011
11012         mkdir, mkdirat: fix cygwin 1.5.x bug
11013         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
11014         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
11015         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
11016         bug.
11017         (gl_PREREQ_MKDIR): Delete unused macro.
11018         * modules/mkdir (Files): Track file rename.
11019         (configure.ac): Update macro name.
11020         * modules/openat (Depends-on): Add mkdir.
11021         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
11022
11023         mkdir, mkdirat: add tests
11024         * modules/mkdir-tests: New test.
11025         * tests/test-mkdir.h: New file.
11026         * tests/test-mkdir.c: Likewise.
11027         * tests/test-mkdirat.c: Likewise.
11028         * modules/openat-tests (Files): Add new files.
11029         (Makefile.am): Run new test.
11030
11031 2009-10-06  Eric Blake  <ebb9@byu.net>
11032
11033         doc: tweak *at function documentation
11034         * doc/posix-functions/faccessat.texi (faccessat): Mention
11035         known issue with replacement.
11036         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
11037         * doc/posix-functions/linkat.texi (linkat): Likewise.
11038         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
11039         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
11040         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11041         * doc/posix-functions/renameat.texi (renameat): Likewise.
11042         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
11043
11044         openat: fix GNU/Hurd bug in unlinkat
11045         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
11046         broken.
11047         * doc/posix-functions/unlink.texi (unlink): Document this.
11048         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
11049
11050         fdopendir: fix GNU/Hurd bug
11051         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
11052         allowing non-directory fds.
11053         * lib/fdopendir.c (rpl_fdopendir): Work around it.
11054         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
11055         * modules/dirent (Makefile.am): Substitute it.
11056         * lib/dirent.in.h (fdopendir): Declare replacement.
11057         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
11058         * tests/test-fdopendir.c (main): Test something other than
11059         /dev/null, since on Hurd that behaves like a directory.
11060
11061         test-symlink: port to GNU/Hurd
11062         * tests/test-symlink.h (test_symlink): Relax expected errno.
11063
11064         doc: tweak more cygwin information
11065         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
11066         now compatible with glibc.
11067         * doc/posix-functions/getopt.texi (getopt): Likewise.
11068
11069         getopt-gnu: add another test
11070         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
11071         guarantee behavior relied on by m4.
11072         * tests/test-getopt.c (main): Use it.
11073         * modules/getopt-posix-tests (Depends-on): Add setenv.
11074         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
11075
11076         getopt: fix compilation on darwin
11077         * lib/getopt.in.h (includes): Leave breadcrumbs during system
11078         include.
11079         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
11080         Reported by Ludovic Courtès.
11081
11082 2009-10-06  Bruno Haible  <bruno@clisp.org>
11083
11084         * modules/size_max (Description): Discourage its use.
11085         Reported by Simon Josefsson.
11086
11087 2009-10-06  Jim Meyering  <meyering@redhat.com>
11088
11089         linkat: avoid compilation failure
11090         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
11091
11092 2009-10-05  Eric Blake  <ebb9@byu.net>
11093
11094         linkat: support Linux 2.6.17
11095         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
11096         linkat on Linux, but allow cache variable override.
11097         * lib/linkat.c (rpl_linkat): Define override.
11098         * modules/linkat (Depends-on): Add symlinkat.
11099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
11100         * modules/unistd (Makefile.am): Substitute it.
11101         * lib/unistd.in.h (linkat): Declare replacement.
11102         Reported by Pádraig Brady.
11103
11104         quotearg: port test to systems with C.UTF-8 locale
11105         * tests/test-quotearg.c (struct result_strings): Add another
11106         member, differentiating between C.ASCII and C.UTF-8 handling.
11107         (compare_strings): Add parameter.
11108         (main): Adjust all callers.
11109
11110         getopt: avoid clash with FreeBSD _getopt_internal
11111         * lib/getopt.in.h (_getopt_internal): Override the name.
11112         * lib/getopt_int.h (includes): Pick up any overrides.
11113         Reported by Reuben Thomas.
11114
11115         hash: allow C89 compilation
11116         * lib/hash.c (check_tuning): Move declaration before statement.
11117         Reported by Reuben Thomas.
11118
11119 2009-10-05  Karl Berry  <karl@gnu.org>
11120
11121         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
11122
11123 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
11124             Bruno Haible  <bruno@clisp.org>
11125
11126         * lib/uname.c (uname): Use a table-driven algorithm to compute
11127         Windows NT versions.
11128
11129 2009-10-04  Bruno Haible  <bruno@clisp.org>
11130
11131         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
11132         program_invocation_short_name.
11133         * modules/progname (configure.ac): Test for presence of
11134         program_invocation_short_name.
11135         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
11136
11137 2009-10-04  Bruno Haible  <bruno@clisp.org>
11138
11139         * lib/progname.c (set_program_name): Fix comment.
11140         Reported by Jim Meyering.
11141
11142 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
11143             Bruno Haible  <bruno@clisp.org>
11144
11145         * lib/uname.c: Include <string.h>.
11146         (uname): Do only one call to GetVersionEx in the common case.
11147
11148 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
11149             Bruno Haible  <bruno@clisp.org>
11150
11151         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
11152         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
11153         (uname): Add support for Windows CE and various non-x86 CPU types.
11154
11155 2009-10-03  Bruno Haible  <bruno@clisp.org>
11156
11157         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
11158         invocation to tests/configure.ac.
11159         Reported by Ian Beckwith <ianb@erislabs.net>.
11160
11161 2009-10-02  Eric Blake  <ebb9@byu.net>
11162
11163         fchdir: avoid compiler warning
11164         * lib/fchdir.c (canonicalize_file_name)
11165         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
11166
11167         test-open: support mingw errno values
11168         * tests/test-open.h (test_open): Relax test.
11169         * tests/test-fopen.h (test_fopen): Likewise.
11170         * tests/test-openat-safer.c (main): Likewise.
11171
11172         open: fix opening directory on mingw
11173         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
11174
11175         test-open: on GNU/Hurd, /dev/null is a directory
11176         * tests/test-fopen.h (main): Rename...
11177         (test_fopen): ...to this.  Use a guaranteed non-directory when
11178         confirming open behavior on trailing slash.
11179         * tests/test-openat-safer.c (main): Likewise.
11180         * tests/test-open.h (main): Likewise....
11181         (test_open): ...to this.
11182         * tests/test-fopen.c (main): Adjust caller.
11183         * tests/test-fopen-safer.c (main): Likewise.
11184         * tests/test-open.c (main): Likewise.
11185         * tests/test-fcntl-safer.c (main): Likewise.
11186         Reported by Samuel Thibault.
11187
11188         rename, fchdir: don't ignore chdir failure
11189         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
11190         * lib/rename.c (rpl_rename) [W32]: Likewise.
11191         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
11192         an empty destination directory if source cannot be renamed,
11193         although there is still possibility for failure.
11194         * doc/posix-functions/rename.texi (rename): Document the race.
11195         Reported by Jim Meyering.
11196
11197         maint: cleanup whitespace in recent commits
11198         * lib/rename.c (rpl_rename): Remove tabs.
11199         * tests/test-link.h (test_link): Likewise.
11200         * lib/fchdir.c (get_name): Likewise.
11201         Reported by Jim Meyering.
11202
11203 2009-10-02  Ben Pfaff  <blp@gnu.org>
11204
11205         relocatable-prog-wrapper: Add missing dependency on
11206         double-slash-root.
11207         * modules/relocatable-prog-wrapper: Add dependency.
11208         Reported by Ian Beckwith <ianb@erislabs.net>.
11209
11210 2009-10-02  Eric Blake  <ebb9@byu.net>
11211
11212         renameat: fix Solaris bugs
11213         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
11214         needed fixing.
11215         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
11216         * modules/stdio (Makefile.am): Substitute it.
11217         * lib/stdio.in.h (renameat): Declare replacement.
11218         * lib/renameat.c (rpl_renameat): Implement fix.
11219
11220         renameat: new module
11221         * modules/renameat: New file.
11222         * lib/renameat.c (renameat): Likewise.
11223         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
11224         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
11225         * modules/stdio (Makefile.am): Substitute them.
11226         * lib/stdio.in.h (renameat): Declare it.
11227         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11228         * doc/posix-functions/renameat.texi (renameat): Likewise.
11229         * modules/renameat-tests: New test.
11230         * tests/test-renameat.c: Likewise.
11231
11232         rename: fix mingw bugs
11233         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
11234         directory overwrite bugs.
11235
11236         rename: fix another cygwin 1.5 bug
11237         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
11238         checks.
11239         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
11240         unnecessary cygwin workarounds.  Also work around bug with moving
11241         full directory onto an empty one.
11242         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
11243
11244         rename-dest-slash: merge into rename module
11245         * modules/rename-dest-slash (Status): Mark obsolete.
11246         (Depends-on): Add rename.
11247         (Files): Let rename do it all.
11248         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
11249         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
11250         * m4/rename-dest-slash.m4: ...so this file can be deleted.
11251         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
11252         * lib/rename.c (rpl_rename): Update comments.
11253
11254         rename: fix cygwin 1.5.x bugs
11255         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
11256         * lib/rename.c (rpl_rename): Work around them.
11257         * modules/rename (Depends-on): Add same-inode.
11258
11259         rename: fix Solaris 10 bug
11260         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
11261         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
11262         was the only bug.
11263
11264         rename: fix Solaris 9 bug
11265         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
11266         on non-directory.  Avoid calling exit.
11267         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
11268         strdup.
11269         * modules/rename-tests (Depends-on): Drop lstat.
11270         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
11271         (gl_PREREQ_RENAME): Delete unused macro.
11272
11273         rename-dest-slash: fix NetBSD bug
11274         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
11275         links.
11276         * modules/rename-dest-slash (Depends-on): Add same-inode.
11277
11278         rename-tests: new test, exposes several platform bugs
11279         * modules/rename-tests: New file.
11280         * tests/test-rename.h: Likewise.
11281         * tests/test-rename.c: Likewise.
11282         * doc/posix-functions/rename.texi (rename): Improve documentation,
11283         including bugs that will eventually be fixed in gnulib.
11284
11285 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
11286
11287         * lib/uname.c: Include <stdlib.h>
11288         (uname): Assume version info is available.
11289
11290 2009-10-02  Jim Meyering  <meyering@redhat.com>
11291
11292         gnu-web-doc-update: correct --help output
11293         * build-aux/gnu-web-doc-update: Make --help output relevant.
11294
11295         gnu-web-doc-update: add standard options
11296         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
11297
11298         gnu-web-doc-update: New module.
11299         Use this script to automatically update the on-line web documentation
11300         for your GNU project at http://www.gnu.org/software/$pkg/manual/
11301         * modules/gnu-web-doc-update: New file, from coreutils.
11302         * build-aux/gnu-web-doc-update: New script.
11303
11304 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
11305
11306         link: LoadLibrary is not needed.
11307         * lib/link.c: Use GetModuleHandle.
11308
11309 2009-10-01  Eric Blake  <ebb9@byu.net>
11310
11311         getopt: bump serial number
11312         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
11313         change.
11314
11315         tests: tighten link, rmdir, and remove tests
11316         * tests/test-link.h (includes): No need to use <config.h> here.
11317         Clean up if directory hard link was created, otherwise test for
11318         trailing '.'.
11319         * tests/test-linkat.c (main): Simplify.
11320         * tests/test-remove.c (main): Enhance test for trailing '.'.
11321         * tests/test-rmdir.h (test_rmdir_func): Likewise.
11322
11323 2009-10-01  Jim Meyering  <meyering@redhat.com>
11324
11325         maint.mk: requiring "make major" was annoying, for a "minor" release.
11326         What is intended is "stable", to contrast with alpha and beta,
11327         so require "make stable", not "make major".
11328         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
11329         (get_tool_versions): Likewise.
11330         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
11331
11332 2009-09-30  Ben Pfaff  <blp@gnu.org>
11333
11334         Fix broken build of replacement for Windows tmpfile().
11335         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
11336         flags argument added along with the 'mkostemp' module.
11337
11338 2009-09-28  Bruno Haible  <bruno@clisp.org>
11339
11340         Avoid identifier clash with POSIX function 'remove' defined as a macro.
11341         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
11342         to 'remove_elt'.
11343         (gl_list_remove): Update.
11344         * lib/gl_list.c (gl_list_remove): Update.
11345         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
11346         to 'remove_elt'.
11347         (gl_oset_remove): Update.
11348         * lib/gl_list.c (gl_oset_remove): Update.
11349         Reported by Eric Blake.
11350
11351 2009-09-28  Eric Blake  <ebb9@byu.net>
11352
11353         doc: mention yet more cygwin 1.7 status
11354         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
11355         cygwin.
11356         * doc/glibc-functions/execvpe.texi (execvpe): New file.
11357         * doc/gnulib.texi (Glibc unistd.h): Mention it.
11358
11359         argp: fix test failure
11360         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
11361         that are not upper-case.  Pass correct range to tolower.
11362
11363 2009-09-27  Jim Meyering  <meyering@redhat.com>
11364
11365         test-yesno: work around sparc-dash here-document infelicity
11366         Without this change, the literal \177 byte in a here document
11367         would make dash 0.5.5.1-3 access uninitialized memory.
11368         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
11369         Instead, use a marker, "@", and filter through tr to create the desired
11370         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
11371
11372 2009-09-27  Bruno Haible  <bruno@clisp.org>
11373
11374         Disable untested support for new flavours of ACLs on AIX.
11375         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
11376         progress.
11377         * lib/set-mode-acl.c (qset_acl): Likewise.
11378
11379 2008-12-07  Bruno Haible  <bruno@clisp.org>
11380
11381         Add support for new flavours of ACLs on AIX. (Untested.)
11382         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
11383         (file_has_acl): Add support for newer AIX.
11384         * lib/set-mode-acl.c (qset_acl): Likewise.
11385         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
11386         Rainer Tammer <tammer@tammer.net>.
11387
11388 2009-09-26  Eric Blake  <ebb9@byu.net>
11389
11390         argp: fix compilation of getopt
11391         * lib/getopt.in.h (includes): Use different guard than glibc.
11392         Reported by Sergey Poznyakoff.
11393
11394         doc: mention more cygwin 1.7 status
11395         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
11396         bug.
11397         * doc/posix-functions/execl.texi (execl): Likewise.
11398         * doc/posix-functions/execle.texi (execle): Likewise.
11399         * doc/posix-functions/execlp.texi (execlp): Likewise.
11400         * doc/posix-functions/execv.texi (execv): Likewise.
11401         * doc/posix-functions/execve.texi (execve): Likewise.
11402         * doc/posix-functions/execvp.texi (execvp): Likewise.
11403         * doc/glibc-functions/canonicalize_file_name.texi
11404         (canonicalize_file_name): Cygwin 1.7 now provides this.
11405         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
11406         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
11407         on AT_SYMLINK_NOFOLLOW.
11408
11409 2009-09-24  Eric Blake  <ebb9@byu.net>
11410
11411         test-linkat: make test more robust
11412         * tests/test-linkat.c (main): Avoid collision with EEXIST.
11413
11414         getopt: fix inclusion guards for cygwin
11415         * modules/getopt-posix (Depends-on): Add include-next.
11416         (Makefile.am): Substitute more items in replacement header.
11417         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
11418         <getopt.h>.
11419         * lib/getopt.in.h (includes): Use split inclusion guard, and
11420         prefer <getopt.h> over include <unistd.h> when one is present.
11421         (option): Also override name of 'struct option'.
11422
11423         same-inode: revert prior change; it is not yet ready
11424         * NEWS: Undo mention of this change.
11425         * lib/same-inode.h (same-inode.h): Undo tri-state change.
11426         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
11427         * lib/cycle-check.c (cycle_check): Likewise.
11428         * lib/same.c (same_name): Likewise.
11429         * lib/at-func2.c (at_func2): Likewise.
11430
11431 2009-09-23  Eric Blake  <ebb9@byu.net>
11432
11433         linkat: new module
11434         * modules/linkat: New file.
11435         * lib/at-func2.c (at_func2): Likewise.
11436         * lib/linkat.c (linkat): Likewise.
11437         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
11438         * lib/openat-priv.h (at_func2): Add declaration.
11439         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11440         * modules/unistd (Makefile.am): Substitute them.
11441         * lib/unistd.in.h (linkat): Declare it.
11442         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11443         * doc/posix-functions/linkat.texi (linkat): Likewise.
11444         * doc/posix-functions/link.texi (link): Tweak wording.
11445         * tests/test-link.c (main): Move guts...
11446         * tests/test-link.h (test_link): ...into new file.
11447         * modules/linkat-tests: New test.
11448         * tests/test-linkat.c: Likewise.
11449         * modules/link-tests (Files): Ship new file.
11450         (Depends-on): Add stdbool.
11451
11452         dirname: add library-safe mdir_name
11453         * lib/dirname.h (mdir_name): New prototype.
11454         * lib/dirname.c (dir_name): Move guts...
11455         (mdir_name): ...to new function that avoids xalloc_die.
11456
11457         fchdir: another mingw fix
11458         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
11459         * lib/fchdir.c (get_name): New helper method; skips canonicalize
11460         on mingw (where it has not yet been ported), and make it optional
11461         elsewhere.
11462         (_gl_register_fd): Use it.
11463
11464         same-inode: make SAME_INODE tri-state, to port to mingw
11465         * NEWS: Mention this change.
11466         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
11467         st_ino always being 0.
11468         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
11469         * lib/cycle-check.c (cycle_check): Likewise.
11470         * lib/same.c (same_name): Likewise.
11471
11472         lstat: avoid mingw compilation error
11473         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
11474         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
11475         lstat ourselves.
11476         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
11477         was adequate.
11478         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
11479         the checks for lstat.
11480         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
11481
11482         link: fix test failure on Solaris 9
11483         * lib/link.c (rpl_link): Don't assume link will catch bogus
11484         trailing slash on source.
11485
11486         test-symlinkat: enhance test
11487         * tests/test-readlink.c (main): Move guts...
11488         * tests/test-readlink.h (test_readlink): ...into new file.
11489         * tests/test-symlink.c (main): Move guts...
11490         * tests/test-symlink.h (test_symlink): ...into new file.
11491         * tests/test-symlinkat.c (main): Use new files for further
11492         coverage.
11493         (do_symlink, do_readlink): New helper functions.
11494         * modules/symlink-tests (Files): Ship new file.
11495         (Depends-on): Add stdbool.
11496         * modules/readlink-tests (Files): Ship new file.
11497         (Depends-on): Add stdbool.
11498         * modules/symlinkat-tests (Files): Use new files.
11499
11500 2009-09-23  Eric Blake  <ebb9@byu.net>
11501
11502         readlink: document portability issue with symlink length
11503         * doc/posix-functions/lstat.texi (lstat): Mention that some file
11504         systems have bogus st_size on symlinks, and mention the
11505         areadlink-with-size module.
11506         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
11507         * doc/posix-functions/readlink.texi (readlink): Mention the
11508         areadlink module, and ERANGE failure.
11509         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11510         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
11511
11512         readlink: fix Solaris 9 bug with trailing slash
11513         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
11514         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
11515         * doc/posix-functions/readlink.texi (readlink): Document this.
11516         * modules/readlink-tests: New test.
11517         * tests/test-readlink.c: Likewise.
11518
11519         readlink: fix cygwin 1.5.x bug with return type
11520         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
11521         * lib/unistd.in.h (readlink): Use ssize_t.
11522         * lib/readlink.c (readlink): Likewise.
11523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11524         * modules/unistd (Makefile.am): Substitute it.
11525         * lib/unistd.in.h (readlink): Declare replacement.
11526         * doc/posix-functions/readlink.texi (readlink): Document this.
11527
11528         symlink: use throughout gnulib
11529         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
11530         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
11531         symlink is not used.
11532         * modules/symlinkat (Depends-on): Add symlink.
11533         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11534         * modules/canonicalize-tests (Depends-on): Likewise.
11535         * modules/lstat-tests (Depends-on): Likewise.
11536         * modules/openat-tests (Depends-on): Likewise.
11537         * modules/remove-tests (Depends-on): Likewise.
11538         * modules/rmdir-tests (Depends-on): Likewise.
11539         * modules/unlink-tests (Depends-on): Likewise.
11540         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
11541         * tests/test-canonicalize.c (symlink): Likewise.
11542         * tests/test-fstatat.c (symlink): Likewise.
11543         * tests/test-lstat.c (symlink): Likewise.
11544         * tests/test-remove.c (symlink): Likewise.
11545         * tests/test-rmdir.c (symlink): Likewise.
11546         * tests/test-unlink.c (symlink): Likewise.
11547         * tests/test-unlinkat.c (symlink): Likewise.
11548
11549         symlink: new module, for Solaris 9 bug
11550         * modules/symlink: New file.
11551         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
11552         * lib/symlink.c: Likewise.
11553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
11554         * modules/unistd (Makefile.am): Substitute them.
11555         * lib/unistd.in.h (symlink): Declare replacement.
11556         * MODULES.html.sh (File system functions): Mention it.
11557         * doc/posix-functions/symlink.texi (symlink): Likewise.
11558         * modules/symlink-tests: New test.
11559         * tests/test-symlink.c: Likewise.
11560
11561 2009-09-23  Bruno Haible  <bruno@clisp.org>
11562
11563         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
11564         when needed.
11565         Test case: gnulib-tool --import --with-tests atexit inttypes.
11566         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
11567
11568 2009-09-23  Bruno Haible  <bruno@clisp.org>
11569
11570         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
11571         subcommand, not in a subshell.
11572
11573 2009-09-22  Eric Blake  <ebb9@byu.net>
11574
11575         unistd: sort replacement declarations
11576         * lib/unistd.in.h: Sort declarations.
11577
11578         open, openat: minor optimization
11579         * lib/open.c (open): If open succeeded, len is non-zero.
11580         * lib/openat.c (rpl_openat): Likewise.
11581
11582         link-follow: ensure correct result
11583         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
11584         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
11585         distinguish between possible failures.
11586
11587 2009-09-21  Eric Blake  <ebb9@byu.net>
11588
11589         fts: avoid compiler warning
11590         * lib/fts.c (dirent_inode_sort_may_be_useful)
11591         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
11592
11593 2009-09-19  Bruno Haible  <bruno@clisp.org>
11594
11595         * lib/progreloc.c (canonicalize_file_name): New declaration.
11596
11597 2009-09-19  Eric Blake  <ebb9@byu.net>
11598
11599         link: fix quoting
11600         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
11601
11602         openat: fix openat bugs on Solaris 9
11603         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
11604         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
11605         * modules/openat (Depends-on): Add open.
11606         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
11607         * modules/fcntl-h (Makefile.am): Substitute it.
11608         * lib/fcntl.in.h (openat): Declare replacement.
11609         * doc/posix-functions/openat.texi (openat): Document this.
11610
11611         openat: move fstatat and unlinkat into correct files
11612         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
11613         compiled.
11614         * lib/openat.c (fstatat, unlinkat): Move...
11615         * lib/fstatat.c (fstatat): ...into correct files.
11616         * lib/unlinkat.c (unlinkat): Likewise.
11617
11618         openat: fix unlinkat bugs on Solaris 9
11619         * lib/unlinkat.c (unlinkat): New file.
11620         * modules/openat (Depends-on): Add unlink.
11621         (Files): Distribute it.
11622         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
11623         trailing slash behavior is broken.
11624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11625         * modules/unistd (Makefile.am): Substitute it.
11626         * lib/unistd.in.h (unlinkat): Declare replacement.
11627         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
11628
11629         openat: fix fstatat bugs on Solaris 9
11630         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
11631         stat.
11632         * doc/posix-functions/fstatat.texi (fstatat): Document this.
11633
11634         test-unlinkat: enhance test, to expose Solaris 9 bug
11635         * tests/test-unlink.c (main): Factor guts...
11636         * tests/test-unlink.h (test_rmdir_func): ...into new file.
11637         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
11638         * tests/test-rmdir.c (main): Adjust caller.
11639         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
11640         (unlinker): New helper function.
11641         (rmdirat): Enhance check.
11642         * modules/rmdir-tests (Depends-on): Add stdbool.
11643         * modules/unlink-tests (Depends-on): Likewise.
11644         (Files): Add test-unlink.h.
11645         * modules/openat-tests (Files): Likewise.
11646         (Depends-on): Add unlinkdir.
11647
11648         test-fstatat: new test, to expose Solaris 9 bugs
11649         * tests/test-stat.c (main): Factor guts...
11650         * tests/test-stat.h (test_stat_func): ...into new file.
11651         * tests/test-lstat.c (main): Factor guts...
11652         * tests/test-lstat.h (test_lstat_func): ...into new file.
11653         * tests/test-fstatat.c: New file.
11654         * modules/stat-tests (Files): Add test-stat.h.
11655         * modules/lstat-tests (Files): Add test-lstat.h.
11656         (Depends-on): Add stdbool.
11657         * modules/openat-tests (Depends-on): Add pathmax.
11658         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
11659         (Makefile.am): Run new test.
11660
11661         remove: new module, for mingw and Solaris 9 bugs
11662         * modules/remove: New file.
11663         * lib/remove.c: Likewise.
11664         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
11665         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
11666         * modules/stdio (Makefile.am): Use them.
11667         * lib/stdio.in.h (remove): Declare replacement.
11668         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11669         * doc/posix-functions/remove.texi (remove): Likewise.
11670         * modules/remove-tests: New test.
11671         * tests/test-remove.c: Likewise.
11672
11673         unlink: new module, for Solaris 9 bug
11674         * modules/unlink: New file.
11675         * lib/unlink.c: Likewise.
11676         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11678         * modules/unistd (Makefile.am): Use them.
11679         * lib/unistd.in.h (stat): Declare replacement.
11680         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11681         * doc/posix-functions/unlink.texi (unlink): Likewise.
11682         * modules/unlink-tests: New test.
11683         * tests/test-unlink.c: Likewise.
11684
11685         lstat: fix Solaris 9 bug
11686         * lib/lstat.c (lstat): Also check for trailing slash on
11687         non-symlink, non-directories.  Use stat module to simplify logic.
11688         * doc/posix-functions/lstat.texi (lstat): Document it.
11689         * modules/lstat-tests (Depends-on): Add errno, same-inode.
11690         (configure.ac): Check for symlink.
11691         * tests/test-lstat.c (main): Add more tests.
11692
11693         stat: add as dependency to other modules
11694         * modules/chown (Depends-on): Add stat.
11695         * modules/euidaccess (Depends-on): Likewise.
11696         * modules/fchdir (Depends-on): Likewise.
11697         * modules/isdir (Depends-on): Likewise.
11698         * modules/link (Depends-on): Likewise.
11699         * modules/lstat (Depends-on): Likewise.
11700         * modules/mkdir-p (Depends-on): Likewise.
11701         * modules/modechange (Depends-on): Likewise.
11702         * modules/open (Depends-on): Likewise.
11703         * modules/readlink (Depends-on): Likewise.
11704         * modules/same (Depends-on): Likewise.
11705
11706         stat: fix Solaris 9 bug
11707         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
11708         slash.
11709         * lib/stat.c (rpl_stat): Work around it.
11710         * doc/posix-functions/stat.texi (stat): Update documentation.
11711
11712         stat: new module, for mingw bug
11713         * modules/stat: New file.
11714         * lib/stat.c: Likewise.
11715         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11716         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11717         * modules/sys_stat (Makefile.am): Use them.
11718         * lib/sys_stat.in.h (stat): Declare replacement.
11719         * lib/openat.c (fstatat): Deal with lstat and stat being function
11720         macros.
11721         * modules/openat (Depends-on): Add inline.
11722         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
11723         * doc/posix-functions/stat.texi (stat): Likewise.
11724         * modules/stat-tests: New test.
11725         * tests/test-stat.c: Likewise.
11726
11727 2009-09-19  Jim Meyering  <meyering@redhat.com>
11728
11729         syntax-check: detect unnecessary inclusion of canonicalize.h
11730         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
11731
11732 2009-09-19  Eric Blake  <ebb9@byu.net>
11733
11734         canonicalize-lgpl: adjust clients to use correct header
11735         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11736         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
11737         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
11738         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
11739         * lib/progreloc.c (includes): Likewise.
11740
11741 2009-09-19  Jim Meyering  <meyering@redhat.com>
11742
11743         test-posixtm.c: correct a comment
11744         * tests/test-posixtm.c: Correct first-line comment.
11745         Spotted by Eric Blake.
11746
11747 2009-09-16  Jim Meyering  <meyering@redhat.com>
11748
11749         posixtm-tests: make T const-correct; add a test case
11750         * tests/test-posixtm.c (T): Declare const.
11751         Add a test for -(2^31+1).
11752         Remove useless can-succeed-only-in-2002 test.
11753
11754         posixtm-tests: adjust the sole failing test
11755         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
11756         expected output matches what mktime now produces.  Cross-checked via
11757         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
11758
11759         posixtm: move #ifdef'd tests into a new module
11760         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
11761         * tests/test-posixtm.c: ... this new file.
11762         * modules/posixtm-tests: New module.
11763
11764 2009-09-19  Eric Blake  <ebb9@byu.net>
11765
11766         openat: simplify use of at-func.c
11767         * lib/at-func.c (includes): Include prerequisites here, to
11768         simplify requirements on client files.
11769         * lib/openat-priv.h: Add double-inclusion guard.
11770         * lib/faccessat.c (includes): Simplify.
11771         * lib/fchmodat.c (includes): Likewise.
11772         * lib/fchownat.c (includes): Likewise.
11773         * lib/mkdirat.c (includes): Likewise.
11774         * lib/mkfifoat.c (includes): Likewise.
11775         * lib/symlinkat.c (includes): Likewise.
11776
11777         openat: allow return of fd 0
11778         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
11779         * modules/save-cwd (Depends-on): Replace fcntl-safer with
11780         unistd-safer.
11781         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
11782         <fcntl.h>; this module does not leak fds.
11783         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
11784         must be allowed to return 0, leaving openat_safer to add the
11785         safety.
11786         (openat_permissive): Avoid writing to just-opened fd 2 if
11787         restoring the current directory fails.
11788         * lib/openat-die.c (openat_restore_fail): Add comment.
11789         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
11790         (save_cwd): Guarantee safe fd, but without use of open_safer.
11791         * tests/test-openat.c: New test.
11792         * modules/openat-tests (Files, Makefile.am): Distribute and build
11793         new file.
11794
11795         relocatable-prog-wrapper: fix build
11796         * modules/relocatable-prog-wrapper (Files): Update name of
11797         canonicalize m4 file, broken on 2009-09-17.
11798         Reported by emad hajjar <aleppos@hotmail.com>.
11799
11800 2009-09-19  Bruno Haible  <bruno@clisp.org>
11801
11802         * lib/safe-alloc.h: Use the standard header with GPL copyright.
11803         * lib/safe-alloc.c: Likewise.
11804         Reported by Ian Beckwith <ianb@erislabs.net>.
11805
11806 2009-09-18  Bruno Haible  <bruno@clisp.org>
11807
11808         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
11809         Reported by <erobles@sensacd.com.mx>.
11810
11811 2009-09-17  Eric Blake  <ebb9@byu.net>
11812
11813         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
11814         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
11815         slashes when checking if last component is missing.
11816         * tests/test-canonicalize.c (main): Test this.
11817
11818         canonicalize, canonicalize-lgpl: honor // if distinct from /
11819         * modules/canonicalize (Files): Add double-slash-root.m4.
11820         * modules/canonicalize-lgpl (Files): Likewise.
11821         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11822         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
11823         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
11824         fallback definition.
11825         (canonicalize_filename_mode): Use it to protect //.
11826         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
11827         (__realpath): Likewise.
11828         * tests/test-canonicalize.c (main): Test this.
11829         * tests/test-canonicalize-lgpl.c (main): Likewise.
11830         * modules/canonicalize-tests (Depends-on): Add same-inode.
11831         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11832
11833         canonicalize-lgpl: fix glibc bug with trailing slash
11834         * m4/canonicalize-lgpl.m4: Move contents...
11835         * m4/canonicalize.m4: ...here.
11836         (gl_CANONICALIZE_LGPL): Factor realpath check...
11837         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
11838         glibc 2.3.5 bug, fixed 2005-04-27.
11839         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
11840         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
11841         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
11842         * modules/canonicalize-lgpl (Files): Manage file rename.
11843         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11844         * modules/stdlib (Makefile.am): Substitute witness.
11845         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
11846         is needed.
11847         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
11848         replacement is required.
11849         * lib/canonicalize.c (canonicalize_file_name): Likewise.
11850         * doc/glibc-functions/canonicalize_file_name.texi
11851         (canonicalize_file_name): Document this.
11852         * doc/posix-functions/realpath.texi (realpath): Likewise.
11853
11854         canonicalize-lgpl: reject non-directory with trailing slash
11855         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
11856         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
11857         catches failures in glibc 2.3.5.
11858         * tests/test-canonicalize.c (main): Likewise.
11859
11860         canonicalize-lgpl: use native realpath if it works
11861         * lib/canonicalize-lgpl.c (realpath): Guard with
11862         FUNC_REALPATH_WORKS.
11863         * lib/stdlib.in.h (realpath): Make declaration optional based on
11864         HAVE_REALPATH.
11865         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
11866         native realpath works.
11867         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11868         * modules/stdlib (Makefile.am): Substitute witness.
11869
11870         canonicalize, canonicalize-lgpl: use <stdlib.h>
11871         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
11872         (Include): Mention <stdlib.h>.
11873         (configure.ac): Mention functions we provide.
11874         * modules/canonicalize (configure.ac): Likewise.
11875         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
11876         realpath if canonicalize_file_name is missing.
11877         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
11878         * modules/stdlib (Makefile.am): Substitute witnesses.
11879         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
11880         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
11881         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
11882         * NEWS: Document this.
11883         * doc/glibc-functions/canonicalize_file_name.texi
11884         (canonicalize_file_name): Likewise.
11885         * doc/posix-functions/realpath.texi (realpath): Likewise.
11886         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
11887
11888         test-canonicalize: consolidate into single C program
11889         * tests/test-canonicalize.sh: Delete; move setup into...
11890         * tests/test-canonicalize.c (main): ...the program, making it
11891         easier to run in debugger.  Add some tests.
11892         * modules/canonicalize-tests (Files): Remove unused file.
11893         (Depends-on): Add progname.
11894         (configure.ac, Makefile.am): Simplify.
11895
11896         test-canonicalize-lgpl: consolidate into single C program
11897         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
11898         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
11899         easier to run in debugger.  Add some tests.
11900         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
11901         (configure.ac, Makefile.am): Simplify.
11902
11903         canonicalize: avoid resolvepath
11904         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
11905         unnecessary checks.
11906         * lib/canonicalize.c (includes): Simplify.
11907         (canonicalize_file_name): Drop resolvepath implementation.
11908         * modules/canonicalize (Depends-on): Drop filenamecat.
11909
11910         canonicalize: don't lose errno
11911         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
11912         over calls to free.
11913
11914         canonicalize: simplify errno handling
11915         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
11916         assignment.
11917
11918         canonicalize, canonicalize-lgpl: update module dependencies
11919         * modules/canonicalize (Depends-on): Add extensions, lstat,
11920         pathmax, stdlib.
11921         (Files): Drop pathmax.h.
11922         (configure.ac): Adjust macro name.
11923         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
11924         lstat, stdlib, sys_stat.
11925         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
11926         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
11927         extensions.
11928         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
11929         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
11930         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
11931         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
11932         declaration, if available.
11933         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
11934         we can rely on the readlink module.
11935         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
11936         (includes): Use <unistd.h> unconditionally.
11937
11938 2009-09-17  Eric Blake  <ebb9@byu.net>
11939
11940         maint: make Include sections of modules consistent
11941         * modules/alloca: Use only header name; no need to list #include.
11942         * modules/alloca-opt: Likewise.
11943         * modules/arpa_inet: Likewise.
11944         * modules/canon-host: Likewise.
11945         * modules/configmake: Likewise.
11946         * modules/dirent: Likewise.
11947         * modules/eealloc: Likewise.
11948         * modules/environ: Likewise.
11949         * modules/fchdir: Likewise.
11950         * modules/fcntl: Likewise.
11951         * modules/fcntl-h: Likewise.
11952         * modules/gethrxtime: Likewise.
11953         * modules/gettime: Likewise.
11954         * modules/ignore-value: Likewise.
11955         * modules/inet_ntop: Likewise.
11956         * modules/inet_pton: Likewise.
11957         * modules/inttypes: Likewise.
11958         * modules/isnand-nolibm: Likewise.
11959         * modules/isnanf-nolibm: Likewise.
11960         * modules/mbchar: Likewise.
11961         * modules/mbfile: Likewise.
11962         * modules/mbiter: Likewise.
11963         * modules/mbuiter: Likewise.
11964         * modules/netdb: Likewise.
11965         * modules/netinet_in: Likewise.
11966         * modules/nproc: Likewise.
11967         * modules/pagealign_alloc: Likewise.
11968         * modules/poll: Likewise.
11969         * modules/printf-frexp: Likewise.
11970         * modules/pthread: Likewise.
11971         * modules/putenv: Likewise.
11972         * modules/random_r: Likewise.
11973         * modules/relocatable-prog: Likewise.
11974         * modules/search: Likewise.
11975         * modules/select: Likewise.
11976         * modules/selinux-h: Likewise.
11977         * modules/settime: Likewise.
11978         * modules/signal: Likewise.
11979         * modules/size_max: Likewise.
11980         * modules/socklen: Likewise.
11981         * modules/ssize_t: Likewise.
11982         * modules/stdarg: Likewise.
11983         * modules/stdbool: Likewise.
11984         * modules/stddef: Likewise.
11985         * modules/stdint: Likewise.
11986         * modules/stdio: Likewise.
11987         * modules/stdlib: Likewise.
11988         * modules/string: Likewise.
11989         * modules/strings: Likewise.
11990         * modules/sys_file: Likewise.
11991         * modules/sys_ioctl: Likewise.
11992         * modules/sys_select: Likewise.
11993         * modules/sys_socket: Likewise.
11994         * modules/sys_stat: Likewise.
11995         * modules/sys_time: Likewise.
11996         * modules/sys_times: Likewise.
11997         * modules/sys_utsname: Likewise.
11998         * modules/sys_wait: Likewise.
11999         * modules/sysexits: Likewise.
12000         * modules/time: Likewise.
12001         * modules/times: Likewise.
12002         * modules/tmpfile: Likewise.
12003         * modules/trim: Likewise.
12004         * modules/unistd: Likewise.
12005         * modules/wchar: Likewise.
12006         * modules/wctype: Likewise.
12007
12008 2009-09-17  Bruno Haible  <bruno@clisp.org>
12009
12010         Make getdate.y compile on QNX and NetBSD 5 / i386.
12011         * m4/getdate.m4 (gl_GETDATE): Conditionally define
12012         TIME_T_FITS_IN_LONG_INT.
12013         * lib/getdate.y (long_time_t): New type.
12014         (relative_time): Change type of 'seconds' field to long_time_t.
12015         (get_date): Update types of local variables. Check against overflow
12016         during conversion from long_time_t to time_t.
12017         Reported by Matt Kraai <kraai@ftbfs.org>
12018         and Hasso Tepper <hasso@netbsd.org>.
12019
12020 2009-09-17  Bruno Haible  <bruno@clisp.org>
12021
12022         * modules/COPYING: Update copyright years.
12023         * modules/README: Likeiwse.
12024         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
12025         Reported by Ian Beckwith <ianb@erislabs.net>.
12026
12027 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
12028
12029         * users.txt: Update references for gnuit package.
12030
12031 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
12032
12033         * m4/getdelim.m4: Fix typo in copyright line.
12034
12035 2009-09-17  Bruno Haible  <bruno@clisp.org>
12036
12037         * lib/atoll.c: Use the standard header with GPL copyright.
12038         * lib/argz.in.h: Likewise.
12039         * lib/glob.c: Likewise.
12040         * lib/glob-libc.h: Likewise.
12041         * lib/random_r.c: Likewise.
12042         * lib/siglist.h: Likewise.
12043         * lib/strsignal.c: Likewise.
12044         Reported by Ian Beckwith <ianb@erislabs.net>.
12045
12046 2009-09-17  Eric Blake  <ebb9@byu.net>
12047
12048         rmdir: ensure correct dependency order
12049         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
12050
12051 2009-09-17  Bruno Haible  <bruno@clisp.org>
12052
12053         Disable assertion that fails on NetBSD 5 / i386.
12054         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
12055         Reported by Sam Steingold <sds@gnu.org>
12056         and Hasso Tepper <hasso@netbsd.org>.
12057
12058 2009-09-16  Eric Blake  <ebb9@byu.net>
12059
12060         unlinkdir: port to mingw
12061         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
12062         on which no one can unlink a directory.
12063
12064         stdlib: sort witness names
12065         * modules/stdlib (Makefile.am): Sort replacements.
12066         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
12067         * lib/stdlib.in.h: Likewise.
12068
12069         parse-duration-tests: avoid link failure
12070         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
12071         LIBINTL.
12072         Reported by Tom G. Christensen.
12073
12074         openat-tests: ensure unlinkat behaves like rmdir
12075         * tests/test-rmdir.c (main): Factor guts...
12076         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
12077         * modules/rmdir-tests (Files): Ship new file.
12078         * modules/openat-tests: New test.
12079         * tests/test-unlinkat.c: Likewise.
12080
12081         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
12082         * modules/rmdir-errno (Status, Notice): Now obsolete.
12083
12084         rmdir: work around cygwin 1.5.x and mingw bugs
12085         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
12086         * lib/rmdir.c (rmdir): Work around it.
12087         * modules/rmdir (Status, Notice): No longer obsolete.
12088         (Files): Add dos.m4.
12089         (Depends-on): Add unistd.
12090         (configure.ac): Set witnesses.
12091         (License): Relax to LGPLv2+.
12092         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
12093         * modules/unistd (Makefile.am): Substitute witnesses.
12094         * lib/unistd.in.h (rmdir): Declare replacement.
12095         * doc/posix-functions/rmdir.texi (rmdir): Document this.
12096         * modules/rmdir-tests: New tests.
12097         * tests/test-rmdir.c: Likewise.
12098
12099 2009-09-15  Eric Blake  <ebb9@byu.net>
12100
12101         fchdir: improve use of replacement functions
12102         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
12103         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
12104         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
12105         REPLACE_CLOSEDIR.
12106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
12107         * modules/sys_stat (Makefile.am): Substitute correct witness.
12108         * modules/dirent (Makefile.am): Likewise.
12109         * modules/unistd (Makefile.am): Likewise.
12110         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
12111         * lib/unistd.in.h (dup): Likewise.
12112         * lib/sys_stat.in.h (fstat): Likewise.
12113
12114         maint: ignore gnulib-tool temp files
12115         * .gitignore: Ignore files created during gnulib-tool --test.
12116
12117 2009-09-13  Jim Meyering  <meyering@redhat.com>
12118
12119         posixtm: don't reject a time that specify "60" as the number of seconds
12120         * lib/posixtm.c (posixtime): The code to reject invalid dates
12121         would also reject a time specified with the .60 suffix.
12122         But POSIX allows that, in order to accommodate leap seconds.
12123         So don't reject it.
12124         (main): Adjust tests accordingly.
12125         * modules/posixtm (Depends-on): Add stpcpy.
12126
12127 2009-09-11  Jim Meyering  <meyering@redhat.com>
12128
12129         announce-gen: include [$release_type] in emitted Subject:
12130         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
12131         e.g., [stable] in the emitted Subject: line.
12132
12133 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12134
12135         Remove obsolete macros from several modules.
12136         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
12137         obsolete Autoconf macros with their modern counterparts.
12138         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
12139         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
12140         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
12141         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
12142         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
12143         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
12144         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
12145         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
12146         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
12147         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
12148         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12149         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12150         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
12151         * m4/sockets.m4 (gl_SOCKETS): Likewise.
12152         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
12153         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
12154         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
12155         * m4/time_r.m4 (gl_TIME_R): Likewise.
12156         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
12157         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
12158         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
12159
12160         Fix copyright header in build-aux scripts.
12161         * build-aux/git-version-gen: Fix copyright header to match GPLv3
12162         recommendation.
12163         * build-aux/ncftpput-ftp: Likewise.
12164         * build-aux/update-copyright: Likewise.
12165
12166 2009-09-09  Eric Blake  <ebb9@byu.net>
12167
12168         test-link: allow Linux choice of errno
12169         * tests/test-link.c (main): Relax test for alternate error.
12170
12171         strndup: fix improper m4 caching
12172         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
12173         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
12174         (gl_PREREQ_STRNDUP): Delete.
12175         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
12176         * modules/string (Makefile.am): Substitute it.
12177         * lib/string.in.h (strndup): Modernize prototype.
12178
12179         getcwd: port to mingw
12180         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
12181         different from the POSIX assumptions made throughout the getcwd
12182         module; fortunately, the mingw getcwd does not need replacement.
12183         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
12184         * modules/getcwd-tests: New test.
12185         * tests/test-getcwd.c: Likewise.
12186
12187         link: fix platform bugs
12188         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
12189         * lib/link.c (link): Work around them.  Fix related mingw bug.
12190         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
12191         * modules/unistd (Makefile.am): Substitute it.
12192         * lib/unistd.in.h (link): Declare replacement.
12193         * doc/posix-functions/link.texi (link): Document this.
12194         * modules/link (Depends-on): Add strdup-posix, sys_stat.
12195
12196         test-link: consolidate into single C program, test more cases
12197         * tests/test-link.sh: Delete.
12198         * tests/test-link.c: Test more error conditions.  Exposes bugs on
12199         at least Cygwin and Solaris.
12200         * modules/link-tests (Files): Remove unused file.
12201         (Depends-on): Add errno, sys_stat.
12202         (Makefile.am): Simplify.
12203
12204 2009-09-08  Bruno Haible  <bruno@clisp.org>
12205
12206         Work around towlower, towupper bug on mingw.
12207         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
12208         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
12209         * doc/posix-functions/towlower.texi: Mention the mingw bug.
12210         * doc/posix-functions/towupper.texi: Likewise.
12211         Reported by Eric Blake.
12212
12213 2009-09-08  Jim Meyering  <meyering@redhat.com>
12214
12215         build: don't try to run autoheader if we don't use it
12216         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
12217         is not used in configure.ac.
12218
12219 2009-09-08  Eric Blake  <ebb9@byu.net>
12220
12221         euidaccess: fix compilation error
12222         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
12223
12224         rawmemchr: relax license
12225         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
12226         okay.
12227         Reported by Jim Meyering.
12228
12229         mkfifoat: new module
12230         * modules/mkfifoat: New file.
12231         * lib/mkfifoat.c: Likewise.
12232         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
12233         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12234         * modules/sys_stat (Makefile.am): Use them.
12235         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
12236         * MODULES.html.sh (File system functions): Mention module.
12237         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
12238         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
12239         * modules/mkfifoat-tests: New test.
12240         * tests/test-mkfifoat.c: Likewise.
12241
12242         strchrnul: relax license
12243         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
12244         okay.
12245         Reported by Jim Meyering.
12246
12247 2009-09-08  Eric Blake  <ebb9@byu.net>
12248
12249         fstatat: fix compilation on Solaris
12250         * lib/fstatat.c (includes): Add fcntl.h.
12251         Reported by Pádraig Brady.
12252
12253 2009-09-07  Eric Blake  <ebb9@byu.net>
12254
12255         rename: modernize replacement
12256         * modules/rename (Depends-on): Add stdio.
12257         (configure.ac): Declare witness.
12258         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
12259         stdio take care of replacement.
12260         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
12261         * modules/stdio (Makefile.am): Substitute them.
12262         * lib/stdio.in.h (rename): Declare replacement.
12263         * lib/rename.c (includes): Allow cross-compilation to non-windows
12264         machines.
12265         * doc/posix-functions/rename.texi (rename): Improve
12266         documentation.
12267
12268         stdio: sort witness names
12269         * modules/stdio (Makefile.am): Sort replacements.
12270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
12271         * lib/stdio.in.h: Likewise.
12272
12273         getcwd: minor cleanups
12274         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
12275         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
12276
12277         openat: provide more convenience names
12278         * modules/faccessat (configure.ac): Add C witness.
12279         * lib/unistd.in.h (readlinkat): Fix typo.
12280         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
12281         convenience wrappers.
12282         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
12283         wrappers in syntax checks.
12284
12285 2009-09-06  Eric Blake  <ebb9@byu.net>
12286
12287         doc: fix comments in recent patches
12288         * lib/faccessat.c: Mention correct function.
12289         * lib/fchmodat.c: Likewise.
12290         * lib/fchownat.c: Likewise.
12291         * lib/symlinkat.c: Likewise.
12292         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
12293         constants.
12294
12295         faccessat, symlinkat: continue cleanup of previous patch
12296         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
12297         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
12298         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
12299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
12300         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
12301         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
12302         set.
12303
12304 2009-09-06  Bruno Haible  <bruno@clisp.org>
12305
12306         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
12307         (fstatat): Declare if GNULIB_FSTATAT is set.
12308         (mkdirat): Declare if GNULIB_MKDIRAT is set.
12309         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
12310         (unlinkat): Declare if GNULIB_UNLINKAT is set.
12311         * modules/fcntl-h (Files): Remove m4/openat.m4.
12312         * modules/sys_stat (Files): Remove m4/openat.m4.
12313         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
12314         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
12315         * modules/unistd (Files): Remove m4/openat.m4.
12316         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
12317         GNULIB_OPENAT.
12318         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
12319         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
12320         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
12321         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
12322         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
12323         gl_OPENAT_DEFAULTS.
12324         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
12325         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
12326         Don't require gl_OPENAT_DEFAULTS.
12327         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
12328         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
12329         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
12330         (gl_OPENAT_DEFAULTS): Remove macro.
12331
12332 2009-09-06  Bruno Haible  <bruno@clisp.org>
12333
12334         * modules/openat (configure.ac): Remove unneeded witness.
12335
12336 2009-09-06  Bruno Haible  <bruno@clisp.org>
12337
12338         Set errno to ENOSYS when a function is entirely unsupported.
12339         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
12340         EOPNOTSUPP.
12341         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
12342         * modules/chown (Depends-on): Remove errno.
12343
12344 2009-09-06  Bruno Haible  <bruno@clisp.org>
12345
12346         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
12347
12348 2009-09-06  Bruno Haible  <bruno@clisp.org>
12349
12350         * lib/sys_stat.in.h: Fix preprocessor command indentation.
12351
12352 2009-09-06  Ben Pfaff  <blp@gnu.org>
12353             Bruno Haible  <bruno@clisp.org>
12354
12355         Work around a glibc bug in strtok_r.
12356         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
12357         Undefine if UNDEFINE_STRTOK_R is set.
12358         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
12359         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12360         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
12361         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
12362         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
12363         UNDEFINE_STRTOK_R.
12364         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
12365
12366 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
12367
12368         exclude: minor fix
12369         * lib/exclude.c: Include wctype.h
12370
12371 2009-09-06  Akim Demaille  <demaille@gostai.com>
12372
12373         bootstrap: improve error message
12374         * build-aux/bootstrap (find_tool): Upon failure, report the list
12375         of candidates.
12376         Honor the initial value of the envvar.
12377
12378 2009-09-05  Eric Blake  <ebb9@byu.net>
12379
12380         symlinkat: new module
12381         * modules/symlinkat: New file.
12382         * lib/symlinkat.c: Likewise.
12383         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
12384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
12385         * modules/unistd (Makefile.am): Use them.
12386         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
12387         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
12388         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
12389         * MODULES.html.sh (File system functions): Mention module.
12390         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12391         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12392         * modules/symlinkat-tests: New test.
12393         * tests/test-symlinkat.c: Likewise.
12394
12395         test-openat-safer: add more checks
12396         * tests/test-openat-safer.c (main): Check more code paths.
12397
12398 2009-09-05  Jim Meyering  <meyering@redhat.com>
12399
12400         syntax-check: detect unnecessary inclusion of openat.h
12401         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
12402
12403 2009-09-05  Bruno Haible  <bruno@clisp.org>
12404
12405         Support towlower, towupper.
12406         * doc/posix-functions/towlower.texi: Mention module wctype.
12407         * doc/posix-functions/towupper.texi: Likewise.
12408         * lib/wctype.in.h (towlower, towupper): New functions.
12409         * tests/test-wctype.c: Include stdio.h, stdlib.h.
12410         (ASSERT): New macro.
12411         (e): New variable.
12412         (main): Test also towlower, towupper. Test WEOF argument.
12413         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12414
12415 2009-09-05  Bruno Haible  <bruno@clisp.org>
12416
12417         Fix conversion behaviour when the input is invalid.
12418         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
12419         mark occurring in first pass of indirect conversion.
12420         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
12421         input.
12422         Found by clang's static analyzer.
12423
12424 2009-09-05  Bruno Haible  <bruno@clisp.org>
12425
12426         * tests/test-striconveh.c (main): Test indirect conversion on platforms
12427         where direct conversion is possible.
12428
12429 2009-09-04  Eric Blake  <ebb9@byu.net>
12430
12431         openat: fail with ENOENT on empty name
12432         * lib/openat-proc.c (openat_proc_name): Special-case the empty
12433         buffer.
12434
12435         link-follow: fix logic bug in prior patch
12436         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
12437         reversed sense of yes and no in prior patch.  Avoid confusing
12438         compilation failure with desired semantics.
12439
12440         link-follow: accomodate mingw and cross-compilation
12441         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
12442         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
12443         cross-compilation results to -1, to make linkat easier to
12444         implement when cross-compiling.  Trivially support mingw.
12445         * modules/link-follow (configure.ac): Call new name.
12446         * NEWS: Mention this.
12447
12448 2009-09-03  Eric Blake  <ebb9@byu.net>
12449
12450         faccessat: compile replacement
12451         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
12452         needed.
12453
12454         fts: fix compilation error
12455         * lib/fts.c (includes): Re-add "openat.h", for
12456         openat_needs_fchdir.
12457
12458         faccessat: new module
12459         * modules/faccessat: New file.
12460         * lib/faccessat.c: Likewise.
12461         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
12462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12463         * modules/unistd (Makefile.am): Use it.
12464         * lib/unistd.in.h (faccessat): Declare it.
12465         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
12466         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
12467         * MODULES.html.sh (File system functions): Mention it.
12468         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
12469         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
12470
12471         euidaccess: prefer POSIX over non-standard implementation
12472         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
12473         * lib/euidaccess.c (euidaccess): Use it if available.
12474
12475         openat: make template easier to use
12476         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
12477         AT_FUNC_F2 to be undefined.
12478         (VALIDATE_FLAG): New macro; use it to reject bad flags.
12479         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
12480         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
12481         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
12482         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
12483         Likewise.
12484         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
12485         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
12486         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
12487         Likewise.
12488
12489         openat: declare in POSIX headers
12490         * NEWS: Mention this.
12491         * modules/openat (configure.ac): Declare witnesses.
12492         (Depends-on): Add fcntl-h, sys_stat, unistd.
12493         (Include): Mention correct headers.
12494         * modules/fcntl-h (Depends-on): Add link-warning.
12495         (Files): Add openat.m4.
12496         (Makefile.am): Substitute witnesses.
12497         * modules/sys_stat (Files, Makefile.am): Likewise.
12498         * modules/unistd (Files, Makefile.am): Likewise.
12499         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
12500         (gl_OPENAT_DEFAULTS): New macro.
12501         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
12502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
12503         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
12504         (SYS_STAT_H): Remove unused variable.
12505         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
12506         * lib/fcntl--.h (includes): Remove unneeded header.
12507         * lib/openat-safer.c (includes): Likewise.
12508         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
12509         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
12510         appropriate headers.
12511         (__OPENAT_PREFIX): Delete.
12512         * lib/fcntl.in.h (openat): Provide declaration.
12513         (AT_FDCWD): Fix Solaris bug.
12514         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
12515         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
12516         * lib/fchmodat.c (includes):  Adjust to find declaration.
12517         * lib/fchownat.c (includes): Likewise.
12518         * lib/mkdirat.c (includes): Likewise.
12519         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
12520         still visible.
12521
12522 2009-09-02  Eric Blake  <ebb9@byu.net>
12523
12524         errno: use consistently
12525         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
12526         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
12527         * lib/canonicalize.c (ELOOP): Likewise.
12528         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
12529         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
12530         * lib/lchown.c (EOPNOTSUPP): Likewise.
12531         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
12532         * lib/savewd.c (ESTALE): Likewise.
12533         * lib/settime.c (ENOSYS): Likewise.
12534         * lib/utimens.c (ENOSYS): Likewise.
12535         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
12536         * lib/chdir-safer.c (ELOOP): Likewise.
12537         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
12538         * modules/c-stack (Depends-on): Add errno.
12539         * modules/canonicalize (Depends-on): Likewise.
12540         * modules/chdir-safer (Depends-on): Likewise.
12541         * modules/fdopendir (Depends-on): Likewise.
12542         * modules/inet_ntop (Depends-on): Likewise.
12543         * modules/inet_pton (Depends-on): Likewise.
12544         * modules/lchown (Depends-on): Likewise.
12545         * modules/openat (Depends-on): Likewise.
12546         * modules/savewd (Depends-on): Likewise.
12547         * modules/settime (Depends-on): Likewise.
12548         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
12549
12550         fts: avoid leaking fds
12551         * modules/fts (Depends-on): Add cloexec.
12552         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
12553         flag.
12554
12555         fts: make directory fds more robust
12556         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
12557         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
12558
12559         backupfile, chdir-long, fts, savedir: make safer
12560         * lib/backupfile.c (includes): Use "dirent--.h", since
12561         numbered_backup can write to stderr during readdir.
12562         * lib/savedir.c (includes): Likewise.
12563         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
12564         emulation can write to stderr on failure.
12565         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
12566         * lib/getcwd.c: Document why opendir_safer is unused.
12567         * lib/glob.c: Likewise.
12568         * lib/scandir.c: Likewise.
12569         * lib/openat-proc.c: Likewise, for open_safer.
12570         * modules/backupfile (Depends-on): Add dirent-safer.
12571         * modules/savedir (Depends-on): Likewise.
12572         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
12573         * modules/chdir-long (Depends-on): Add openat-safer.
12574
12575         openat-safer: new module
12576         * modules/openat-safer: New file.
12577         * lib/openat-safer.c: Likewise.
12578         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
12579         * lib/fcntl-safer.h (openat_safer): Declare.
12580         * lib/fcntl--.h (openat): Override.
12581         * MODULES.html.sh (File descriptor based I/O): Mention it.
12582         * lib/openat.h: Add double-inclusion guards.
12583         * lib/openat.c (includes): Only include "fcntl-safer.h", not
12584         "fcntl--.h", so we can implement openat.
12585         * modules/openat-safer-tests: New test.
12586         * tests/test-openat-safer.c: New file.
12587
12588         dirent-safer: new module
12589         * modules/dirent-safer: New file.
12590         * lib/dirent--.h: Likewise.
12591         * lib/dirent-safer.h: Likewise.
12592         * lib/opendir-safer.c: Likewise.
12593         * m4/dirent-safer.m4: Likewise.
12594         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
12595         * modules/dirent-safer-tests: New test.
12596         * tests/test-dirent-safer.c: New file.
12597         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
12598
12599         fdopendir: optimize on mingw
12600         * lib/unistd.in.h (_gl_directory_name): New prototype.
12601         * lib/fchdir.c (_gl_directory_name): Implement it.
12602         (fchdir): Use it to simplify implementation.
12603         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
12604         fchdir, when available, to avoid calling [f]chdir().
12605
12606         fdopendir: split into its own module
12607         * lib/openat.c (fdopendir): Move...
12608         * lib/fdopendir.c: ...into new file.
12609         * modules/fdopendir: New module.
12610         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
12611         * modules/openat (Depends-on): Add fdopendir.
12612         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
12613         fdopendir here.
12614         * modules/savedir (Depends-on): Only need fdopendir, not full
12615         openat.
12616         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
12617         * lib/openat.h (fdopendir): Drop prototype.
12618         * lib/dirent.in.h (fdopendir): Provide prototype.
12619         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
12620         * modules/dirent (Makefile.am): Substitute them.
12621         * MODULES.html.sh (File system functions): Mention it.
12622         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
12623         * modules/fdopendir-tests: New file.
12624         * tests/test-fdopendir.c: Likewise.
12625
12626         fchdir: use more consistent macro convention
12627         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
12628         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
12629         REPLACE_FCHDIR, rather than relying on config.h macros.
12630         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
12631         inside a single make-time REPLACE_FCHDIR block, rather than using
12632         the config.h FCHDIR_REPLACEMENT.
12633         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
12634         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
12635         Manage fstat replacement.
12636         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
12637         REPLACE_FCHDIR.
12638         * modules/sys_stat (Files): Add m4/unistd_h.m4.
12639         (Makefile.am): Substitute REPLACE_FCHDIR.
12640         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
12641         FCHDIR_REPLACEMENT.
12642         * lib/dup-safer.c (dup_safer): Likewise.
12643         * lib/dup2.c (rpl_dup2): Likewise.
12644         * lib/dup3.c (rpl_dup3): Likewise.
12645         * lib/open.c (rpl_open): Likewise.
12646
12647         fchdir: simplify error handling, and support dup3
12648         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
12649         stdbool, malloc-posix, realloc-posix.
12650         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
12651         (ensure_dirs_slot): Return false on allocation failure.
12652         (rpl_dup2): Delete.
12653         (_gl_register_dup): New function.
12654         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
12655         (_gl_register_fd): Close fd on allocation failure.
12656         * lib/fcntl.in.h (_gl_register_fd): Update signature.
12657         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
12658         prototype.
12659         (rpl_dup2_fchdir): Delete prototype.
12660         * lib/open.c (open): Update caller.
12661         * lib/dup2.c (dup2): Track fchdir metadata.
12662         * lib/dup3.c (dup3): Likewise.
12663         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
12664         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
12665
12666 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12667
12668         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
12669         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
12670         don't pass arguments to AC_OUTPUT.
12671
12672 2009-09-02  Bruno Haible  <bruno@clisp.org>
12673
12674         * modules/mkdtemp (License): Relicense under LGPLv2+.
12675         Reported by Paolo Bonzini.
12676
12677 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12678
12679         Replace uses of obsolete autoconf macros in Jim's modules.
12680         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
12681         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
12682         can evoke a warning from autoconf when run with -Wobsolete
12683         enabled.  They were declared obsolete for good reasons (see
12684         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
12685         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
12686         should not continue using the deprecated macros.
12687         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
12688         obsolete Autoconf macros with modern counterparts.
12689         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12690         * m4/dos.m4 (gl_AC_DOS): Likewise.
12691         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
12692         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
12693         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
12694         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
12695         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
12696         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
12697         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
12698         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
12699         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
12700         Likewise.
12701         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
12702         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
12703         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
12704         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
12705         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
12706         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
12707
12708 2009-09-01  Eric Blake  <ebb9@byu.net>
12709
12710         fchdir: fix off-by-one bug in previous patch
12711         * lib/fchdir.c (rpl_fstat): Use correct bounds.
12712         (_gl_unregister_fd): Delete useless if.
12713
12714 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
12715
12716         maint.mk: sort the list of syntax-check rules
12717         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
12718         easier to get a sense of progress when the rules are run sequentially
12719         and take a long time.
12720
12721 2009-09-01  Simon Josefsson  <simon@josefsson.org>
12722
12723         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
12724         * modules/netinet_in: Likewise.
12725         * modules/sys_file: Likewise.
12726         * modules/sys_ioctl: Likewise.
12727         * modules/sys_select: Likewise.
12728         * modules/sys_socket: Likewise.
12729         * modules/sys_stat: Likewise.
12730         * modules/sys_time: Likewise.
12731         * modules/sys_times: Likewise.
12732         * modules/sys_utsname: Likewise.
12733         * modules/sys_wait: Likewise.
12734
12735 2009-09-01  Jim Meyering  <meyering@redhat.com>
12736
12737         fts: help ensure that return values are not ignored
12738         * lib/fts_.h (__GNUC_PREREQ): Define.
12739         (__attribute_warn_unused_result__): Define.
12740         (fts_children, fts_close, fts_open, fts_read): Declare with
12741         __attribute_warn_unused_result__.
12742
12743         fts: fts_close now fails also when closing a dir file descriptor fails
12744         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
12745         and propagate to caller, along with errno.
12746
12747         announce-gen: correct formatting in --help output
12748         * build-aux/announce-gen (usage): Move the one-line description in
12749         --help output "up", to where it belongs, just after Usage:.
12750
12751 2009-08-31  Eric Blake  <ebb9@byu.net>
12752
12753         fchdir: port to mingw
12754         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
12755         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
12756         opened, then use a substitute.
12757         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
12758         replacement.
12759         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
12760         (_gl_register_fd): No need to check stat if open already filters
12761         all directories.
12762         (fchdir): Fix error condition to match POSIX.
12763         * modules/fchdir (Depends-on): Add sys_stat.
12764         * doc/posix-functions/open.texi (open): Document the limitation.
12765         * modules/fchdir-tests: New file.
12766         * tests/test-fchdir.c: Likewise.
12767
12768         canonicalize: allow cross-testing from cygwin to mingw
12769         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
12770         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
12771         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
12772         Likewise.
12773         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
12774         target does not support symlinks.
12775         * tests/test-canonicalize-lgpl.sh: Likewise.
12776
12777         chown: avoid compilation warning on mingw
12778         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
12779         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
12780         mingw.
12781         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
12782         * modules/chown (Depends-on): Add errno.
12783
12784 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
12785
12786         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
12787         command.
12788
12789 2009-08-31  Jim Meyering  <meyering@redhat.com>
12790
12791         canonicalize: remove useless initialization
12792         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
12793         initialization of local, "end".
12794
12795 2009-08-30  Bruno Haible  <bruno@clisp.org>
12796
12797         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
12798         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
12799         ENOSYS.
12800
12801 2009-08-30  Bruno Haible  <bruno@clisp.org>
12802
12803         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
12804         /usr/xpg4/bin/tr when it exists.
12805         * tests/test-pipe-filter-gi1.sh: Likewise.
12806
12807 2009-08-30  Bruno Haible  <bruno@clisp.org>
12808
12809         Work around deficient /usr/bin/id program on Solaris.
12810         * tests/test-file-has-acl.sh (ID): New variable.
12811         * tests/test-set-mode-acl.sh (ID): Likewise.
12812         * tests/test-copy-acl.sh (ID): Likewise.
12813         * tests/test-copy-file.sh (ID): Likewise.
12814
12815 2009-08-30  Bruno Haible  <bruno@clisp.org>
12816
12817         New module 'xstriconveh'.
12818         * lib/xstriconveh.h: New file.
12819         * lib/xstriconveh.c: New file.
12820         * modules/xstriconveh: New file.
12821
12822 2009-08-30  Bruno Haible  <bruno@clisp.org>
12823
12824         Make it easier to use mem_cd_iconveh.
12825         * lib/striconveh.h (iconveh_t): New type.
12826         (iconveh_open, iconveh_close): New declarations.
12827         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12828         with a single 'const iconveh_t *' argument.
12829         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
12830         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12831         with a single 'const iconveh_t *' argument.
12832         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
12833         * tests/test-striconveh.c (main): Update.
12834         * NEWS: Mention the change.
12835
12836 2009-08-30  Bruno Haible  <bruno@clisp.org>
12837
12838         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
12839         problem.
12840
12841 2009-08-30  Bruno Haible  <bruno@clisp.org>
12842
12843         Work around iconv_open problem on Solaris.
12844         * lib/iconv_open-solaris.gperf: New file.
12845         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
12846         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
12847         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
12848         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
12849         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
12850         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
12851
12852 2009-08-29  Jim Meyering  <meyering@redhat.com>
12853
12854         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
12855         * top/maint.mk (cvs-check): Remove target; it was just an alias
12856         to the better-named vc-diff-check.
12857         (maintainer-distcheck): Remove rule.  It was used only from
12858         the (alpha/beta/major) target, and all of its commands but one
12859         were coreutils-specific.
12860         (vc-dist): Remove rule.
12861         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
12862         Run vc-diff-check, not vc-dist.
12863         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
12864
12865 2009-08-27  Bruno Haible  <bruno@clisp.org>
12866
12867         * tests/test-bitrotate.c (main): Remove test that uses a shift count
12868         of 0.
12869
12870 2009-08-27  Bruno Haible  <bruno@clisp.org>
12871
12872         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
12873         compilers.
12874         * doc/func.texi: Document the SunPRO C bug.
12875
12876 2009-08-27  Bruno Haible  <bruno@clisp.org>
12877
12878         Fix link error on Solaris.
12879         * tests/test-parse-duration.c (xstrdup): Remove function.
12880
12881 2009-08-26  Pádraig Brady  <P@draigbrady.com>
12882
12883         ignore-value: handle pointer types, too
12884         * lib/ignore-value.h (__attribute__): Remove definition.
12885         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
12886         of a more concise and more-often effective "(void) i" statement.
12887         (ignore_ptr): New function to suppress warnings from functions that
12888         return pointers, and to make it explicit that one function doesn't
12889         handle all cases.
12890
12891 2009-08-25  Bruno Haible  <bruno@clisp.org>
12892
12893         dup2: work around a Linux bug.
12894         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
12895         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
12896         * doc/posix-functions/dup2.texi: Mention the Linux bug.
12897         Reported by Simon Josefsson.
12898
12899 2009-08-25  Jim Meyering  <meyering@redhat.com>
12900
12901         libguestfs uses gnulib
12902         * users.txt: Add libguestfs.
12903
12904 2009-08-24  Eric Blake  <ebb9@byu.net>
12905
12906         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
12907         * lib/pipe2.c (includes): Add binary-io.h.
12908         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
12909
12910 2009-08-24  Bruno Haible  <bruno@clisp.org>
12911
12912         Tolerate declared but missing accept4 syscall.
12913         * lib/accept4.c (accept4): Invoke original accept4 function first, if
12914         available.
12915         * lib/sys_socket.in.h (accept4): If the function is already present,
12916         override it.
12917         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
12918         * modules/accept4 (Makefile.am): Compile accept4.c always.
12919         Reported by Paolo Bonzini and Eric Blake.
12920
12921 2009-08-23  Bruno Haible  <bruno@clisp.org>
12922
12923         New module 'accept4'.
12924         * lib/sys_socket.in.h (accept4): New declaration.
12925         * lib/accept4.c: New file.
12926         * m4/accept4.m4: New file.
12927         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12928         GNULIB_ACCEPT4, HAVE_ACCEPT4.
12929         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
12930         HAVE_ACCEPT4.
12931         * modules/accept4: New file.
12932         * doc/glibc-functions/accept4.texi: Mention the new module.
12933
12934 2009-08-24  Jim Meyering  <meyering@redhat.com>
12935
12936         progname: also set global program_invocation_name, when possible
12937         Before this change, a libtool-enabled program that calls glibc's
12938         error function would report the program name as
12939         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
12940         * modules/progname (configure.ac): Check for a declaration of
12941         program_invocation_name.
12942         * lib/progname.c:  Include <errno.h>.
12943         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
12944         Set program_invocation_name.
12945
12946 2009-08-23  Bruno Haible  <bruno@clisp.org>
12947
12948         * lib/dup3.c: Include <string.h>.
12949
12950 2009-08-23  Bruno Haible  <bruno@clisp.org>
12951
12952         * lib/dup3.c (dup3): Test only once whether the system actually exists.
12953         * lib/pipe2.c (pipe2): Likewise.
12954         Suggested by Eric Blake.
12955
12956 2009-08-23  Bruno Haible  <bruno@clisp.org>
12957
12958         Tolerate declared but missing dup3 syscall.
12959         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
12960         * lib/unistd.in.h (dup3): If the function is already present,
12961         override it.
12962         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
12963         * modules/dup3 (Makefile.am): Compile dup3.c always.
12964         Reported by Paolo Bonzini.
12965
12966 2009-08-23  Bruno Haible  <bruno@clisp.org>
12967
12968         Tolerate declared but missing pipe2 syscall.
12969         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
12970         available.
12971         * lib/unistd.in.h (pipe2): If the function is already present,
12972         override it.
12973         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
12974         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
12975         Reported by Paolo Bonzini.
12976
12977 2009-08-23  Bruno Haible  <bruno@clisp.org>
12978
12979         * lib/pipe2.c (pipe2): Move #ifs inside function.
12980
12981 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12982
12983         quotearg: document limitations of quote_these_too
12984         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
12985         those limitations are created.
12986         * lib/quotearg.h (set_char_quoting): Document that digits and
12987         letters that are special after backslash are not permitted.
12988         (quotearg_char): Cross-reference set_char_quoting documentation.
12989
12990 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
12991
12992         quotearg: implement custom_quoting_style
12993         * lib/quotearg.c: (struct quoting_options): Add left_quote and
12994         right_quote fields.
12995         (set_custom_quoting): New public function.
12996         (quotearg_buffer_restyled): Add left_quote and right_quote
12997         arguments, handle them very much like locale quoting, and update
12998         all uses.
12999         (quotearg_n_custom): New public function.
13000         (quotearg_n_custom_mem): New public function.
13001         (quotearg_custom): New public function.
13002         (quotearg_custom_mem): New public function.
13003         * lib/quotearg.h: Prototype and document new public functions.
13004         (enum quoting_style): For escape_quoting_style and
13005         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
13006         ignored even though they're otherwise like c_quoting_style.
13007         Add custom_quoting_style member and document with comparison to
13008         clocale_quoting_style.
13009         * tests/test-quotearg.c (custom_quotes): New array.
13010         (custom_results): New array.
13011         (main): Extend to test custom quoting.
13012
13013 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
13014
13015         quotearg: fix right quote escaping when it's in quote_these_too
13016         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
13017         quote, be sure to prepend only one backslash.
13018         * tests/test-quotearg.c (use_quote_double_quotes): New function.
13019         (main): Test it.
13020
13021 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
13022
13023         quotearg-tests: test escaping of embedded locale quotes
13024         * tests/test-quotearg.c (struct result_strings): Add member for
13025         new input.
13026         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
13027         (inputs): Add new input.
13028         (results_g): Add expected results.
13029         (flag_results): Likewise.
13030         (locale_results): Likewise.
13031         (compare_strings): Check those.
13032
13033 2009-08-23  Bruno Haible  <bruno@clisp.org>
13034
13035         Tests for module 'dup3'.
13036         * modules/dup3-tests: New file.
13037         * tests/test-dup3.c: New file.
13038
13039         New module 'dup3'.
13040         * lib/unistd.in.h (dup3): New declaration.
13041         * lib/dup3.c: New file.
13042         * m4/dup3.m4: New file.
13043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
13044         HAVE_DUP3.
13045         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
13046         * modules/dup3: New file.
13047         * doc/glibc-functions/dup3.texi: Mention the new module.
13048
13049 2009-08-23  Bruno Haible  <bruno@clisp.org>
13050
13051         Tweak the dup2 test.
13052         * tests/test-dup2.c (main): Create the test file empty. Verify that an
13053         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
13054         the test file is still empty. Fix argument order of lseek.
13055
13056 2009-08-23  Bruno Haible  <bruno@clisp.org>
13057
13058         Avoid test link errors when the modules getopt-gnu, gettext are used.
13059         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
13060         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13061
13062 2009-08-23  Bruno Haible  <bruno@clisp.org>
13063
13064         Fix getdtablesize() on mingw.
13065         * lib/getdtablesize.c (getdtablesize): Implement differently.
13066         * lib/unistd.in.h (getdtablesize): Improve comment.
13067
13068 2009-08-23  Bruno Haible  <bruno@clisp.org>
13069
13070         New module 'mkostemp'.
13071         Based on Ulrich Drepper's 2007-08-10 change in glibc.
13072         * lib/stdlib.in.h (mksotemp): New declaration.
13073         * lib/mkostemp.c: New file, from glibc with modifications.
13074         * lib/tempname.h (GT_FILE): Remove outdated comment.
13075         (gen_tempname): Add flags argument.
13076         * lib/tempname.c (__GT_BIGFILE): Remove macro.
13077         (__GT_FILE): Map to 1.
13078         (small_open, large_open): Remove macros.
13079         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
13080         * lib/mkstemp.c (mkstemp): Update.
13081         * lib/mkdtemp.c (mkdtemp): Likewise.
13082         * m4/mkostemp.m4: New file.
13083         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
13084         HAVE_MKOSTEMP.
13085         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
13086         HAVE_MKOSTEMP.
13087         * modules/mkostemp: New file, based on modules/mkstemp.
13088         * doc/glibc-functions/mkostemp.texi: Mention the new module.
13089         * NEWS: Mention the change.
13090
13091 2009-08-23  Bruno Haible  <bruno@clisp.org>
13092
13093         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
13094         Reported by Eric Blake.
13095
13096 2009-08-23  Bruno Haible  <bruno@clisp.org>
13097
13098         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
13099         Reported by Eric Blake.
13100
13101 2009-08-23  Bruno Haible  <bruno@clisp.org>
13102
13103         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
13104         * modules/pipe2 (Depends-on): Likewise.
13105
13106 2009-08-23  Eric Blake  <ebb9@byu.net>
13107
13108         fcntl-h: add O_TTY_INIT support
13109         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
13110         * tests/test-fcntl-h.c (o): Test it.
13111         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
13112
13113         fcntl-h: rename from fcntl, in preparation for fcntl(2)
13114         * modules/fcntl: Move <fcntl.h> header replacement...
13115         * modules/fcntl-h: ...to new name, so as not to collide with
13116         like-named function.
13117         * tests/test-fcntl.c: Rename...
13118         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
13119         * modules/fcntl-tests: Rename...
13120         * modules/fcntl-h-tests: ...to this.  Update test file name.
13121         * modules/chdir-long (Depends-on): Update clients.
13122         * modules/chdir-safer (Depends-on): Likewise.
13123         * modules/fcntl-safer (Depends-on): Likewise.
13124         * modules/fts (Depends-on): Likewise.
13125         * modules/mkancesdirs (Depends-on): Likewise.
13126         * modules/mkdir-p (Depends-on): Likewise.
13127         * modules/open (Depends-on): Likewise.
13128         * modules/savewd (Depends-on): Likewise.
13129         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
13130         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
13131
13132 2009-08-22  Bruno Haible  <bruno@clisp.org>
13133
13134         * modules/binary-io (License): Relicense under LGPL.
13135         * modules/pipe2 (License): Likewise.
13136
13137 2009-08-22  Bruno Haible  <bruno@clisp.org>
13138
13139         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
13140         return value.
13141         * lib/pipe-filter-gi.c (filter_init): Likewise.
13142         Reported by Eric Blake.
13143
13144 2009-08-22  Bruno Haible  <bruno@clisp.org>
13145
13146         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
13147         * modules/pipe (Depends-on): Add pipe2.
13148
13149 2009-08-22  Bruno Haible  <bruno@clisp.org>
13150
13151         Tests for module 'pipe2'.
13152         * modules/pipe2-tests: New file.
13153         * tests/test-pipe2.c: New file.
13154
13155         New module 'pipe2'.
13156         * lib/unistd.in.h (pipe2): New declaration.
13157         * lib/pipe2.c: New file.
13158         * m4/pipe2.m4: New file.
13159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
13160         HAVE_PIPE2.
13161         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
13162         * modules/pipe2: New file.
13163         * doc/glibc-functions/pipe2.texi: Mention the new module.
13164
13165 2009-08-22  Bruno Haible  <bruno@clisp.org>
13166
13167         Reference some new glibc functions.
13168         * doc/glibc-functions/accept4.texi: New file.
13169         * doc/glibc-functions/dup3.texi: New file.
13170         * doc/glibc-functions/mkostemp.texi: New file.
13171         * doc/glibc-functions/pipe2.texi: New file.
13172         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
13173         (Glibc sys/socket.h): Refer to accept4.
13174         (Glibc unistd.h): Refer to dup3, pipe2.
13175         Reported by Eric Blake.
13176
13177 2009-08-22  Jim Meyering  <meyering@redhat.com>
13178             Bruno Haible  <bruno@clisp.org>
13179
13180         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
13181         This makes it so packages using automake-1.11's silent-rules option
13182         can print e.g., a single "GEN    configmake.h" line, rather than
13183         the 30+ statements that perform the job.  If you want to see the
13184         actual commands, you can still run "make V=1".
13185         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
13186         so that make output is abbreviated when those variables are defined
13187         appropriately.
13188         * modules/argz: Likewise.
13189         * modules/arpa_inet: Likewise.
13190         * modules/byteswap: Likewise.
13191         * modules/configmake: Likewise.
13192         * modules/dirent: Likewise.
13193         * modules/errno: Likewise.
13194         * modules/fcntl: Likewise.
13195         * modules/float: Likewise.
13196         * modules/fnmatch: Likewise.
13197         * modules/getopt-posix: Likewise.
13198         * modules/glob: Likewise.
13199         * modules/iconv_open: Likewise.
13200         * modules/inttypes: Likewise.
13201         * modules/localcharset: Likewise.
13202         * modules/locale: Likewise.
13203         * modules/math: Likewise.
13204         * modules/netdb: Likewise.
13205         * modules/netinet_in: Likewise.
13206         * modules/poll: Likewise.
13207         * modules/posix_spawnp-tests: Likewise.
13208         * modules/sched: Likewise.
13209         * modules/search: Likewise.
13210         * modules/selinux-h: Likewise.
13211         * modules/signal: Likewise.
13212         * modules/spawn: Likewise.
13213         * modules/stdarg: Likewise.
13214         * modules/stdbool: Likewise.
13215         * modules/stddef: Likewise.
13216         * modules/stdint: Likewise.
13217         * modules/stdio: Likewise.
13218         * modules/stdlib: Likewise.
13219         * modules/string: Likewise.
13220         * modules/strings: Likewise.
13221         * modules/sys_file: Likewise.
13222         * modules/sys_ioctl: Likewise.
13223         * modules/sys_select: Likewise.
13224         * modules/sys_socket: Likewise.
13225         * modules/sys_stat: Likewise.
13226         * modules/sys_time: Likewise.
13227         * modules/sys_times: Likewise.
13228         * modules/sys_utsname: Likewise.
13229         * modules/sys_wait: Likewise.
13230         * modules/sysexits: Likewise.
13231         * modules/time: Likewise.
13232         * modules/unistd: Likewise.
13233         * modules/wchar: Likewise.
13234         * modules/wctype: Likewise.
13235
13236 2009-08-22  Jim Meyering  <meyering@redhat.com>
13237
13238         announce-gen: detect write failure
13239         * build-aux/announce-gen: Add Coda at end.
13240         Remove equivalent-but-more-verbose block at top.
13241
13242 2009-08-19  Akim Demaille  <demaille@gostai.com>
13243
13244         bootstrap: --help to stdout.
13245         * bootstrap (usage): Don't send --help to stderr.
13246         Use a here doc instead of a long string.
13247
13248 2009-08-21  Eric Blake  <ebb9@byu.net>
13249
13250         test-popen-safer: split from test-popen
13251         * tests/test-popen.c (main): Move...
13252         * tests/test-popen.h: ...into new file.
13253         * tests/test-popen-safer2.c: New file.
13254         * modules/popen-tests (Files): Add test-popen.h.
13255         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
13256         Suggested by Bruno Haible.
13257
13258         test-fcntl-safer: split from test-open
13259         * tests/test-open.c (main): Move...
13260         * tests/test-open.h: ...into new file.
13261         * tests/test-fcntl-safer.c: New file.
13262         * modules/open-tests (Files): Add test-open.h.
13263         * modules/fcntl-safer-tests: New file.
13264         Suggested by Bruno Haible.
13265
13266         test-fopen-safer: split from test-fopen
13267         * tests/test-fopen.c (main): Move...
13268         * tests/test-fopen.h: ...into new file.
13269         * tests/test-fopen-safer.c: New file.
13270         * modules/fopen-tests (Files): Add test-fopen.h.
13271         * modules/fopen-safer-tests: New file.
13272         Suggested by Bruno Haible.
13273
13274 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
13275
13276         popen-safer: test O_CLOEXEC at run-time.
13277         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
13278
13279 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
13280
13281         fcntl: move more flags to the header
13282         * lib/cloexec.c: Do not define FD_CLOEXEC here.
13283         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
13284         * lib/fcntl.in.h: Do both things here.
13285
13286 2009-08-21  Jim Meyering  <meyering@redhat.com>
13287
13288         consistently remove $@-t before redirecting to it
13289         * modules/argz: Remove $@-t and $@ before redirecting to the former.
13290         * modules/alloca-opt: Likewise.
13291         * modules/byteswap: Likewise.
13292         * modules/fnmatch: Likewise.
13293         * modules/getopt-posix: Likewise.
13294         * modules/glob: Likewise.
13295         * modules/poll: Likewise.
13296         * modules/posix_spawnp-tests: Likewise.
13297         * modules/sys_socket: Likewise.
13298         * modules/sysexits: Likewise.
13299
13300 2009-08-21  Eric Blake  <ebb9@byu.net>
13301
13302         popen: simplify access to original popen
13303         * lib/popen.c (rpl_popen): No need to worry about popen being a
13304         macro.
13305         Reported by Bruno Haible.
13306
13307 2009-08-20  Eric Blake  <ebb9@byu.net>
13308
13309         build: avoid some compiler warnings
13310         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
13311         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
13312         type.
13313         (new_exclude_segment, excluded_file_pattern_p)
13314         (excluded_file_name_p): Reduce scope.
13315         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
13316         old-style declaration.
13317
13318 2009-08-20  Simon Josefsson  <simon@josefsson.org>
13319
13320         * tests/test-exclude1.sh: Handle Windows EOL.
13321         * tests/test-exclude2.sh: Likewise.
13322         * tests/test-exclude3.sh: Likewise.
13323         * tests/test-exclude4.sh: Likewise.
13324         * tests/test-exclude5.sh: Likewise.
13325         * tests/test-exclude6.sh: Likewise.
13326         * tests/test-exclude7.sh: Likewise.
13327
13328 2009-08-19  Akim Demaille  <demaille@gostai.com>
13329
13330         bootstrap: find sha1sum when named gsha1sum.
13331         * bootstrap (find_tool): New.
13332         ($SHA1SUM): New.
13333         Use it.
13334
13335 2009-08-20  Jim Meyering  <meyering@redhat.com>
13336
13337         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
13338         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
13339         expression that converts "." in a file name to "\." in the resulting
13340         regexp.  Start with a dummy statement, so that prior shell variable
13341         definitions are expanded portably.  Reported by Simon Josefsson.
13342
13343 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
13344
13345         Fix polling for writeability of a screen buffer.
13346         * lib/poll.c: Distinguish input and screen buffers for the
13347         Win32 implementation.
13348         * lib/select.c: Likewise.
13349
13350 2009-08-19  Eric Blake  <ebb9@byu.net>
13351
13352         popen-safer: prevent popen from clobbering std descriptors
13353         * modules/popen-safer: New file.
13354         * lib/popen-safer.c: Likewise.
13355         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
13356         * lib/stdio--.h (popen): Provide override.
13357         * lib/stdio-safer.h (popen_safer): Provide declaration.
13358         * tests/test-popen.c (includes): Partially test this.
13359         * modules/popen-safer-tests: New file, for more tests.
13360         * tests/test-popen-safer.c: Likewise.
13361         * MODULES.html.sh (file stream based Input/Output): Mention it.
13362
13363         tests: test some of the *-safer modules
13364         * modules/fopen-safer (Depends-on): Add fopen.
13365         * modules/fcntl-safer (Depends-on): Add fcntl.
13366         * modules/stdlib-safer (Depends-on): Add stdlib.
13367         (configure.ac): Set indicator.
13368         * modules/unistd-safer (configure.ac): Likewise.
13369         * modules/tmpfile-safer (configure.ac): Likewise.
13370         (Depends-on): Add tmpfile.
13371         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
13372         active.
13373         * tests/test-fopen.c (includes): Test safer versions when they are
13374         in use.
13375         * tests/test-open.c (includes): Likewise.
13376
13377         popen: fix cygwin 1.5 bug when stdin closed
13378         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
13379         * modules/popen: New file.
13380         * modules/popen-tests: Likewise.
13381         * tests/test-popen.c: Likewise.
13382         * m4/popen.m4: Likewise.
13383         * lib/popen.c: Likewise.
13384         * lib/stdio.in.h (popen): New declaration.
13385         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
13386         * modules/stdio (Makefile.am): Likewise.
13387         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
13388
13389 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
13390
13391         maint.mk: give full control over update-copyright exclusions
13392         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
13393         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
13394         (update-copyright): Don't force inclusion of top-level
13395         ChangeLog.  Don't force exclusion of all COPYING files, but make
13396         them the default exclusion instead.
13397
13398 2009-08-16  Bruno Haible  <bruno@clisp.org>
13399
13400         Fix test failures on Solaris 10.
13401         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
13402         tests when Solaris iconv() is used.
13403         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
13404         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
13405         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
13406         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
13407         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
13408
13409 2009-08-16  Bruno Haible  <bruno@clisp.org>
13410
13411         Fix test failures on Solaris 10.
13412         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
13413         'tr' program and pass it as first argument.
13414         * tests/test-pipe-filter-gi1.sh: Likewise.
13415         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
13416         program as first argument.
13417         * tests/test-pipe-filter-gi1.c (main): Likewise.
13418
13419 2009-08-16  Eric Blake  <ebb9@byu.net>
13420
13421         fpurge: fix previous commits
13422         * modules/fpurge (Makefile.am): Make replacement conditional,
13423         partially reverting 2007-04-29 change; missed in previous
13424         attempt.
13425         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
13426         is missing.
13427
13428 2009-08-16  Bruno Haible  <bruno@clisp.org>
13429
13430         Clarify fpurge's effect on the file position.
13431         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
13432         * tests/test-fpurge.c (main): Make a second pass for checking the file
13433         position.
13434
13435 2009-08-16  Bruno Haible  <bruno@clisp.org>
13436
13437         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
13438         declaration of fpurge is missing.
13439         * tests/test-fpurge.c (main): Check that the file has not more contents
13440         than expected. Close the file before removing it.
13441
13442 2009-08-15  Eric Blake  <ebb9@byu.net>
13443
13444         fpurge: don't wrap working cygwin implementation
13445         * lib/fpurge.c (fpurge): Fix comment typo.
13446         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
13447         1.7 to avoid replacement.
13448         * tests/test-fpurge.c (main): Enhance test.
13449
13450 2009-08-15  Eric Blake  <ebb9@byu.net>
13451         and Jim Meyering  <meyering@redhat.com>
13452
13453         test-update-copyright: skip if perl is insufficient
13454         * tests/test-update-copyright.sh: Failure to run maintainer tool
13455         should not cause testsuite failure on cygwin 1.5.
13456
13457 2009-08-14  Eric Blake  <ebb9@byu.net>
13458
13459         doc: mention more functions added in cygwin 1.7.0
13460         * doc/posix-headers/limits.texi (limits.h): Update for recent
13461         cygwin additions.
13462         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
13463         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13464         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
13465         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
13466         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
13467
13468 2009-08-14  Eric Blake  <ebb9@byu.net>
13469
13470         maint.mk: simplify update-copyright rule
13471         * top/maint.mk (update-copyright-local): Delete, and document how
13472         to do it in cfg.mk instead.
13473         (update-copyright-exclude-regexp): Delete, and document how to do
13474         it in .x-update-copyright instead.
13475         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
13476         exclude ChangeLog.
13477
13478 2009-08-14  Bruno Haible  <bruno@clisp.org>
13479
13480         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
13481
13482 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13483
13484         maint.mk: support update-copyright-env
13485         * top/maint.mk (update-copyright-env): Define place-holder.
13486         (update-copyright): Expand $(update-copyright-env) before
13487         invoking update-copyright.
13488
13489 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13490
13491         update-copyright: implement forced reformatting
13492         * build-aux/update-copyright: Implement and document
13493         UPDATE_COPYRIGHT_FORCE.
13494         * tests/test-update-copyright.sh: Test it.
13495
13496 2009-08-14  Eric Blake  <ebb9@byu.net>
13497         and Bruno Haible  <bruno@clisp.org>
13498
13499         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
13500         * tests/test-locale.c: Revert previous patch related to NULL.
13501         * tests/test-stdio.c: Likewise.
13502         * tests/test-stdlib.c: Likewise.
13503         * tests/test-string.c: Likewise.
13504         * tests/test-unistd.c: Likewise.
13505         * modules/time-tests (Depends-on): Add verify.
13506         * modules/wchar-tests (Depends-on): Likewise.
13507         * tests/test-time.c: Test for NULL compliance.
13508         * tests/test-wchar.c: Likewise.
13509         * modules/locale (Depends-on): Add stddef.
13510         * modules/stdio (Depends-on): Likewise.
13511         * modules/stdlib (Depends-on): Likewise.
13512         * modules/string (Depends-on): Likewise.
13513         * modules/time (Depends-on): Likewise.
13514         * modules/unistd (Depends-on): Likewise.
13515         * modules/wchar (Depends-on): Likewise.
13516         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
13517         * lib/stdlib.in.h (includes): Likewise.
13518         * lib/string.in.h (includes): Likewise.
13519         * lib/time.in.h (includes): Likewise.
13520         * lib/unistd.in.h (includes): Likewise.
13521         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
13522         replaced.
13523         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
13524         * m4/stddef_h.m4: New file.
13525         * modules/stddef: Likewise.
13526         * lib/stddef.in.h: Likewise.
13527         * modules/stddef-tests: Likewise.
13528         * tests/test-stddef.c: Likewise.
13529         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
13530         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
13531         * doc/posix-headers/locale.texi (locale.h): Likewise.
13532         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
13533         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13534         * doc/posix-headers/string.texi (string.h): Likewise.
13535         * doc/posix-headers/time.texi (time.h): Likewise.
13536         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
13537         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
13538
13539 2009-08-14  Eric Blake  <ebb9@byu.net>
13540
13541         doc: improve git diff of texinfo files
13542         * .gitattributes: Add rule for *.texi files, with hint on how to
13543         use it.
13544         Copied from m4, and based on a report by Bruno Haible.
13545
13546 2009-08-14  Bruno Haible  <bruno@clisp.org>
13547
13548         Disable multithread support by default on Cygwin 1.5.x for real.
13549         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
13550
13551 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
13552
13553         update-copyright: much ado about intervals
13554         * build-aux/update-copyright: Implement and document
13555         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
13556         of copyright year intervals.
13557         Also, document UPDATE_COPYRIGHT_YEAR.
13558         * tests/test-update-copyright.sh: Test it.
13559
13560         update-copyright: convert 2-digit to 4-digit years
13561         * build-aux/update-copyright: Implement and document.
13562         * tests/test-update-copyright.sh: Update.
13563
13564 2009-08-14  Jim Meyering  <meyering@redhat.com>
13565
13566         test-exclude: avoid coreutils "make check" failure
13567         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
13568         just as in test-argmatch.c.
13569
13570 2009-08-13  Eric Blake  <ebb9@byu.net>
13571
13572         test-dup2: fix bad assumption
13573         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
13574         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
13575
13576         test-version-etc: fix CRLF portability issue
13577         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
13578         recognize \r.
13579         * tests/test-argp-version-etc-1.sh: Likewise.
13580
13581         getopt: update client modules
13582         * modules/argp (Depends-on): Use getopt-gnu.
13583         * modules/git-merge-changelog (Depends-on): Likewise.
13584         * modules/long-options (Depends-on): Likewise.
13585         * modules/xstrtol (Depends-on): Likewise.
13586
13587 2009-08-13  Simon Josefsson  <simon@josefsson.org>
13588
13589         * tests/test-version-etc.sh: Don't fail on different
13590         project/version.  Don't fail on CRLF differences.  Rewrite to use
13591         multiple -e instead of multiple sed forks, suggested by Eric Blake
13592         <ebb9@byu.net>.
13593         * tests/test-argp-version-etc-1.sh: Likewise.
13594
13595 2009-08-13  Simon Josefsson  <simon@josefsson.org>
13596
13597         * tests/test-version-etc.sh: Don't fail on different
13598         project/version.
13599
13600 2009-08-12  Bruno Haible  <bruno@clisp.org>
13601
13602         Tests for modules 'getopt-posix', 'getopt-gnu'.
13603         * modules/getopt-posix-tests: New file.
13604         * tests/test-getopt.c: New file.
13605         * tests/test-getopt.h: New file.
13606         * tests/test-getopt_long.h: New file.
13607
13608         New modules 'getopt-posix', 'getopt-gnu'.
13609         * modules/getopt-gnu: New file, renamed from modules/getopt.
13610         * modules/getopt-posix: New file.
13611         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
13612         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
13613         (gl_GETOPT): Remove macro.
13614         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
13615         Disable the test against BSD systems that declare optreset. Test
13616         against mingw bug. Test against lack of support of optional arguments
13617         on many platforms.
13618         * doc/glibc-headers/getopt.texi: Update module name and list of
13619         relevant platforms.
13620         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
13621         'getopt-gnu' and more portability problems.
13622         * NEWS: Mention the changes.
13623
13624 2009-08-12  Bruno Haible  <bruno@clisp.org>
13625
13626         Ensure that optarg etc. get declared by <unistd.h>.
13627         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
13628         AC_USE_SYSTEM_EXTENSIONS.
13629         * modules/getopt (Depends-on): Add 'extensions'.
13630
13631 2009-08-12  Bruno Haible  <bruno@clisp.org>
13632
13633         Avoid test link errors.
13634         * modules/pipe-filter-ii-tests (Makefile.am): Define
13635         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
13636         * modules/pipe-filter-gi-tests (Makefile.am): Define
13637         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
13638         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13639
13640 2009-08-12  Bruno Haible  <bruno@clisp.org>
13641
13642         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
13643         gl_GETOPT_SUBSTITUTE before.
13644         (gl_GETOPT): Use it.
13645         * m4/argp.m4 (gl_ARGP): Update.
13646         Reported by Sergey Poznyakoff.
13647
13648         * m4/getopt.m4: Reorder macros.
13649         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
13650         (gl_GETOPT_SUBSTITUTE): Remove macro.
13651
13652 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13653
13654         Minor improvement in gitlog-to-changelog
13655
13656         * build-aux/gitlog-to-changelog: New option `--format' makes
13657         output format string configurable.
13658
13659 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
13660
13661         Optimize exclude: use hash tables for non-wildcard patterns.
13662
13663         * lib/exclude.c: Include hash.h and mbuiter.h
13664         (struct exclude_pattern, exclude_segment): New data types.
13665         (struct exclude): Rewrite.
13666         (fnmatch_pattern_has_wildcards): New function.
13667         (new_exclude_segment, free_exclude_segment): New functions.
13668         (excluded_file_pattern_p, excluded_file_name_p): New functions.
13669         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
13670         * lib/exclude.h (is_fnmatch_pattern): New prototype.
13671         * modules/exclude: Depend on hash and mbuiter.
13672
13673         * modules/exclude-tests: New file.
13674         * tests/test-exclude.c: New file.
13675         * tests/test-exclude1.sh: New file.
13676         * tests/test-exclude2.sh: New file.
13677         * tests/test-exclude3.sh: New file.
13678         * tests/test-exclude4.sh: New file.
13679         * tests/test-exclude5.sh: New file.
13680         * tests/test-exclude6.sh: New file.
13681         * tests/test-exclude7.sh: New file.
13682
13683 2009-08-12  Bruno Haible  <bruno@clisp.org>
13684
13685         Ensure that getopt() gets declared by <unistd.h>.
13686         * lib/unistd.in.h: Conditionally include getopt.h.
13687         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
13688         Set GNULIB_UNISTD_H_GETOPT.
13689         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13690         GNULIB_UNISTD_H_GETOPT.
13691         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
13692
13693 2009-08-12  Bruno Haible  <bruno@clisp.org>
13694
13695         Clarify logic.
13696         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
13697         gl_replace_getopt instead of GETOPT_H.
13698
13699 2009-08-12  Bruno Haible  <bruno@clisp.org>
13700
13701         * m4/getopt.m4: Add comments.
13702
13703 2009-08-12  Bruno Haible  <bruno@clisp.org>
13704
13705         Disable multithread support by default on Cygwin 1.5.x.
13706         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
13707         set gl_use_threads=no if not specified otherwise.
13708
13709 2009-08-11  Bruno Haible  <bruno@clisp.org>
13710
13711         Avoid compilation error on NetBSD 5.0.
13712         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
13713         * tests/test-stdio.c: Likewise.
13714         * tests/test-stdlib.c: Likewise.
13715         * tests/test-string.c: Likewise.
13716         * tests/test-unistd.c: Likewise.
13717         Reported by Greg Troxel <gdt@ir.bbn.com>
13718         at <https://savannah.gnu.org/support/?106973>.
13719
13720 2009-08-11  Bruno Haible  <bruno@clisp.org>
13721
13722         * modules/dup2-tests (Depends-on): Remove close.
13723
13724         Undo 2009-07-19 commit.
13725         * modules/acl-tests (Depends-on): Remove close.
13726         * modules/binary-io-tests (Depends-on): Likewise.
13727         * modules/closein-tests (Depends-on): Likewise.
13728         * modules/flock-tests (Depends-on): Likewise.
13729         * modules/fsync-tests (Depends-on): Likewise.
13730         * modules/lseek-tests (Depends-on): Likewise.
13731         * modules/pipe-tests (Depends-on): Likewise.
13732         * modules/posix_spawn-tests (Depends-on): Likewise.
13733         * modules/posix_spawnp-tests (Depends-on): Likewise.
13734         * modules/stat-time-tests (Depends-on): Likewise.
13735         * modules/yesno-tests (Depends-on): Likewise.
13736
13737 2009-08-10  Bruno Haible  <bruno@clisp.org>
13738
13739         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
13740
13741 2009-08-10  Bruno Haible  <bruno@clisp.org>
13742
13743         Fix a gcc warning.
13744         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
13745
13746 2009-08-10  Bruno Haible  <bruno@clisp.org>
13747
13748         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
13749         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
13750         not only the first time.
13751         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
13752         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
13753         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
13754         is 1, not only the the first time.
13755
13756 2009-08-10  Bruno Haible  <bruno@clisp.org>
13757
13758         Make it possible to use module 'gethostname' without module 'close'.
13759         * lib/unistd.in.h (close): Evoke a link error only if
13760         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13762         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13763         * modules/unistd (Makefile.am): Substitute
13764         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13765         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
13766         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
13767         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13768         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13769         * modules/sys_ioctl (Makefile.am): Substitute
13770         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13771         * modules/socket (configure.ac): On native Windows, set
13772         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
13773         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
13774         Reported by Sam Steingold <sds@gnu.org>.
13775
13776 2009-08-10  Bruno Haible  <bruno@clisp.org>
13777
13778         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
13779         * modules/ioctl (configure.ac): Likewise.
13780
13781 2009-08-10  Bruno Haible  <bruno@clisp.org>
13782
13783         Avoid collision between gnulib wrapper and libintl wrapper.
13784         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
13785         already defined in intl/printf.c.
13786         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
13787         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
13788
13789 2009-08-09  Bruno Haible  <bruno@clisp.org>
13790
13791         Make <sys/select.h> really self-contained, also on Solaris 10.
13792         * lib/sys_select.in.h: Include <string.h>.
13793         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
13794         Solaris 10 problem.
13795         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
13796         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
13797         Reported by Jim Meyering.
13798
13799 2009-08-09  Bruno Haible  <bruno@clisp.org>
13800
13801         Avoid warnings from 'aclocal' that are due to a use of macro name
13802         AM_XGETTEXT_OPTION that is not defined in automake.
13803         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
13804         automake.
13805         * modules/error (configure.ac): Likewise.
13806         * modules/propername (configure.ac): Likewise.
13807         * modules/vasprintf (configure.ac): Likewise.
13808         * modules/verror (configure.ac): Likewise.
13809         * modules/xprintf (configure.ac): Likewise.
13810         * modules/xvasprintf (configure.ac): Likewise.
13811
13812 2009-08-08  Bruno Haible  <bruno@clisp.org>
13813
13814         Avoid compilation error in C++ mode.
13815         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
13816         Reported by Sam Steingold <sds@gnu.org>.
13817
13818 2009-08-08  Bruno Haible  <bruno@clisp.org>
13819
13820         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
13821         for the various Unix platforms.
13822         * doc/posix-headers/limits.texi: Update platforms list regarding
13823         HOST_NAME_MAX.
13824         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13825
13826 2009-08-07  Jim Meyering  <meyering@redhat.com>
13827
13828         selinux-at: fix typo in a comment
13829         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
13830         Spotted by Paolo Bonzini.
13831
13832         selinux-at: remove redundant m4 code, add documentation
13833         * modules/selinux-at (configure.ac): Remove redundant code.
13834         LIB_SELINUX is already set via the dependent module, selinux-h.
13835         (Include): Add quotes around selinux-at.h.
13836         * lib/selinux-at.h: Add documentation.
13837         Reported by Bruno Haible in
13838         http://marc.info/?l=gnulib-bug&m=124958988300749
13839
13840 2009-08-07  Bruno Haible  <bruno@clisp.org>
13841
13842         Avoid link error on MacOS X 10.3 and 10.4.
13843         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
13844         on non-ELF systems.
13845         * lib/argp-pv.c (argp_program_version): Likewise.
13846         Reported by Simon Josefsson.
13847
13848 2009-08-07  Simon Josefsson  <simon@josefsson.org>
13849
13850         * tests/test-version-etc.sh: Use $EXEEXT.
13851
13852 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
13853
13854         update-copyright: update documentation to point to maint.mk
13855         * build-aux/update-copyright: Here.
13856
13857 2009-08-06  Jim Meyering  <meyering@redhat.com>
13858
13859         maint.mk: support update-copyright-local
13860         * top/maint.mk (update-copyright-local): Define place-holder.
13861         (update-copyright): Depend on $(update-copyright-local).
13862
13863 2009-08-06  Jim Meyering  <meyering@redhat.com>
13864
13865         selinux-at: new module
13866         Initially written for coreutils, this module will soon be
13867         used by findutils, too.
13868         * MODULES.html.sh [Misc]: Add selinux-at.
13869         * lib/selinux-at.h: New file, from coreutils.
13870         * lib/selinux-at.c: Likewise.
13871         * modules/selinux-at: Likewise.
13872         (License): Change from LGPL to GPL, since it depends
13873         on the GPL'd openat module.
13874
13875         doc: update README
13876         * README: Remove references to cogito.
13877         Remove cvs-repo-updating instructions from 2007.
13878         Don't imply that CVS is better if you have limited disk space.
13879
13880 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13881
13882         update-copyright: support C-style comments
13883         * build-aux/update-copyright: Implement and document.
13884         * tests/test-update-copyright.sh: Test.
13885
13886 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13887
13888         update-copyright: support omitted "(C)"
13889         * build-aux/update-copyright: Implement and document.  Also,
13890         allow variable whitespace before "(C)".
13891         * tests/test-update-copyright.sh: Test.
13892
13893 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13894
13895         update-copyright: don't trip on non-FSF copyright statements
13896         * build-aux/update-copyright: Fix so that the first correctly
13897         formatted FSF copyright statement is recognized no matter what
13898         appears before it.  Update documentation.
13899         * tests/test-update-copyright.sh: Test that.
13900
13901 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13902
13903         update-copyright: clean up code a little
13904         * build-aux/update-copyright: Append "_re" to the name of any
13905         variable holding a regular expression.
13906         Replace "old" and "new" with "stmt" in variable names.
13907         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
13908         handled correctly.
13909         Format code more consistently.
13910
13911 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13912
13913         update-copyright-tests: improve portability
13914         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
13915         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
13916
13917 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13918
13919         update-copyright: support @copyright{} and &copy;
13920         * build-aux/update-copyright: Implement and document.
13921         * tests/test-update-copyright.sh: Test.
13922
13923 2009-08-04  Jim Meyering  <meyering@redhat.com>
13924
13925         update-copyright-tests: correctly test EOL=\r\n handling
13926         * tests/test-update-copyright.sh: Put \r at the end of some lines
13927         for the dos-eol tests.  Based on a patch by Joel E. Denny.
13928
13929         maint.mk: make update-copyright exclusion list more configurable
13930         * top/maint.mk (update-copyright): Default to excluding COPYING,
13931         but allow an override, in case someone does want to update that file.
13932
13933         maint.mk: don't update copyright date in COPYING
13934         * top/maint.mk (update-copyright): Exclude COPYING.
13935
13936         maint.mk: add a copyright-updating rule
13937         * top/maint.mk (update-copyright): New rule.
13938         Derived from coreutils/Makefile.am.
13939
13940         update-copyright: rename some variables
13941         * build-aux/update-copyright: Rename a few variables for clarity.
13942         Tweak syntax.  List Joel E. Denny as coauthor.
13943
13944 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13945
13946         update-copyright: fix bug for 2-digit last year and add tests
13947         * build-aux/update-copyright: Fix bug.
13948         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
13949         specified.
13950         * modules/update-copyright-tests: New
13951         * tests/test-update-copyright.sh: New.
13952
13953 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13954
13955         update-copyright: handle leading tabs in line prefix
13956         * build-aux/update-copyright: Count leading tabs as 8 spaces
13957         when computing margin.  This helps with the formatting of
13958         ChangeLogs, for example.
13959         Fix documentation a little.
13960
13961 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13962
13963         update-copyright: support EOL=\r\n
13964         * build-aux/update-copyright: Implement that.
13965
13966 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13967
13968         update-copyright: automatically format copyright statements
13969         * build-aux/update-copyright: Implement that.
13970         Also, be a little more predictable and safer by always failing
13971         when the full copyright format is not perfectly recognized as an
13972         unbroken whole.  Discussed at
13973         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
13974         Rewrite documentation.
13975
13976 2009-08-03  Bruno Haible  <bruno@clisp.org>
13977
13978         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
13979
13980 2009-08-02  Bruno Haible  <bruno@clisp.org>
13981
13982         Tests for module 'uname'.
13983         * modules/uname-tests: New file.
13984         * tests/test-uname.c: New file.
13985
13986         New module 'uname'.
13987         * lib/uname.c: New file.
13988         * m4/uname.m4: New file.
13989         * modules/uname: New file.
13990         * doc/posix-functions/uname.texi: Mention the new module.
13991
13992 2009-08-02  Bruno Haible  <bruno@clisp.org>
13993
13994         Tests for module 'sys_utsname'.
13995         * modules/sys_utsname-tests: New file.
13996         * tests/test-sys_utsname.c: New file.
13997
13998         New module 'sys_utsname'.
13999         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
14000         * m4/sys_utsname_h.m4: New file.
14001         * modules/sys_utsname: New file.
14002         * doc/posix-headers/sys_utsname.texi: Mention the new module.
14003
14004 2009-08-02  Bruno Haible  <bruno@clisp.org>
14005
14006         Implicitly initialize the sockets library.
14007         * lib/gethostname.c: Include sockets.h.
14008         (rpl_gethostname): Invoke gl_sockets_startup.
14009         * lib/socket.c: Include sockets.h.
14010         (rpl_socket): Invoke gl_sockets_startup.
14011         * modules/gethostname (Depends-on): Add sockets.
14012         * modules/socket (Depends-on): Likewise.
14013         * tests/test-poll.c: Don't include sockets.h.
14014         (main): Don't invoke gl_sockets_startup.
14015         * tests/test-select.c: Don't include sockets.h.
14016         (main): Don't invoke gl_sockets_startup.
14017
14018 2009-08-02  Bruno Haible  <bruno@clisp.org>
14019
14020         Allow multiple calls to gl_sockets_startup.
14021         * lib/sockets.c (initialized_sockets_version): New variable.
14022         (gl_sockets_startup): Do nothing if already called for this or a higher
14023         version.
14024         (gl_sockets_cleanup): Reset initialized_sockets_version.
14025
14026 2009-08-03  Simon Josefsson  <simon@josefsson.org>
14027
14028         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
14029         different project/version.
14030
14031 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
14032             Bruno Haible  <bruno@clisp.org>
14033
14034         Tests for module 'pipe-filter-gi'.
14035         * modules/pipe-filter-gi-tests: New file.
14036         * tests/test-pipe-filter-gi1.sh: New file.
14037         * tests/test-pipe-filter-gi1.c: New file.
14038         * tests/test-pipe-filter-gi2.sh: New file.
14039         * tests/test-pipe-filter-gi2-main.c: New file.
14040         * tests/test-pipe-filter-gi2-child.c: New file.
14041
14042         New module 'pipe-filter-gi'.
14043         * lib/pipe-filter-gi.c: New file.
14044         * modules/pipe-filter-gi: New file.
14045
14046 2009-08-02  Bruno Haible  <bruno@clisp.org>
14047             Paolo Bonzini  <bonzini@gnu.org>
14048
14049         Tests for module 'pipe-filter-ii'.
14050         * modules/pipe-filter-ii-tests: New file.
14051         * tests/test-pipe-filter-ii1.sh: New file.
14052         * tests/test-pipe-filter-ii1.c: New file.
14053         * tests/test-pipe-filter-ii2.sh: New file.
14054         * tests/test-pipe-filter-ii2-main.c: New file.
14055         * tests/test-pipe-filter-ii2-child.c: New file.
14056
14057         New module 'pipe-filter-ii'.
14058         * lib/pipe-filter.h: New file.
14059         * lib/pipe-filter-ii.c: New file.
14060         * lib/pipe-filter-aux.h: New file.
14061         * modules/pipe-filter-ii: New file.
14062
14063 2009-08-02  Simon Josefsson  <simon@josefsson.org>
14064
14065         * lib/gc-libgcrypt.c: Change copyright to FSF.
14066         * lib/gc-gnulib.c: Likewise.
14067
14068 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
14069
14070         * lib/gethostname.c: Include limits.h.
14071
14072 2009-08-02  Simon Josefsson  <simon@josefsson.org>
14073             Bruno Haible  <bruno@clisp.org>
14074
14075         Ensure HOST_NAME_MAX as part of the gethostname module.
14076         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
14077         define also HOST_NAME_MAX.
14078         * tests/test-gethostname.c: Include <limits.h>.
14079         (main): Check also HOST_NAME_MAX.
14080         * doc/posix-headers/limits.texi: Document the mingw problem.
14081
14082 2009-08-02  Bruno Haible  <bruno@clisp.org>
14083
14084         * lib/gethostname.c (gethostname): Fix handling of large len argument.
14085         Add comments.
14086
14087 2009-03-31  Simon Josefsson  <simon@josefsson.org>
14088
14089         * lib/gethostname.c: Add Windows wrapper.
14090         * m4/gethostname.m4: Look for gethostname in -lws2_32.
14091         * modules/gethostname: Depend on sys_socket & errno, for also
14092         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
14093         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
14094
14095 2009-07-31  Jim Meyering  <meyering@redhat.com>
14096
14097         getloadavg: fix symbol name in comment
14098         * lib/getloadavg.c: Correct a typo I introduced when adding
14099         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
14100         Matt Kraai spotted the problem.
14101
14102 2009-07-29  Matt Kraai  <mkraai@beckman.com>
14103
14104         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
14105         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
14106         code also if ! defined N_NAME_POINTER.
14107         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
14108         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
14109         but the n_name member is a 12-byte array.
14110
14111 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
14112
14113         update-copyright: generalize comment handling
14114         * build-aux/update-copyright: Handle copyright statements
14115         within more comment styles.
14116         Document usage.
14117         Report any file with an external copyright holder or parse failure.
14118
14119 2009-07-29  Jim Meyering  <meyering@redhat.com>
14120
14121         mktime: correct setting of REPLACE_MKTIME
14122         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
14123
14124         update-copyright: new module
14125         * modules/update-copyright: New file.
14126         * build-aux/update-copyright: New file.
14127         * MODULES.html.sh (maint+release support): Add update-copyright.
14128
14129 2009-07-27  Bruno Haible  <bruno@clisp.org>
14130
14131         Fix compilation error when <ctime> is used and mktime is replaced.
14132         * lib/time.in.h (mktime): New declaration.
14133         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
14134         REPLACE_MKTIME instead of defining mktime in config.h.
14135         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
14136         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
14137         Reported by Ross McFarland <rwmcfa1@neces.com>.
14138
14139 2009-07-27  Bruno Haible  <bruno@clisp.org>
14140
14141         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
14142         Reported by Matt Kraai <mkraai@beckman.com>.
14143
14144 2009-07-25  Jim Meyering  <meyering@redhat.com>
14145
14146         maint.mk: avoid warnings about missing files
14147         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
14148         diagnostic when .prev-version does not exist.
14149         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
14150         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
14151         nonexistent cfg.mk.
14152         Suggestions from Simon Josefsson.
14153
14154 2009-07-25  Bruno Haible  <bruno@clisp.org>
14155
14156         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
14157         defined as macros. Needed on QNX 6.4.1.
14158         Reported by Matt Kraai <mkraai@beckman.com>.
14159
14160 2009-07-23  Jim Meyering  <meyering@redhat.com>
14161
14162         maint.mk: invoke "make dist" with a working value of XZ_OPT
14163         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
14164
14165 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
14166
14167         Make fseeko.c compile on QNX.
14168         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
14169
14170 2009-07-22  Peter Simons  <simons@cryp.to>
14171
14172         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
14173         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
14174         * lib/md4.h: Likewise.
14175         * lib/md5.h: Likewise.
14176         * lib/sha1.h: Likewise.
14177         * lib/sha256.h: Likewise.
14178         * lib/sha512.h: Likewise.
14179
14180         tests-sha1: don't assign literal string to 'char *' variable
14181         * tests/test-sha1.c (main): Declare locals with "const" to match
14182         attributes of the right hand side.
14183
14184 2009-07-21  Eric Blake  <ebb9@byu.net>
14185
14186         dup2: fix more mingw problems
14187         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
14188         fd to itself.
14189         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14190         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
14191         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
14192         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
14193         care of mingw bugs.
14194
14195 2009-07-21  Jim Meyering  <meyering@redhat.com>
14196
14197         vc-list-files: avoid failure when /bin/sh is dash
14198         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
14199         On some Debian based systems, /bin/sh is a symlink to dash, and running
14200         this command would omit the "/" following each 'tests' prefix:
14201           dash -x build-aux/vc-list-files -C . tests
14202         That is because bash and dash work differently:
14203           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
14204           bash ok
14205           dash odd
14206
14207 2009-07-21  Eric Blake  <ebb9@byu.net>
14208
14209         dup2-tests: test previous patch
14210         * modules/dup2-tests: New file.
14211         * tests/test-dup2.c: Likewise.
14212         * tests/test-open.c (main): Avoid unspecified behavior.
14213         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
14214         test.
14215
14216         dup2: work around mingw and cygwin 1.5 bug
14217         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
14218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14219         * modules/unistd (Makefile.am): Substitute it.
14220         * lib/unistd.in.h (dup2): Declare the replacement.
14221         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
14222         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
14223         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
14224         * modules/execute (Depends-on): Add dup2.
14225         * modules/fseterr (Depends-on): Likewise.
14226         * modules/pipe (Depends-on): Likewise.
14227         * modules/posix_spawn-internal (Depends-on): Likewise.
14228
14229 2009-07-21  Bruno Haible  <bruno@clisp.org>
14230
14231         * modules/.gitattributes: New file.
14232
14233 2009-07-20  Bruno Haible  <bruno@clisp.org>
14234
14235         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
14236         (main): Use it.
14237
14238 2009-07-20  Eric Blake  <ebb9@byu.net>
14239
14240         test-pipe: make a bit more robust.
14241         * tests/test-pipe.c (myerr): Allow error messages regardless of
14242         what we do to stderr.
14243         (test_pipe): Rearrange to avoid deadlock.
14244         (child_main): Try a larger read, to ensure we avoided deadlock.
14245         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
14246         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
14247         if misused.
14248
14249 2009-07-19  Jim Meyering  <meyering@redhat.com>
14250
14251         fts: avoid false-positive cycle-detection
14252         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
14253         for each new command line argument.
14254
14255 2009-07-19  Bruno Haible  <bruno@clisp.org>
14256
14257         Fix build error on mingw with the modules sys_select and unistd.
14258         * modules/acl-tests (Depends-on): Add close.
14259         * modules/binary-io-tests (Depends-on): Likewise.
14260         * modules/closein-tests (Depends-on): Likewise.
14261         * modules/flock-tests (Depends-on): Likewise.
14262         * modules/fsync-tests (Depends-on): Likewise.
14263         * modules/lseek-tests (Depends-on): Likewise.
14264         * modules/pipe-tests (Depends-on): Likewise.
14265         * modules/posix_spawn-tests (Depends-on): Likewise.
14266         * modules/posix_spawnp-tests (Depends-on): Likewise.
14267         * modules/stat-time-tests (Depends-on): Likewise.
14268         * modules/yesno-tests (Depends-on): Likewise.
14269
14270 2009-07-19  Bruno Haible  <bruno@clisp.org>
14271
14272         Unify conditionals.
14273         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
14274         macros, not at the compiler macros.
14275         * lib/pipe.c: Likewise.
14276         * lib/execute.c: Likewise.
14277         * lib/spawni.c: Likewise.
14278
14279 2009-07-19  Bruno Haible  <bruno@clisp.org>
14280
14281         Fix handling of closed stdin/stdout/stderr on mingw.
14282         * lib/w32spawn.h: Include unistd.h.
14283         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
14284         file descriptor with O_NOINHERIT flag.
14285         (fd_safer_noinherit): New function, based on fd-safer.c.
14286         (dup_safer_noinherit): New function, based on dup-safer.c.
14287         (undup_safer_noinherit): New function.
14288         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
14289         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
14290         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
14291         instead of fd_safer.
14292         * tests/test-pipe.c: Include <windows.h>.
14293         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
14294
14295         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
14296         from main.
14297         (test_pipe): Pass an extra argument for disambiguation.
14298         (main): Invoke parent_main or child_main.
14299
14300         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
14301         consistently.
14302
14303 2009-07-18  Eric Blake  <ebb9@byu.net>
14304
14305         test-pipe: fix mingw build
14306         * tests/test-pipe.c (main): Avoid fcntl on mingw.
14307
14308 2009-07-18  Bruno Haible  <bruno@clisp.org>
14309
14310         * modules/pipe-tests (Makefile.am): Fix typo.
14311
14312 2009-07-18  Eric Blake  <ebb9@byu.net>
14313
14314         error: fix mingw build
14315         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
14316         Reported by Bruno Haible.
14317
14318         error: avoid undefined use of stdout
14319         * lib/error.c (error, error_at_line): Check that fd 1 is open
14320         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
14321         is handling faults and the close_stdout module wants to report the
14322         detection of closed stdout as an error.
14323
14324 2009-07-17  Eric Blake  <ebb9@byu.net>
14325
14326         pipe: be robust in face of closed fds
14327         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
14328         should cause child to misbehave.
14329         * modules/pipe-tests: New module.
14330         * tests/test-pipe.c: New file.
14331         * tests/test-pipe.sh: New file.
14332         Reported by Akim Demaille.
14333
14334 2009-07-14  Bruno Haible  <bruno@clisp.org>
14335
14336         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
14337         Reported by anonymous kc.
14338
14339 2009-07-07  Jim Meyering  <meyering@redhat.com>
14340
14341         maint.mk: don't look for translatable strings in *.m4 or *.mk
14342         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
14343         when searching for translatable strings.
14344
14345 2009-07-05  Jim Meyering  <meyering@redhat.com>
14346
14347         remove superfluous parentheses in STREQ definition
14348         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
14349         * lib/getugroups.c (STREQ): Likewise.
14350         * lib/fnmatch.c (STREQ): Likewise.
14351         Spotted by Bruno Haible.
14352
14353 2009-07-04  Jim Meyering  <meyering@redhat.com>
14354
14355         argv-iter: new module
14356         * MODULES.html.sh: Add argv-iter.
14357         * lib/argv-iter.c, lib/argv-iter.h: New files.
14358         * modules/argv-iter: New file.
14359         * modules/argv-iter-tests: New file.
14360         * tests/test-argv-iter.c: Test it.
14361
14362 2009-07-04  Bruno Haible  <bruno@clisp.org>
14363
14364         Fix assertion.
14365         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
14366         contains more exact copies of a given entry than file2, leave the extra
14367         copies unpaired rather than aborting.
14368         Reported by Eric Blake.
14369
14370 2009-07-02  Bruno Haible  <bruno@clisp.org>
14371
14372         Speedup git-merge-changelog for git cherry-pick.
14373         * lib/git-merge-changelog.c (struct entries_mapping): New type.
14374         (entries_mapping_get): New function, extracted from compute_mapping.
14375         (entries_mapping_reverse_get): New function.
14376         (compute_mapping): Add a 'full' argument. Return the result in a
14377         'struct entries_mapping'.
14378         (main): Update. Access the mappings through entries_mapping_get.
14379         Reported by Eric Blake.
14380
14381 2009-07-02  Bruno Haible  <bruno@clisp.org>
14382
14383         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
14384         best_i.
14385
14386 2009-07-02  Bruno Haible  <bruno@clisp.org>
14387
14388         Speed up approximate search for matching ChangeLog entries.
14389         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
14390         argument. Call fstrcmp_bounded instead of fstrcmp.
14391         (compute_mapping, try_split_merged_entry, main): Update callers.
14392
14393 2009-07-02  Bruno Haible  <bruno@clisp.org>
14394
14395         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
14396
14397 2009-06-30  Bruno Haible  <bruno@clisp.org>
14398
14399         Reduce the number of uc_is_cased calls.
14400         * lib/unicase.h (casing_suffix_context_t): Add
14401         'first_char_except_ignorable' field.
14402         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
14403         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
14404         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
14405         Update initializer.
14406         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
14407         case-ignorable characters.
14408         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
14409         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
14410         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
14411         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
14412         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
14413
14414 2009-06-30  Bruno Haible  <bruno@clisp.org>
14415
14416         Tests for module 'unicase/ignorable'.
14417         * modules/unicase/ignorable-tests: New file.
14418         * tests/unicase/test-ignorable.c: New file, generated by
14419         gen-uni-tables.
14420
14421         Tests for module 'unicase/cased'.
14422         * modules/unicase/cased-tests: New file.
14423         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
14424         * tests/unicase/test-predicate-part1.h: New file, derived from
14425         tests/unictype/test-predicate-part1.h.
14426         * tests/unicase/test-predicate-part2.h: New file, same as
14427         tests/unictype/test-predicate-part2.h.
14428
14429         Fix evaluation of "Before C" condition of FINAL_SIGMA.
14430         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
14431         (output_casing_properties): New function.
14432         (main): Call it.
14433         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
14434         * lib/unicase/cased.c: Include unictype/bitmap.h.
14435         (uc_is_cased): Define through a bitmap lookup.
14436         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
14437         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
14438         (uc_is_case_ignorable): Define through a bitmap lookup.
14439         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
14440         lib/unictype/bitmap.h.
14441         (Depends-on): Add inline. Clean up.
14442         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
14443         lib/unictype/bitmap.h.
14444         (Depends-on): Add inline. Clean up.
14445         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
14446         recognition.
14447         * tests/unicase/test-u16-tolower.c (main): Likewise.
14448         * tests/unicase/test-u32-tolower.c (main): Likewise.
14449
14450 2009-06-30  Bruno Haible  <bruno@clisp.org>
14451
14452         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
14453         * lib/unicase/u16-casemap.c: Likewise.
14454         * lib/unicase/u32-casemap.c: Likewise.
14455
14456 2009-06-29  Bruno Haible  <bruno@clisp.org>
14457
14458         Define u32_casefold as a wrapper around u32_ct_casefold.
14459         * lib/unicase/u32-casefold.c: Update.
14460         * modules/unicase/u32-casefold (Depends-on): Add
14461         unicase/u32-ct-casefold, unicase/empty-prefix-context,
14462         unicase/empty-suffix-context. Clean up.
14463
14464         Define u16_casefold as a wrapper around u16_ct_casefold.
14465         * lib/unicase/u16-casefold.c: Update.
14466         * modules/unicase/u16-casefold (Depends-on): Add
14467         unicase/u16-ct-casefold, unicase/empty-prefix-context,
14468         unicase/empty-suffix-context. Clean up.
14469
14470         Define u8_casefold as a wrapper around u8_ct_casefold.
14471         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
14472         * lib/unicase/u8-casefold.c: Update.
14473         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
14474         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14475
14476         Define u32_totitle as a wrapper around u32_ct_totitle.
14477         * lib/unicase/u32-totitle.c: Update.
14478         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
14479         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14480
14481         Define u16_totitle as a wrapper around u16_ct_totitle.
14482         * lib/unicase/u16-totitle.c: Update.
14483         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
14484         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14485
14486         Define u8_totitle as a wrapper around u8_ct_totitle.
14487         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
14488         functions.
14489         (FUNC): Delegate to U_CT_TOTITLE.
14490         * lib/unicase/u8-totitle.c: Update.
14491         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
14492         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
14493
14494         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
14495         invocation.
14496         * modules/unicase/u32-tolower (Depends-on): Add
14497         unicase/empty-prefix-context, unicase/empty-suffix-context.
14498
14499         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
14500         invocation.
14501         * modules/unicase/u16-tolower (Depends-on): Add
14502         unicase/empty-prefix-context, unicase/empty-suffix-context.
14503
14504         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
14505         * modules/unicase/u8-tolower (Depends-on): Add
14506         unicase/empty-prefix-context, unicase/empty-suffix-context.
14507
14508         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
14509         invocation.
14510         * modules/unicase/u32-toupper (Depends-on): Add
14511         unicase/empty-prefix-context, unicase/empty-suffix-context.
14512
14513         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
14514         invocation.
14515         * modules/unicase/u16-toupper (Depends-on): Add
14516         unicase/empty-prefix-context, unicase/empty-suffix-context.
14517
14518         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
14519         * modules/unicase/u8-toupper (Depends-on): Add
14520         unicase/empty-prefix-context, unicase/empty-suffix-context.
14521
14522         New module 'unicase/u32-ct-casefold'.
14523         * lib/unicase/u32-ct-casefold.c: New file.
14524         * modules/unicase/u32-ct-casefold: New file.
14525
14526         New module 'unicase/u16-ct-casefold'.
14527         * lib/unicase/u16-ct-casefold.c: New file.
14528         * modules/unicase/u16-ct-casefold: New file.
14529
14530         New module 'unicase/u8-ct-casefold'.
14531         * lib/unicase/u8-ct-casefold.c: New file.
14532         * lib/unicase/u-ct-casefold.h: New file, derived from
14533         lib/unicase/u-casefold.h.
14534         * modules/unicase/u8-ct-casefold: New file.
14535
14536         New module 'unicase/u32-ct-totitle'.
14537         * lib/unicase/u32-ct-totitle.c: New file.
14538         * modules/unicase/u32-ct-totitle: New file.
14539
14540         New module 'unicase/u16-ct-totitle'.
14541         * lib/unicase/u16-ct-totitle.c: New file.
14542         * modules/unicase/u16-ct-totitle: New file.
14543
14544         New module 'unicase/u8-ct-totitle'.
14545         * lib/unicase/u8-ct-totitle.c: New file.
14546         * lib/unicase/u-ct-totitle.h: New file, derived from
14547         lib/unicase/u-totitle.h.
14548         * modules/unicase/u8-ct-totitle: New file.
14549
14550         New module 'unicase/u32-ct-tolower'.
14551         * lib/unicase/u32-ct-tolower.c: New file.
14552         * modules/unicase/u32-ct-tolower: New file.
14553
14554         New module 'unicase/u16-ct-tolower'.
14555         * lib/unicase/u16-ct-tolower.c: New file.
14556         * modules/unicase/u16-ct-tolower: New file.
14557
14558         New module 'unicase/u8-ct-tolower'.
14559         * lib/unicase/u8-ct-tolower.c: New file.
14560         * modules/unicase/u8-ct-tolower: New file.
14561
14562         New module 'unicase/u32-ct-toupper'.
14563         * lib/unicase/u32-ct-toupper.c: New file.
14564         * modules/unicase/u32-ct-toupper: New file.
14565
14566         New module 'unicase/u16-ct-toupper'.
14567         * lib/unicase/u16-ct-toupper.c: New file.
14568         * modules/unicase/u16-ct-toupper: New file.
14569
14570         New module 'unicase/u8-ct-toupper'.
14571         * lib/unicase/u8-ct-toupper.c: New file.
14572         * modules/unicase/u8-ct-toupper: New file.
14573
14574         Add context arguments to u*_casemap functions.
14575         * lib/unicase/unicasemap.h: Include unicase.h.
14576         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
14577         suffix_context arguments.
14578         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
14579         functions.
14580         (FUNC): Add prefix_context and suffix_context arguments. Use
14581         uc_is_cased and uc_is_case_ignorable.
14582         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
14583         * lib/unicase/u16-casemap.c: Likewise.
14584         * lib/unicase/u32-casemap.c: Likewise.
14585         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
14586         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14587         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
14588         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14589         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
14590         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
14591
14592         New module 'unicase/u32-suffix-context'.
14593         * lib/unicase/u32-suffix-context.c: New file.
14594         * modules/unicase/u32-suffix-context: New file.
14595
14596         New module 'unicase/u16-suffix-context'.
14597         * lib/unicase/u16-suffix-context.c: New file.
14598         * modules/unicase/u16-suffix-context: New file.
14599
14600         New module 'unicase/u8-suffix-context'.
14601         * lib/unicase/u8-suffix-context.c: New file.
14602         * lib/unicase/u-suffix-context.h: New file.
14603         * modules/unicase/u8-suffix-context: New file.
14604
14605         New module 'unicase/empty-suffix-context'.
14606         * lib/unicase/empty-suffix-context.c: New file.
14607         * modules/unicase/empty-suffix-context: New file.
14608
14609         New module 'unicase/u32-prefix-context'.
14610         * lib/unicase/u32-prefix-context.c: New file.
14611         * modules/unicase/u32-prefix-context: New file.
14612
14613         New module 'unicase/u16-prefix-context'.
14614         * lib/unicase/u16-prefix-context.c: New file.
14615         * modules/unicase/u16-prefix-context: New file.
14616
14617         New module 'unicase/u8-prefix-context'.
14618         * lib/unicase/u8-prefix-context.c: New file.
14619         * lib/unicase/u-prefix-context.h: New file.
14620         * lib/unicase/context.h: New file.
14621         * modules/unicase/u8-prefix-context: New file.
14622
14623         New module 'unicase/empty-prefix-context'.
14624         * lib/unicase/empty-prefix-context.c: New file.
14625         * modules/unicase/empty-prefix-context: New file.
14626
14627         New module 'unicase/ignorable'.
14628         * lib/unicase/ignorable.c: New file.
14629         * modules/unicase/ignorable: New file.
14630
14631         New module 'unicase/cased'.
14632         * lib/unicase/caseprop.h: New file.
14633         * lib/unicase/cased.c: New file.
14634         * modules/unicase/cased: New file.
14635
14636         New functions for case mapping of substrings.
14637         * lib/unicase.h (casing_prefix_context_t): New type.
14638         (unicase_empty_prefix_context): New variable.
14639         (u8_casing_prefix_context, u16_casing_prefix_context,
14640         u32_casing_prefix_context, u8_casing_prefixes_context,
14641         u16_casing_prefixes_context, u32_casing_prefixes_context): New
14642         declarations.
14643         (casing_suffix_context_t): New type.
14644         (unicase_empty_suffix_context): New variable.
14645         (u8_casing_suffix_context, u16_casing_suffix_context,
14646         u32_casing_suffix_context, u8_casing_suffixes_context,
14647         u16_casing_suffixes_context, u32_casing_suffixes_context,
14648         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
14649         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
14650         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
14651         declarations.
14652
14653 2009-06-28  Jim Meyering  <meyering@redhat.com>
14654
14655         boostrap: indent only with spaces
14656         * build-aux/bootstrap: Indent only with spaces, never TABs.
14657
14658         bootstrap: split long lines
14659         * build-aux/bootstrap: Keep line length < 80.
14660
14661         bootstrap: sync from coreutils
14662         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
14663         just as autoreconf does.  Verify a list of prerequisite
14664         package-name,version-number pairs if defined in bootstrap.conf.
14665         Refer to README-prereq, if prerequisites are not satisfied.
14666
14667 2009-06-27  Eric Blake  <ebb9@byu.net>
14668
14669         tests: add test for bogus NULL definition
14670         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
14671         * tests/test-stdlib.c: Likewise.
14672         * tests/test-string.c: Likewise.
14673         * tests/test-locale.c: Likewise.
14674         * tests/test-unistd.c: Likewise.
14675         * modules/stdio-tests (Depends-on): Add verify.
14676         * modules/stdlib-tests (Depends-on): Likewise.
14677         * modules/string-tests (Depends-on): Likewise.
14678         * modules/locale-tests (Depends-on): Likewise.
14679         * modules/unistd-tests (Depends-on): Likewise.
14680
14681 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
14682
14683         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
14684         self-explaining comment.
14685         * m4/selinux-selinux-h: Update serial.
14686         (gl_LIBSELINUX): New macro, adding a warning for missing development
14687         packages to code extracted from...
14688         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
14689         Add warning for missing development packages here, too.
14690
14691 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
14692
14693         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
14694
14695 2009-06-25  Eric Blake  <ebb9@byu.net>
14696
14697         version-etc: fix regression
14698         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
14699         gcc.
14700         (version_etc): Use it, to catch bugs with trailing NULL.
14701         * lib/version-etc.c (version_etc_arn): Delete unused argument.
14702         (version_etc_va): Fix logic bug.
14703         * modules/version-etc-tests: Add test.
14704         * tests/test-version-etc.c: New file.
14705         * tests/test-version-etc.sh: Likewise.
14706
14707 2009-06-25  Sam Steingold  <sds@gnu.org>
14708
14709         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
14710         mbtowc declaration.
14711
14712 2009-06-25  Eric Blake  <ebb9@byu.net>
14713
14714         fpurge: migrate into <stdio.h>
14715         * lib/fpurge.h: Delete...
14716         * lib/stdio.in.h (fpurge): ...and declare here, instead.
14717         * lib/fpurge.c (fpurge): Change declaring header.
14718         * modules/fpurge (Files): Drop deleted file.
14719         (Depends-on): Add stdio.
14720         (configure.ac): Set witness.
14721         * modules/stdio (Makefile.am): Support fpurge macros.
14722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14723         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
14724         * lib/fflush.c: Update client.
14725         * tests/test-fpurge.c: Likewise.
14726         * NEWS: Mention the change.
14727
14728 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14729
14730         * lib/argp-version-etc.c (program_authors): Add const
14731         qualifier.
14732         * lib/version-etc.c: Fix typos in the comments.
14733         * modules/argp-version-etc: Depends on version-etc.
14734
14735 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14736
14737         argp-version-etc: new module.
14738
14739         * lib/argp-version-etc.c: New file.
14740         * lib/argp-version-etc.h: New file.
14741         * modules/argp-version-etc: New file.
14742         * modules/argp-version-etc-tests: New file.
14743         * tests/test-argp-version-etc.c: New test.
14744         * tests/test-argp-version-etc-1.sh: New test.
14745
14746 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14747
14748         Provide additional interfaces and documentation for version-etc
14749         module.
14750
14751         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
14752         interfaces.
14753         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
14754         prototypes.
14755
14756 2009-06-24  Bruno Haible  <bruno@clisp.org>
14757
14758         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
14759         HAVE_LIB${NAME} macro.
14760         Reported by Sam Steingold <sds@gnu.org>.
14761
14762 2009-06-23  Simon Josefsson  <simon@josefsson.org>
14763
14764         * modules/hash-tests (test_hash_LDADD): Link to libintl when
14765         needed.
14766
14767 2009-06-21  Bruno Haible  <bruno@clisp.org>
14768
14769         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
14770         work.
14771         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
14772         together with LIB${NAME}, LTLIB${NAME}.
14773         Reported by Sam Steingold <sds@gnu.org>.
14774
14775 2009-06-20  Jim Meyering  <meyering@redhat.com>
14776
14777         tests: make sc_require_test_exit_idiom more generic
14778         * top/maint.mk (Exit_witness_file): New overridable variable.
14779         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
14780         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
14781
14782 2009-06-19  Jim Meyering  <meyering@redhat.com>
14783
14784         hash: reverse order of src/dst parameters in an internal interface
14785         * lib/hash.c (transfer_entries): Reverse order of parameters to
14786         put DST before SRC.  Adjust callers.
14787
14788         tests: test-hash: avoid wholesale duplication
14789         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
14790         Instead, use a loop and add a single conditional.
14791
14792         tests: test-hash: allow seed selection via a command line argument
14793         * tests/test-hash.c (get_seed): New function.
14794         (main): Use it.
14795
14796 2009-06-19  Eric Blake  <ebb9@byu.net>
14797
14798         hash: avoid memory leak on allocation failure
14799         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
14800         failure.  Factor repeated algorithm...
14801         (transfer_entries): ...into new helper routine.
14802         (hash_delete): React to hash_rehash return value.
14803
14804         hash: reduce memory pressure in hash_rehash no-op case
14805         * lib/hash.c (next_prime): Avoid overflow.
14806         (hash_initialize): Factor bucket size computation...
14807         (compute_bucket_size): ...into new helper function.
14808         (hash_rehash): Use new function and open coding to reduce memory
14809         pressure, and avoid a memory leak in USE_OBSTACK code.
14810         Reported by Jim Meyering.
14811
14812 2009-06-18  Eric Blake  <ebb9@byu.net>
14813
14814         hash: make rotation more obvious
14815         * modules/hash (Depends-on): Add bitrotate and stdint.
14816         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
14817         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
14818         (SIZE_MAX): Rely on headers for definition.
14819         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
14820         (raw_hasher): Use rotr_sz.
14821         Suggested by Jim Meyering.
14822
14823         hash: fix memory leak in last patch
14824         * lib/hash.c (hash_rehash): Avoid memory leak.
14825
14826         hash: avoid no-op rehashing
14827         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
14828
14829         hash: provide default callback functions
14830         * lib/hash.c (raw_hasher, raw_comparator): New functions.
14831         (hash_initialize): Use them as defaults.
14832         * tests/test-hash.c (main): Test this.
14833
14834         hash: minor optimization
14835         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
14836         when possible.
14837         (hash_initialize): Document this promise.
14838         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
14839         * tests/test-hash.c (hash_compare_strings): Test this.
14840
14841 2009-06-18  Bruno Haible  <bruno@clisp.org>
14842
14843         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
14844         going to be replaced anyway.
14845
14846 2009-06-18  Bruno Haible  <bruno@clisp.org>
14847
14848         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
14849         in one place.
14850         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
14851         be replaced anyway.
14852
14853 2009-06-18  Eric Blake  <ebb9@byu.net>
14854
14855         hash: check for resize before insertion
14856         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
14857         threshold before insertion, so that a pathological hash_rehash
14858         that fills every bucket can still trigger another rehash.
14859
14860 2009-06-18  Jim Meyering  <meyering@redhat.com>
14861
14862         hash-tests: add a loop around the small tests
14863         * tests/test-hash.c (main): Repeat small tests with selected
14864         small initial table sizes.
14865
14866 2009-06-17  Eric Blake  <ebb9@byu.net>
14867
14868         hash: minor cleanups
14869         * lib/hash.h (hash_entry): Make opaque, by moving...
14870         * lib/hash.c (hash_entry): ...here.
14871         (hash_insert): Clarify restrictions on what can be inserted.
14872         (hash_get_next): Clarify when it is safe to remove an element
14873         during traversal.
14874         (check_tuning): Skip verification when tuning is known safe.
14875         (hash_initialize): Clarify restrictions on tuning.
14876
14877 2009-06-17  Jim Meyering  <jim@meyering.net>
14878         and Eric Blake  <ebb9@byu.net>
14879
14880         hash-tests: new module
14881         * modules/hash-tests: New file.
14882         * tests/test-hash.c: New file.
14883
14884 2009-06-17  Eric Blake  <ebb9@byu.net>
14885
14886         strstr-simple: document new module
14887         * MODULES.html.sh: Document new module.
14888
14889         strstr, strcasestr: replace on platforms with broken memchr
14890         * modules/strstr: Split into...
14891         * modules/strstr-simple: ...new module that does not care about
14892         performance, but does care about glibc bug.
14893         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
14894         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
14895         if platform memchr is broken, per Debian bug 521737.
14896         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
14897         memchr.
14898         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
14899         * doc/posix-functions/strstr.texi (strstr): Document the fix.
14900         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14901         * modules/mountlist (Depends-on): Add strstr-simple.
14902         * modules/gen-uni-tables (Depends-on): Likewise.
14903         * modules/argz (Depends-on): Add strstr.
14904
14905 2009-06-17  Bruno Haible  <bruno@clisp.org>
14906
14907         * modules/posix_spawn-internal (Depends-on): Add errno.
14908
14909 2009-06-17  Bruno Haible  <bruno@clisp.org>
14910
14911         Define missing ESTALE on Interix 3.5.
14912         * lib/errno.in.h (ESTALE): Assign a value if missing.
14913         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
14914         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
14915         missing.
14916         * doc/posix-headers/errno.texi: Mention the Interix bug.
14917         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
14918
14919 2009-06-15  Eric Blake  <ebb9@byu.net>
14920
14921         memchr, memchr2: add valgrind exception
14922         * lib/memchr.valgrind: New file.
14923         * lib/memchr2.valgrind: New file.
14924         * modules/memchr (Files): Distribute valgrind file.
14925         * modules/memchr2 (Files): Likewise.
14926
14927         docs: memchr is no longer obsolete
14928         * MODULES.html.sh: Move memchr from obsolete to string.h section.
14929         * lib/string.in.h (memchr): Simplify logic.
14930
14931 2009-06-14  Jim Meyering  <meyering@redhat.com>
14932
14933         link-follow: fix the "checking..." message to not mention trailing slash
14934         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
14935         never considered trailing slashes.
14936
14937 2009-06-14  Bruno Haible  <bruno@clisp.org>
14938
14939         * m4/memchr.m4: Mention also the bug on IA-64.
14940         * doc/posix-functions/memchr.texi: Likewise.
14941
14942 2009-06-12  Eric Blake  <ebb9@byu.net>
14943
14944         memchr: detect broken x86_64 and alpha implementations
14945         * modules/memchr-tests (Depends-on): Move mmap detection...
14946         * modules/memchr (Depends-on): ...here.
14947         (configure.ac): Set indicator.
14948         * lib/string.in.h (memchr): Declare replacement.
14949         * modules/string (Makefile.am): Trigger replacement.
14950         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
14951         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
14952         bugs.
14953         * doc/posix-functions/memchr.texi (memchr): Document the bug.
14954         * modules/getpagesize (License): Relax license.
14955
14956 2009-06-11  Bruno Haible  <bruno@clisp.org>
14957
14958         * lib/idpriv.h: Add more references.
14959
14960 2009-06-08  Bruno Haible  <bruno@clisp.org>
14961
14962         Tests for module 'idpriv-droptemp'.
14963         * modules/idpriv-droptemp-tests: New file.
14964         * tests/test-idpriv-droptemp.sh: New file.
14965         * tests/test-idpriv-droptemp.su.sh: New file.
14966         * tests/test-idpriv-droptemp.c: New file.
14967
14968         New module 'idpriv-droptemp'.
14969         * lib/idpriv-droptemp.c: New file.
14970         * modules/idpriv-droptemp: New file.
14971
14972 2009-06-08  Bruno Haible  <bruno@clisp.org>
14973
14974         Tests for module 'idpriv-drop'.
14975         * modules/idpriv-drop-tests: New file.
14976         * tests/test-idpriv-drop.sh: New file.
14977         * tests/test-idpriv-drop.su.sh: New file.
14978         * tests/test-idpriv-drop.c: New file.
14979
14980         New module 'idpriv-drop'.
14981         * lib/idpriv.h: New file.
14982         * lib-idpriv-drop.c: New file.
14983         * m4/idpriv.m4: New file.
14984         * modules/idpriv-drop: New file.
14985
14986 2009-06-08  Bruno Haible  <bruno@clisp.org>
14987
14988         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
14989         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14990         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14991         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14992         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14993         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14994         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14995
14996 2009-06-08  Eric Blake  <ebb9@byu.net>
14997
14998         test-strstr: use memory fence, when possible
14999         * tests/test-strstr.c (main): Use memory fence, in order to be
15000         more likely to trigger Debian bug 521737.
15001         * modules/strstr-tests (Files): Pull in additional files.
15002
15003         memchr: no longer obsolete, for wider field testing
15004         * modules/memchr (Status, Notice): Delete, this module is no
15005         longer obsolete.
15006         * modules/vasnprintf (Depends-on): Add memchr.
15007
15008 2009-06-07  Jim Meyering  <meyering@redhat.com>
15009
15010         hash: declare some functions with the warn_unused_result attribute
15011         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
15012
15013 2009-06-07  Bruno Haible  <bruno@clisp.org>
15014
15015         * tests/test-alignof.c: Don't test int64_t if it does not exist.
15016         Reported by Eric Blake.
15017
15018 2009-06-06  Eric Blake  <ebb9@byu.net>
15019
15020         test-alignof: fix typo with long double
15021         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
15022         compiler error.
15023
15024 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
15025
15026         Escape non-texinfo { and }s.
15027         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
15028         markup error.
15029
15030 2009-06-04  Jim Meyering  <meyering@redhat.com>
15031
15032         gitlog-to-changelog: don't infloop on an empty commit log
15033         * build-aux/gitlog-to-changelog: Warn about an empty log message.
15034         Reported by Boris Petersen <transacid@centerim.org>.
15035
15036 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
15037
15038         version-etc: extend for packagers
15039         Add three new configure options, intended for packagers:
15040           --with-packager="packager name"
15041           --with-packager-version="packager-specific version"
15042           --with-packager-bug-reports="packager bug reporting"
15043         An example with coreutils:
15044           $ ./configure \
15045             --with-packager=Gentoo \
15046             --with-packager-bug-report=http://bugs.gentoo.org/ \
15047             --with-packager-version="patchset 1.6"
15048           $ ./src/ls --version | head -n2
15049           ls (GNU coreutils) 7.1-dirty
15050           Packaged by Gentoo (patchset 1.6)
15051         Note that the bug reporting info via --help doesn't show up because
15052         coreutils uses its own custom emit_bug_reporting_address() implementation
15053         in src/system.h.  If it didn't, it'd look like:
15054           $ ./src/ls --help | tail -n4
15055           Report bugs to <bug-coreutils@gnu.org>.
15056           Report Gentoo bugs to <http://bugs.gentoo.org/>.
15057           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
15058           General help using GNU software: <http://www.gnu.org/gethelp/>.
15059         * lib/version-etc.c: Print new information, if provided.
15060         * m4/version-etc.m4: New file.
15061         * modules/version-etc (Files): Add m4/version-etc.m4.
15062         (configure.ac): Add gl_VERSION_ETC.
15063
15064 2009-05-31  Bruno Haible  <bruno@clisp.org>
15065
15066         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
15067         and 'int64_t'.
15068         * modules/alignof-tests (Dependencies): Add stdint.
15069         Reported by Eric Blake.
15070
15071 2009-05-31  Bruno Haible  <bruno@clisp.org>
15072
15073         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
15074         restriction due to compiler bugs.
15075         Reported by Eric Blake.
15076
15077 2009-05-31  Simon Josefsson  <simon@josefsson.org>
15078             Bruno Haible  <bruno@clisp.org>
15079
15080         Fix test-alignof failure.
15081         * lib/alignof.h (alignof_slot): New macro.
15082         (alignof_type): New macro, with the same semantics as the previous
15083         'alignof'.
15084         (alignof): Alias to alignof_slot.
15085         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
15086         check that the results are usable as constant expressions.
15087
15088 2009-05-31  Bruno Haible  <bruno@clisp.org>
15089
15090         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
15091         * tests/test-memchr.c (main): Check that memchr does not read past the
15092         first occurrence of the byte.
15093         * tests/test-strstr.c (main): Update comment.
15094         Suggested by Eric Blake.
15095
15096 2009-05-30  Bruno Haible  <bruno@clisp.org>
15097
15098         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
15099         detail how to use dumpbin.
15100         Reported by David Byron <dbyron@dbyron.com>.
15101
15102 2009-06-02  Simon Josefsson  <simon@josefsson.org>
15103
15104         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
15105
15106 2009-06-02  Simon Josefsson  <simon@josefsson.org>
15107
15108         * m4/manywarnings.m4: Add GCC 4.4 warnings.
15109
15110 2009-05-28  Bruno Haible  <bruno@clisp.org>
15111
15112         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
15113         build-aux/ files.
15114
15115 2009-05-28  Simon Josefsson  <simon@josefsson.org>
15116
15117         * gnulib-tool (func_import): Transform license on build-aux/ files too.
15118
15119 2009-05-27  Simon Josefsson  <simon@josefsson.org>
15120
15121         * gnulib-tool (sed_transform_main_lib_file)
15122         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
15123         regexps.
15124
15125 2009-05-26  Simon Josefsson  <simon@josefsson.org>
15126
15127         * tests/test-strstr.c: Add another self-test.
15128         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
15129         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
15130
15131 2009-05-23  Bruno Haible  <bruno@clisp.org>
15132
15133         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
15134         change.
15135
15136 2009-05-21  Bruno Haible  <bruno@clisp.org>
15137
15138         Simplify use of mode_t varargs.
15139         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
15140         uses 'mode_t' or 'int'.
15141         * lib/openat.c (openat): Likewise.
15142         * lib/open-safer.c (open_safer): Likewise.
15143         * m4/mode_t.m4: New file.
15144         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
15145         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
15146         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
15147         * modules/open (Files): Add m4/mode_t.m4.
15148         * modules/openat (Files): Likewise.
15149         * modules/fcntl-safer (Files): Likewise.
15150         Suggested by Eric Blake.
15151
15152 2009-05-21  Pádraig Brady  <P@draigbrady.com>
15153
15154         * doc/glibc-functions/fallocate.texi: New file.
15155         * doc/gnulib.texi: Include it.
15156
15157 2009-05-21  Eric Blake  <ebb9@byu.net>
15158             Bruno Haible  <bruno@clisp.org>
15159
15160         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
15161         invocations.
15162         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
15163
15164 2009-05-21  Eric Blake  <ebb9@byu.net>
15165             Bruno Haible  <bruno@clisp.org>
15166
15167         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
15168         include_next. Fix of 2008-11-20 commit.
15169         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
15170         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
15171         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
15172         NEXT_MATH_H.
15173         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
15174         instead of NEXT_MATH_H.
15175
15176 2009-05-21  Bruno Haible  <bruno@clisp.org>
15177
15178         Avoid redefinition warnings for SIZE_MAX.
15179         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
15180         Reported by Simon Josefsson.
15181
15182 2009-05-21  Bruno Haible  <bruno@clisp.org>
15183
15184         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
15185         AC_CACHE_VAL.
15186
15187 2009-05-20  Bruno Haible  <bruno@clisp.org>
15188
15189         Make zeroptr.h work on mingw.
15190         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
15191         mprotect.
15192         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
15193         * modules/memchr2-tests (configure.ac): Likewise.
15194         * modules/memcmp-tests (configure.ac): Likewise.
15195         * modules/memmem-tests (configure.ac): Likewise.
15196         * modules/memrchr-tests (configure.ac): Likewise.
15197         Reported by Simon Josefsson.
15198
15199 2009-05-20  Simon Josefsson  <simon@josefsson.org>
15200
15201         * tests/test-glob.c: Include string.h for strcmp prototype.
15202
15203 2009-05-20  Simon Josefsson  <simon@josefsson.org>
15204
15205         * modules/getdelim (Depends-on): Add explicit stdint, although it
15206         was implicitly already pulled in via realloc-posix.
15207         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
15208
15209 2009-05-20  Simon Josefsson  <simon@josefsson.org>
15210
15211         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
15212         G. Christensen" <tgc@jupiterrise.com>.
15213         * m4/sys_socket_h.m4: Check for sa_family_t.
15214         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
15215         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
15216         * tests/test-sys_socket.c: Check that sa_family_t works.
15217
15218 2009-05-18  Eric Blake  <ebb9@byu.net>
15219
15220         maint.mk: allow gnulib_dir in VPATH build
15221         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
15222
15223 2009-05-15  Jim Meyering  <meyering@redhat.com>
15224
15225         maint.mk: Give gnulib_dir a default definition.
15226         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
15227         Thus, most packages no longer need to specify this variable in cfg.mk
15228
15229 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
15230
15231         rename.m4: fix typos that would make non-mingw cross-configure fail
15232         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
15233
15234 2009-05-13  Eric Blake  <ebb9@byu.net>
15235
15236         mmap-anon: avoid out-of-order autoconf expansion
15237         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
15238         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
15239         * modules/memchr-tests (Depends-on): Add extensions.
15240         * modules/memchr2-tests (Depends-on): Add extensions.
15241         * modules/memcmp-tests (Depends-on): Add extensions.
15242         * modules/memmem-tests (Depends-on): Add extensions.
15243         * modules/memrchr-tests (Depends-on): Add extensions.
15244
15245 2009-05-13  Bruno Haible  <bruno@clisp.org>
15246
15247         Make some tests ISO C 99 compliant.
15248         * tests/zerosize-ptr.h: New file.
15249         * tests/test-memchr.c: Include zerosize-ptr.h.
15250         (main): Use a zero-size object pointer instead of NULL.
15251         * tests/test-memchr2.c: Include zerosize-ptr.h.
15252         (main): Use a zero-size object pointer instead of NULL.
15253         * tests/test-memcmp.c: Include zerosize-ptr.h.
15254         (main): Use a zero-size object pointer instead of NULL.
15255         * tests/test-memmem.c: Include zerosize-ptr.h.
15256         (main): Use a zero-size object pointer instead of NULL.
15257         * tests/test-memrchr.c: Include zerosize-ptr.h.
15258         (main): Use a zero-size object pointer instead of NULL.
15259         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
15260         m4/mmap-anon.m4.
15261         (Depends-on): Add getpagesize.
15262         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15263         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
15264         m4/mmap-anon.m4.
15265         (Depends-on): Add getpagesize.
15266         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15267         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
15268         m4/mmap-anon.m4.
15269         (Depends-on): Add getpagesize.
15270         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15271         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
15272         m4/mmap-anon.m4.
15273         (Depends-on): Add getpagesize.
15274         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15275         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
15276         m4/mmap-anon.m4.
15277         (Depends-on): Add getpagesize.
15278         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
15279
15280 2009-05-12  Bruno Haible  <bruno@clisp.org>
15281
15282         Tests for module 'alignof'.
15283         * modules/alignof-tests: New file.
15284         * tests/test-alignof.c: New file.
15285
15286 2009-05-12  Bruno Haible  <bruno@clisp.org>
15287
15288         Fix alignof macro.
15289         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
15290         vendor compilers that are always correct.
15291
15292 2009-05-12  Bruno Haible  <bruno@clisp.org>
15293
15294         Make the MAP_ANONYMOUS detection work on HP-UX 11.
15295         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
15296         not whether its fully works.
15297
15298 2009-05-12  Bruno Haible  <bruno@clisp.org>
15299
15300         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
15301
15302 2009-05-12  Jim Meyering  <meyering@redhat.com>
15303
15304         * top/maint.mk: Adjust backslash alignment.
15305
15306 2009-05-11  Simon Josefsson  <simon@josefsson.org>
15307
15308         * top/maint.mk: Make $(srcdir)/build-aux configurable.
15309
15310 2009-05-11  Eric Blake  <ebb9@byu.net>
15311
15312         argp: avoid undefined behavior
15313         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
15314         macros.
15315
15316 2009-05-08  Simon Josefsson  <simon@josefsson.org>
15317
15318         * tests/test-vc-list-files-git.sh: Do git config of user.email and
15319         user.name to prevent git commit from complaining.
15320
15321 2009-05-10  Bruno Haible  <bruno@clisp.org>
15322
15323         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
15324         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
15325         it rewrites every file name only once.
15326         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
15327
15328 2009-05-08  Bruno Haible  <bruno@clisp.org>
15329
15330         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
15331         instead of 'max'.
15332
15333 2009-05-08  Simon Josefsson  <simon@josefsson.org>
15334
15335         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
15336         sockaddr_storage test.
15337
15338 2009-05-07  Simon Josefsson  <simon@josefsson.org>
15339
15340         * modules/sys_socket (Makefile.am): Substitute
15341         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
15342         * m4/sys_socket_h.m4: Check for sockaddr_storage.
15343         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
15344         * tests/test-sys_socket.c: Check sockaddr_storage.
15345
15346 2009-05-08  Bruno Haible  <bruno@clisp.org>
15347
15348         New module 'alignof'.
15349         * lib/alignof.h: New file.
15350         * modules/alignof: New file.
15351
15352 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
15353             Bruno Haible  <bruno@clisp.org>
15354
15355         Fix test-file-has-acl on FreeBSD.
15356         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
15357         mask is implicitly added.
15358         * tests/test-file-has-acl.c: Include <signal.h>.
15359         (main): Terminate the test after 5 seconds.
15360         * modules/acl-tests (configure.ac): Check for alarm function.
15361
15362 2009-05-04  Bruno Haible  <bruno@clisp.org>
15363
15364         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
15365         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
15366         * modules/errno (configure.ac): Drop AC_REQUIRE.
15367         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
15368         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
15369
15370 2009-05-04  Simon Josefsson  <simon@josefsson.org>
15371
15372         * modules/glob-tests: New module.
15373         * tests/test-glob.c: Add.
15374
15375 2009-05-04  Simon Josefsson  <simon@josefsson.org>
15376
15377         * modules/fnmatch-tests: New module.
15378         * tests/test-fnmatch.c: Add.
15379
15380 2009-05-04  Eric Blake  <ebb9@byu.net>
15381
15382         maint: make the new no-submodule-changes rule VPATH-safe
15383         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
15384
15385 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
15386             Bruno Haible  <bruno@clisp.org>
15387
15388         acl: Fix infinite loop on FreeBSD.
15389         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
15390         of return value from acl_get_entry.
15391         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
15392         Likewise.
15393
15394 2009-05-03  Bruno Haible  <bruno@clisp.org>
15395
15396         * lib/acl-internal.h (acl_entries): Clarify return value.
15397         * lib/acl_entries.c (acl_entries): Likewise.
15398
15399 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
15400
15401         Bug fix in acl module.
15402         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
15403
15404 2009-05-03  Bruno Haible  <bruno@clisp.org>
15405
15406         Create gperf-generated file in the source dir, not in the build dir.
15407         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
15408         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
15409         * modules/unicase/locale-language (unicase/locale-languages.h):
15410         Likewise.
15411         * modules/unicase/special-casing (unicase/special-casing-table.h):
15412         Likewise.
15413         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
15414         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
15415         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
15416         Reported by Ralf Wildenhues.
15417
15418 2009-05-03  Bruno Haible  <bruno@clisp.org>
15419
15420         * modules/fnmatch (Description, configure.ac): Taken from
15421         fnmatch-posix.
15422         * modules/fnmatch-posix: Turn into a symbolic reference to the
15423         'fnmatch' module, and deprecate.
15424         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
15425
15426 2009-05-03  Bruno Haible  <bruno@clisp.org>
15427
15428         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
15429         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
15430         Reported by Ralf Wildenhues.
15431
15432 2009-05-04  Simon Josefsson  <simon@josefsson.org>
15433
15434         * m4/fnmatch.m4: Fix fnmatch re-define.
15435
15436 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
15437
15438         priv-set: new module and tests; adapt write-any-file
15439         * lib/priv-set.c: New file.
15440         * lib/priv-set.h: New file.
15441         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
15442         * lib/write-any-file.c: Simplify by using priv-set module.
15443         * m4/priv-set.m4: New file.
15444         * modules/priv-set: New file.
15445         * modules/unlinkdir: Add dependency on priv-set module.
15446         * modules/write-any-file: Likewise.
15447
15448         Tests for module 'priv-set'.
15449         * modules/priv-set-tests: New file.
15450         * tests/test-priv-set.c: New file.
15451
15452 2009-05-03  Jim Meyering  <meyering@redhat.com>
15453             Bruno Haible  <bruno@clisp.org>
15454
15455         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
15456         use the converted UTF-8 variant of the name instead.
15457
15458 2009-05-03  Jim Meyering  <meyering@redhat.com>
15459
15460         tests: tighten some getdate tests
15461         * tests/test-getdate.c (main): Tighten tests: require equality,
15462         not just greater than.  Set TZ envvar to UTC0.
15463
15464 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
15465
15466         getdate: correctly interpret "next monday" when run on a Monday
15467         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
15468         that e.g., "next tues" (when run on a tuesday) results in a date
15469         that is one week in the future, and not today's date.
15470         I.e., add a week when the wday is the same as the current one.
15471         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
15472         and earlier by Martin Bernreuther and Jan Minář.
15473         * tests/test-getdate.c (main): Check that "next DAY" is always in
15474         the future and that "last DAY" is always in the past.
15475
15476 2009-05-02  Jim Meyering  <meyering@redhat.com>
15477
15478         build: ensure that a release build fails when a submodule is unclean
15479         * top/maint.mk (no-submodule-changes): New rule.
15480         (alpha beta major): Depend on it.
15481
15482 2009-05-02  Bruno Haible  <bruno@clisp.org>
15483
15484         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
15485         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
15486         shell variable gl_fnmatch_required to detect which variant is
15487         requested.
15488         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
15489         gl_FUNC_FNMATCH_POSIX.
15490         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
15491         exclude fnmatch-posix.
15492
15493 2009-05-02  Bruno Haible  <bruno@clisp.org>
15494
15495         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
15496         * modules/mbsrtowcs (License): Change to LGPLv2+.
15497         * modules/strnlen1 (License): Likewise.
15498         Reported by Simon Josefsson.
15499
15500 2009-05-02  Bruno Haible  <bruno@clisp.org>
15501
15502         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
15503         "cross".
15504         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
15505         gnulib-tool was called with option --source-base=lib.
15506
15507 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15508
15509         Use automake *-local hooks without commands, for extensibility.
15510         * modules/localcharset (Makefile.am): Rename install-exec-local
15511         rule to install-exec-localcharset, and make it a prerequisite of
15512         install-exec-local.  Likewise, rename the uninstall-local rule to
15513         uninstall-localcharset, and make it a prerequisite of the former.
15514
15515 2009-05-01  Bruno Haible  <bruno@clisp.org>
15516
15517         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
15518         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
15519         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
15520         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
15521         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
15522         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
15523         m4/locale-zh.m4, m4/codeset.m4.
15524
15525         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
15526         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
15527         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
15528         m4/locale-zh.m4.
15529
15530         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
15531         REPLACE_WCRTOMB if mbstate_t must be replaced.
15532         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
15533         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
15534
15535 2009-05-01  Bruno Haible  <bruno@clisp.org>
15536
15537         Avoid compiler warnings when redefining macros defined by <libintl.h>.
15538         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
15539         dngettext, dcngettext, textdomain, bindtextdomain,
15540         bind_textdomain_codeset): Undefine before redefining.
15541
15542 2009-04-30  Bruno Haible  <bruno@clisp.org>
15543
15544         Fix bug introduced on 2009-04-25.
15545         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
15546         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
15547         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
15548         is defined.
15549         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
15550         is defined.
15551         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
15552         is defined.
15553         Reported by Elbert_Pol <elbert.pol@gmail.com>.
15554
15555 2009-04-28  Bruno Haible  <bruno@clisp.org>
15556
15557         Comment tweaks.
15558         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
15559         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
15560         * lib/unicase.h (u*_casexfrm): Likewise.
15561         Reported by Paolo Bonzini.
15562
15563 2009-04-28  Bruno Haible  <bruno@clisp.org>
15564
15565         Fix a compilation error.
15566         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
15567         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
15568         Reported by Jim Meyering.
15569
15570 2009-04-27  Bruno Haible  <bruno@clisp.org>
15571
15572         New module 'libunistring'.
15573         * modules/libunistring: New file.
15574         * m4/libunistring.m4: New file.
15575         * MODULES.html.sh (Unicode string functions): Add it.
15576
15577 2009-04-27  Eric Blake  <ebb9@byu.net>
15578
15579         maint.mk: allow package-specific header to provide <config.h>
15580         * top/maint.mk (sc_require_config_h): New variable.
15581         (sc_require_config_h, sc_require_config_h_first): Use it.
15582
15583 2009-04-27  Simon Josefsson  <simon@josefsson.org>
15584
15585         * top/maint.mk (sc_avoid_if_before_free): Except
15586         useless-if-before-free script.
15587
15588 2009-04-27  Eric Blake  <ebb9@byu.net>
15589
15590         maintainer-makefile: depend on all required helper scripts
15591         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
15592         useless-if-before-free.
15593         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
15594         version, rather than assuming gnulib checkout is available.
15595         Reported by Simen Josefsson.
15596
15597 2009-04-26  Bruno Haible  <bruno@clisp.org>
15598
15599         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
15600         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
15601         "../" or "..".
15602
15603 2009-04-26  Bruno Haible  <bruno@clisp.org>
15604
15605         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
15606         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
15607         AC_LIB_HAVE_LINKFLAGS.
15608
15609 2009-04-26  Bruno Haible  <bruno@clisp.org>
15610
15611         Simplify calling convention of u*_conv_from_encoding.
15612         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
15613         u32_conv_from_encoding): Expect a resultbuf argument and return the
15614         result directly as a pointer.
15615         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
15616         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
15617         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
15618         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
15619         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
15620         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15621         Update.
15622         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
15623         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
15624         * lib/vasnprintf.c (VASNPRINTF): Update.
15625         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
15626         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
15627         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
15628         * NEWS: Mention the change.
15629
15630 2009-04-26  Bruno Haible  <bruno@clisp.org>
15631
15632         Simplify calling convention of u*_conv_to_encoding.
15633         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
15634         u32_conv_to_encoding): Expect a resultbuf argument and return the
15635         result directly as a pointer.
15636         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15637         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
15638         freeing scaled_offsets if mem_iconveha failed.
15639         * lib/unicase/u-casexfrm.h (FUNC): Update.
15640         * lib/uninorm/u-normxfrm.h (FUNC): Update.
15641         * lib/vasnprintf.c (VASNPRINTF): Update.
15642         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
15643         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
15644         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
15645         * NEWS: Mention the change.
15646
15647 2009-04-26  Bruno Haible  <bruno@clisp.org>
15648
15649         Avoid test failures on AIX and OSF/1.
15650         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
15651         malloc(0).
15652         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
15653         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
15654         Likewise.
15655         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
15656         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
15657         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
15658         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
15659         * doc/posix-functions/malloc.texi: Document the portability problem
15660         related to malloc(0).
15661
15662 2009-04-26  Bruno Haible  <bruno@clisp.org>
15663
15664         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
15665         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
15666         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
15667
15668 2009-04-25  Bruno Haible  <bruno@clisp.org>
15669
15670         Avoid link error when creating a namespace clean library.
15671         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
15672         as macro with arguments if already defined as an alias.
15673         * lib/signbitf.c (gl_signbitf): Don't undefine.
15674         * lib/signbitd.c (gl_signbitd): Don't undefine.
15675         * lib/signbitl.c (gl_signbitl): Don't undefine.
15676
15677 2009-04-25  Jim Meyering  <meyering@redhat.com>
15678
15679         vc-list-files: fix another quoting bug
15680         * build-aux/vc-list-files: Avoid sed backslash expansion
15681         of pathological directory names.
15682
15683 2009-04-25  Eric Blake  <ebb9@byu.net>
15684
15685         vc-list-files: fix shell quoting error
15686         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
15687         timestamp.
15688
15689 2009-04-25  Jim Meyering  <meyering@redhat.com>
15690
15691         vc-list-files: restore lost functionality with subdir argument
15692         * build-aux/vc-list-files: When given a non-"." sub-directory
15693         argument, substitute the $dir/ prefix back onto each resulting name.
15694         Otherwise, coreutils' root_tests check would fail.
15695
15696 2009-04-24  Eric Blake  <ebb9@byu.net>
15697
15698         vc-list-files: ignore git symlinks
15699         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
15700         than ls-files, to ignore git symlinks.
15701
15702         maint.mk: import improvements from m4
15703         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
15704         (move_if_change): Delete unused macro.
15705         (news-date-check, vc-diff-check): Support VPATH builds.
15706         (announcement): Likewise.  Split --bootstrap-tools list...
15707         (boostrap-tools): ...into separate list, which can be overridden
15708         in cfg.mk.
15709         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
15710         requiring dependency on useless-if-before-free module.
15711         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
15712         Support VPATH builds.
15713
15714 2009-04-24  Jim Meyering  <meyering@redhat.com>
15715
15716         maint.mk: remove coreutils-specific rules and variables
15717         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
15718         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
15719         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
15720
15721         maint.mk: remove obsolete rule
15722         * top/maint.mk (rel-check): Remove rule.
15723         (WGET, WGETFLAGS): Remove now-unused variables.
15724
15725 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15726
15727         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
15728         consistency.
15729
15730         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
15731         '$(PATH_SEPARATOR)' instead of ':'.
15732
15733 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15734
15735         * lib/getopt1.c (main): Use 'const' for static array.
15736
15737 2009-04-24  Simon Josefsson  <simon@josefsson.org>
15738
15739         * top/maint.mk: Sync with coreutils.
15740         * NEWS: Explain incompatibilities.
15741
15742 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15743             Bruno Haible  <bruno@clisp.org>
15744
15745         Fix cross-compilation results.
15746         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
15747         statement, as third argument of AC_TRY_RUN.
15748         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
15749         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
15750         Likewise.
15751         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15752         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
15753         Likewise.
15754         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
15755         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
15756         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
15757
15758 2009-04-20  Bruno Haible  <bruno@clisp.org>
15759
15760         Avoid test failure on mingw.
15761         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
15762
15763 2009-04-20  Bruno Haible  <bruno@clisp.org>
15764
15765         Avoid compilation error on mingw.
15766         * modules/localename-tests (Depends-on): Add locale.
15767
15768 2009-04-19  Bruno Haible  <bruno@clisp.org>
15769
15770         Support for building a shared library on Windows platforms.
15771         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
15772         (main): Test the presence of UNINORM_NFC here.
15773         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
15774         (main): Test the presence of UNINORM_NFD here.
15775         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
15776         (main): Test the presence of UNINORM_NFKC here.
15777         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
15778         (main): Test the presence of UNINORM_NFKD here.
15779
15780 2009-04-19  Bruno Haible  <bruno@clisp.org>
15781
15782         Avoid a compiler warning.
15783         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
15784         Change type of variable 'sequence'.
15785
15786 2009-04-19  Bruno Haible  <bruno@clisp.org>
15787
15788         * modules/configmake (Makefile.am): When the contents of configmake.h
15789         does not change, arrange to preserve its modification time.
15790
15791 2009-04-17  Simon Josefsson  <simon@josefsson.org>
15792
15793         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
15794         gettext domain.
15795
15796 2009-04-16  Jim Meyering  <meyering@redhat.com>
15797
15798         useless-if-before-free: improve conversion code
15799         * build-aux/useless-if-before-free: Adjust code-in-comment to match
15800         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
15801
15802 2009-04-14  Bruno Haible  <bruno@clisp.org>
15803
15804         * modules/fcntl (Depends-on): Add extensions.
15805         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
15806
15807 2009-04-12  Ben Pfaff  <blp@gnu.org>
15808
15809         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
15810         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
15811
15812 2009-03-20  Ben Pfaff  <blp@gnu.org>
15813
15814         Make rename replace existing destinations on Windows.
15815         * m4/rename.m4: Add test for Mingw.
15816         * lib/rename.c: Add rename replacement that uses MoveFileEx with
15817         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
15818         * doc/posix-functions/rename.texi: Document.
15819
15820 2009-04-10  Bruno Haible  <bruno@clisp.org>
15821
15822         New include file "iconveh.h".
15823         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
15824         * lib/striconveh.h: Include it.
15825         (enum iconv_ilseq_handler): Remove definition.
15826         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
15827         striconveh.h.
15828         * lib/striconveha.c: Include striconveh.h.
15829         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
15830         * modules/striconveh (Files): Add lib/iconveh.h.
15831         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
15832         lib/striconveh.h.
15833
15834 2009-04-10  Bruno Haible  <bruno@clisp.org>
15835
15836         * lib/uniconv.h: Update comment.
15837
15838 2009-04-10  Bruno Haible  <bruno@clisp.org>
15839
15840         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
15841         always.
15842         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
15843         * lib/unistr/u16-mbtouc-aux.c: Likewise.
15844         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
15845         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
15846         "unistring-notinline.h", so that the function gets defined always.
15847         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
15848         * lib/unistr/u8-uctomb.c: Likewise.
15849         * lib/unistr/u16-mbtouc.c: Likewise.
15850         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
15851         * lib/unistr/u16-uctomb.c: Likewise.
15852         * lib/unistr/u32-mbtouc.c: Likewise.
15853         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
15854         * lib/unistr/u32-uctomb.c: Likewise.
15855
15856 2009-04-10  Bruno Haible  <bruno@clisp.org>
15857
15858         Mark 'utime' obsolete.
15859         * modules/utime (Status, Notice): New sections.
15860         Suggested by Jim Meyering.
15861
15862         Fix cross-compile guess for utime test.
15863         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
15864         autoconf.
15865         * doc/posix-functions/utime.texi: Give more precisions.
15866         Reported by Jan <ipif@ymail.com>.
15867
15868 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
15869
15870         filevercmp: correct today's change
15871         * lib/filevercmp.c: Also handle coreutils' test inputs.
15872         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
15873
15874         Fix regression in 'filevercmp' module. Thanks Sven Joachim
15875         for reporting it.
15876         * lib/filevercmp.c: Special handle for "", "." and "..".
15877         * tests/test-filevercmp.c: Enlarge the set suite.
15878
15879 2009-04-07  Jim Meyering  <meyering@redhat.com>
15880
15881         useless-if-before-free: show how to remove braced useless free, too
15882         * build-aux/useless-if-before-free: still only in a comment, though.
15883
15884 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
15885
15886         maint.mk: import changes to syntax-check macros from coreutils
15887         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
15888         Use them in the relevant macros.
15889
15890 2009-04-06  Bruno Haible  <bruno@clisp.org>
15891
15892         Fix unportable use of bit-fields.
15893         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
15894         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
15895         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
15896
15897 2009-04-06  Bruno Haible  <bruno@clisp.org>
15898
15899         Avoid test failures on AIX and OSF/1.
15900         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
15901         that malloc(0) = NULL.
15902         * tests/unicase/test-u8-tolower.c (check): Likewise.
15903         * tests/unicase/test-u8-totitle.c (check): Likewise.
15904         * tests/unicase/test-u8-toupper.c (check): Likewise.
15905         * tests/unicase/test-u16-casefold.c (check): Likewise.
15906         * tests/unicase/test-u16-tolower.c (check): Likewise.
15907         * tests/unicase/test-u16-totitle.c (check): Likewise.
15908         * tests/unicase/test-u16-toupper.c (check): Likewise.
15909         * tests/unicase/test-u32-casefold.c (check): Likewise.
15910         * tests/unicase/test-u32-tolower.c (check): Likewise.
15911         * tests/unicase/test-u32-totitle.c (check): Likewise.
15912         * tests/unicase/test-u32-toupper.c (check): Likewise.
15913         * tests/uninorm/test-u8-nfc.c (check): Likewise.
15914         * tests/uninorm/test-u8-nfd.c (check): Likewise.
15915         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
15916         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
15917         * tests/uninorm/test-u16-nfc.c (check): Likewise.
15918         * tests/uninorm/test-u16-nfd.c (check): Likewise.
15919         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
15920         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
15921         * tests/uninorm/test-u32-nfc.c (check): Likewise.
15922         * tests/uninorm/test-u32-nfd.c (check): Likewise.
15923         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
15924         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
15925
15926 2009-04-05  Bruno Haible  <bruno@clisp.org>
15927
15928         Work around an autoconf limitation.
15929         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
15930         comment line if it would be longer than 3 KB.
15931
15932 2009-04-05  Bruno Haible  <bruno@clisp.org>
15933
15934         Avoid test failure with libiconv-1.13.
15935         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
15936         of the expected test results.
15937
15938 2009-04-05  Bruno Haible  <bruno@clisp.org>
15939
15940         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
15941         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
15942         that it should be installed.
15943
15944 2009-04-05  Bruno Haible  <bruno@clisp.org>
15945
15946         * gnulib-tool: New option --copy-file.
15947         (func_usage): Document it.
15948         (func_dest_tmpfilename): Moved out of func_import.
15949         (func_add_file, func_update_file): New functions, extracted from
15950         func_import.
15951         (func_import): Update.
15952
15953 2009-04-05  Karl Berry  <karl@gnu.org>
15954
15955         * README: prominently mention gnulib-tool.
15956         Rearrange sections so getting the code is near the top.
15957
15958 2009-04-05  Bruno Haible  <bruno@clisp.org>
15959
15960         * lib/unicase.h: Mention u*_cmp2.
15961         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15962         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
15963         * lib/unicase/ulc-casecmp.c: Likewise.
15964         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
15965         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
15966         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
15967         unistr/u8-cmp.
15968         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
15969         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
15970         unistr/u16-cmp.
15971         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
15972         unistr/u32-cmp.
15973
15974         * lib/uninorm.h: Mention u*_cmp2.
15975         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15976         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
15977         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
15978         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
15979         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
15980         unistr/u8-cmp.
15981         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
15982         unistr/u16-cmp.
15983         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
15984         unistr/u32-cmp.
15985
15986         New module 'unistr/u32-cmp2'.
15987         * lib/unistr/u32-cmp2.c: New file.
15988         * modules/unistr/u32-cmp2: New file.
15989
15990         New module 'unistr/u16-cmp2'.
15991         * lib/unistr/u16-cmp2.c: New file.
15992         * modules/unistr/u16-cmp2: New file.
15993
15994         New module 'unistr/u8-cmp2'.
15995         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
15996         * lib/unistr/u8-cmp2.c: New file.
15997         * lib/unistr/u-cmp2.h: New file.
15998         * modules/unistr/u8-cmp2: New file.
15999
16000 2009-04-05  Bruno Haible  <bruno@clisp.org>
16001
16002         * lib/unictype.h (uc_property_is_valid): New macro.
16003         * tests/unictype/test-pr_byname.c (main): Use it.
16004
16005         * lib/unistr.h: Doc fixes.
16006         * lib/uniconv.h: Doc fixes.
16007         * lib/unictype.h: Doc fixes.
16008
16009 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
16010
16011         Port coreutils 7.2 to Solaris 8.
16012
16013         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
16014         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
16015         for Solaris 8.  This is a bit of a hack, as it means it's the
16016         caller's responsibility to add -lnsl if needed, but most likely it
16017         won't be needed since only getaddrinfo uses this and getaddrinfo
16018         isn't needed on Solaris 8.
16019
16020         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
16021         problem to Solaris 8 encountered with coreutils 7.2, which
16022         resulted in a message "fnmatch.c:292: warning: passing argument 4
16023         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
16024         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
16025
16026 2009-04-03  Simon Josefsson  <simon@josefsson.org>
16027
16028         * m4/ld-version-script.m4: Add FIXME comment.
16029
16030 2009-04-02  Simon Josefsson  <simon@josefsson.org>
16031
16032         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
16033         SOVERSION variable.
16034
16035 2009-04-02  Bruno Haible  <bruno@clisp.org>
16036
16037         * Makefile (info, html, dvi, pdf): Combine the rules.
16038         Suggested by Jim Meyering.
16039
16040 2009-04-01  Bruno Haible  <bruno@clisp.org>
16041
16042         * Makefile (info, html, dvi, pdf): New targets.
16043         Reported by Reuben Thomas <rrt@sc3d.org>.
16044
16045 2009-04-01  Bruno Haible  <bruno@clisp.org>
16046
16047         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
16048         can be put into PATH.
16049         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
16050
16051 2009-04-01  Bruno Haible  <bruno@clisp.org>
16052
16053         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
16054
16055 2009-04-01  Bruno Haible  <bruno@clisp.org>
16056
16057         Rename module 'visibility'.
16058         * modules/lib-symbol-visibility: Renamed from modules/visibility.
16059         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
16060         * doc/gnulib.texi: Update.
16061         * MODULES.html.sh (Misc): Update.
16062         * NEWS: Mention the change.
16063
16064 2009-04-01  Simon Josefsson  <simon@josefsson.org>
16065
16066         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
16067         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
16068         Eric Blake <ebb9@byu.net> for review.
16069         * MODULES.html.sh: Add lib-msvc-compat.
16070         * doc/gnulib.texi: Link to new section.
16071         * m4/ld-output-def.m4: New file.
16072         * doc/ld-output-def.texi: New file.
16073
16074 2009-04-01  Simon Josefsson  <simon@josefsson.org>
16075
16076         Rename ld-version-script to lib-symbol-versions.  Suggested by
16077         Bruno Haible <bruno@clisp.org>.
16078         * modules/ld-version-script: Renamed to lib-symbol-versions.
16079         * doc/ld-version-script.texi: Fix module name.
16080         * MODULES.html.sh: Add lib-symbol-versions.
16081
16082 2009-03-31  Simon Josefsson  <simon@josefsson.org>
16083
16084         * modules/u64-tests: New file.
16085         * tests/test-u64.c: New file.
16086
16087 2009-03-04  Simon Josefsson  <simon@josefsson.org>
16088
16089         * MODULES.html.sh: Mention u64.
16090         * modules/u64: New module.
16091         * modules/crypto/sha512: Depend on u64 module instead of providing
16092         u64.h.
16093
16094 2009-03-27  Eric Blake  <ebb9@byu.net>
16095
16096         test-strerror: make debugging EAI_SYSTEM easier
16097         * modules/getaddrinfo-tests (Depends-on): Add strerror.
16098         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
16099         failure was EAI_SYSTEM.
16100
16101 2009-03-25  Bruno Haible  <bruno@clisp.org>
16102
16103         Fix a problem with --enable-relocatable on Solaris 7.
16104         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
16105         since 2008-02-24.
16106
16107 2009-03-25  Eric Blake  <ebb9@byu.net>
16108
16109         test-sockets: avoid gcc warning
16110         * tests/test-sockets.c (main): Silence compiler warning.
16111
16112 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
16113
16114         New modules nproc, pthread, contributed by Glen Lenker.
16115
16116         * MODULES.html.sh: Add pthread, nproc.
16117         * lib/nproc.c: New file.
16118         * lib/nproc.h: New file.
16119         * lib/pthread.in.h: New file.
16120         * m4/pthread.m4: New file.
16121         * modules/nproc: New file.
16122         * modules/pthread: New file.
16123
16124 2009-03-24  Simon Josefsson  <simon@josefsson.org>
16125
16126         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
16127         New variable.
16128
16129 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
16130
16131         filevercmp: handle simple~ and numbered.~3~ backup suffixes
16132         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
16133         * tests/test-filevercmp.c: Add tests for backup suffixes.
16134
16135 2009-03-24  Simon Josefsson  <simon@josefsson.org>
16136
16137         * modules/stdlib (Depends-on): Add stdint, needed when defining
16138         struct random_data on, for example, HP-UX 10.20.  Reported by
16139         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16140
16141 2009-03-24  Simon Josefsson  <simon@josefsson.org>
16142
16143         * lib/readline.c (readline): Call fflush on stdout after printing
16144         prompt.
16145
16146 2009-03-20  Bruno Haible  <bruno@clisp.org>
16147
16148         Remove dependency from 'close' module to -lws2_32 on native Windows.
16149         * lib/close-hook.h: New file.
16150         * lib/close-hook.c: New file.
16151         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
16152         w32sock.h.
16153         (_gl_close_fd_maybe_socket): Remove function.
16154         (rpl_close): Invoke execute_all_close_hooks instead of
16155         _gl_close_fd_maybe_socket.
16156         * lib/sockets.c: Include close-hook.h, w32sock.h.
16157         (close_fd_maybe_socket): New function, essentially from lib/close.c.
16158         (close_sockets_hook): New variable.
16159         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
16160         (gl_sockets_cleanup): Unregister it.
16161         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
16162         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
16163         * modules/close-hook: New file.
16164         * modules/close (Files): Remove lib/w32sock.h.
16165         (Depends-on): Add close-hook.
16166         (Link): Remove section.
16167         * modules/sockets (Files): Add lib/w32sock.h.
16168         (Depends-on): Add close-hook.
16169         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
16170         invocation.
16171         * NEWS: Mention that LIB_CLOSE is gone.
16172
16173 2009-03-23  Eric Blake  <ebb9@byu.net>
16174
16175         signal-tests: test previous patch
16176         * tests/test-signal.c: New file.
16177         * modules/signal-tests: Likewise.
16178
16179         signal.h: always support 'volatile sig_atomic_t'
16180         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
16181         (gl_SIGNAL_H_DEFAULTS): Add a default.
16182         * modules/signal (Makefile.am): Substitute if needed.
16183         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
16184         users can blindly add volatile.
16185         * doc/posix-headers/signal.texi (signal.h): Document it.
16186         Reported by Matthew Woehlke.
16187
16188 2009-03-23  Jim Meyering  <meyering@redhat.com>
16189
16190         pathmax: PATH_MAX: use pathconf only when available
16191         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
16192         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
16193         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
16194         This avoids a link failure in a PSP cross-compilation environment
16195         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
16196
16197         * lib/vasnprintf.c (divide): Fix typo in comment.
16198
16199 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16200
16201         * gnulib-tool (func_filter_filelist): Fix comment.
16202
16203 2009-03-20  Bruno Haible  <bruno@clisp.org>
16204
16205         Make sockets.h self-contained.
16206         * lib/sockets.c: Include sockets.h first.
16207         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
16208
16209 2009-03-19  Eric Blake  <ebb9@byu.net>
16210
16211         doc: mention more functions added in cygwin 1.7.0
16212         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
16213         addition.
16214         * doc/posix-functions/log2f.texi: Likewise.
16215
16216 2009-03-19  Jim Meyering  <meyering@redhat.com>
16217
16218         fsusage: avoid syntax error due to statement-before-declaration
16219         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
16220         after all declarations.  Reported by Matthew Woehlke in
16221         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
16222
16223 2009-03-18  Eric Blake  <ebb9@byu.net>
16224
16225         build-aux/compile: sync from automake
16226         * build-aux/compile: New file, from automake.
16227         * config/srclist.txt: Mention build-aux/compile.
16228
16229 2009-03-17  Bruno Haible  <bruno@clisp.org>
16230
16231         * lib/git-merge-changelog.c: Fix typo in comment.
16232         Reported by Reuben Thomas <rrt@sc3d.org>.
16233
16234 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
16235
16236         * m4/regex.m4: update and improve help for
16237         --without-included-regex.
16238
16239 2009-03-17  Simon Josefsson  <simon@josefsson.org>
16240
16241         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
16242         failure on missing include files.
16243
16244 2009-03-17  Eric Blake  <ebb9@byu.net>
16245
16246         doc: mention more functions added in cygwin 1.7.0
16247         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
16248         addition.
16249         * doc/posix-functions/fwscanf.texi: Likewise.
16250         * doc/posix-functions/swprintf.texi: Likewise.
16251         * doc/posix-functions/swscanf.texi: Likewise.
16252         * doc/posix-functions/vfwprintf.texi: Likewise.
16253         * doc/posix-functions/vfwscanf.texi: Likewise.
16254         * doc/posix-functions/vswprintf.texi: Likewise.
16255         * doc/posix-functions/vswscanf.texi: Likewise.
16256         * doc/posix-functions/vwprintf.texi: Likewise.
16257         * doc/posix-functions/vwscanf.texi: Likewise.
16258         * doc/posix-functions/wcscasecmp.texi: Likewise.
16259         * doc/posix-functions/wcsdup.texi: Likewise.
16260         * doc/posix-functions/wcsftime.texi: Likewise.
16261         * doc/posix-functions/wcsncasecmp.texi: Likewise.
16262         * doc/posix-functions/wprintf.texi: Likewise.
16263         * doc/posix-functions/wscanf.texi: Likewise.
16264         * doc/glibc-functions/gethostbyname2.texi: Likewise.
16265
16266 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16267
16268         maint.mk: really add $(AM_MAKEFLAGS)
16269         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
16270         was inadvertently omitted in the last commit.
16271         Spotted by Bruno Haible.
16272
16273         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
16274         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
16275         $(AM_MAKEFLAGS)' rather than plain `make'.
16276
16277         gnulib-tool: execute $MAKE not make
16278         * gnulib-tool: Default $MAKE to 'make'.
16279         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
16280         than make.  Initialize $MAKE in the do-autobuild script.
16281
16282         gnulib-tool: use $MAKE not make in generated files
16283         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
16284         make, in generated files.  Initialize $MAKE in the do-autobuild
16285         script.
16286
16287         * top/GNUmakefile (_have-git-version-gen): Fix typo.
16288
16289         GNUmakefile: disable parallelism only for multiple, recursive targets
16290         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
16291         additions in the Makefile.
16292         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
16293         by Automake.
16294         (.NOTPARALLEL): Only disable parallel builds if multiple targets
16295         are listed on the command line and at least one of them is
16296         listed in $(ALL_RECURSIVE_TARGETS).
16297
16298 2009-03-14  Bruno Haible  <bruno@clisp.org>
16299
16300         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
16301         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
16302         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
16303         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
16304         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
16305         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
16306         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
16307         unistr/u8-uctomb.
16308         * modules/unistr/u8-strchr (Depends-on): Likewise.
16309         * modules/unistr/u8-strrchr (Depends-on): Likewise.
16310         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
16311         unistr/u16-uctomb.
16312         * modules/unistr/u16-strchr (Depends-on): Likewise.
16313         * modules/unistr/u16-strrchr (Depends-on): Likewise.
16314
16315 2009-03-12  Bruno Haible  <bruno@clisp.org>
16316
16317         Work around select() bug on Interix 3.5.
16318         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
16319         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
16320         * m4/select.m4: New file.
16321         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
16322         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
16323         * modules/select (Files): Add m4/select.m4.
16324         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
16325         * modules/nanosleep (Depends-on): Add select.
16326         * modules/poll (Depends-on): Likewise.
16327         * doc/posix-functions/select.texi: Mention the Interix bug.
16328         Reported by Markus Duft <mduft@gentoo.org>.
16329
16330         * lib/select.c: Renamed from lib/winsock-select.c.
16331         * modules/select (Files): Add lib/select.c, remove
16332         lib/winsock-select.c.
16333         (configure.ac): Update.
16334
16335 2009-03-12  Jim Meyering  <meyering@redhat.com>
16336
16337         avoid gcc warnings about unused macro definitions
16338         * lib/readtokens.c (STREQ): Remove unused definition.
16339         * lib/xmalloc.c (SIZE_MAX): Likewise.
16340         * lib/openat-die.c (N_): Likewise.
16341         * lib/mountlist.c (SIZE_MAX): Remove definition.
16342         Instead, include <stdint.h>.
16343         * lib/readutmp.c: Likewise.
16344         * modules/readutmp (Depends-on): Add stdint.
16345         * modules/mountlist (Depends-on): Add stdint.
16346         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
16347
16348 2009-03-10  Bruno Haible  <bruno@clisp.org>
16349
16350         Tests for module 'mbmemcasecoll'.
16351         * modules/mbmemcasecoll-tests: New file.
16352         * tests/test-mbmemcasecoll1.sh: New file.
16353         * tests/test-mbmemcasecoll2.sh: New file.
16354         * tests/test-mbmemcasecoll3.sh: New file.
16355         * tests/test-mbmemcasecoll.c: New file.
16356
16357         New module 'mbmemcasecoll'.
16358         * lib/mbmemcasecoll.h: New file.
16359         * lib/mbmemcasecoll.c: New file.
16360         * modules/mbmemcasecoll: New file.
16361
16362         * tests/test-mbmemcasecmp.h: New file, extracted from
16363         tests/test-mbmemcasecmp.c.
16364         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
16365         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
16366         (main): Update.
16367         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
16368
16369 2009-03-09  Bruno Haible  <bruno@clisp.org>
16370
16371         Tests for module 'mbmemcasecmp'.
16372         * modules/mbmemcasecmp-tests: New file.
16373         * tests/test-mbmemcasecmp1.sh: New file.
16374         * tests/test-mbmemcasecmp2.sh: New file.
16375         * tests/test-mbmemcasecmp3.sh: New file.
16376         * tests/test-mbmemcasecmp.c: New file.
16377
16378         New module 'mbmemcasecmp'.
16379         * lib/mbmemcasecmp.h: New file.
16380         * lib/mbmemcasecmp.c: New file.
16381         * modules/mbmemcasecmp: New file.
16382
16383 2009-03-09  Bruno Haible  <bruno@clisp.org>
16384
16385         Tests for module 'unicase/ulc-casecoll'.
16386         * modules/unicase/ulc-casecoll-tests: New file.
16387         * tests/unicase/test-ulc-casecoll1.sh: New file.
16388         * tests/unicase/test-ulc-casecoll2.sh: New file.
16389         * tests/unicase/test-ulc-casecoll.c: New file.
16390
16391         New module 'unicase/ulc-casecoll'.
16392         * lib/unicase.h (ulc_casecoll): New declaration.
16393         * lib/unicase/ulc-casecoll.c: New file.
16394         * modules/unicase/ulc-casecoll: New file.
16395
16396         New module 'unicase/ulc-casexfrm'.
16397         * lib/unicase.h (ulc_casexfrm): New declaration.
16398         * lib/unicase/ulc-casexfrm.c: New file.
16399         * modules/unicase/ulc-casexfrm: New file.
16400
16401 2009-03-09  Bruno Haible  <bruno@clisp.org>
16402
16403         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
16404         invocations.
16405
16406         * m4/mbscasecmp.m4: Remove file.
16407         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
16408         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
16409
16410         * m4/mbscasestr.m4: Remove file.
16411         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
16412         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
16413
16414         * m4/mbschr.m4: Remove file.
16415         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
16416         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
16417
16418         * m4/mbscspn.m4: Remove file.
16419         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
16420         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
16421
16422         * m4/mbslen.m4: Remove file.
16423         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
16424         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
16425
16426         * m4/mbsncasecmp.m4: Remove file.
16427         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
16428         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
16429
16430         * m4/mbsnlen.m4: Remove file.
16431         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
16432         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
16433
16434         * m4/mbspbrk.m4: Remove file.
16435         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
16436         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
16437
16438         * m4/mbspcasecmp.m4: Remove file.
16439         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
16440         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
16441
16442         * m4/mbsrchr.m4: Remove file.
16443         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
16444         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
16445
16446         * m4/mbssep.m4: Remove file.
16447         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
16448         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
16449
16450         * m4/mbsspn.m4: Remove file.
16451         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
16452         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
16453
16454         * m4/mbsstr.m4: Remove file.
16455         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
16456         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
16457
16458         * m4/mbstok_r.m4: Remove file.
16459         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
16460         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
16461
16462         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
16463
16464         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
16465         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
16466
16467         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
16468
16469 2009-03-08  Bruno Haible  <bruno@clisp.org>
16470
16471         Tests for module 'unicase/ulc-casecmp'.
16472         * modules/unicase/ulc-casecmp-tests: New file.
16473         * tests/unicase/test-ulc-casecmp1.sh: New file.
16474         * tests/unicase/test-ulc-casecmp2.sh: New file.
16475         * tests/unicase/test-ulc-casecmp.c: New file.
16476
16477         New module 'unicase/ulc-casecmp'.
16478         * lib/unicase.h (ulc_casecmp): New declaration.
16479         * lib/unicase/ulc-casecmp.c: New file.
16480         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
16481         'const SRC_UNIT *'.
16482         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
16483         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
16484         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
16485         * modules/unicase/ulc-casecmp: New file.
16486
16487         Tests for module 'unicase/u32-is-cased'.
16488         * modules/unicase/u32-is-cased-tests: New file.
16489         * tests/unicase/test-u32-is-cased.c: New file.
16490
16491         Tests for module 'unicase/u16-is-cased'.
16492         * modules/unicase/u16-is-cased-tests: New file.
16493         * tests/unicase/test-u16-is-cased.c: New file.
16494
16495         Tests for module 'unicase/u8-is-cased'.
16496         * modules/unicase/u8-is-cased-tests: New file.
16497         * tests/unicase/test-u8-is-cased.c: New file.
16498         * tests/unicase/test-is-cased.h: New file.
16499
16500         New module 'unicase/u32-is-cased'.
16501         * lib/unicase/u32-is-cased.c: New file.
16502         * modules/unicase/u32-is-cased: New file.
16503
16504         New module 'unicase/u16-is-cased'.
16505         * lib/unicase/u16-is-cased.c: New file.
16506         * modules/unicase/u16-is-cased: New file.
16507
16508         New module 'unicase/u8-is-cased'.
16509         * lib/unicase/u8-is-cased.c: New file.
16510         * lib/unicase/u-is-cased.h: New file.
16511         * modules/unicase/u8-is-cased: New file.
16512
16513         Tests for module 'unicase/u32-is-casefolded'.
16514         * modules/unicase/u32-is-casefolded-tests: New file.
16515         * tests/unicase/test-u32-is-casefolded.c: New file.
16516
16517         Tests for module 'unicase/u16-is-casefolded'.
16518         * modules/unicase/u16-is-casefolded-tests: New file.
16519         * tests/unicase/test-u16-is-casefolded.c: New file.
16520
16521         Tests for module 'unicase/u8-is-casefolded'.
16522         * modules/unicase/u8-is-casefolded-tests: New file.
16523         * tests/unicase/test-u8-is-casefolded.c: New file.
16524         * tests/unicase/test-is-casefolded.h: New file.
16525
16526         New module 'unicase/u32-is-casefolded'.
16527         * lib/unicase/u32-is-casefolded.c: New file.
16528         * modules/unicase/u32-is-casefolded: New file.
16529
16530         New module 'unicase/u16-is-casefolded'.
16531         * lib/unicase/u16-is-casefolded.c: New file.
16532         * modules/unicase/u16-is-casefolded: New file.
16533
16534         New module 'unicase/u8-is-casefolded'.
16535         * lib/unicase/u8-is-casefolded.c: New file.
16536         * modules/unicase/u8-is-casefolded: New file.
16537
16538         Tests for module 'unicase/u32-is-titlecase'.
16539         * modules/unicase/u32-is-titlecase-tests: New file.
16540         * tests/unicase/test-u32-is-titlecase.c: New file.
16541
16542         Tests for module 'unicase/u16-is-titlecase'.
16543         * modules/unicase/u16-is-titlecase-tests: New file.
16544         * tests/unicase/test-u16-is-titlecase.c: New file.
16545
16546         Tests for module 'unicase/u8-is-titlecase'.
16547         * modules/unicase/u8-is-titlecase-tests: New file.
16548         * tests/unicase/test-u8-is-titlecase.c: New file.
16549         * tests/unicase/test-is-titlecase.h: New file.
16550
16551         New module 'unicase/u32-is-titlecase'.
16552         * lib/unicase/u32-is-titlecase.c: New file.
16553         * modules/unicase/u32-is-titlecase: New file.
16554
16555         New module 'unicase/u16-is-titlecase'.
16556         * lib/unicase/u16-is-titlecase.c: New file.
16557         * modules/unicase/u16-is-titlecase: New file.
16558
16559         New module 'unicase/u8-is-titlecase'.
16560         * lib/unicase/u8-is-titlecase.c: New file.
16561         * modules/unicase/u8-is-titlecase: New file.
16562
16563         Tests for module 'unicase/u32-is-lowercase'.
16564         * modules/unicase/u32-is-lowercase-tests: New file.
16565         * tests/unicase/test-u32-is-lowercase.c: New file.
16566
16567         Tests for module 'unicase/u16-is-lowercase'.
16568         * modules/unicase/u16-is-lowercase-tests: New file.
16569         * tests/unicase/test-u16-is-lowercase.c: New file.
16570
16571         Tests for module 'unicase/u8-is-lowercase'.
16572         * modules/unicase/u8-is-lowercase-tests: New file.
16573         * tests/unicase/test-u8-is-lowercase.c: New file.
16574         * tests/unicase/test-is-lowercase.h: New file.
16575
16576         New module 'unicase/u32-is-lowercase'.
16577         * lib/unicase/u32-is-lowercase.c: New file.
16578         * modules/unicase/u32-is-lowercase: New file.
16579
16580         New module 'unicase/u16-is-lowercase'.
16581         * lib/unicase/u16-is-lowercase.c: New file.
16582         * modules/unicase/u16-is-lowercase: New file.
16583
16584         New module 'unicase/u8-is-lowercase'.
16585         * lib/unicase/u8-is-lowercase.c: New file.
16586         * modules/unicase/u8-is-lowercase: New file.
16587
16588         Tests for module 'unicase/u32-is-uppercase'.
16589         * modules/unicase/u32-is-uppercase-tests: New file.
16590         * tests/unicase/test-u32-is-uppercase.c: New file.
16591
16592         Tests for module 'unicase/u16-is-uppercase'.
16593         * modules/unicase/u16-is-uppercase-tests: New file.
16594         * tests/unicase/test-u16-is-uppercase.c: New file.
16595
16596         Tests for module 'unicase/u8-is-uppercase'.
16597         * modules/unicase/u8-is-uppercase-tests: New file.
16598         * tests/unicase/test-u8-is-uppercase.c: New file.
16599         * tests/unicase/test-is-uppercase.h: New file.
16600
16601         New module 'unicase/u32-is-uppercase'.
16602         * lib/unicase/u32-is-uppercase.c: New file.
16603         * modules/unicase/u32-is-uppercase: New file.
16604
16605         New module 'unicase/u16-is-uppercase'.
16606         * lib/unicase/u16-is-uppercase.c: New file.
16607         * modules/unicase/u16-is-uppercase: New file.
16608
16609         New module 'unicase/u8-is-uppercase'.
16610         * lib/unicase/u8-is-uppercase.c: New file.
16611         * modules/unicase/u8-is-uppercase: New file.
16612
16613         New module 'unicase/u32-is-invariant'.
16614         * lib/unicase/u32-is-invariant.c: New file.
16615         * modules/unicase/u32-is-invariant: New file.
16616
16617         New module 'unicase/u16-is-invariant'.
16618         * lib/unicase/u16-is-invariant.c: New file.
16619         * modules/unicase/u16-is-invariant: New file.
16620
16621         New module 'unicase/u8-is-invariant'.
16622         * lib/unicase/u8-is-invariant.c: New file.
16623         * lib/unicase/invariant.h: New file.
16624         * lib/unicase/u-is-invariant.h: New file.
16625         * modules/unicase/u8-is-invariant: New file.
16626
16627         Tests for module 'unicase/u32-casecoll'.
16628         * modules/unicase/u32-casecoll-tests: New file.
16629         * tests/unicase/test-u32-casecoll.c: New file.
16630
16631         Tests for module 'unicase/u16-casecoll'.
16632         * modules/unicase/u16-casecoll-tests: New file.
16633         * tests/unicase/test-u16-casecoll.c: New file.
16634
16635         Tests for module 'unicase/u8-casecoll'.
16636         * modules/unicase/u8-casecoll-tests: New file.
16637         * tests/unicase/test-u8-casecoll.c: New file.
16638
16639         New module 'unicase/u32-casecoll'.
16640         * lib/unicase/u32-casecoll.c: New file.
16641         * modules/unicase/u32-casecoll: New file.
16642
16643         New module 'unicase/u16-casecoll'.
16644         * lib/unicase/u16-casecoll.c: New file.
16645         * modules/unicase/u16-casecoll: New file.
16646
16647         New module 'unicase/u8-casecoll'.
16648         * lib/unicase/u8-casecoll.c: New file.
16649         * lib/unicase/u-casecoll.h: New file.
16650         * modules/unicase/u8-casecoll: New file.
16651
16652         New module 'unicase/u32-casexfrm'.
16653         * lib/unicase/u32-casexfrm.c: New file.
16654         * modules/unicase/u32-casexfrm: New file.
16655
16656         New module 'unicase/u16-casexfrm'.
16657         * lib/unicase/u16-casexfrm.c: New file.
16658         * modules/unicase/u16-casexfrm: New file.
16659
16660         New module 'unicase/u8-casexfrm'.
16661         * lib/unicase/u8-casexfrm.c: New file.
16662         * lib/unicase/u-casexfrm.h: New file.
16663         * modules/unicase/u8-casexfrm: New file.
16664
16665         Tests for module 'unicase/u32-casecmp'.
16666         * modules/unicase/u32-casecmp-tests: New file.
16667         * tests/unicase/test-u32-casecmp.c: New file.
16668
16669         Tests for module 'unicase/u16-casecmp'.
16670         * modules/unicase/u16-casecmp-tests: New file.
16671         * tests/unicase/test-u16-casecmp.c: New file.
16672
16673         Tests for module 'unicase/u8-casecmp'.
16674         * modules/unicase/u8-casecmp-tests: New file.
16675         * tests/unicase/test-u8-casecmp.c: New file.
16676         * tests/unicase/test-casecmp.h: New file.
16677
16678         New module 'unicase/u32-casecmp'.
16679         * lib/unicase/u32-casecmp.c: New file.
16680         * modules/unicase/u32-casecmp: New file.
16681
16682         New module 'unicase/u16-casecmp'.
16683         * lib/unicase/u16-casecmp.c: New file.
16684         * modules/unicase/u16-casecmp: New file.
16685
16686         New module 'unicase/u8-casecmp'.
16687         * lib/unicase/u8-casecmp.c: New file.
16688         * lib/unicase/u-casecmp.h: New file.
16689         * modules/unicase/u8-casecmp: New file.
16690
16691         Tests for module 'unicase/u32-casefold'.
16692         * modules/unicase/u32-casefold-tests: New file.
16693         * tests/unicase/test-u32-casefold.c: New file.
16694
16695         Tests for module 'unicase/u16-casefold'.
16696         * modules/unicase/u16-casefold-tests: New file.
16697         * tests/unicase/test-u16-casefold.c: New file.
16698
16699         Tests for module 'unicase/u8-casefold'.
16700         * modules/unicase/u8-casefold-tests: New file.
16701         * tests/unicase/test-u8-casefold.c: New file.
16702
16703         New module 'unicase/u32-casefold'.
16704         * lib/unicase/u32-casefold.c: New file.
16705         * modules/unicase/u32-casefold: New file.
16706
16707         New module 'unicase/u16-casefold'.
16708         * lib/unicase/u16-casefold.c: New file.
16709         * modules/unicase/u16-casefold: New file.
16710
16711         New module 'unicase/u8-casefold'.
16712         * lib/unicase/u8-casefold.c: New file.
16713         * lib/unicase/u-casefold.h: New file.
16714         * modules/unicase/u8-casefold: New file.
16715
16716         New module 'unicase/tocasefold'.
16717         * lib/unicase/casefold.h: New file.
16718         * lib/unicase/tocasefold.c: New file.
16719         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
16720         * modules/unicase/tocasefold: New file.
16721
16722         Tests for module 'unicase/u32-totitle'.
16723         * modules/unicase/u32-totitle-tests: New file.
16724         * tests/unicase/test-u32-totitle.c: New file.
16725
16726         Tests for module 'unicase/u16-totitle'.
16727         * modules/unicase/u16-totitle-tests: New file.
16728         * tests/unicase/test-u16-totitle.c: New file.
16729
16730         Tests for module 'unicase/u8-totitle'.
16731         * modules/unicase/u8-totitle-tests: New file.
16732         * tests/unicase/test-u8-totitle.c: New file.
16733
16734         New module 'unicase/u32-totitle'.
16735         * lib/unicase/u32-totitle.c: New file.
16736         * modules/unicase/u32-totitle: New file.
16737
16738         New module 'unicase/u16-totitle'.
16739         * lib/unicase/u16-totitle.c: New file.
16740         * modules/unicase/u16-totitle: New file.
16741
16742         New module 'unicase/u8-totitle'.
16743         * lib/unicase/u8-totitle.c: New file.
16744         * lib/unicase/u-totitle.h: New file.
16745         * modules/unicase/u8-totitle: New file.
16746
16747         Tests for module 'unicase/u32-tolower'.
16748         * modules/unicase/u32-tolower-tests: New file.
16749         * tests/unicase/test-u32-tolower.c: New file.
16750
16751         Tests for module 'unicase/u16-tolower'.
16752         * modules/unicase/u16-tolower-tests: New file.
16753         * tests/unicase/test-u16-tolower.c: New file.
16754
16755         Tests for module 'unicase/u8-tolower'.
16756         * modules/unicase/u8-tolower-tests: New file.
16757         * tests/unicase/test-u8-tolower.c: New file.
16758
16759         New module 'unicase/u32-tolower'.
16760         * lib/unicase/u32-tolower.c: New file.
16761         * modules/unicase/u32-tolower: New file.
16762
16763         New module 'unicase/u16-tolower'.
16764         * lib/unicase/u16-tolower.c: New file.
16765         * modules/unicase/u16-tolower: New file.
16766
16767         New module 'unicase/u8-tolower'.
16768         * lib/unicase/u8-tolower.c: New file.
16769         * modules/unicase/u8-tolower: New file.
16770
16771         Tests for module 'unicase/u32-toupper'.
16772         * modules/unicase/u32-toupper-tests: New file.
16773         * tests/unicase/test-u32-toupper.c: New file.
16774
16775         Tests for module 'unicase/u16-toupper'.
16776         * modules/unicase/u16-toupper-tests: New file.
16777         * tests/unicase/test-u16-toupper.c: New file.
16778
16779         Tests for module 'unicase/u8-toupper'.
16780         * modules/unicase/u8-toupper-tests: New file.
16781         * tests/unicase/test-u8-toupper.c: New file.
16782
16783         New module 'unicase/u32-toupper'.
16784         * lib/unicase/u32-toupper.c: New file.
16785         * modules/unicase/u32-toupper: New file.
16786
16787         New module 'unicase/u16-toupper'.
16788         * lib/unicase/u16-toupper.c: New file.
16789         * modules/unicase/u16-toupper: New file.
16790
16791         New module 'unicase/u8-toupper'.
16792         * lib/unicase/u8-toupper.c: New file.
16793         * modules/unicase/u8-toupper: New file.
16794
16795         New module 'unicase/u32-casemap'.
16796         * lib/unicase/u32-casemap.c: New file.
16797         * modules/unicase/u32-casemap: New file.
16798
16799         New module 'unicase/u16-casemap'.
16800         * lib/unicase/u16-casemap.c: New file.
16801         * modules/unicase/u16-casemap: New file.
16802
16803         New module 'unicase/u8-casemap'.
16804         * lib/unicase/unicasemap.h: New file.
16805         * lib/unicase/u8-casemap.c: New file.
16806         * lib/unicase/u-casemap.h: New file.
16807         * modules/unicase/u8-casemap: New file.
16808
16809         New module 'unicase/special-casing'.
16810         * lib/unicase/special-casing.h: New file.
16811         * lib/unicase/special-casing.c: New file.
16812         * lib/unicase/special-casing-table.gperf: New file, generated by
16813         gen-uni-tables.c.
16814         * modules/unicase/special-casing: New file.
16815
16816         Tests for module 'unicase/locale-language'.
16817         * modules/unicase/locale-language-tests: New file.
16818         * tests/unicase/test-locale-language.sh: New file.
16819         * tests/unicase/test-locale-language.c: New file.
16820
16821         New module 'unicase/locale-language'.
16822         * lib/unicase/locale-language.c: New file.
16823         * lib/unicase/locale-languages.gperf: New file.
16824         * modules/unicase/locale-language: New file.
16825
16826         Generate more tables for case conversion and case folding.
16827         * lib/gen-uni-tables.c (SCC_*): New enum items.
16828         (struct special_casing_rule): New type.
16829         (casing_rules, num_casing_rules, allocated_casing_rules): New
16830         variables.
16831         (add_casing_rule, fill_casing_rules): New functions.
16832         (struct casefold_rule): New type.
16833         (casefolding_rules, num_casefolding_rules,
16834         allocated_casefolding_rules): New variables.
16835         (fill_casefolding_rules): New function.
16836         (unicode_casefold): New variable.
16837         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
16838         sort_casing_rules, output_casing_rules): New functions.
16839         (main): Accept to more arguments: SpecialCasing.txt and
16840         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
16841         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
16842         Output mapping for casefolding.
16843
16844         * lib/unicase.h: Include stdbool.h, uninorm.h.
16845         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
16846         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
16847         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
16848         arguments.
16849         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
16850         resultp arguments.
16851         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
16852         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
16853         resultp arguments.
16854         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
16855         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
16856         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
16857         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
16858         declarations.
16859         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
16860
16861 2009-03-08  Bruno Haible  <bruno@clisp.org>
16862
16863         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16864         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
16865         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
16866         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16867
16868 2009-03-07  Bruno Haible  <bruno@clisp.org>
16869
16870         Adjust u*_normcmp, u*_normcoll API.
16871         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16872         u16_normcoll, u32_normcoll): Change failure conventions.
16873         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
16874         errno and return -1.
16875         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16876
16877 2009-03-07  Bruno Haible  <bruno@clisp.org>
16878
16879         Tests for module 'uninorm/u32-normcoll'.
16880         * modules/uninorm/u32-normcoll-tests: New file.
16881         * tests/uninorm/test-u32-normcoll.c: New file.
16882
16883         Tests for module 'uninorm/u16-normcoll'.
16884         * modules/uninorm/u16-normcoll-tests: New file.
16885         * tests/uninorm/test-u16-normcoll.c: New file.
16886
16887         Tests for module 'uninorm/u8-normcoll'.
16888         * modules/uninorm/u8-normcoll-tests: New file.
16889         * tests/uninorm/test-u8-normcoll.c: New file.
16890
16891 2009-03-07  Bruno Haible  <bruno@clisp.org>
16892
16893         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
16894         tests/uninorm/test-u32-normcmp.c.
16895         * tests/uninorm/test-u32-normcmp.c: Include it.
16896         (test_nonascii): New function, extracted from main. Add some more
16897         tests.
16898         (main): Invoke test_ascii and test_nonascii.
16899         * modules/uninorm/u32-normcmp-tests (Files): Add
16900         tests/uninorm/test-u32-normcmp.h.
16901         (Depends-on): Remove uninorm/u32-normcmp.
16902
16903         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
16904         tests/uninorm/test-u16-normcmp.c.
16905         * tests/uninorm/test-u16-normcmp.c: Include it.
16906         (test_nonascii): New function, extracted from main. Add some more
16907         tests.
16908         (main): Invoke test_ascii and test_nonascii.
16909         * modules/uninorm/u16-normcmp-tests (Files): Add
16910         tests/uninorm/test-u16-normcmp.h.
16911         (Depends-on): Remove uninorm/u16-normcmp.
16912
16913         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
16914         tests/uninorm/test-u8-normcmp.c.
16915         * tests/uninorm/test-u8-normcmp.c: Include it.
16916         (test_nonascii): New function, extracted from main. Add some more
16917         tests.
16918         (main): Invoke test_ascii and test_nonascii.
16919         * modules/uninorm/u8-normcmp-tests (Files): Add
16920         tests/uninorm/test-u8-normcmp.h.
16921         (Depends-on): Remove uninorm/u8-normcmp.
16922
16923 2009-03-07  Bruno Haible  <bruno@clisp.org>
16924
16925         New module 'uninorm/u32-normcoll'.
16926         * lib/uninorm/u32-normcoll.c: New file.
16927         * modules/uninorm/u32-normcoll: New file.
16928
16929         New module 'uninorm/u16-normcoll'.
16930         * lib/uninorm/u16-normcoll.c: New file.
16931         * modules/uninorm/u16-normcoll: New file.
16932
16933         New module 'uninorm/u8-normcoll'.
16934         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
16935         declarations.
16936         * lib/uninorm/u8-normcoll.c: New file.
16937         * lib/uninorm/u-normcoll.h: New file.
16938         * modules/uninorm/u8-normcoll: New file.
16939
16940         New module 'uninorm/u32-normxfrm'.
16941         * lib/uninorm/u32-normxfrm.c: New file.
16942         * modules/uninorm/u32-normxfrm: New file.
16943
16944         New module 'uninorm/u16-normxfrm'.
16945         * lib/uninorm/u16-normxfrm.c: New file.
16946         * modules/uninorm/u16-normxfrm: New file.
16947
16948         New module 'uninorm/u8-normxfrm'.
16949         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
16950         declarations.
16951         * lib/uninorm/u8-normxfrm.c: New file.
16952         * lib/uninorm/u-normxfrm.h: New file.
16953         * modules/uninorm/u8-normxfrm: New file.
16954
16955 2009-03-07  Bruno Haible  <bruno@clisp.org>
16956
16957         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
16958         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
16959         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
16960
16961 2009-03-07  Bruno Haible  <bruno@clisp.org>
16962
16963         New module 'memxfrm'.
16964         * lib/memxfrm.h: New file.
16965         * lib/memxfrm.c: New file.
16966         * modules/memxfrm: New file.
16967
16968 2009-03-07  Bruno Haible  <bruno@clisp.org>
16969
16970         New module 'memcmp2'.
16971         * lib/memcmp2.h: New file.
16972         * lib/memcmp2.c: New file.
16973         * modules/memcmp2: New file.
16974
16975 2009-03-07  Bruno Haible  <bruno@clisp.org>
16976
16977         Tests for module 'uninorm/decomposing-form'.
16978         * modules/uninorm/decomposing-form-tests: New file.
16979         * tests/uninorm/test-decomposing-form.c: New file.
16980
16981         New module 'uninorm/decomposing-form'.
16982         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
16983         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
16984         Add 'decomposing_variant' field.
16985         * lib/uninorm/decomposing-form.c: New file.
16986         * lib/uninorm/nfc.c (uninorm_nfc): Update.
16987         * lib/uninorm/nfd.c (uninorm_nfd): Update.
16988         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
16989         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
16990         * modules/uninorm/decomposing-form: New file.
16991         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
16992         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
16993
16994 2009-03-07  Bruno Haible  <bruno@clisp.org>
16995
16996         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
16997         strings.
16998
16999 2009-03-06  Bruno Haible  <bruno@clisp.org>
17000
17001         Tests for module 'uninorm/u32-normcmp'.
17002         * tests/uninorm/test-u32-normcmp.c: New file.
17003         * modules/uninorm/u32-normcmp-tests: New file.
17004
17005         Tests for module 'uninorm/u16-normcmp'.
17006         * tests/uninorm/test-u16-normcmp.c: New file.
17007         * modules/uninorm/u16-normcmp-tests: New file.
17008
17009         Tests for module 'uninorm/u8-normcmp'.
17010         * tests/uninorm/test-u8-normcmp.c: New file.
17011         * modules/uninorm/u8-normcmp-tests: New file.
17012
17013         New module 'uninorm/u32-normcmp'.
17014         * lib/uninorm/u32-normcmp.c: New file.
17015         * modules/uninorm/u32-normcmp: New file.
17016
17017         New module 'uninorm/u16-normcmp'.
17018         * lib/uninorm/u16-normcmp.c: New file.
17019         * modules/uninorm/u16-normcmp: New file.
17020
17021         New module 'uninorm/u8-normcmp'.
17022         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
17023         declarations.
17024         * lib/uninorm/u8-normcmp.c: New file.
17025         * lib/uninorm/u-normcmp.h: New file.
17026         * modules/uninorm/u8-normcmp: New file.
17027
17028 2009-03-06  Bruno Haible  <bruno@clisp.org>
17029
17030         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
17031         Reported by Eric Blake.
17032
17033 2009-03-06  Eric Blake  <ebb9@byu.net>
17034             Bruno Haible  <bruno@clisp.org>
17035
17036         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
17037         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
17038         condition.
17039         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
17040         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
17041         condition.
17042         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
17043
17044 2009-03-06  Eric Blake  <ebb9@byu.net>
17045
17046         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
17047         to avoid compiler warnings.
17048         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
17049
17050 2009-03-05  Bruno Haible  <bruno@clisp.org>
17051
17052         * tests/test-ftell.c (main): Disable test beyond end of file on
17053         FreeMiNT.
17054         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
17055
17056 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
17057
17058         * lib/filevercmp.c: Move hidden files up in ordering.
17059         * tests/test-filevercmp.c: Add tests for hidden files.
17060
17061 2009-03-04  Bruno Haible  <bruno@clisp.org>
17062
17063         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
17064         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
17065         AM_CFLAGS.
17066         Reported by Simon Josefsson.
17067
17068 2009-03-03  Bruno Haible  <bruno@clisp.org>
17069
17070         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
17071         Reported by Simon Josefsson.
17072
17073         * doc/ld-version-script.texi: Update node reference.
17074
17075 2009-03-03  Bruno Haible  <bruno@clisp.org>
17076
17077         * modules/visibility (License): Change to 'unlimited'.
17078         Suggested by Simon Josefsson.
17079
17080 2009-03-03  Jim Meyering  <meyering@redhat.com>
17081
17082         unlinkdir: cannot_unlink_dir may modify process state
17083         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
17084         it's neither thread-safe nor appropriate for use in a library.
17085
17086 2009-03-03  Eric Blake  <ebb9@byu.net>
17087
17088         test-closein: silence test under Darwin
17089         * tests/test-closein.sh: Ignore stderr from cat, since we don't
17090         care if it dies from EPIPE or EBADF.
17091
17092 2009-03-03  Bruno Haible  <bruno@clisp.org>
17093
17094         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
17095         earlier.
17096         * doc/visibility.texi: Fix @node and @section.
17097
17098 2009-03-03  Simon Josefsson  <simon@josefsson.org>
17099
17100         * doc/gnulib.texi: Link to sections for ld version script and
17101         visibility.
17102         * doc/visibility.texi: Add @node and @section.
17103         * modules/ld-version-script: New module.
17104         * m4/ld-version-script.m4: New file.
17105         * doc/ld-version-script.texi: New file.
17106
17107 2009-03-02  David Lutterkort  <lutter@redhat.com>
17108
17109         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
17110         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17111
17112 2009-03-02  Bruno Haible  <bruno@clisp.org>
17113
17114         * doc/visibility.texi: Mention libtool's -export-symbols option.
17115
17116 2009-03-02  Jim Meyering  <meyering@redhat.com>
17117
17118         announce-gen: new option: --no-print-checksums
17119         * build-aux/announce-gen (usage): Describe it.
17120         (print_checksums): Print a newline here, not in the [*] footnote.
17121         (main): Honor it.
17122
17123 2009-03-01  Bruno Haible  <bruno@clisp.org>
17124
17125         Use socklen_t in the native Windows replacements prototypes.
17126         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
17127         instead of 'int'.
17128         * lib/getsockopt.c (rpl_getsockopt): Likewise.
17129         * lib/setsockopt.c (rpl_setsockopt): Likewise.
17130         * modules/getsockopt (Depends-on): Add socklen.
17131         * modules/setsockopt (Depends-on): Add socklen.
17132
17133 2009-03-01  Bruno Haible  <bruno@clisp.org>
17134
17135         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
17136         least 4.2.
17137
17138 2009-03-01  Eric Blake  <ebb9@byu.net>
17139             Bruno Haible  <bruno@clisp.org>
17140
17141         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
17142         error messages.
17143         * lib/wait-process.c (wait_subprocess): Omit error message about
17144         deadly signal sent to the child of termsigp != NULL.
17145
17146 2009-03-01  Eric Blake  <ebb9@byu.net>
17147
17148         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
17149
17150 2009-03-01  Bruno Haible  <bruno@clisp.org>
17151
17152         Avoid a gcc warning.
17153         * tests/test-sched.c (b): Make global.
17154         Reported by Eric Blake.
17155
17156 2009-01-19  Martin Lambers  <marlam@marlam.de>
17157
17158         Provide POSIX semantics for socket timeout options on W32.
17159         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
17160         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
17161         * modules/setsockopt: Depend on sys_time module for struct timeval.
17162         * modules/getsockopt: Depend on sys_time module for struct timeval.
17163
17164 2009-03-01  Simon Josefsson  <simon@josefsson.org>
17165
17166         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
17167         __USE_GNU, for consistency with netdb.in.h.
17168         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17169
17170 2009-03-01  Bruno Haible  <bruno@clisp.org>
17171
17172         More support for FreeMiNT.
17173         * lib/fseeko.c (rpl_fseeko): Complete last commit.
17174         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17175
17176 2009-03-01  Bruno Haible  <bruno@clisp.org>
17177
17178         More support for FreeMiNT.
17179         * lib/fpurge.c (fpurge): Correct last commit.
17180         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17181
17182 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17183
17184         Fix unportable awk script in vc-list-files.
17185         * build-aux/vc-list-files: In the replacement awk script, use
17186         substr with a second argument of 1, not zero.
17187         Report by Simon Josefsson.
17188
17189 2009-02-28  Bruno Haible  <bruno@clisp.org>
17190
17191         More support for FreeMiNT.
17192         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
17193         to FreeMiNT today.
17194         * lib/fwriting.c (fwriting): Likewise.
17195         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
17196
17197 2009-02-28  Bruno Haible  <bruno@clisp.org>
17198
17199         * tests/test-freadseek.c (main): Disable test beyond end of file on
17200         FreeMiNT.
17201         * tests/test-ftello.c (main): Likewise.
17202         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
17203
17204 2009-02-28  Bruno Haible  <bruno@clisp.org>
17205
17206         Add tentative support for FreeMiNT.
17207         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
17208         * lib/fpurge.c (fpurge): Likewise.
17209         * lib/freadable.c (freadable): Likewise.
17210         * lib/freading.c (freading): Likewise.
17211         * lib/freadptr.c (freadptr): Likewise.
17212         * lib/freadseek.c (freadptrinc): Likewise.
17213         * lib/fseeko.c (rpl_fseeko): Likewise.
17214         * lib/fseterr.c (fseterr): Likewise.
17215         * lib/fwritable.c (fwritable): Likewise.
17216         * lib/fwriting.c (fwriting): Likewise.
17217         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
17218         Hourihane.
17219         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
17220
17221 2009-02-28  Bruno Haible  <bruno@clisp.org>
17222
17223         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
17224         SIGCHLD.
17225         Reported by Jim Meyering.
17226
17227 2009-02-28  Bruno Haible  <bruno@clisp.org>
17228
17229         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
17230         Mention the results of these tests on various platforms.
17231         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
17232         order.
17233         * doc/posix-functions/printf.texi: Likewise.
17234         * doc/posix-functions/snprintf.texi: Likewise.
17235         * doc/posix-functions/sprintf.texi: Likewise.
17236         * doc/posix-functions/vfprintf.texi: Likewise.
17237         * doc/posix-functions/vprintf.texi: Likewise.
17238         * doc/posix-functions/vsnprintf.texi: Likewise.
17239         * doc/posix-functions/vsprintf.texi: Likewise.
17240         * doc/glibc-functions/obstack_printf.texi: Likewise.
17241         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
17242
17243 2009-02-28  Bruno Haible  <bruno@clisp.org>
17244
17245         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
17246         Reported by Loïc Minier <lool@dooz.org>.
17247
17248 2009-02-27  Bruno Haible  <bruno@clisp.org>
17249
17250         * gnulib-tool (func_import): Make the sed expression used to create the
17251         sed script for updating the .gitignore file POSIX compliant.
17252         Reported by Eric Blake.
17253
17254 2009-02-27  Bruno Haible  <bruno@clisp.org>
17255
17256         * gnulib-tool (sed): Don't alias as "sed --posix".
17257         Reported by Eric Blake.
17258
17259 2009-02-27  Bruno Haible  <bruno@clisp.org>
17260
17261         Avoid test link errors.
17262         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
17263         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
17264         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
17265         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
17266         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17267
17268 2009-02-27  Bruno Haible  <bruno@clisp.org>
17269
17270         Avoid spurious "(cached)" in configure output.
17271         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
17272         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
17273         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
17274         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
17275         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
17276         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
17277         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
17278         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
17279         Reported by Eric Blake.
17280
17281 2009-02-27  Eric Blake  <ebb9@byu.net>
17282
17283         printf: fix regression in previous patch
17284         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
17285
17286 2009-02-27  Bruno Haible  <bruno@clisp.org>
17287
17288         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
17289         value.
17290         * lib/stdint.in.h: Likewise.
17291         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
17292
17293 2009-02-27  Eric Blake  <ebb9@byu.net>
17294
17295         doc: mention more functions added in cygwin 1.7.0
17296         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
17297         addition.
17298         * doc/posix-functions/open_wmemstream.texi: Likewise.
17299         * doc/posix-functions/wcsnlen.texi: Likewise.
17300         * doc/posix-functions/wcsnrtombs.texi: Likewise.
17301         * doc/posix-functions/wcstod.texi: Likewise.
17302         * doc/posix-functions/wcstof.texi: Likewise.
17303         * doc/posix-functions/wcstoimax.texi: Likewise.
17304         * doc/posix-functions/wcstok.texi: Likewise.
17305         * doc/posix-functions/wcstoumax.texi: Likewise.
17306
17307         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
17308         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
17309         * doc/posix-functions/fprintf.texi: Update.
17310         * doc/posix-functions/printf.texi: Update.
17311         * doc/posix-functions/snprintf.texi: Update.
17312         * doc/posix-functions/sprintf.texi: Update.
17313         * doc/posix-functions/vfprintf.texi: Update.
17314         * doc/posix-functions/vprintf.texi: Update.
17315         * doc/posix-functions/vsnprintf.texi: Update.
17316         * doc/posix-functions/vsprintf.texi: Update.
17317         * doc/glibc-functions/obstack_printf.texi: Update.
17318         * doc/glibc-functions/obstack_vprintf.texi: Update.
17319
17320 2009-02-26  Eric Blake  <ebb9@byu.net>
17321
17322         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
17323         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
17324         compilation bug by using runtime conversion.
17325         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
17326         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
17327         * modules/ceill-tests (Files): Use nan.h.
17328         * modules/floorl-tests (Files): Likewise.
17329         * modules/frexpl-tests (Files): Likewise.
17330         * modules/isnanl-tests (Files): Likewise.
17331         * modules/ldexpl-tests (Files): Likewise.
17332         * modules/roundl-tests (Files): Likewise.
17333         * modules/truncl-tests (Files): Likewise.
17334         * tests/test-ceill.c (main): Use a working NaN.
17335         * tests/test-floorl.c (main): Likewise.
17336         * tests/test-frexpl.c (main): Likewise.
17337         * tests/test-isnan.c (test_long_double): Likewise.
17338         * tests/test-isnanl.h (main): Likewise.
17339         * tests/test-ldexpl.h (main): Likewise.
17340         * tests/test-roundl.h (main): Likewise.
17341         * tests/test-truncl.h (main): Likewise.
17342         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
17343
17344 2009-02-26  Eric Blake  <ebb9@byu.net>
17345             Bruno Haible  <bruno@clisp.org>
17346
17347         Work around a *printf bug with %ls on Solaris.
17348         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
17349         precision is specified, sprintf stops converting the wide string
17350         argument when the number of bytes that have been produced by this
17351         conversion equals or exceeds the precision.
17352         * doc/posix-functions/fprintf.texi: Update.
17353         * doc/posix-functions/printf.texi: Update.
17354         * doc/posix-functions/snprintf.texi: Update.
17355         * doc/posix-functions/sprintf.texi: Update.
17356         * doc/posix-functions/vfprintf.texi: Update.
17357         * doc/posix-functions/vprintf.texi: Update.
17358         * doc/posix-functions/vsnprintf.texi: Update.
17359         * doc/posix-functions/vsprintf.texi: Update.
17360         * doc/glibc-functions/obstack_printf.texi: Update.
17361         * doc/glibc-functions/obstack_vprintf.texi: Update.
17362
17363 2009-02-26  Eric Blake  <ebb9@byu.net>
17364
17365         stdlib: favor compiler check of random.h
17366         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
17367         to avoid an ObjC random.h installed by Swarm.
17368
17369 2009-02-26  Bruno Haible  <bruno@clisp.org>
17370
17371         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
17372         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
17373         Reported by Gary V. Vaughan <gary@gnu.org>.
17374
17375 2009-02-26  Bruno Haible  <bruno@clisp.org>
17376
17377         Fix *printf behaviour regarding the %ls directive.
17378         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
17379         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
17380         NEED_PRINTF_DIRECTIVE_LS.
17381         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
17382         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
17383         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
17384         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
17385         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
17386         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
17387         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
17388         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
17389         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
17390         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
17391         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
17392         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
17393         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
17394         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17395         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
17396         * doc/posix-functions/fprintf.texi: Update.
17397         * doc/posix-functions/printf.texi: Update.
17398         * doc/posix-functions/snprintf.texi: Update.
17399         * doc/posix-functions/sprintf.texi: Update.
17400         * doc/posix-functions/vfprintf.texi: Update.
17401         * doc/posix-functions/vprintf.texi: Update.
17402         * doc/posix-functions/vsnprintf.texi: Update.
17403         * doc/posix-functions/vsprintf.texi: Update.
17404         * doc/glibc-functions/obstack_printf.texi: Update.
17405         * doc/glibc-functions/obstack_vprintf.texi: Update.
17406         Reported by Eric Blake.
17407
17408 2009-02-25  Bruno Haible  <bruno@clisp.org>
17409
17410         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
17411         with known value.
17412         Reported by Gary V. Vaughan <gary@gnu.org>.
17413
17414 2009-02-25  Bruno Haible  <bruno@clisp.org>
17415
17416         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
17417         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
17418         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
17419         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
17420         Reported by Gary V. Vaughan <gary@gnu.org>.
17421
17422 2009-02-25  Bruno Haible  <bruno@clisp.org>
17423
17424         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
17425         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
17426         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
17427         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
17428         Reported by Gary V. Vaughan <gary@gnu.org>.
17429
17430 2009-02-25  Eric Blake  <ebb9@byu.net>
17431
17432         tests: skip fseek/ftell tests if ungetc is broken
17433         * m4/ungetc.m4: New file.
17434         * modules/fseek-tests: Split test, so ungetc dependency is
17435         separate from rest of test.
17436         * modules/fseeko-tests: Likewise.
17437         * modules/ftell-tests: Likewise.
17438         * modules/ftello-tests: Likewise.
17439         * tests/test-fseek.c (main): Isolate ungetc dependency.
17440         * tests/test-fseeko.c (main): Likewise.
17441         * tests/test-ftell.c (main): Likewise.
17442         * tests/test-ftello.c (main): Likewise.
17443         * tests/test-fseek2.sh: New file.
17444         * tests/test-fseeko2.sh: Likewise.
17445         * tests/test-ftell2.sh: Likewise.
17446         * tests/test-ftello2.sh: Likewise.
17447
17448 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
17449
17450         test-getaddrinfo: fix usage of skip return code 77
17451         * tests/test-gettaddrinfo.c: Return skip code 77 only
17452         for first occurance of skip (4x77 is not 77)
17453
17454 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
17455
17456         strtod: avoid C99 decl-after-statement
17457         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
17458
17459 2009-02-24  Eric Blake  <ebb9@byu.net>
17460
17461         strtod: detect HP-UX 11.31 bug
17462         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
17463         Reported by Gary V. Vaughan.
17464
17465 2009-02-23  Bruno Haible  <bruno@clisp.org>
17466
17467         Fix invalid read past end of memory block.
17468         * lib/vasnprintf.c (DCHAR_SET): Define.
17469         (local_wcslen): Define only when needed.
17470         (local_strnlen, local_wcsnlen): New functions.
17471         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
17472         directives that involve a conversion ourselves.
17473         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
17474         wcsnlen, mbrtowc, wcrtomb.
17475         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
17476         * tests/test-vasprintf-posix.c (test_function): Likewise.
17477         * tests/test-snprintf-posix.h (test_function): Likewise.
17478         * tests/test-sprintf-posix.h (test_function): Likewise.
17479         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17480
17481 2009-02-22  Bruno Haible  <bruno@clisp.org>
17482
17483         Implement new clarified decomposition of Hangul syllables.
17484         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
17485         of type LTV, return only a pairwise decomposition.
17486         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
17487         Likewise.
17488         * tests/uninorm/test-decomposition.c (main): Updated expected result.
17489         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
17490         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
17491
17492 2009-02-22  Bruno Haible  <bruno@clisp.org>
17493
17494         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
17495         zero-length results and shrink excess allocated memory.
17496         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
17497         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
17498         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
17499         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
17500         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
17501         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
17502         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
17503         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
17504         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
17505         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
17506         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
17507         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
17508
17509 2009-02-21  Bruno Haible  <bruno@clisp.org>
17510
17511         * doc/gnulib.texi: Include safe-alloc.texi earlier.
17512         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
17513         spaces after a period. Put a space between a macro name and its
17514         argument list. Trivial rewordings.
17515         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
17516         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
17517         (main): Return 0 explicitly.
17518
17519 2009-02-21  Bruno Haible  <bruno@clisp.org>
17520
17521         Tests for module 'uninorm/filter'.
17522         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
17523         * modules/uninorm/filter-tests: New file.
17524
17525         New module 'uninorm/filter'.
17526         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
17527         uninorm_filter_flush, uninorm_filter_free): New declarations.
17528         * lib/uninorm/uninorm-filter.c: New file.
17529         * modules/uninorm/filter: New file.
17530
17531 2009-02-21  Bruno Haible  <bruno@clisp.org>
17532
17533         Tests for module 'uninorm/nfkc'.
17534         * tests/uninorm/test-nfkc.c: New file.
17535         * tests/uninorm/test-u8-nfkc.c: New file.
17536         * tests/uninorm/test-u16-nfkc.c: New file.
17537         * tests/uninorm/test-u32-nfkc.c: New file.
17538         * tests/uninorm/test-u32-nfkc-big.sh: New file.
17539         * tests/uninorm/test-u32-nfkc-big.c: New file.
17540         * modules/uninorm/nfkc-tests: New file.
17541
17542         New module 'uninorm/nfkc'.
17543         * lib/uninorm/nfkc.c: New file.
17544         * modules/uninorm/nfkc: New file.
17545
17546         Tests for module 'uninorm/nfkd'.
17547         * tests/uninorm/test-nfkd.c: New file.
17548         * tests/uninorm/test-u8-nfkd.c: New file.
17549         * tests/uninorm/test-u16-nfkd.c: New file.
17550         * tests/uninorm/test-u32-nfkd.c: New file.
17551         * tests/uninorm/test-u32-nfkd-big.sh: New file.
17552         * tests/uninorm/test-u32-nfkd-big.c: New file.
17553         * modules/uninorm/nfkd-tests: New file.
17554
17555         New module 'uninorm/nfkd'.
17556         * lib/uninorm/nfkd.c: New file.
17557         * modules/uninorm/nfkd: New file.
17558
17559         Tests for module 'uninorm/nfc'.
17560         * tests/uninorm/test-nfc.c: New file.
17561         * tests/uninorm/test-u8-nfc.c: New file.
17562         * tests/uninorm/test-u16-nfc.c: New file.
17563         * tests/uninorm/test-u32-nfc.c: New file.
17564         * tests/uninorm/test-u32-nfc-big.sh: New file.
17565         * tests/uninorm/test-u32-nfc-big.c: New file.
17566         * modules/uninorm/nfc-tests: New file.
17567
17568         New module 'uninorm/nfc'.
17569         * lib/uninorm/nfc.c: New file.
17570         * modules/uninorm/nfc: New file.
17571
17572         Tests for module 'uninorm/nfd'.
17573         * tests/uninorm/test-nfd.c: New file.
17574         * tests/uninorm/test-u8-nfd.c: New file.
17575         * tests/uninorm/test-u16-nfd.c: New file.
17576         * tests/uninorm/test-u32-nfd.c: New file.
17577         * tests/uninorm/test-u32-nfd-big.sh: New file.
17578         * tests/uninorm/test-u32-nfd-big.c: New file.
17579         * tests/uninorm/test-u32-normalize-big.h: New file.
17580         * tests/uninorm/test-u32-normalize-big.c: New file.
17581         * tests/uninorm/NormalizationTest.txt: New file, created from
17582         Unicode 5.1.0 NormalizationTest.txt.
17583         * modules/uninorm/nfd-tests: New file.
17584
17585         New module 'uninorm/nfd'.
17586         * lib/uninorm/nfd.c: New file.
17587         * modules/uninorm/nfd: New file.
17588
17589         New module 'uninorm/u32-normalize'.
17590         * lib/uninorm/u32-normalize.c: New file.
17591         * modules/uninorm/u32-normalize: New file.
17592
17593         New module 'uninorm/u16-normalize'.
17594         * lib/uninorm/u16-normalize.c: New file.
17595         * modules/uninorm/u16-normalize: New file.
17596
17597         New module 'uninorm/u8-normalize'.
17598         * lib/uninorm/u8-normalize.c: New file.
17599         * lib/uninorm/normalize-internal.h: New file.
17600         * lib/uninorm/u-normalize-internal.h: New file.
17601         * modules/uninorm/u8-normalize: New file.
17602
17603         New module 'uninorm/decompose-internal'.
17604         * lib/uninorm/decompose-internal.c: New file.
17605         * modules/uninorm/decompose-internal: New file.
17606
17607         Tests for module 'uninorm/composition'.
17608         * tests/uninorm/test-composition.c: New file.
17609         * modules/uninorm/composition-tests: New file.
17610
17611         New module 'uninorm/composition'.
17612         * lib/uninorm/composition.c: New file.
17613         * lib/uninorm/composition-table.gperf: New file, generated by
17614         gen-uni-tables.
17615         * modules/uninorm/composition: New file.
17616
17617         Tests for module 'uninorm/compat-decomposition'.
17618         * tests/uninorm/test-compat-decomposition.c: New file.
17619         * modules/uninorm/compat-decomposition-tests: New file.
17620
17621         New module 'uninorm/compat-decomposition'.
17622         * lib/uninorm/decompose-internal.h: New file.
17623         * lib/uninorm/compat-decomposition.c: New file.
17624         * modules/uninorm/compat-decomposition: New file.
17625
17626         Tests for module 'uninorm/canonical-decomposition'.
17627         * tests/uninorm/test-canonical-decomposition.c: New file.
17628         * modules/uninorm/canonical-decomposition-tests: New file.
17629
17630         New module 'uninorm/canonical-decomposition'.
17631         * lib/uninorm/canonical-decomposition.c: New file.
17632         * modules/uninorm/canonical-decomposition: New file.
17633
17634         Tests for module 'uninorm/decomposition'.
17635         * tests/uninorm/test-decomposition.c: New file.
17636         * modules/uninorm/decomposition-tests: New file.
17637
17638         New module 'uninorm/decomposition'.
17639         * lib/uninorm/decomposition.c: New file.
17640         * modules/uninorm/decomposition: New file.
17641
17642         New module 'uninorm/decomposition-table'.
17643         * lib/uninorm/decomposition-table.h: New file.
17644         * lib/uninorm/decomposition-table.c: New file.
17645         * lib/uninorm/decomposition-table1.h: New file, generated by
17646         gen-uni-tables.
17647         * lib/uninorm/decomposition-table2.h: New file, generated by
17648         gen-uni-tables.
17649         * modules/uninorm/decomposition-table: New file.
17650
17651         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
17652         (UC_DECOMP_*): New enumeration items.
17653         (get_decomposition): New function.
17654         (struct decomp_table): New type.
17655         (output_decomposition, output_decomposition_tables): New functions.
17656         (unicode_composition_exclusions): New variable.
17657         (fill_composition_exclusions, debug_output_composition_tables): New
17658         functions.
17659         (main): Accept one more argument. Invoke fill_composition_exclusions.
17660         Output decomposition and composition tables.
17661
17662         New module 'uninorm/base'.
17663         * lib/uninorm.h: New file.
17664         * lib/unictype.h: Update comment.
17665         * modules/uninorm/base: New file.
17666
17667 2009-02-21  David Lutterkort  <lutter@redhat.com>
17668
17669         Tests for module 'safe-alloc'.
17670         * tests/test-safe-alloc.c: New file.
17671         * modules/safe-alloc-tests: New file.
17672
17673         New module 'safe-alloc'.
17674         * lib/safe-alloc.h: New file.
17675         * lib/safe-alloc.c: New file.
17676         * m4/safe-alloc.m4: New file.
17677         * modules/safe-alloc: New file.
17678         * doc/safe-alloc.texi: New file.
17679         * doc/gnulib.texi: Include it.
17680         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
17681         safe-alloc.
17682
17683 2009-02-18  Bruno Haible  <bruno@clisp.org>
17684
17685         Fix link error on non-glibc systems.
17686         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
17687         variable.
17688         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17689
17690 2009-02-18  Jim Meyering  <meyering@redhat.com>
17691
17692         fts: avoid used-uninitialized error due to recent change
17693         * lib/fts.c (fts_read): Guard uses of the new member,
17694         parent->fts_n_dirs_remaining, since it's not relevant for
17695         the parent of a directory specified on the command-line.
17696
17697 2009-02-17  James Youngman  <jay@gnu.org>
17698             Bruno Haible  <bruno@clisp.org>
17699
17700         * m4/include_next.m4: Reformulate comment.
17701
17702 2009-02-16  Jim Meyering  <meyering@redhat.com>
17703
17704         fts: add #if guards so that the fts_lgpl module still builds
17705         * lib/fts.c: Guard just-added hash-table-using parts with
17706         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
17707         Reported by Simon Josefsson.
17708
17709 2009-02-15  Bruno Haible  <bruno@clisp.org>
17710
17711         * modules/array-mergesort-tests: New file.
17712         * tests/test-array-mergesort.c: New file.
17713
17714         New module 'array-mergesort'.
17715         * modules/array-mergesort: New file.
17716         * lib/array-mergesort.h: New file.
17717
17718 2009-02-15  Bruno Haible  <bruno@clisp.org>
17719
17720         Fix 2009-02-07 commit.
17721         * lib/gen-uni-tables.c (output_predicate, output_category,
17722         output_combclass, output_bidi_category, output_decimal_digit,
17723         output_digit, output_numeric, output_mirror, output_scripts,
17724         output_ident_category, output_simple_mapping): Fix format directives.
17725         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
17726
17727 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
17728
17729         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
17730         fixes are available from IBM.
17731
17732 2009-02-13  Jim Meyering  <meyering@redhat.com>
17733
17734         fts: arrange not to stat non-directories in more cases
17735         This makes GNU find (when it doesn't need to stat each file)
17736         *much* more efficient at traversing reiserfs file systems.
17737         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
17738         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
17739         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
17740         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
17741         (leaf_optimization_applies): New function.
17742         (LCO_hash, LCO_compare): New helper functions.
17743         (link_count_optimize_ok): New function.
17744         (fts_stat): Initialize new member (if dir).
17745         (fts_read): Decrement parent's fts_n_dirs_remaining count if
17746         we've just stat'ed a directory.  Skip the stat call when possible.
17747         ---
17748         Note this AFS-related exchange:
17749         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
17750         and note find's pioctl call in find/fstype.c.
17751         But that is necessary only if you want to enable the
17752         optimization for AFS, and for now, I don't.
17753
17754         fts: move a function definition "up" (no semantic change)
17755         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
17756         "up" to precede upcoming use of a related function.
17757
17758 2009-02-11  Jim Meyering  <meyering@redhat.com>
17759
17760         fts: correct internal computation of nlinks (optimization-related)
17761         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
17762         whether the current entry is a directory, so don't test it.
17763
17764 2009-02-10  Bruno Haible  <bruno@clisp.org>
17765
17766         Tests for module 'uniwbrk/ulc-wordbreaks'.
17767         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
17768         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
17769         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
17770
17771         Tests for module 'uniwbrk/u32-wordbreaks'.
17772         * modules/uniwbrk/u32-wordbreaks-tests: New file.
17773         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
17774
17775         Tests for module 'uniwbrk/u16-wordbreaks'.
17776         * modules/uniwbrk/u16-wordbreaks-tests: New file.
17777         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
17778
17779         Tests for module 'uniwbrk/u8-wordbreaks'.
17780         * modules/uniwbrk/u8-wordbreaks-tests: New file.
17781         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
17782
17783 2009-02-10  Bruno Haible  <bruno@clisp.org>
17784
17785         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
17786         property.
17787         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
17788         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
17789         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
17790
17791 2009-02-10  Simon Josefsson  <simon@josefsson.org>
17792
17793         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
17794         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
17795
17796 2009-02-10  Bruno Haible  <bruno@clisp.org>
17797
17798         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
17799         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
17800         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
17801         * lib/unilbrk/u8-possible-linebreaks.c: Update.
17802         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
17803         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
17804
17805 2009-02-09  Simon Josefsson  <simon@josefsson.org>
17806
17807         * lib/sockets.h (gl_fd_to_handle): New function.
17808
17809         * tests/test-sockets.c: Call gl_fd_to_handle.
17810
17811 2009-02-09  Bruno Haible  <bruno@clisp.org>
17812
17813         * doc/havelib.texi: Document the conventions on bi-arch systems.
17814
17815 2009-02-08  Bruno Haible  <bruno@clisp.org>
17816
17817         Document the AC_LIB_LINKFLAGS macro.
17818         * doc/havelib.texi: New file, mostly written on 2005-05-24.
17819         * doc/gnulib.texi: Include it.
17820
17821 2009-02-08  Bruno Haible  <bruno@clisp.org>
17822
17823         Fix wrong order of sections, compared to TOC.
17824         * doc/gnulib.texi: Include relocatable-maint.texi after the
17825         "Regular expressions" node, not before.
17826
17827 2009-02-08  Bruno Haible  <bruno@clisp.org>
17828
17829         Tests for module 'unicase/totitle'.
17830         * modules/unicase/totitle-tests: New file.
17831
17832         Tests for module 'unicase/tolower'.
17833         * modules/unicase/tolower-tests: New file.
17834
17835         Tests for module 'unicase/toupper'.
17836         * modules/unicase/toupper-tests: New file.
17837         * tests/unicase/test-mapping-part1.h: New file.
17838         * tests/unicase/test-mapping-part2.h: New file.
17839
17840         New module 'unicase/totitle'.
17841         * modules/unicase/totitle: New file.
17842         * lib/unicase/totitle.c: New file.
17843
17844         New module 'unicase/tolower'.
17845         * modules/unicase/tolower: New file.
17846         * lib/unicase/tolower.c: New file.
17847
17848         New module 'unicase/toupper'.
17849         * modules/unicase/toupper: New file.
17850         * lib/unicase/toupper.c: New file.
17851         * lib/unicase/simple-mapping.h: New file.
17852
17853         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
17854         (mapping_table): New structure.
17855         (output_simple_mapping): New function.
17856         (main): Invoke output_simple_mapping_test and output_simple_mapping.
17857         * modules/gen-uni-tables (Description): Update.
17858         * lib/unicase/toupper.h: New file, automatically generated by
17859         gen-uni-tables.
17860         * lib/unicase/tolower.h: New file, automatically generated by
17861         gen-uni-tables.
17862         * lib/unicase/totitle.h: New file, automatically generated by
17863         gen-uni-tables.
17864         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
17865         gen-uni-tables.
17866         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
17867         gen-uni-tables.
17868         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
17869         gen-uni-tables.
17870
17871         New module 'unicase/base'.
17872         * modules/unicase/base: New file.
17873         * lib/unicase.h: New file.
17874
17875 2009-02-08  Bruno Haible  <bruno@clisp.org>
17876
17877         New module 'uniwbrk/ulc-wordbreaks'.
17878         * modules/uniwbrk/ulc-wordbreaks: New file.
17879         * lib/uniwbrk/ulc-wordbreaks.c: New file.
17880
17881         New module 'uniwbrk/u32-wordbreaks'.
17882         * modules/uniwbrk/u32-wordbreaks: New file.
17883         * lib/uniwbrk/u32-wordbreaks.c: New file.
17884
17885         New module 'uniwbrk/u16-wordbreaks'.
17886         * modules/uniwbrk/u16-wordbreaks: New file.
17887         * lib/uniwbrk/u16-wordbreaks.c: New file.
17888
17889         New module 'uniwbrk/u8-wordbreaks'.
17890         * modules/uniwbrk/u8-wordbreaks: New file.
17891         * lib/uniwbrk/u8-wordbreaks.c: New file.
17892         * lib/uniwbrk/u-wordbreaks.h: New file.
17893
17894         New module 'uniwbrk/table'.
17895         * modules/uniwbrk/table: New file.
17896         * lib/uniwbrk/wbrktable.h: New file.
17897         * lib/uniwbrk/wbrktable.c: New file.
17898
17899         New module 'uniwbrk/wordbreak-property'.
17900         * modules/uniwbrk/wordbreak-property: New file.
17901         * lib/uniwbrk/wordbreak-property.c: New file.
17902
17903         * lib/gen-uni-tables.c (WBP_*): New enum items.
17904         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
17905         (unicode_org_wbp): New variable.
17906         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
17907         New functions.
17908         (wbp_table): New structure.
17909         (output_wbp, output_wbrk_tables): New functions.
17910         (main): Accept additional argument. Invoke fill_org_wbp,
17911         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
17912         output_wbrk_tables.
17913         * modules/gen-uni-tables (Description): Update.
17914         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
17915         gen-uni-tables.
17916
17917         New module 'uniwbrk/base'.
17918         * modules/uniwbrk/base: New file.
17919         * lib/uniwbrk.h: New file.
17920
17921 2009-02-08  Bruno Haible  <bruno@clisp.org>
17922
17923         Update to Unicode 5.1.0.
17924         * lib/gen-uni-tables.c (is_property_alphabetic): Include
17925         U+2185..U+2188.
17926         (is_property_default_ignorable_code_point): Don't include characters
17927         of category Cc or Cs and not-a-characters.
17928         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
17929         U+0D79, U+109E, U+109F, U+A60C.
17930         * lib/unictype/bidi_of.h: Regenerated.
17931         * lib/unictype/blocks.h: Regenerated.
17932         * lib/unictype/categ_C.h: Regenerated.
17933         * lib/unictype/categ_Cf.h: Regenerated.
17934         * lib/unictype/categ_Cn.h: Regenerated.
17935         * lib/unictype/categ_L.h: Regenerated.
17936         * lib/unictype/categ_Ll.h: Regenerated.
17937         * lib/unictype/categ_Lm.h: Regenerated.
17938         * lib/unictype/categ_Lo.h: Regenerated.
17939         * lib/unictype/categ_Lu.h: Regenerated.
17940         * lib/unictype/categ_M.h: Regenerated.
17941         * lib/unictype/categ_Mc.h: Regenerated.
17942         * lib/unictype/categ_Me.h: Regenerated.
17943         * lib/unictype/categ_Mn.h: Regenerated.
17944         * lib/unictype/categ_N.h: Regenerated.
17945         * lib/unictype/categ_Nd.h: Regenerated.
17946         * lib/unictype/categ_Nl.h: Regenerated.
17947         * lib/unictype/categ_No.h: Regenerated.
17948         * lib/unictype/categ_P.h: Regenerated.
17949         * lib/unictype/categ_Pd.h: Regenerated.
17950         * lib/unictype/categ_Pe.h: Regenerated.
17951         * lib/unictype/categ_Pf.h: Regenerated.
17952         * lib/unictype/categ_Pi.h: Regenerated.
17953         * lib/unictype/categ_Po.h: Regenerated.
17954         * lib/unictype/categ_Ps.h: Regenerated.
17955         * lib/unictype/categ_S.h: Regenerated.
17956         * lib/unictype/categ_Sk.h: Regenerated.
17957         * lib/unictype/categ_Sm.h: Regenerated.
17958         * lib/unictype/categ_So.h: Regenerated.
17959         * lib/unictype/categ_of.h: Regenerated.
17960         * lib/unictype/combining.h: Regenerated.
17961         * lib/unictype/ctype_alnum.h: Regenerated.
17962         * lib/unictype/ctype_alpha.h: Regenerated.
17963         * lib/unictype/ctype_graph.h: Regenerated.
17964         * lib/unictype/ctype_lower.h: Regenerated.
17965         * lib/unictype/ctype_print.h: Regenerated.
17966         * lib/unictype/ctype_punct.h: Regenerated.
17967         * lib/unictype/ctype_upper.h: Regenerated.
17968         * lib/unictype/decdigit.h: Regenerated.
17969         * lib/unictype/digit.h: Regenerated.
17970         * lib/unictype/mirror.h: Regenerated.
17971         * lib/unictype/numeric.h: Regenerated.
17972         * lib/unictype/pr_alphabetic.h: Regenerated.
17973         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
17974         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
17975         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
17976         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
17977         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
17978         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
17979         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
17980         * lib/unictype/pr_combining.h: Regenerated.
17981         * lib/unictype/pr_dash.h: Regenerated.
17982         * lib/unictype/pr_decimal_digit.h: Regenerated.
17983         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
17984         * lib/unictype/pr_deprecated.h: Regenerated.
17985         * lib/unictype/pr_diacritic.h: Regenerated.
17986         * lib/unictype/pr_extender.h: Regenerated.
17987         * lib/unictype/pr_format_control.h: Regenerated.
17988         * lib/unictype/pr_grapheme_base.h: Regenerated.
17989         * lib/unictype/pr_grapheme_extend.h: Regenerated.
17990         * lib/unictype/pr_grapheme_link.h: Regenerated.
17991         * lib/unictype/pr_id_continue.h: Regenerated.
17992         * lib/unictype/pr_id_start.h: Regenerated.
17993         * lib/unictype/pr_ideographic.h: Regenerated.
17994         * lib/unictype/pr_ignorable_control.h: Regenerated.
17995         * lib/unictype/pr_lowercase.h: Regenerated.
17996         * lib/unictype/pr_math.h: Regenerated.
17997         * lib/unictype/pr_numeric.h: Regenerated.
17998         * lib/unictype/pr_other_alphabetic.h: Regenerated.
17999         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
18000         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
18001         * lib/unictype/pr_other_id_continue.h: Regenerated.
18002         * lib/unictype/pr_other_lowercase.h: Regenerated.
18003         * lib/unictype/pr_other_math.h: Regenerated.
18004         * lib/unictype/pr_punctuation.h: Regenerated.
18005         * lib/unictype/pr_sentence_terminal.h: Regenerated.
18006         * lib/unictype/pr_soft_dotted.h: Regenerated.
18007         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
18008         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
18009         * lib/unictype/pr_unified_ideograph.h: Regenerated.
18010         * lib/unictype/pr_uppercase.h: Regenerated.
18011         * lib/unictype/pr_xid_continue.h: Regenerated.
18012         * lib/unictype/pr_xid_start.h: Regenerated.
18013         * lib/unictype/pr_zero_width.h: Regenerated.
18014         * lib/unictype/scripts.h: Regenerated.
18015         * lib/unictype/scripts_byname.gperf: Regenerated.
18016         * lib/unictype/sy_java_ident.h: Regenerated.
18017         * lib/unilbrk/lbrkprop1.h: Regenerated.
18018         * lib/unilbrk/lbrkprop2.h: Regenerated.
18019         * tests/unictype/test-categ_C.c: Regenerated.
18020         * tests/unictype/test-categ_Cf.c: Regenerated.
18021         * tests/unictype/test-categ_Cn.c: Regenerated.
18022         * tests/unictype/test-categ_L.c: Regenerated.
18023         * tests/unictype/test-categ_Ll.c: Regenerated.
18024         * tests/unictype/test-categ_Lm.c: Regenerated.
18025         * tests/unictype/test-categ_Lo.c: Regenerated.
18026         * tests/unictype/test-categ_Lu.c: Regenerated.
18027         * tests/unictype/test-categ_M.c: Regenerated.
18028         * tests/unictype/test-categ_Mc.c: Regenerated.
18029         * tests/unictype/test-categ_Me.c: Regenerated.
18030         * tests/unictype/test-categ_Mn.c: Regenerated.
18031         * tests/unictype/test-categ_N.c: Regenerated.
18032         * tests/unictype/test-categ_Nd.c: Regenerated.
18033         * tests/unictype/test-categ_Nl.c: Regenerated.
18034         * tests/unictype/test-categ_No.c: Regenerated.
18035         * tests/unictype/test-categ_P.c: Regenerated.
18036         * tests/unictype/test-categ_Pd.c: Regenerated.
18037         * tests/unictype/test-categ_Pe.c: Regenerated.
18038         * tests/unictype/test-categ_Pf.c: Regenerated.
18039         * tests/unictype/test-categ_Pi.c: Regenerated.
18040         * tests/unictype/test-categ_Po.c: Regenerated.
18041         * tests/unictype/test-categ_Ps.c: Regenerated.
18042         * tests/unictype/test-categ_S.c: Regenerated.
18043         * tests/unictype/test-categ_Sk.c: Regenerated.
18044         * tests/unictype/test-categ_Sm.c: Regenerated.
18045         * tests/unictype/test-categ_So.c: Regenerated.
18046         * tests/unictype/test-ctype_alnum.c: Regenerated.
18047         * tests/unictype/test-ctype_alpha.c: Regenerated.
18048         * tests/unictype/test-ctype_graph.c: Regenerated.
18049         * tests/unictype/test-ctype_lower.c: Regenerated.
18050         * tests/unictype/test-ctype_print.c: Regenerated.
18051         * tests/unictype/test-ctype_punct.c: Regenerated.
18052         * tests/unictype/test-ctype_upper.c: Regenerated.
18053         * tests/unictype/test-decdigit.h: Regenerated.
18054         * tests/unictype/test-digit.h: Regenerated.
18055         * tests/unictype/test-numeric.h: Regenerated.
18056         * tests/unictype/test-pr_alphabetic.c: Regenerated.
18057         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
18058         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
18059         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
18060         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
18061         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
18062         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
18063         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
18064         * tests/unictype/test-pr_combining.c: Regenerated.
18065         * tests/unictype/test-pr_dash.c: Regenerated.
18066         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
18067         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
18068         * tests/unictype/test-pr_deprecated.c: Regenerated.
18069         * tests/unictype/test-pr_diacritic.c: Regenerated.
18070         * tests/unictype/test-pr_extender.c: Regenerated.
18071         * tests/unictype/test-pr_format_control.c: Regenerated.
18072         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
18073         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
18074         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
18075         * tests/unictype/test-pr_id_continue.c: Regenerated.
18076         * tests/unictype/test-pr_id_start.c: Regenerated.
18077         * tests/unictype/test-pr_ideographic.c: Regenerated.
18078         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
18079         * tests/unictype/test-pr_lowercase.c: Regenerated.
18080         * tests/unictype/test-pr_math.c: Regenerated.
18081         * tests/unictype/test-pr_numeric.c: Regenerated.
18082         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
18083         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
18084         Regenerated.
18085         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
18086         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
18087         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
18088         * tests/unictype/test-pr_other_math.c: Regenerated.
18089         * tests/unictype/test-pr_punctuation.c: Regenerated.
18090         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
18091         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
18092         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
18093         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
18094         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
18095         * tests/unictype/test-pr_uppercase.c: Regenerated.
18096         * tests/unictype/test-pr_xid_continue.c: Regenerated.
18097         * tests/unictype/test-pr_xid_start.c: Regenerated.
18098         * tests/unictype/test-pr_zero_width.c: Regenerated.
18099
18100         Update to Unicode 5.1.0.
18101         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
18102         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
18103         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
18104         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
18105         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
18106         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
18107         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
18108         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
18109         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
18110         (nonspacing_table_ind): Update.
18111         * tests/uniwidth/test-uc_width2.sh: Update expected result.
18112
18113         Update to Unicode 5.1.0.
18114         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
18115         code transform.
18116         * lib/uniname/uniname.c (unicode_character_name,
18117         unicode_name_character): Add the range 0x1Fxxx to the code transform.
18118         * lib/uniname/uninames.h: Regenerated.
18119         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
18120
18121 2009-02-07  Bruno Haible  <bruno@clisp.org>
18122
18123         Merge gen-ctype and gen-lbrk into a single program.
18124         * lib/gen-uni-tables.c: New file, incorporating
18125         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
18126         Add directory prefixes to the names of the generated files.
18127         * lib/unictype/gen-ctype.c: Remove file.
18128         * lib/unilbrk/gen-lbrk.c: Remove file.
18129         * modules/gen-uni-tables: New file.
18130         * modules/unictype/gen-ctype: Remove file.
18131         * modules/unilbrk/gen-lbrk: Remove file.
18132
18133 2009-02-07  Bruno Haible  <bruno@clisp.org>
18134
18135         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
18136
18137         New module 'unistr/u32-strcoll'.
18138         * modules/unistr/u32-strcoll: New file.
18139         * lib/unistr/u32-strcoll.c: New file.
18140
18141         New module 'unistr/u16-strcoll'.
18142         * modules/unistr/u16-strcoll: New file.
18143         * lib/unistr/u16-strcoll.c: New file.
18144
18145         New module 'unistr/u8-strcoll'.
18146         * modules/unistr/u8-strcoll: New file.
18147         * lib/unistr/u8-strcoll.c: New file.
18148         * lib/unistr/u-strcoll.h: New file.
18149
18150 2009-02-07  Bruno Haible  <bruno@clisp.org>
18151
18152         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
18153         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
18154         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
18155         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
18156         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
18157         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
18158
18159 2009-02-07  Bruno Haible  <bruno@clisp.org>
18160
18161         Make 64-bit clean.
18162         * lib/unictype/gen-ctype.c (output_predicate, output_category,
18163         output_combclass, output_bidi_category, output_decimal_digit,
18164         output_digit, output_numeric, output_mirror, output_scripts,
18165         output_ident_category): Use proper width specifier in format strings.
18166
18167 2009-02-07  Bruno Haible  <bruno@clisp.org>
18168
18169         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
18170         failure behaviour.
18171
18172 2009-02-07  Jim Meyering  <meyering@redhat.com>
18173
18174         regex: avoid compilation failure with upcoming gcc-4.4
18175         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
18176         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
18177         "... error: integer overflow in preprocessor expression".
18178
18179 2009-02-05  Ben Pfaff  <blp@gnu.org>
18180
18181         Fix link errors on Windows when close module is used.
18182         * modules/close: Add $(LIB_CLOSE) to Link section.
18183         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
18184         $(LIB_CLOSE) on Windows.
18185
18186 2009-02-05  Jim Meyering  <meyering@redhat.com>
18187
18188         still avoid unused-parameter warnings, but do it cleanly
18189         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
18190         (get_fs_usage): Cast to void instead.
18191         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
18192         (dev_from_mount_options, read_file_system_list): Cast to void.
18193         Prompted by Bruno Haible.
18194
18195 2009-02-04  Jim Meyering  <meyering@redhat.com>
18196
18197         fsusage.c: correct copyright year
18198         * lib/fsusage.c: Reflect year in which the change is pushed into
18199
18200         avoid misc. warnings
18201         * lib/fsusage.c (UNUSED_PARAM): Define.
18202         (get_fs_usage): Mark parameter "disk" as unused.
18203         * lib/getugroups.c (getgrent): Use "void" in prototype.
18204         * lib/mountlist.c: Mark unused parameters.
18205         (read_file_system_list): Declare a local with "const".
18206         * lib/nanosleep.c (getnow): Declare static.
18207         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
18208
18209         dirfd: set errno upon failure
18210         * lib/dirfd.c: Include <errno.h>.
18211         Set errno to ENOTSUP when returning -1.
18212         * modules/dirfd (Depends-on): Add errno.
18213         Suggested by John Kodis <kodis@comcast.net>.
18214
18215 2009-02-01  Bruno Haible  <bruno@clisp.org>
18216
18217         Don't assume sizeof (long) >= sizeof (void *).
18218         * lib/memcmp.c: Include stdint.h.
18219         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
18220         srcp2 to 'const byte *'.
18221         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
18222         types to uintptr_t.
18223         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
18224         * modules/memcmp (Depends-on): Add stdint.
18225         Reported by Ozkan Sezer <sezeroz@gmail.com>.
18226
18227 2009-01-30  Eric Blake  <ebb9@byu.net>
18228
18229         fix more require-before-expand issues
18230         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
18231         expand, AC_PROG_AWK.
18232         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
18233
18234 2009-01-28  Eric Blake  <ebb9@byu.net>
18235
18236         version-etc: use consistent URL formatting
18237         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
18238         Improve formatting.  Use fputs for string without %.
18239
18240 2009-01-28  Jim Meyering  <meyering@redhat.com>
18241
18242         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
18243         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
18244         "underquoted definition of NAME" from autoconf-2.59.
18245
18246 2009-01-28  Bruno Haible  <bruno@clisp.org>
18247
18248         * doc/gnulib.texi: Add "Obsolete modules" to index.
18249
18250 2009-01-28  Jim Meyering  <meyering@redhat.com>
18251
18252         useless-if-before-free: recognize more variants
18253         * build-aux/useless-if-before-free: Also recognize e.g.,
18254         if (NULL != p) free (p);
18255
18256 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
18257
18258         test-getaddrinfo: skip (don't fail) this test when there's no network
18259         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
18260         on the presumption that it means you lack network access.
18261
18262 2009-01-26  Jim Meyering  <meyering@redhat.com>
18263
18264         fflush: avoid warnings on modern systems
18265         * lib/fflush.c (rpl_fflush): Move declarations of locals,
18266         pos and result, into scopes where they're used.
18267
18268 2009-01-26  Eric Blake  <ebb9@byu.net>
18269
18270         Silence warning reintroduced by recent extensions patch.
18271         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
18272         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
18273         autoconf.
18274
18275         Backport improved autoconf semantics of AC_DEFUN_ONCE.
18276         * m4/00gnulib.m4: New file.
18277         * gnulib-tool (func_get_filelist): Always use it.
18278         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
18279         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
18280
18281 2009-01-25  Bruno Haible  <bruno@clisp.org>
18282
18283         Make test-quotearg work on MacOS X and AIX.
18284         * tests/test-quotearg.sh: New file.
18285         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
18286         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
18287         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
18288         include <libintl.h>.
18289         (fake_locale): Remove variable.
18290         (gettext, dgettext, dcgettext): Remove functions.
18291         (main): Instead of setting a fake locale, set a real locale. Call
18292         textdomain and bindtextdomain.
18293         * modules/quotearg-tests (Files): Add the new files.
18294         (Depends-on): Add gettext, setenv, unsetenv.
18295         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
18296         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
18297         Augment TESTS_ENVIRONMENT.
18298
18299 2009-01-25  Bruno Haible  <bruno@clisp.org>
18300
18301         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
18302         fr_FR.ISO8859-1 locale on MacOS X.
18303         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
18304         ja_JP.eucJP locale on MacOS X.
18305         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
18306         zh_CN.GB18030 locale on MacOS X.
18307
18308 2009-01-25  Bruno Haible  <bruno@clisp.org>
18309
18310         Avoid link errors on MacOS X 10.3.
18311         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
18312         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
18313
18314 2009-01-25  Bruno Haible  <bruno@clisp.org>
18315
18316         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
18317         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
18318         * modules/pipe (Files): Remove m4/posix_spawn.m4.
18319         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
18320         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
18321         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
18322         posix_spawnattr_init, posix_spawnattr_setsigmask,
18323         posix_spawnattr_setflags, posix_spawnattr_destroy.
18324
18325         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
18326         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
18327         * modules/execute (Files): Remove m4/posix_spawn.m4.
18328         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
18329         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
18330         posix_spawnattr_init, posix_spawnattr_setsigmask,
18331         posix_spawnattr_setflags, posix_spawnattr_destroy.
18332
18333 2009-01-25  Bruno Haible  <bruno@clisp.org>
18334
18335         * lib/glthread/threadlib.c: Include <stdlib.h>.
18336
18337 2009-01-25  Bruno Haible  <bruno@clisp.org>
18338
18339         * lib/glthread/threadlib.c (dummy): New declaration.
18340
18341 2009-01-25  Bruno Haible  <bruno@clisp.org>
18342
18343         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
18344         multibyte characters also for the GB18030 encoding. Don't crash when
18345         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
18346
18347 2009-01-25  Bruno Haible  <bruno@clisp.org>
18348
18349         Avoid redefining 'struct random_data' on OSF/1 5.1.
18350         * lib/stdlib.in.h: Include <random.h> if it exists.
18351         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
18352         HAVE_RANDOM_H. Include <random.h> when testing whether
18353         'struct random_data' exists.
18354         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
18355
18356 2009-01-25  Bruno Haible  <bruno@clisp.org>
18357
18358         Don't install charset.alias on MacOS X >= 10.3.
18359         * lib/localcharset.c (DARWIN7): New macro.
18360         (get_charset_aliases): Hardcode the result for Darwin7.
18361         * modules/localcharset (install-exec-local): Don't install
18362         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
18363
18364 2009-01-25  Bruno Haible  <bruno@clisp.org>
18365
18366         Don't install charset.alias on mingw and Cygwin.
18367         * modules/localcharset (install-exec-local): Don't install
18368         charset.alias on mingw and Cygwin, if the file does not yet exist.
18369         The result for these platforms is hardcoded in localcharset.c.
18370
18371 2009-01-25  Bruno Haible  <bruno@clisp.org>
18372
18373         Make it possible again to use AC_GNU_SOURCE together with gnulib.
18374         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
18375         before requiring AC_USE_SYSTEM_EXTENSIONS.
18376
18377 2009-01-25  Jim Meyering  <meyering@redhat.com>
18378
18379         c-strtod: avoid warnings
18380         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
18381         "assignment discards qualifiers from pointer target type" warnings.
18382
18383 2009-01-24  Bruno Haible  <bruno@clisp.org>
18384
18385         Add support for non-UTF-8 locales on MacOS X.
18386         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
18387         canonical encodings. For Darwin 7 and newer, don't map traditional
18388         encodings to UTF-8.
18389         Reported by Vincent Lefevre <vincent@vinc17.org>
18390         at <http://savannah.gnu.org/bugs/?25235>.
18391
18392 2009-01-24  Bruno Haible  <bruno@clisp.org>
18393
18394         * doc/gnulib.texi (Obsolete modules): New section.
18395         Reported by Mike Frysinger <vapier@gentoo.org>.
18396
18397 2009-01-24  Bruno Haible  <bruno@clisp.org>
18398
18399         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
18400         (%.dvi): New rule.
18401
18402 2009-01-24  Bruno Haible  <bruno@clisp.org>
18403
18404         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
18405         Reported by Eric Blake.
18406
18407 2009-01-24  Bruno Haible  <bruno@clisp.org>
18408
18409         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
18410         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
18411         Reported by Gary V. Vaughan <gary@gnu.org>.
18412
18413 2009-01-24  Bruno Haible  <bruno@clisp.org>
18414
18415         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
18416
18417 2009-01-23  Bruno Haible  <bruno@clisp.org>
18418
18419         Make c-strtod, c-strtold usable in libraries.
18420         * lib/c-strtod.c: Include string.h instead of xalloc.h.
18421         (C_STRTOD): Call strdup instead of xstrdup.
18422         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
18423         * modules/c-strtold (Depends-on): Likewise.
18424         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
18425         * NEWS: Mention the change.
18426         Reported by Michael Gold <mgold@ncf.ca>.
18427
18428 2009-01-23  Jim Meyering  <meyering@redhat.com>
18429
18430         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
18431         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
18432         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
18433
18434 2009-01-23  Simon Josefsson  <simon@josefsson.org>
18435
18436         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
18437         GNU CoreUtils.
18438         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
18439         * modules/version-etc (Description): Update.
18440
18441 2009-01-22  Bruno Haible  <bruno@clisp.org>
18442
18443         Cache the C locale object.
18444         * lib/c-strtod.c (c_locale_cache): New variable.
18445         (c_locale): New function.
18446         (C_STRTOD): Use it, and don't call freelocale.
18447         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
18448         Suggested by Paolo Bonzini.
18449
18450 2009-01-21  Bruno Haible  <bruno@clisp.org>
18451
18452         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
18453         conditions other than overflow.
18454
18455 2009-01-21  Bruno Haible  <bruno@clisp.org>
18456
18457         * lib/c-strtod.c: Include errno.h.
18458         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
18459         value from STRTOD_L and STRTOD.
18460
18461 2009-01-21  Bruno Haible  <bruno@clisp.org>
18462         and Jim Meyering  <meyering@redhat.com>
18463
18464         nanosleep: skip configure test (fail it) for apple universal builds
18465         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
18466         universal builds, assume that nanosleep does not work.
18467         * modules/nanosleep (Depends-on): Add multiarch.
18468
18469         mktime: skip configure test (fail it) for apple universal builds
18470         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
18471         universal builds, assume that mktime does not work.
18472         * modules/mktime (Depends-on): Add multiarch.
18473
18474 2009-01-21  Eric Blake  <ebb9@byu.net>
18475
18476         multiarch: avoid expand-before-require warning
18477         * modules/multiarch (configure.ac): Require, rather than expand,
18478         gl_MULTIARCH.
18479         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
18480         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
18481         enforce that all clients require it.  Partial reversion of
18482         2008-12-29 patch.
18483
18484         error: avoid expand-before-require warning
18485         * modules/errno (configure.ac): Require, rather than expand,
18486         gl_HEADER_ERRNO_H.
18487         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
18488         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
18489         enforce that all clients require it.
18490
18491         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
18492         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
18493         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
18494         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
18495
18496 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
18497
18498         Revert:
18499         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
18500
18501         regex: do not depend on obsolete modules.
18502         * modules/regex: Remove memcmp and memmove.
18503
18504 2009-01-20  Bruno Haible  <bruno@clisp.org>
18505
18506         Make the 'link' module link on Windows NT 4.
18507         * lib/link.c (_WIN32_WINNT): Don't define.
18508         (CreateHardLinkFuncType): New type.
18509         (CreateHardLinkFunc, initialized): New variables.
18510         (initialize): New function.
18511         (link): Invoke CreateHardLink indirectly through the function pointer.
18512
18513 2009-01-20  Bruno Haible  <bruno@clisp.org>
18514
18515         Fix compilation failure on mingw.
18516         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
18517
18518 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
18519
18520         * doc/c-strtod.texi: Mention a couple of restrictions.
18521
18522 2009-01-20  Jim Meyering  <meyering@redhat.com>
18523
18524         gettimeofday: move more declarations out of functions
18525         * lib/gettimeofday.c: Move extern declarations of tzset and
18526         gmtime out of containing functions.  Prompted by Bruno Haible.
18527
18528 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
18529
18530         regex: do not depend on obsolete modules.
18531         * modules/regex: Remove memcmp and memmove.
18532
18533 2009-01-19  Bruno Haible  <bruno@clisp.org>
18534
18535         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
18536         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
18537         gl_BIGENDIAN, not AC_C_BIGENDIAN.
18538         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
18539         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
18540
18541 2009-01-19  Bruno Haible  <bruno@clisp.org>
18542
18543         * tests/test-link.c: Include <errno.h>.
18544         (main): Exit with code 77 when a hard link cannot be created due to
18545         the file system.
18546         * tests/test-link.sh: Skip test when a hard link cannot be created due
18547         to the file system.
18548         Suggested by Eric Blake.
18549
18550 2009-01-19  Martin Lambers  <marlam@marlam.de>
18551
18552         * modules/link-tests: New file.
18553         * tests/test-link.sh: New file.
18554         * tests/test-link.c: New file.
18555
18556 2009-01-19  Eric Blake  <ebb9@byu.net>
18557
18558         doc: mention another function added in cygwin 1.7.0
18559         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
18560         Another new function in cygwin 1.7.
18561
18562 2009-01-19  Bruno Haible  <bruno@clisp.org>
18563
18564         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
18565         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
18566         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
18567         gl_BIGENDIAN, not AC_C_BIGENDIAN.
18568         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
18569         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
18570         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
18571         * m4/md4.m4 (gl_MD4): Likewise.
18572         * m4/md5.m4 (gl_MD5): Likewise.
18573         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
18574         * m4/sha1.m4 (gl_SHA1): Likewise.
18575         * m4/sha256.m4 (gl_SHA256): Likewise.
18576         * m4/sha512.m4 (gl_SHA512): Likewise.
18577
18578 2009-01-19  Bruno Haible  <bruno@clisp.org>
18579
18580         * modules/uniname/uniname-tests (Depends-on): Add progname.
18581         * tests/uniname/test-uninames.c: Include progname.h.
18582         (main): Call set_program_name.
18583
18584         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
18585         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
18586         (main): Call set_program_name.
18587
18588         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
18589         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
18590         (main): Call set_program_name.
18591
18592         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
18593         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
18594         (main): Call set_program_name.
18595
18596         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
18597         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
18598         (main): Call set_program_name.
18599
18600         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
18601         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
18602         (main): Call set_program_name.
18603
18604         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
18605         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
18606         (main): Call set_program_name.
18607
18608         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
18609         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
18610         (main): Call set_program_name.
18611
18612         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
18613         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
18614         (main): Call set_program_name.
18615
18616 2009-01-19  Eric Blake  <ebb9@byu.net>
18617
18618         test-unistd: test previous patch
18619         * tests/test-unistd.c: Test *_FILENO macros.
18620
18621         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
18622         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18623         Guarantee a definition.
18624         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
18625         * modules/unistd-safer (Depends-on): Add dependency on unistd.
18626         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
18627         * lib/dup-safer.c (STDERR_FILENO): Likewise.
18628         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18629         Likewise.
18630         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
18631         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
18632         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
18633         Likewise.
18634         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
18635         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
18636         (STDERR_FILENO): Likewise.
18637         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
18638         (STDERR_FILENO): Likewise.
18639         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
18640         (STDERR_FILENO): Likewise.
18641         Reported by Elbert Pol.
18642
18643 2009-01-19  Eric Blake  <ebb9@byu.net>
18644
18645         doc: mention more functions added in cygwin 1.7.0
18646         * doc/posix-functions/abort.texi (abort): Update wording related
18647         to cygwin.
18648         * doc/posix-functions/daylight.texi (daylight): Likewise.
18649         * doc/posix-functions/optarg.texi (optarg): Likewise.
18650         * doc/posix-functions/optarg.texi (opterr): Likewise.
18651         * doc/posix-functions/optarg.texi (optind): Likewise.
18652         * doc/posix-functions/optarg.texi (optopt): Likewise.
18653         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
18654         worked in 1.5.x, and was withdrawn in 1.7.
18655         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
18656         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
18657         cygwin versions.
18658         * doc/posix-functions/perror.texi (perror): Likewise.
18659         * doc/posix-functions/printf.texi (printf): Likewise.
18660         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
18661         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
18662         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18663         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18664         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
18665         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
18666         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
18667         Likewise.
18668         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
18669         Likewise.
18670         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
18671         this function.
18672         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
18673         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
18674         Likewise.
18675         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
18676         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
18677         * doc/posix-functions/confstr.texi (confstr): Likewise.
18678         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
18679         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
18680         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
18681         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
18682         * doc/posix-functions/fputws.texi (fputws): Likewise.
18683         * doc/posix-functions/fwide.texi (fwide): Likewise.
18684         * doc/posix-functions/getwc.texi (getwc): Likewise.
18685         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
18686         * doc/posix-functions/putwc.texi (putwc): Likewise.
18687         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
18688         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
18689         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
18690         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
18691         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
18692         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
18693         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
18694         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
18695         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
18696         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
18697         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
18698
18699 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18700
18701         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
18702         * lib/ioctl.c: Include <sys/ioctl.h>.
18703
18704 2009-01-19  Simon Josefsson  <simon@josefsson.org>
18705
18706         * modules/getdate-tests (Depends-on): Add progname.
18707         * tests/test-getdate.c: Use progname module, to avoid link errors
18708         on non-glibc systems.
18709
18710 2009-01-18  Simon Josefsson  <simon@josefsson.org>
18711
18712         * modules/filenamecat-tests (Depends-on): Add progname.
18713         * modules/fstrcmp-tests (Depends-on): Likewise.
18714
18715         * tests/test-filenamecat.c: Use progname module, to avoid link
18716         errors on non-glibc systems.
18717         * tests/test-fstrcmp.c: Likewise.
18718
18719 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
18720
18721         gettimeofday: avoid warning: nested extern declaration of 'localtime'
18722         * lib/gettimeofday.c: Move extern declaration out of function.
18723
18724 2009-01-18  Bruno Haible  <bruno@clisp.org>
18725
18726         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
18727         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
18728         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
18729
18730 2009-01-18  Bruno Haible  <bruno@clisp.org>
18731
18732         * lib/strftime.c (MEMPCPY): Remove unused macro.
18733         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
18734
18735 2009-01-18  Martin Lambers  <marlam@marlam.de>
18736
18737         New module 'link'.
18738         * lib/unistd.in.h (link): New declaration.
18739         * lib/link.c: New file.
18740         * m4/link.m4: New file.
18741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
18742         HAVE_LINK.
18743         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
18744         * modules/link: New file.
18745         * doc/posix-functions/link.texi: Mention the new module.
18746
18747 2009-01-18  Bruno Haible  <bruno@clisp.org>
18748
18749         * tests/test-avltree_list.c (main): Call set_program_name.
18750         * tests/test-avltree_oset.c (main): Likewise.
18751         * tests/test-obstack-printf.c: Include progname.h.
18752         (main): Call set_program_name.
18753         * tests/test-quotearg.c: Include progname.h.
18754         (main): Call set_program_name.
18755         * tests/test-xmemdup0.c: Include progname.h.
18756         (main): Call set_program_name.
18757
18758 2009-01-18  Bruno Haible  <bruno@clisp.org>
18759
18760         New module 'alphasort'.
18761         * lib/dirent.in.h (alphasort): New declaration.
18762         * lib/alphasort.c: New file, from glibc with modifications.
18763         * m4/alphasort.m4: New file.
18764         * modules/alphasort: New file.
18765         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
18766         HAVE_ALPHASORT.
18767         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
18768         HAVE_ALPHASORT.
18769         * doc/posix-functions/alphasort.texi: Mention the new module and the
18770         portability problems.
18771
18772 2009-01-18  Bruno Haible  <bruno@clisp.org>
18773
18774         New module 'scandir'.
18775         * lib/dirent.in.h (scandir): New declaration.
18776         * lib/scandir.c: New file, from glibc with modifications.
18777         * m4/scandir.m4: New file.
18778         * modules/scandir: New file.
18779         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
18780         HAVE_SCANDIR.
18781         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
18782         HAVE_SCANDIR.
18783         * doc/posix-functions/scandir.texi: Mention the new module and the
18784         portability problems.
18785
18786 2009-01-17  Bruno Haible  <bruno@clisp.org>
18787
18788         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
18789         Update documentation.
18790         (func_remove_suffix): Escape all dots in the suffix. Update
18791         documentation.
18792         (func_filter_filelist): Update documentation.
18793         Reported by Ralf Wildenhues.
18794
18795 2009-01-17  Bruno Haible  <bruno@clisp.org>
18796
18797         * modules/dprintf-posix-tests: New file.
18798         * tests/test-dprintf-posix.sh: New file.
18799         * tests/test-dprintf-posix.c: New file.
18800
18801         New modules 'dprintf', 'dprintf-posix'.
18802         * lib/stdio.in.h (dprintf): New declaration.
18803         * lib/dprintf.c: New file.
18804         * m4/dprintf.m4: New file.
18805         * m4/dprintf-posix.m4: New file.
18806         * modules/dprintf: New file.
18807         * modules/dprintf-posix: New file.
18808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
18809         HAVE_DPRINTF, REPLACE_DPRINTF.
18810         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
18811         HAVE_DPRINTF, REPLACE_DPRINTF.
18812         * doc/posix-functions/dprintf.texi: Mention the new modules.
18813
18814 2009-01-17  Bruno Haible  <bruno@clisp.org>
18815
18816         * modules/vdprintf-posix-tests: New file.
18817         * tests/test-vdprintf-posix.sh: New file.
18818         * tests/test-vdprintf-posix.c: New file.
18819
18820         New modules 'vdprintf', 'vdprintf-posix'.
18821         * lib/stdio.in.h (vdprintf): New declaration.
18822         * lib/vdprintf.c: New file.
18823         * m4/vdprintf.m4: New file.
18824         * m4/vdprintf-posix.m4: New file.
18825         * modules/vdprintf: New file.
18826         * modules/vdprintf-posix: New file.
18827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
18828         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18829         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
18830         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18831         * doc/posix-functions/vdprintf.texi: Mention the new modules.
18832
18833 2009-01-17  Bruno Haible  <bruno@clisp.org>
18834
18835         Fix replacement of fopen on mingw.
18836         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
18837         mingw.
18838
18839 2009-01-17  Bruno Haible  <bruno@clisp.org>
18840
18841         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
18842         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
18843
18844 2009-01-17  Bruno Haible  <bruno@clisp.org>
18845
18846         Avoid test-fflush2.sh failure on mingw.
18847         * tests/test-fflush2.c: Include binary-io.h.
18848         (main): Put standard input into binary mode.
18849         * modules/fflush-tests (Depends-on): Add binary-io.
18850
18851 2009-01-17  Bruno Haible  <bruno@clisp.org>
18852
18853         * lib/wchar.in.h: In another particular situation, include only the
18854         system's <wchar.h> file.
18855         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
18856         Reported by Albert Chin-A-Young <china@thewrittenword.com>
18857         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
18858
18859 2009-01-17  Bruno Haible  <bruno@clisp.org>
18860
18861         Support for stripping executables in --enable-relocatable.
18862         * build-aux/install-reloc: Expect one more argument, or an environment
18863         variable RELOC_STRIP_PROG. If set, strip the destination program and
18864         its wrapper.
18865         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
18866         RELOC_STRIP_PROG.
18867         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
18868         to set RELOCATABLE_STRIP.
18869         * NEWS: Mention the new Makefile requirement.
18870
18871 2009-01-17  Bruno Haible  <bruno@clisp.org>
18872
18873         * build-aux/install-reloc: Remove debugging information left over by
18874         C compiler on MacOS X.
18875
18876 2009-01-17  Bruno Haible  <bruno@clisp.org>
18877
18878         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
18879         * lib/progreloc.c (find_executable): Fix type of pointer passed to
18880         _NSGetExecutablePath.
18881
18882 2009-01-16  Jim Meyering  <meyering@redhat.com>
18883
18884         strerror: avoid warnings about discarding "const"
18885         * lib/strerror.c (rpl_strerror): Instead of returning a const
18886         string from each and every "case", use a variable, and add a single
18887         cast after the switch.
18888
18889 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
18890
18891         * lib/arpa_inet.in.h: Add extern "C" block for C++.
18892
18893 2009-01-16  Bruno Haible  <bruno@clisp.org>
18894
18895         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
18896         array initializer syntax that also works in C++ mode.
18897         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18898
18899 2009-01-16  Jim Meyering  <meyering@redhat.com>
18900
18901         poll: suppress a warning
18902         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
18903         to ignore "...unsigned expression < 0 is always false" warnings.
18904
18905 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
18906
18907         poll: remove declarations of unused variables
18908         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
18909         sockbuf and optlen.
18910
18911 2009-01-15  Bruno Haible  <bruno@clisp.org>
18912
18913         Make fflush-after-ungetc POSIX compliant on BSD systems.
18914         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
18915         (clear_ungetc_buffer): Implement also for other systems.
18916         (rpl_fflush): On glibc systems, invoke
18917         clear_ungetc_buffer_preserving_position. Otherwise, invoke
18918         clear_ungetc_buffer after fetching the stream's position, not before.
18919
18920 2009-01-15  Bruno Haible  <bruno@clisp.org>
18921
18922         Make fflush-after-ungetc POSIX compliant on glibc systems.
18923         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
18924         after ungetc.
18925         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
18926         (rpl_fflush): On glibc systems, simply call the system's fflush
18927         function after clearing the ungetc buffer.
18928         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
18929         Instead, lseek only to the end of file, then use the system's fseeko
18930         for the rest. On glibc systems, reset the EOF indicator bit.
18931
18932 2009-01-15  Jim Meyering  <meyering@redhat.com>
18933
18934         openmp.m4: revert quote-adding change, for portability to older autoconf
18935         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
18936         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
18937         Simon Josefsson noticed the problem when using autoconf-2.61.
18938
18939 2009-01-15  Bruno Haible  <bruno@clisp.org>
18940
18941         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
18942         * tests/test-fflush2.c (ASSERT): Always fail.
18943         (main): Add two tests for fflush() after ungetc(), taking into account
18944         the Austin Group's clarification.
18945         Suggested by Eric Blake.
18946
18947 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
18948
18949         mktime.m4: remove K&R-style function prototypes
18950         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
18951         for the Sun C++ compiler.
18952
18953 2009-01-14  Bruno Haible  <bruno@clisp.org>
18954
18955         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
18956         while including <wchar.h>.
18957         * lib/wchar.in.h: In two particular situations on HP-UX, include only
18958         the system's <wchar.h> file.
18959         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18960
18961 2009-01-14  Bruno Haible  <bruno@clisp.org>
18962
18963         * m4/csharp.m4: Don't mention gettext on the serial number line.
18964         * m4/csharpexec.m4: Likewise.
18965         * m4/eaccess.m4: Likewise.
18966         * m4/javaexec.m4: Likewise.
18967         * m4/sig_atomic_t.m4: Likewise.
18968         * m4/tmpdir.m4: Likewise.
18969         * m4/intldir.m4: Bump gettext version.
18970         * m4/lib-ld.m4: Likewise.
18971
18972 2009-01-14  Bruno Haible  <bruno@clisp.org>
18973
18974         * lib/progname.c (set_program_name): Add more comments.
18975         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
18976
18977 2009-01-14  Simon Josefsson  <simon@josefsson.org>
18978
18979         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
18980         were sys/stat.h does not define it.
18981
18982 2009-01-14  Jim Meyering  <meyering@redhat.com>
18983
18984         many *.m4 files: improve m4 quoting
18985         99% of this change was performed by running the following commands:
18986         git ls-files | grep '\.m4$' | xargs perl -pi \
18987           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
18988           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18989           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18990           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
18991         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
18992         The remainder were to add Copyright dates, increment serial numbers,
18993         undo some changes in comments, exclude m4/intl.m4, and add quotes
18994         around the "1" in ",1" where the unusual spacing prohibited the
18995         above regexps from doing the job.  For more details, see
18996         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
18997         * m4/acl.m4: Modified.
18998         * m4/afs.m4: Likewise.
18999         * m4/alloca.m4: Likewise.
19000         * m4/argp.m4: Likewise.
19001         * m4/argz.m4: Likewise.
19002         * m4/atexit.m4: Likewise.
19003         * m4/bison-i18n.m4: Likewise.
19004         * m4/bison.m4: Likewise.
19005         * m4/byteswap.m4: Likewise.
19006         * m4/c-stack.m4: Likewise.
19007         * m4/c-strtod.m4: Likewise.
19008         * m4/calloc.m4: Likewise.
19009         * m4/canonicalize-lgpl.m4: Likewise.
19010         * m4/chown.m4: Likewise.
19011         * m4/clock_time.m4: Likewise.
19012         * m4/codeset.m4: Likewise.
19013         * m4/copy-file.m4: Likewise.
19014         * m4/csharp.m4: Likewise.
19015         * m4/csharpcomp.m4: Likewise.
19016         * m4/csharpexec.m4: Likewise.
19017         * m4/d-ino.m4: Likewise.
19018         * m4/d-type.m4: Likewise.
19019         * m4/dirfd.m4: Likewise.
19020         * m4/double-slash-root.m4: Likewise.
19021         * m4/eaccess.m4: Likewise.
19022         * m4/eealloc.m4: Likewise.
19023         * m4/environ.m4: Likewise.
19024         * m4/errno_h.m4: Likewise.
19025         * m4/euidaccess.m4: Likewise.
19026         * m4/execute.m4: Likewise.
19027         * m4/fatal-signal.m4: Likewise.
19028         * m4/fchdir.m4: Likewise.
19029         * m4/fcntl_h.m4: Likewise.
19030         * m4/fileblocks.m4: Likewise.
19031         * m4/filenamecat.m4: Likewise.
19032         * m4/findprog.m4: Likewise.
19033         * m4/flexmember.m4: Likewise.
19034         * m4/fnmatch.m4: Likewise.
19035         * m4/fopen.m4: Likewise.
19036         * m4/fpending.m4: Likewise.
19037         * m4/fprintf-posix.m4: Likewise.
19038         * m4/free.m4: Likewise.
19039         * m4/frexp.m4: Likewise.
19040         * m4/frexpl.m4: Likewise.
19041         * m4/fsusage.m4: Likewise.
19042         * m4/ftruncate.m4: Likewise.
19043         * m4/gc-camellia.m4: Likewise.
19044         * m4/gc-random.m4: Likewise.
19045         * m4/gc.m4: Likewise.
19046         * m4/getaddrinfo.m4: Likewise.
19047         * m4/getcwd-abort-bug.m4: Likewise.
19048         * m4/getcwd-path-max.m4: Likewise.
19049         * m4/getdate.m4: Likewise.
19050         * m4/getdomainname.m4: Likewise.
19051         * m4/getgroups.m4: Likewise.
19052         * m4/gethostname.m4: Likewise.
19053         * m4/gethrxtime.m4: Likewise.
19054         * m4/getline.m4: Likewise.
19055         * m4/getloadavg.m4: Likewise.
19056         * m4/getndelim2.m4: Likewise.
19057         * m4/getpass.m4: Likewise.
19058         * m4/gettext.m4: Likewise.
19059         * m4/gettime.m4: Likewise.
19060         * m4/gettimeofday.m4: Likewise.
19061         * m4/gnulib-common.m4: Likewise.
19062         * m4/group-member.m4: Likewise.
19063         * m4/host-os.m4: Likewise.
19064         * m4/iconv.m4: Likewise.
19065         * m4/iconv_open.m4: Likewise.
19066         * m4/inet_ntop.m4: Likewise.
19067         * m4/inet_pton.m4: Likewise.
19068         * m4/inline.m4: Likewise.
19069         * m4/intldir.m4: Likewise.
19070         * m4/intlmacosx.m4: Likewise.
19071         * m4/intmax.m4: Likewise.
19072         * m4/intmax_t.m4: Likewise.
19073         * m4/inttypes.m4: Likewise.
19074         * m4/inttypes_h.m4: Likewise.
19075         * m4/inttypes-pri.m4: Likewise.
19076         * m4/isapipe.m4: Likewise.
19077         * m4/isnand.m4: Likewise.
19078         * m4/isnanf.m4: Likewise.
19079         * m4/isnanl.m4: Likewise.
19080         * m4/javacomp.m4: Likewise.
19081         * m4/javaexec.m4: Likewise.
19082         * m4/jm-winsz1.m4: Likewise.
19083         * m4/jm-winsz2.m4: Likewise.
19084         * m4/lchown.m4: Likewise.
19085         * m4/lcmessage.m4: Likewise.
19086         * m4/ldexpl.m4: Likewise.
19087         * m4/lib-ld.m4: Likewise.
19088         * m4/lib-link.m4: Likewise.
19089         * m4/libsigsegv.m4: Likewise.
19090         * m4/link-follow.m4: Likewise.
19091         * m4/localcharset.m4: Likewise.
19092         * m4/locale-fr.m4: Likewise.
19093         * m4/locale-ja.m4: Likewise.
19094         * m4/locale-tr.m4: Likewise.
19095         * m4/locale-zh.m4: Likewise.
19096         * m4/lock.m4: Likewise.
19097         * m4/longlong.m4: Likewise.
19098         * m4/ls-mntd-fs.m4: Likewise.
19099         * m4/lstat.m4: Likewise.
19100         * m4/malloc.m4: Likewise.
19101         * m4/mathl.m4: Likewise.
19102         * m4/mbrtowc.m4: Likewise.
19103         * m4/mbstate_t.m4: Likewise.
19104         * m4/mbswidth.m4: Likewise.
19105         * m4/memchr.m4: Likewise.
19106         * m4/memcmp.m4: Likewise.
19107         * m4/memcpy.m4: Likewise.
19108         * m4/memmem.m4: Likewise.
19109         * m4/memmove.m4: Likewise.
19110         * m4/mempcpy.m4: Likewise.
19111         * m4/memrchr.m4: Likewise.
19112         * m4/memset.m4: Likewise.
19113         * m4/minmax.m4: Likewise.
19114         * m4/mkdir-slash.m4: Likewise.
19115         * m4/mkdtemp.m4: Likewise.
19116         * m4/mktime.m4: Likewise.
19117         * m4/mmap-anon.m4: Likewise.
19118         * m4/mountlist.m4: Likewise.
19119         * m4/nanosleep.m4: Likewise.
19120         * m4/nls.m4: Likewise.
19121         * m4/nocrash.m4: Likewise.
19122         * m4/open.m4: Likewise.
19123         * m4/openat.m4: Likewise.
19124         * m4/openmp.m4: Likewise.
19125         * m4/pathmax.m4: Likewise.
19126         * m4/perl.m4: Likewise.
19127         * m4/physmem.m4: Likewise.
19128         * m4/pipe.m4: Likewise.
19129         * m4/po.m4: Likewise.
19130         * m4/poll.m4: Likewise.
19131         * m4/posixtm.m4: Likewise.
19132         * m4/posixver.m4: Likewise.
19133         * m4/printf-frexp.m4: Likewise.
19134         * m4/printf-frexpl.m4: Likewise.
19135         * m4/printf-posix.m4: Likewise.
19136         * m4/printf-posix-rpl.m4: Likewise.
19137         * m4/printf.m4: Likewise.
19138         * m4/progtest.m4: Likewise.
19139         * m4/putenv.m4: Likewise.
19140         * m4/readline.m4: Likewise.
19141         * m4/readlink.m4: Likewise.
19142         * m4/readutmp.m4: Likewise.
19143         * m4/realloc.m4: Likewise.
19144         * m4/regex.m4: Likewise.
19145         * m4/relocatable.m4: Likewise.
19146         * m4/relocatable-lib.m4: Likewise.
19147         * m4/rename-dest-slash.m4: Likewise.
19148         * m4/rename.m4: Likewise.
19149         * m4/rmdir-errno.m4: Likewise.
19150         * m4/rmdir.m4: Likewise.
19151         * m4/roundf.m4: Likewise.
19152         * m4/roundl.m4: Likewise.
19153         * m4/rpmatch.m4: Likewise.
19154         * m4/save-cwd.m4: Likewise.
19155         * m4/selinux-selinux-h.m4: Likewise.
19156         * m4/setenv.m4: Likewise.
19157         * m4/settime.m4: Likewise.
19158         * m4/sig2str.m4: Likewise.
19159         * m4/sig_atomic_t.m4: Likewise.
19160         * m4/signalblocking.m4: Likewise.
19161         * m4/signbit.m4: Likewise.
19162         * m4/sigpipe.m4: Likewise.
19163         * m4/sockets.m4: Likewise.
19164         * m4/sockpfaf.m4: Likewise.
19165         * m4/st_dm_mode.m4: Likewise.
19166         * m4/stat-time.m4: Likewise.
19167         * m4/stdbool.m4: Likewise.
19168         * m4/stdint.m4: Likewise.
19169         * m4/stdint_h.m4: Likewise.
19170         * m4/stpcpy.m4: Likewise.
19171         * m4/stpncpy.m4: Likewise.
19172         * m4/strcase.m4: Likewise.
19173         * m4/strchrnul.m4: Likewise.
19174         * m4/strcspn.m4: Likewise.
19175         * m4/strdup.m4: Likewise.
19176         * m4/strftime.m4: Likewise.
19177         * m4/strndup.m4: Likewise.
19178         * m4/strnlen.m4: Likewise.
19179         * m4/strpbrk.m4: Likewise.
19180         * m4/strptime.m4: Likewise.
19181         * m4/strsep.m4: Likewise.
19182         * m4/strtod.m4: Likewise.
19183         * m4/strtoimax.m4: Likewise.
19184         * m4/strtok_r.m4: Likewise.
19185         * m4/strtol.m4: Likewise.
19186         * m4/strtoll.m4: Likewise.
19187         * m4/strtoul.m4: Likewise.
19188         * m4/strtoull.m4: Likewise.
19189         * m4/strtoumax.m4: Likewise.
19190         * m4/strverscmp.m4: Likewise.
19191         * m4/threadlib.m4: Likewise.
19192         * m4/timegm.m4: Likewise.
19193         * m4/tm_gmtoff.m4: Likewise.
19194         * m4/tmpdir.m4: Likewise.
19195         * m4/tmpfile.m4: Likewise.
19196         * m4/tzset.m4: Likewise.
19197         * m4/uintmax_t.m4: Likewise.
19198         * m4/unlinkdir.m4: Likewise.
19199         * m4/unlocked-io.m4: Likewise.
19200         * m4/uptime.m4: Likewise.
19201         * m4/userspec.m4: Likewise.
19202         * m4/utimbuf.m4: Likewise.
19203         * m4/utime.m4: Likewise.
19204         * m4/utimes-null.m4: Likewise.
19205         * m4/utimes.m4: Likewise.
19206         * m4/vararrays.m4: Likewise.
19207         * m4/vasnprintf.m4: Likewise.
19208         * m4/vfprintf-posix.m4: Likewise.
19209         * m4/vprintf-posix.m4: Likewise.
19210         * m4/wait-process.m4: Likewise.
19211         * m4/wchar_t.m4: Likewise.
19212         * m4/wint_t.m4: Likewise.
19213         * m4/write-any-file.m4: Likewise.
19214         * m4/yield.m4: Likewise.
19215
19216 2009-01-13  Bruno Haible  <bruno@clisp.org>
19217
19218         Avoid test-copy-file.sh failures when ACL support insufficient.
19219         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
19220         TESTS_ENVIRONMENT.
19221         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
19222         Reported by Jim Meyering.
19223
19224 2009-01-13  Bruno Haible  <bruno@clisp.org>
19225
19226         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
19227         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
19228         * modules/unistdio/u8-printf-parse (Files): Likewise.
19229         * modules/unistdio/u32-printf-parse (Files): Likewise.
19230         * modules/unistdio/ulc-printf-parse (Files): Likewise.
19231
19232 2009-01-13  Simon Josefsson  <simon@josefsson.org>
19233
19234         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
19235         and m4/inttypes_h.m4 too.
19236
19237 2009-01-12  Eric Blake  <ebb9@byu.net>
19238
19239         tests: IRIX 6.2 cc can't compile -0.0 into .data
19240         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
19241         rather than at compile-time.
19242         * tests/test-floorl.c (minus_zero): Likewise.
19243         * tests/test-frexpl.c (minus_zero): Likewise.
19244         * tests/test-isnan.c (minus_zerol): Likewise.
19245         * tests/test-isnanl.h (minus_zero): Likewise.
19246         * tests/test-ldexpl.c (minus_zero): Likewise.
19247         * tests/test-roundl.c (minus_zero): Likewise.
19248         * tests/test-signbit.c (minus_zerol): Likewise.
19249         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
19250         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
19251         * tests/test-truncl.c (minus_zero): Likewise.
19252         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
19253         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
19254         Reported by Tom G. Christensen and Nelson H. F. Beebe.
19255
19256 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
19257
19258         regex: fix glibc bug 9697
19259         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
19260         handling.
19261
19262 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
19263
19264         regex: fix glibc bug 697
19265         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
19266         being NULL also if there are no backreferences.
19267
19268 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
19269
19270         regex: merge glibc changes
19271         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
19272         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
19273         re_string_skip_chars, re_string_reconstruct): Likewise.
19274         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
19275
19276 2009-01-07  Jim Meyering  <meyering@redhat.com>
19277
19278         poll: filter through cppi
19279         * lib/poll.c: Indent cpp directives to reflect nesting.
19280
19281 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
19282
19283         poll: don't return uninitialized
19284         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
19285
19286 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
19287
19288         avoid compile failure on AIX 6.1
19289         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
19290         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
19291
19292 2009-01-04  Jim Meyering  <meyering@redhat.com>
19293
19294         remove duplicate inclusion of <stdio.h>
19295         * tests/test-fprintf-posix.c: Likewise.
19296         * tests/test-printf-posix.c: Likewise.
19297         * tests/test-snprintf-posix.c: Likewise.
19298         * tests/test-sprintf-posix.c: Likewise.
19299         * tests/test-vasprintf-posix.c: Likewise.
19300         * tests/test-vfprintf-posix.c: Likewise.
19301         * tests/test-vprintf-posix.c: Likewise.
19302         * tests/test-vsnprintf-posix.c: Likewise.
19303         * tests/test-vsprintf-posix.c: Likewise.
19304
19305 2009-01-03  Jim Meyering  <meyering@redhat.com>
19306
19307         gnulib-tool: fix sed-based filtering
19308         * gnulib-tool (func_filter_filelist): Remove extra backslash
19309         in sed_fff_filter definition.
19310
19311 2009-01-02  Jim Meyering  <meyering@redhat.com>
19312
19313         strftime: avoid compilation failure on Solaris 2.6
19314         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
19315         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
19316         Don't #define mbrlen or mbsinit, since now they're guaranteed to
19317         be available.  Reported by Tom G. Christensen.  Details in
19318         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
19319
19320 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19321             Bruno Haible  <bruno@clisp.org>
19322
19323         Speed up gnulib-tool by doing more string processing through shell
19324         built-ins.
19325         * gnulib-tool (fast_func_append): New variable.
19326         (func_remove_prefix, func_remove_suffix): New functions.
19327         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
19328         (func_filter_filelist): New function.
19329         (func_get_dependencies): Use func_remove_suffix instead of sed.
19330         (func_get_automake_snippet): Use func_filter_filelist instead of a
19331         subshell and sed invocation.
19332
19333 2009-01-01  Bruno Haible  <bruno@clisp.org>
19334
19335         Fix a security bug.
19336         * gnulib-tool (func_import, import, update): Don't allow the characters
19337         '"', '$', '`', '\' in macro arguments that become part of commands that
19338         are evaluated.
19339
19340 2009-01-01  Bruno Haible  <bruno@clisp.org>
19341
19342         * gnulib-tool (func_reset_sigpipe): Add more comments.
19343
19344 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19345
19346         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
19347         func_emit_tests_Makefile_am, func_import): Abort loops early if we
19348         already know the answer.
19349
19350 2009-01-01  Jim Meyering  <meyering@redhat.com>
19351
19352         * lib/version-etc.c (version_etc_va): Update copyright year.
19353
19354 2008-12-30  Bruno Haible  <bruno@clisp.org>
19355
19356         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
19357         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
19358         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
19359
19360 2008-12-29  Eric Blake  <ebb9@byu.net>
19361
19362         multiarch: avoid autoconf AC_REQUIRE bug
19363         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
19364         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
19365         2.63 and older.
19366         Reported by Bruno Haible, and analyzed in
19367         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
19368
19369 2008-12-29  Bruno Haible  <bruno@clisp.org>
19370
19371         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
19372         files in subdirectories correctly.
19373         Reported by Ralf Wildenhues.
19374
19375 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19376
19377         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
19378         rather than 'join FILE -', for Solaris join.
19379
19380 2008-12-29  Bruno Haible  <bruno@clisp.org>
19381
19382         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
19383         quoting.
19384         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
19385         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
19386         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
19387         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
19388         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
19389         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
19390         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
19391         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
19392         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
19393         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
19394         * m4/nls.m4 (AM_NLS): Likewise.
19395         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
19396         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
19397         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
19398         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
19399         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
19400         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
19401         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
19402         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
19403         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
19404         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
19405         * m4/xsize.m4 (gl_XSIZE): Likewise.
19406         Suggested by Jim Meyering.
19407
19408 2008-11-17  Bruce Korb  <bkorb@gnu.org>
19409
19410         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
19411         * lib/parse-duration.c: use a switch instead of cascading if's.
19412
19413 2008-12-29  Eric Blake  <ebb9@byu.net>
19414
19415         wchar.h: supply WEOF on Irix 5.3
19416         * lib/wchar.in.h (wint_t): Also supply WEOF.
19417         * lib/wctype.in.h (wint_t): Likewise.
19418         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
19419         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
19420         Reported by Tom G. Christensen.
19421
19422 2008-12-26  Bruno Haible  <bruno@clisp.org>
19423
19424         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
19425         i486, i586, i686.
19426
19427 2008-12-26  Bruno Haible  <bruno@clisp.org>
19428
19429         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
19430
19431 2008-12-26  Bruno Haible  <bruno@clisp.org>
19432
19433         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
19434         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
19435         not __STDC_CONSTANT_MACROS.
19436         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
19437
19438 2008-12-25  Bruno Haible  <bruno@clisp.org>
19439
19440         Add support for universal builds to vasnprintf.
19441         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
19442         universal builds, guess no.
19443         * modules/vasnprintf-posix (Depends-on): Add multiarch.
19444         * modules/vasprintf-posix (Depends-on): Likewise.
19445         * modules/fprintf-posix (Depends-on): Likewise.
19446         * modules/vfprintf-posix (Depends-on): Likewise.
19447         * modules/snprintf-posix (Depends-on): Likewise.
19448         * modules/vsnprintf-posix (Depends-on): Likewise.
19449         * modules/sprintf-posix (Depends-on): Likewise.
19450         * modules/vsprintf-posix (Depends-on): Likewise.
19451         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19452         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19453         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19454         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19455         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19456         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19457         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19458
19459         Add support for universal builds to <inttypes.h>.
19460         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
19461         _SCNu64_PREFIX): In Apple
19462         universal builds, define directly, using _LP64.
19463         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
19464         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
19465         * modules/inttypes (Depends-on): Add multiarch.
19466         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
19467
19468         Add support for universal builds to <stdint.h>.
19469         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
19470         universal builds, define directly, using _LP64.
19471         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
19472         Apple universal builds, don't test for the size and suffix of ptrdiff_t
19473         and size_t.
19474         * modules/stdint (Depends-on): Add multiarch.
19475         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
19476
19477         New module 'multiarch'.
19478         * modules/multiarch: New file.
19479         * m4/multiarch.m4: New file.
19480
19481 2008-12-25  Bruno Haible  <bruno@clisp.org>
19482
19483         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
19484
19485 2008-12-25  Bruno Haible  <bruno@clisp.org>
19486
19487         * modules/btowc (License): Relicense under LGPLv2+.
19488         * modules/mbsinit (License): Likewise.
19489         * modules/mbrtowc (License): Likewise.
19490         * modules/wcrtomb (License): Likewise.
19491         * modules/streq (License): Likewise.
19492         Reported by David Lutterkort <lutter@redhat.com>.
19493
19494 2008-12-23  Bruno Haible  <bruno@clisp.org>
19495
19496         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
19497
19498 2008-12-23  Bruno Haible  <bruno@clisp.org>
19499
19500         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
19501         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
19502         GETADDRINFO_LIB, not in LIBS.
19503         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
19504         * modules/canon-host (Link): Likewise.
19505         * NEWS: Mention the change.
19506         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
19507         GETADDRINFO_LIB.
19508
19509 2008-12-22  Bruno Haible  <bruno@clisp.org>
19510
19511         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
19512         * doc/posix-functions/iswalpha_l.texi: Likewise.
19513         * doc/posix-functions/iswblank_l.texi: Likewise.
19514         * doc/posix-functions/iswcntrl_l.texi: Likewise.
19515         * doc/posix-functions/iswctype_l.texi: Likewise.
19516         * doc/posix-functions/iswdigit_l.texi: Likewise.
19517         * doc/posix-functions/iswgraph_l.texi: Likewise.
19518         * doc/posix-functions/iswlower_l.texi: Likewise.
19519         * doc/posix-functions/iswprint_l.texi: Likewise.
19520         * doc/posix-functions/iswpunct_l.texi: Likewise.
19521         * doc/posix-functions/iswspace_l.texi: Likewise.
19522         * doc/posix-functions/iswupper_l.texi: Likewise.
19523         * doc/posix-functions/iswxdigit_l.texi: Likewise.
19524         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
19525         * doc/posix-functions/open_wmemstream.texi: Likewise.
19526         * doc/posix-functions/swscanf.texi: Likewise.
19527         * doc/posix-functions/towctrans_l.texi: Likewise.
19528         * doc/posix-functions/towlower.texi: Likewise.
19529         * doc/posix-functions/towlower_l.texi: Likewise.
19530         * doc/posix-functions/towupper.texi: Likewise.
19531         * doc/posix-functions/towupper_l.texi: Likewise.
19532         * doc/posix-functions/vfwprintf.texi: Likewise.
19533         * doc/posix-functions/vfwscanf.texi: Likewise.
19534         * doc/posix-functions/vswscanf.texi: Likewise.
19535         * doc/posix-functions/vwprintf.texi: Likewise.
19536         * doc/posix-functions/vwscanf.texi: Likewise.
19537         * doc/posix-functions/wcpcpy.texi: Likewise.
19538         * doc/posix-functions/wcpncpy.texi: Likewise.
19539         * doc/posix-functions/wcscasecmp.texi: Likewise.
19540         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
19541         * doc/posix-functions/wcscoll_l.texi: Likewise.
19542         * doc/posix-functions/wcsdup.texi: Likewise.
19543         * doc/posix-functions/wcsncasecmp.texi: Likewise.
19544         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
19545         * doc/posix-functions/wcsnlen.texi: Likewise.
19546         * doc/posix-functions/wcsnrtombs.texi: Likewise.
19547         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
19548         * doc/posix-functions/wctrans_l.texi: Likewise.
19549         * doc/posix-functions/wctype_l.texi: Likewise.
19550         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
19551         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
19552         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
19553         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
19554         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
19555         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
19556         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
19557         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
19558         * doc/glibc-functions/wcschrnul.texi: Likewise.
19559         * doc/glibc-functions/wcsftime_l.texi: Likewise.
19560         * doc/glibc-functions/wcstod_l.texi: Likewise.
19561         * doc/glibc-functions/wcstof_l.texi: Likewise.
19562         * doc/glibc-functions/wcstol_l.texi: Likewise.
19563         * doc/glibc-functions/wcstold_l.texi: Likewise.
19564         * doc/glibc-functions/wcstoll_l.texi: Likewise.
19565         * doc/glibc-functions/wcstoq.texi: Likewise.
19566         * doc/glibc-functions/wcstoul_l.texi: Likewise.
19567         * doc/glibc-functions/wcstoull_l.texi: Likewise.
19568         * doc/glibc-functions/wcstouq.texi: Likewise.
19569         * doc/glibc-functions/wmempcpy.texi: Likewise.
19570
19571 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
19572             Eric Blake  <ebb9@byu.net>
19573             Paolo Bonzini  <bonzini@gnu.org>
19574             Bruno Haible  <bruno@clisp.org>
19575
19576         Make c-stack work on Haiku.
19577         * lib/c-stack.c (SA_ONSTACK): Define fallback.
19578         (c_stack_action): Use SA_ONSTACK flag.
19579
19580 2008-12-22  Bruno Haible  <bruno@clisp.org>
19581
19582         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
19583
19584 2008-12-22  Bruno Haible  <bruno@clisp.org>
19585
19586         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
19587         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
19588         being overridden.
19589         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
19590         New macros.
19591         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
19592         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
19593         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
19594         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
19595
19596 2008-12-22  Bruno Haible  <bruno@clisp.org>
19597
19598         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
19599         from test code.
19600
19601 2008-12-22  Eric Blake  <ebb9@byu.net>
19602
19603         Avoid gcc warnings on cygwin.
19604         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
19605         Avoid unused variable.
19606         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
19607         Likewise.
19608
19609 2008-12-22  Bruno Haible  <bruno@clisp.org>
19610
19611         Remove HAVE_MBRTOWC conditionals.
19612         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
19613         (mbscasecmp): Assume mbrtowc function.
19614         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
19615         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
19616         * lib/mbschr.c: Include mbuiter.h unconditionally.
19617         (mbschr): Assume mbrtowc function.
19618         * lib/mbscspn.c: Include mbuiter.h unconditionally.
19619         (mbscspn): Assume mbrtowc function.
19620         * lib/mbslen.c: Include mbuiter.h unconditionally.
19621         (mbslen): Assume mbrtowc function.
19622         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
19623         (mbsncasecmp): Assume mbrtowc function.
19624         * lib/mbsnlen.c: Include mbiter.h unconditionally.
19625         (mbsnlen): Assume mbrtowc function.
19626         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
19627         (mbspbrk): Assume mbrtowc function.
19628         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
19629         (mbspcasecmp): Assume mbrtowc function.
19630         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
19631         (mbsrchr): Assume mbrtowc function.
19632         * lib/mbssep.c: Include mbuiter.h unconditionally.
19633         (mbssep): Assume mbrtowc function.
19634         * lib/mbsspn.c: Include mbuiter.h unconditionally.
19635         (mbsspn): Assume mbrtowc function.
19636         * lib/mbsstr.c: Include mbuiter.h unconditionally.
19637         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
19638         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
19639         (mbstok_r): Assume mbrtowc function.
19640         * lib/propername.c: Include mbuiter.h unconditionally.
19641         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
19642         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
19643         (trim2): Assume mbrtowc function.
19644         * lib/mbswidth.c (mbsinit): Remove fallback definition.
19645         (mbsnwidth): Assume mbrtowc function.
19646         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
19647         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
19648         fallback definitions.
19649         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
19650
19651 2008-12-22  Bruno Haible  <bruno@clisp.org>
19652
19653         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
19654
19655 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
19656
19657         * modules/regex: Request emulations for the mb*/wc* functions we need.
19658         * m4/regex.m4: Don't look for those functions here.
19659         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
19660
19661 2008-12-22  Bruno Haible  <bruno@clisp.org>
19662
19663         * modules/fnmatch (Depends-on): Remove duplicated dependency.
19664
19665 2008-12-21  Bruno Haible  <bruno@clisp.org>
19666
19667         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
19668         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
19669         (Include): Remove conditionalization.
19670         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
19671         (Include): Remove conditionalization.
19672         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
19673         (Include): Remove conditionalization.
19674         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
19675         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19676         * NEWS: Mention the change.
19677         Reported by Alan Hourihane <alanh@fairlite.co.uk>
19678         via Sergey Poznyakoff <gray@gnu.org.ua>.
19679
19680 2008-12-21  Bruno Haible  <bruno@clisp.org>
19681
19682         * MODULES.html.sh (Extended multibyte and wide character utilities
19683         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
19684         wcrtomb, wcsrtombs.
19685         (Support for systems lacking POSIX:2008): Add accept, bind, close,
19686         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
19687         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
19688         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
19689
19690 2008-12-21  Bruno Haible  <bruno@clisp.org>
19691
19692         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
19693
19694 2008-12-21  Bruno Haible  <bruno@clisp.org>
19695
19696         * modules/wcsnrtombs-tests: New file.
19697         * tests/test-wcsnrtombs1.sh: New file.
19698         * tests/test-wcsnrtombs2.sh: New file.
19699         * tests/test-wcsnrtombs3.sh: New file.
19700         * tests/test-wcsnrtombs4.sh: New file.
19701         * tests/test-wcsnrtombs.c: New file.
19702
19703         New module 'wcsnrtombs'.
19704         * lib/wchar.in.h (wcsnrtombs): New declaration.
19705         * lib/wcsnrtombs.c: New file.
19706         * lib/wcsrtombs-state.c: New file.
19707         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
19708         (internal_state): Remove variable.
19709         * m4/wcsnrtombs.m4: New file.
19710         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
19711         compilation units.
19712         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
19713         HAVE_WCSNRTOMBS.
19714         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
19715         HAVE_WCSNRTOMBS.
19716         * modules/wcsnrtombs: New file.
19717         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
19718         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
19719
19720 2008-12-21  Bruno Haible  <bruno@clisp.org>
19721
19722         * modules/wcsrtombs-tests: New file.
19723         * tests/test-wcsrtombs1.sh: New file.
19724         * tests/test-wcsrtombs2.sh: New file.
19725         * tests/test-wcsrtombs3.sh: New file.
19726         * tests/test-wcsrtombs4.sh: New file.
19727         * tests/test-wcsrtombs.c: New file.
19728
19729         New module 'wcsrtombs'.
19730         * lib/wchar.in.h (wcsrtombs): New declaration.
19731         * lib/wcsrtombs.c: New file.
19732         * m4/wcsrtombs.m4: New file.
19733         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
19734         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19735         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
19736         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
19737         * modules/wcsrtombs: New file.
19738         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
19739         bugs.
19740
19741 2008-12-21  Bruno Haible  <bruno@clisp.org>
19742
19743         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
19744         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
19745         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
19746         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
19747         if not correct.
19748         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
19749         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
19750         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19751         m4/locale-zh.m4, m4/codeset.m4.
19752         * doc/posix-functions/wcrtomb.texi: Document the bug.
19753
19754 2008-12-21  Bruno Haible  <bruno@clisp.org>
19755
19756         Work around a btowc() bug on IRIX 6.5.
19757         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
19758         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
19759         REPLACE_WTOBC if not.
19760         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
19761         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
19762         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
19763
19764 2008-12-21  Bruno Haible  <bruno@clisp.org>
19765
19766         * modules/wcrtomb-tests: New file.
19767         * tests/test-wcrtomb.sh: New file.
19768         * tests/test-wcrtomb.c: New file.
19769
19770         New module 'wcrtomb'.
19771         * lib/wchar.in.h (wcrtomb): New declaration.
19772         * lib/wcrtomb.c: New file.
19773         * m4/wcrtomb.m4: New file.
19774         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
19775         HAVE_WCRTOMB.
19776         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
19777         HAVE_WCRTOMB.
19778         * modules/wcrtomb: New file.
19779         * doc/posix-functions/wcrtomb.texi: Mention the new module.
19780
19781 2008-12-21  Bruno Haible  <bruno@clisp.org>
19782
19783         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
19784         * modules/mbsrtowcs (Files): Likewise.
19785         * modules/wctob (Files): Likewise.
19786         * modules/c-strcase-tests (Files): Likewise.
19787         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19788         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19789         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19790         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19791         * modules/vasnprintf-posix-tests (Files): Likewise.
19792
19793 2008-12-21  William Pursell  <bill.pursell@gmail.com>
19794
19795         gitlog-to-changelog: pass all command-line arguments to git-log
19796         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
19797         it is sometimes convenient to filter the commits in various ways.
19798         gitlog-to-changelog only allows --since to specify a start date,
19799         but git-log itself supports many other filtering mechanisms.
19800         At the moment, I want to filter by branch name.  Rather than
19801         adding a --branch option to gitlog-to-changelog, it seems more
19802         flexible to simply pass all options directly to git-log and let
19803         git do the work.  Notice that this effectively makes --since a
19804         redundant option for gitlog-to-changelog, but removing it would
19805         require current usage to change since calls would then require
19806         an additional '--'.
19807
19808 2008-12-21  Bruno Haible  <bruno@clisp.org>
19809
19810         * modules/mbsnrtowcs-tests: New file.
19811         * tests/test-mbsnrtowcs1.sh: New file.
19812         * tests/test-mbsnrtowcs2.sh: New file.
19813         * tests/test-mbsnrtowcs3.sh: New file.
19814         * tests/test-mbsnrtowcs4.sh: New file.
19815         * tests/test-mbsnrtowcs.c: New file.
19816
19817         New module 'mbsnrtowcs'.
19818         * lib/wchar.in.h (mbsnrtowcs): New declaration.
19819         * lib/mbsnrtowcs.c: New file.
19820         * lib/mbsrtowcs-state.c: New file.
19821         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
19822         (internal_state): Remove variable.
19823         * m4/mbsnrtowcs.m4: New file.
19824         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
19825         compilation units.
19826         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
19827         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19828         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
19829         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19830         * modules/mbsnrtowcs: New file.
19831         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
19832         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
19833         portability problem.
19834
19835 2008-12-21  Bruno Haible  <bruno@clisp.org>
19836
19837         Work around mbsrtowcs bug.
19838         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
19839         (gl_FUNC_MBSRTOWCS): Invoke it.
19840         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19841         m4/locale-zh.m4.
19842         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
19843
19844 2008-12-21  Bruno Haible  <bruno@clisp.org>
19845
19846         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
19847
19848 2008-12-21  Bruno Haible  <bruno@clisp.org>
19849
19850         Update doc for AIX.
19851         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
19852         16-bit wchar_t type.
19853         * doc/posix-functions/btowc.texi: Likewise.
19854         * doc/posix-functions/fgetwc.texi: Likewise.
19855         * doc/posix-functions/fgetws.texi: Likewise.
19856         * doc/posix-functions/fputwc.texi: Likewise.
19857         * doc/posix-functions/fputws.texi: Likewise.
19858         * doc/posix-functions/fwide.texi: Likewise.
19859         * doc/posix-functions/fwprintf.texi: Likewise.
19860         * doc/posix-functions/fwscanf.texi: Likewise.
19861         * doc/posix-functions/getwchar.texi: Likewise.
19862         * doc/posix-functions/getwc.texi: Likewise.
19863         * doc/posix-functions/iswalnum.texi: Likewise.
19864         * doc/posix-functions/iswalpha.texi: Likewise.
19865         * doc/posix-functions/iswblank.texi: Likewise.
19866         * doc/posix-functions/iswcntrl.texi: Likewise.
19867         * doc/posix-functions/iswctype.texi: Likewise.
19868         * doc/posix-functions/iswdigit.texi: Likewise.
19869         * doc/posix-functions/iswgraph.texi: Likewise.
19870         * doc/posix-functions/iswlower.texi: Likewise.
19871         * doc/posix-functions/iswprint.texi: Likewise.
19872         * doc/posix-functions/iswpunct.texi: Likewise.
19873         * doc/posix-functions/iswspace.texi: Likewise.
19874         * doc/posix-functions/iswupper.texi: Likewise.
19875         * doc/posix-functions/iswxdigit.texi: Likewise.
19876         * doc/posix-functions/mbrtowc.texi: Likewise.
19877         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19878         * doc/posix-functions/mbstowcs.texi: Likewise.
19879         * doc/posix-functions/mbtowc.texi: Likewise.
19880         * doc/posix-functions/putwchar.texi: Likewise.
19881         * doc/posix-functions/putwc.texi: Likewise.
19882         * doc/posix-functions/swprintf.texi: Likewise.
19883         * doc/posix-functions/tolower.texi: Likewise.
19884         * doc/posix-functions/toupper.texi: Likewise.
19885         * doc/posix-functions/towctrans.texi: Likewise.
19886         * doc/posix-functions/ungetwc.texi: Likewise.
19887         * doc/posix-functions/vswprintf.texi: Likewise.
19888         * doc/posix-functions/wcrtomb.texi: Likewise.
19889         * doc/posix-functions/wcscat.texi: Likewise.
19890         * doc/posix-functions/wcschr.texi: Likewise.
19891         * doc/posix-functions/wcscmp.texi: Likewise.
19892         * doc/posix-functions/wcscoll.texi: Likewise.
19893         * doc/posix-functions/wcscpy.texi: Likewise.
19894         * doc/posix-functions/wcscspn.texi: Likewise.
19895         * doc/posix-functions/wcsftime.texi: Likewise.
19896         * doc/posix-functions/wcslen.texi: Likewise.
19897         * doc/posix-functions/wcsncat.texi: Likewise.
19898         * doc/posix-functions/wcsncmp.texi: Likewise.
19899         * doc/posix-functions/wcsncpy.texi: Likewise.
19900         * doc/posix-functions/wcspbrk.texi: Likewise.
19901         * doc/posix-functions/wcsrchr.texi: Likewise.
19902         * doc/posix-functions/wcsrtombs.texi: Likewise.
19903         * doc/posix-functions/wcsspn.texi: Likewise.
19904         * doc/posix-functions/wcsstr.texi: Likewise.
19905         * doc/posix-functions/wcstod.texi: Likewise.
19906         * doc/posix-functions/wcstof.texi: Likewise.
19907         * doc/posix-functions/wcstoimax.texi: Likewise.
19908         * doc/posix-functions/wcstok.texi: Likewise.
19909         * doc/posix-functions/wcstold.texi: Likewise.
19910         * doc/posix-functions/wcstoll.texi: Likewise.
19911         * doc/posix-functions/wcstol.texi: Likewise.
19912         * doc/posix-functions/wcstombs.texi: Likewise.
19913         * doc/posix-functions/wcstoull.texi: Likewise.
19914         * doc/posix-functions/wcstoul.texi: Likewise.
19915         * doc/posix-functions/wcstoumax.texi: Likewise.
19916         * doc/posix-functions/wcswidth.texi: Likewise.
19917         * doc/posix-functions/wcsxfrm.texi: Likewise.
19918         * doc/posix-functions/wctob.texi: Likewise.
19919         * doc/posix-functions/wctomb.texi: Likewise.
19920         * doc/posix-functions/wctrans.texi: Likewise.
19921         * doc/posix-functions/wctype.texi: Likewise.
19922         * doc/posix-functions/wcwidth.texi: Likewise.
19923         * doc/posix-functions/wmemchr.texi: Likewise.
19924         * doc/posix-functions/wmemcmp.texi: Likewise.
19925         * doc/posix-functions/wmemcpy.texi: Likewise.
19926         * doc/posix-functions/wmemmove.texi: Likewise.
19927         * doc/posix-functions/wmemset.texi: Likewise.
19928         * doc/posix-functions/wprintf.texi: Likewise.
19929         * doc/posix-functions/wscanf.texi: Likewise.
19930
19931 2008-12-21  Bruno Haible  <bruno@clisp.org>
19932
19933         Update doc for HP-UX 11.11.
19934         * doc/posix-functions/btowc.texi: Clarify that the function is missing
19935         in HP-UX version 11.00, not in all versions of HP-UX 11.
19936         * doc/posix-functions/fwide.texi: Likewise.
19937         * doc/posix-functions/fwprintf.texi: Likewise.
19938         * doc/posix-functions/fwscanf.texi: Likewise.
19939         * doc/posix-functions/inet_ntop.texi: Likewise.
19940         * doc/posix-functions/inet_pton.texi: Likewise.
19941         * doc/posix-functions/mbrlen.texi: Likewise.
19942         * doc/posix-functions/mbrtowc.texi: Likewise.
19943         * doc/posix-functions/mbsinit.texi: Likewise.
19944         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19945         * doc/posix-functions/swprintf.texi: Likewise.
19946         * doc/posix-functions/swscanf.texi: Likewise.
19947         * doc/posix-functions/towctrans.texi: Likewise.
19948         * doc/posix-functions/vfwprintf.texi: Likewise.
19949         * doc/posix-functions/vswprintf.texi: Likewise.
19950         * doc/posix-functions/vwprintf.texi: Likewise.
19951         * doc/posix-functions/wcrtomb.texi: Likewise.
19952         * doc/posix-functions/wcsrtombs.texi: Likewise.
19953         * doc/posix-functions/wcsstr.texi: Likewise.
19954         * doc/posix-functions/wctob.texi: Likewise.
19955         * doc/posix-functions/wctrans.texi: Likewise.
19956         * doc/posix-functions/wmemchr.texi: Likewise.
19957         * doc/posix-functions/wmemcmp.texi: Likewise.
19958         * doc/posix-functions/wmemcpy.texi: Likewise.
19959         * doc/posix-functions/wmemmove.texi: Likewise.
19960         * doc/posix-functions/wmemset.texi: Likewise.
19961         * doc/posix-functions/wprintf.texi: Likewise.
19962         * doc/posix-functions/wscanf.texi: Likewise.
19963
19964 2008-12-21  Bruno Haible  <bruno@clisp.org>
19965
19966         Work around a portability problem.
19967         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
19968         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
19969
19970 2008-12-20  Bruno Haible  <bruno@clisp.org>
19971
19972         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
19973         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
19974         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
19975         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
19976         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
19977
19978         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
19979         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
19980         set.
19981         (GNULIB_defined_mbstate_t): New macro.
19982         (mbsinit): Redefine if REPLACE_MBSINIT is set.
19983         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
19984         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
19985         reuses the system's mbrtowc function but works around the bugs.
19986         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
19987         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
19988         macros.
19989         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
19990         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
19991         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
19992         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
19993         REPLACE_MBSINIT if mbsinit needs to be overridden.
19994         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
19995         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19996         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
19997         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19998         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19999         m4/locale-zh.m4.
20000         (Depends): Add mbsinit.
20001         * modules/mbsinit (Depends): Add mbrtowc.
20002         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
20003
20004 2008-12-20  Bruno Haible  <bruno@clisp.org>
20005
20006         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
20007         so that there are no conversion errors on AIX.
20008         * tests/test-mbsrtowcs.c (main): LIkewise.
20009
20010 2008-12-20  Bruno Haible  <bruno@clisp.org>
20011
20012         Work around wctob bug on Solaris <= 9.
20013         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
20014         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
20015         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
20016         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
20017         * modules/wctob (Files): Add m4/locale-fr.m4.
20018         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
20019
20020 2008-12-20  Bruno Haible  <bruno@clisp.org>
20021
20022         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
20023         /dev/null.
20024         * tests/test-select-in.sh: Likewise.
20025         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20026
20027 2008-12-20  Bruno Haible  <bruno@clisp.org>
20028
20029         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
20030         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
20031         Cygwin 1.5.x.
20032
20033 2008-12-20  Bruno Haible  <bruno@clisp.org>
20034
20035         Ensure mbstate_t is defined on HP-UX 11.11.
20036         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
20037         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
20038         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
20039         AC_USE_SYSTEM_EXTENSIONS.
20040         * modules/fnmatch (Depends-on): Add extensions.
20041         * modules/mbrlen (Depends-on): Likewise.
20042         * modules/mbrtowc (Depends-on): Likewise.
20043         * modules/mbsinit (Depends-on): Likewise.
20044         * modules/mbsrtowcs (Depends-on): Likewise.
20045         * modules/mbswidth (Depends-on): Likewise.
20046         * modules/quotearg (Depends-on): Likewise.
20047         * modules/strftime (Depends-on): Likewise.
20048
20049 2008-12-20  Bruno Haible  <bruno@clisp.org>
20050
20051         Ensure wctob is declared on IRIX 6.5.
20052         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
20053         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
20054         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
20055         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
20056         of HAVE_WCTOB.
20057         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
20058         HAVE_WCTOB.
20059         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
20060
20061 2008-12-19  Bruno Haible  <bruno@clisp.org>
20062
20063         * modules/mbsrtowcs-tests: New file.
20064         * tests/test-mbsrtowcs1.sh: New file.
20065         * tests/test-mbsrtowcs2.sh: New file.
20066         * tests/test-mbsrtowcs3.sh: New file.
20067         * tests/test-mbsrtowcs4.sh: New file.
20068         * tests/test-mbsrtowcs.c: New file.
20069
20070         New module 'mbsrtowcs'.
20071         * lib/wchar.in.h (mbsrtowcs): New declaration.
20072         * lib/mbsrtowcs.c: New file.
20073         * m4/mbsrtowcs.m4: New file.
20074         * modules/mbsrtowcs: New file.
20075         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
20076         HAVE_MBSRTOWCS.
20077         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
20078         HAVE_MBSRTOWCS.
20079         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
20080
20081 2008-12-19  Bruno Haible  <bruno@clisp.org>
20082
20083         New module 'mbrlen'.
20084         * lib/wchar.in.h (mbrlen): New declaration.
20085         * lib/mbrlen.c: New file.
20086         * m4/mbrlen.m4: New file.
20087         * modules/mbrlen: New file.
20088         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
20089         HAVE_MBRLEN.
20090         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
20091         HAVE_MBRLEN.
20092         * doc/posix-functions/mbrlen.texi: Document the new module.
20093
20094 2008-12-19  Bruno Haible  <bruno@clisp.org>
20095
20096         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
20097         * modules/mbrtowc (Depends-on): Add verify.
20098         Suggested by Paul Eggert.
20099
20100 2008-12-18  Bruno Haible  <bruno@clisp.org>
20101
20102         * modules/mbsinit-tests: New file.
20103         * tests/test-mbsinit.sh: New file.
20104         * tests/test-mbsinit.c: New file.
20105
20106 2008-12-18  Bruno Haible  <bruno@clisp.org>
20107
20108         * modules/mbrtowc-tests: New file.
20109         * tests/test-mbrtowc1.sh: New file.
20110         * tests/test-mbrtowc2.sh: New file.
20111         * tests/test-mbrtowc3.sh: New file.
20112         * tests/test-mbrtowc4.sh: New file.
20113         * tests/test-mbrtowc.c: New file.
20114
20115         New module 'mbrtowc'.
20116         * lib/wchar.in.h (mbstate_t): Override when the system does not have
20117         mbsinit and mbrtowc.
20118         (mbrtowc): New declaration.
20119         * lib/mbrtowc.c: New file.
20120         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
20121         * modules/mbrtowc: New file.
20122         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
20123         HAVE_MBRTOWC.
20124         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
20125         HAVE_MBRTOWC.
20126         * doc/posix-functions/mbrtowc.texi: Document the new module.
20127
20128 2008-12-18  Bruno Haible  <bruno@clisp.org>
20129
20130         New module 'wctob'.
20131         * lib/wchar.in.h (wctob): New declaration.
20132         * lib/wctob.c: New file.
20133         * m4/wctob.m4: New file.
20134         * modules/wctob: New file.
20135         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
20136         HAVE_WCTOB.
20137         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
20138         * doc/posix-functions/wctob.texi: Document the new module.
20139
20140 2008-12-18  Bruno Haible  <bruno@clisp.org>
20141
20142         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
20143         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
20144
20145 2008-12-18  Simon Josefsson  <simon@josefsson.org>
20146
20147         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
20148         G. Christensen" <tgc@jupiterrise.com>.
20149
20150         * lib/flock.c: Need to include errno.h.  Reported by "Tom
20151         G. Christensen" <tgc@jupiterrise.com>.
20152
20153         * lib/flock.c: Need to include string.h.  Reported by "Tom
20154         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
20155         <ebb9@byu.net>.
20156
20157 2008-12-18  Bruno Haible  <bruno@clisp.org>
20158
20159         * m4/locale-ja.m4: New file, from GNU gettext.
20160
20161 2008-12-17  Bruno Haible  <bruno@clisp.org>
20162
20163         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
20164         Suggested by Eric Blake.
20165
20166 2008-12-17  Bruno Haible  <bruno@clisp.org>
20167
20168         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
20169
20170 2008-12-17  Bruno Haible  <bruno@clisp.org>
20171
20172         * lib/mbsinit.c: Include verify.h. Verify an assumption.
20173         * modules/mbsinit (Depends-on): Add verify.
20174         Suggested by Paul Eggert.
20175
20176 2008-12-17  Bruno Haible  <bruno@clisp.org>
20177
20178         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
20179         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
20180         gl_FUNC_MBRTOWC.
20181         * m4/mbiter.m4 (gl_MBITER): LIkewise.
20182         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
20183         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
20184         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
20185         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
20186         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
20187         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
20188         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
20189         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
20190         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
20191         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
20192         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
20193         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
20194         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
20195         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
20196         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
20197         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
20198         * modules/trim (configure.ac): Likewise.
20199
20200 2008-12-17  Bruno Haible  <bruno@clisp.org>
20201
20202         * modules/btowc-tests: New file.
20203         * tests/test-btowc1.sh: New file.
20204         * tests/test-btowc2.sh: New file.
20205         * tests/test-btowc.c: New file.
20206
20207         New module 'btowc'.
20208         * lib/wchar.in.h (btowc): New declaration.
20209         * lib/btowc.c: New file.
20210         * m4/btowc.m4: New file.
20211         * modules/btowc: New file.
20212         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
20213         HAVE_BTOWC.
20214         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
20215         * doc/posix-functions/btowc.texi: Document the new module.
20216
20217 2008-12-17  Bruno Haible  <bruno@clisp.org>
20218
20219         New module 'mbsinit'.
20220         * lib/wchar.in.h (mbsinit): New declaration.
20221         * lib/mbsinit.c: New file.
20222         * m4/mbsinit.m4: New file.
20223         * modules/mbsinit: New file.
20224         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
20225         HAVE_MBSINIT.
20226         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
20227         HAVE_MBSINIT.
20228         * doc/posix-functions/mbsinit.texi: Document the new module.
20229
20230 2008-12-16  Bruno Haible  <bruno@clisp.org>
20231
20232         * lib/unistd.in.h: Add comment.
20233         * tests/test-environ.c: Don't include <stdlib.h>.
20234
20235 2008-12-16  Bruno Haible  <bruno@clisp.org>
20236
20237         * lib/parse-duration.h (parse_duration): Document return value
20238         convention.
20239         * lib/parse-duration.c: Include specification header first. Add
20240         comments.
20241         (_): Remove macro.
20242         (parse_year_month_day, parse_hour_minute_second): Move side effects
20243         outside of strchr call.
20244         (parse_non_iso8601): Move side effects outside of isspace call.
20245         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
20246         call.
20247
20248 2008-12-16  Bruno Haible  <bruno@clisp.org>
20249
20250         * tests/test-parse-duration.sh: Produce no output when the test
20251         succeeds.
20252
20253 2008-12-16  Bruno Haible  <bruno@clisp.org>
20254
20255         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
20256         expressions.
20257
20258 2008-12-15  Bruno Haible  <bruno@clisp.org>
20259
20260         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
20261         * doc/glibc-functions/flistxattr.texi: Likewise.
20262         * doc/glibc-functions/fopencookie.texi: Likewise.
20263         * doc/glibc-functions/fremovexattr.texi: Likewise.
20264         * doc/glibc-functions/fsetxattr.texi: Likewise.
20265         * doc/glibc-functions/getxattr.texi: Likewise.
20266         * doc/glibc-functions/lgetxattr.texi: Likewise.
20267         * doc/glibc-functions/listxattr.texi: Likewise.
20268         * doc/glibc-functions/llistxattr.texi: Likewise.
20269         * doc/glibc-functions/lremovexattr.texi: Likewise.
20270         * doc/glibc-functions/lsetxattr.texi: Likewise.
20271         * doc/glibc-functions/removexattr.texi: Likewise.
20272         * doc/glibc-functions/setxattr.texi: Likewise.
20273         * doc/posix-functions/open_memstream.texi: Likewise.
20274
20275 2008-12-15  Eric Blake  <ebb9@byu.net>
20276
20277         Update doc for cygwin 1.7.
20278         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
20279         functions.
20280         * doc/posix-functions/fchmodat.texi: Likewise.
20281         * doc/posix-functions/fchownat.texi: Likewise.
20282         * doc/posix-functions/fdopendir.texi: Likewise.
20283         * doc/posix-functions/fmemopen.texi: Likewise.
20284         * doc/posix-functions/freeaddrinfo.texi: Likewise.
20285         * doc/posix-functions/fstatat.texi: Likewise.
20286         * doc/posix-functions/futimens.texi: Likewise.
20287         * doc/posix-functions/gai_strerror.texi: Likewise.
20288         * doc/posix-functions/getaddrinfo.texi: Likewise.
20289         * doc/posix-functions/getnameinfo.texi: Likewise.
20290         * doc/posix-functions/if_freenameindex.texi: Likewise.
20291         * doc/posix-functions/if_indextoname.texi: Likewise.
20292         * doc/posix-functions/if_nameindex.texi: Likewise.
20293         * doc/posix-functions/if_nametoindex.texi: Likewise.
20294         * doc/posix-functions/insque.texi: Likewise.
20295         * doc/posix-functions/linkat.texi: Likewise.
20296         * doc/posix-functions/llrint.texi: Likewise.
20297         * doc/posix-functions/llrintf.texi: Likewise.
20298         * doc/posix-functions/llrintl.texi: Likewise.
20299         * doc/posix-functions/lockf.texi: Likewise.
20300         * doc/posix-functions/lrintl.texi: Likewise.
20301         * doc/posix-functions/mkdirat.texi: Likewise.
20302         * doc/posix-functions/mkfifoat.texi: Likewise.
20303         * doc/posix-functions/mknodat.texi: Likewise.
20304         * doc/posix-functions/mq_close.texi: Likewise.
20305         * doc/posix-functions/mq_getattr.texi: Likewise.
20306         * doc/posix-functions/mq_notify.texi: Likewise.
20307         * doc/posix-functions/mq_open.texi: Likewise.
20308         * doc/posix-functions/mq_receive.texi: Likewise.
20309         * doc/posix-functions/mq_send.texi: Likewise.
20310         * doc/posix-functions/mq_setattr.texi: Likewise.
20311         * doc/posix-functions/mq_timedreceive.texi: Likewise.
20312         * doc/posix-functions/mq_timedsend.texi: Likewise.
20313         * doc/posix-functions/mq_unlink.texi: Likewise.
20314         * doc/posix-functions/open_memstream.texi: Likewise.
20315         * doc/posix-functions/openat.texi: Likewise.
20316         * doc/posix-functions/posix_fadvise.texi: Likewise.
20317         * doc/posix-functions/posix_fallocate.texi: Likewise.
20318         * doc/posix-functions/posix_madvise.texi: Likewise.
20319         * doc/posix-functions/posix_memalign.texi: Likewise.
20320         * doc/posix-functions/posix_openpt.texi: Likewise.
20321         * doc/posix-functions/readlinkat.texi: Likewise.
20322         * doc/posix-functions/remque.texi: Likewise.
20323         * doc/posix-functions/renameat.texi: Likewise.
20324         * doc/posix-functions/rintl.texi: Likewise.
20325         * doc/posix-functions/sem_unlink.texi: Likewise.
20326         * doc/posix-functions/shm_open.texi: Likewise.
20327         * doc/posix-functions/shm_unlink.texi: Likewise.
20328         * doc/posix-functions/signgam.texi: Likewise.
20329         * doc/posix-functions/sigset.texi: Likewise.
20330         * doc/posix-functions/stpcpy.texi: Likewise.
20331         * doc/posix-functions/stpncpy.texi: Likewise.
20332         * doc/posix-functions/strerror.texi: Likewise.
20333         * doc/posix-functions/strtod.texi: Likewise.
20334         * doc/posix-functions/symlinkat.texi: Likewise.
20335         * doc/posix-functions/unlinkat.texi: Likewise.
20336         * doc/posix-functions/utimensat.texi: Likewise.
20337         * doc/glibc-functions/bindresvport.texi: Likewise.
20338         * doc/glibc-functions/dn_expand.texi: Likewise.
20339         * doc/glibc-functions/exp10.texi: Likewise.
20340         * doc/glibc-functions/exp10f.texi: Likewise.
20341         * doc/glibc-functions/fgetxattr.texi: Likewise.
20342         * doc/glibc-functions/flistxattr.texi: Likewise.
20343         * doc/glibc-functions/fopencookie.texi: Likewise.
20344         * doc/glibc-functions/freeifaddrs.texi: Likewise.
20345         * doc/glibc-functions/fremovexattr.texi: Likewise.
20346         * doc/glibc-functions/fsetxattr.texi: Likewise.
20347         * doc/glibc-functions/getifaddrs.texi: Likewise.
20348         * doc/glibc-functions/getxattr.texi: Likewise.
20349         * doc/glibc-functions/lgetxattr.texi: Likewise.
20350         * doc/glibc-functions/listxattr.texi: Likewise.
20351         * doc/glibc-functions/llistxattr.texi: Likewise.
20352         * doc/glibc-functions/lremovexattr.texi: Likewise.
20353         * doc/glibc-functions/lsetxattr.texi: Likewise.
20354         * doc/glibc-functions/pow10.texi: Likewise.
20355         * doc/glibc-functions/pow10f.texi: Likewise.
20356         * doc/glibc-functions/rcmd_af.texi: Likewise.
20357         * doc/glibc-functions/removexattr.texi: Likewise.
20358         * doc/glibc-functions/res_init.texi: Likewise.
20359         * doc/glibc-functions/res_mkquery.texi: Likewise.
20360         * doc/glibc-functions/res_query.texi: Likewise.
20361         * doc/glibc-functions/res_querydomain.texi: Likewise.
20362         * doc/glibc-functions/res_send.texi: Likewise.
20363         * doc/glibc-functions/rresvport_af.texi: Likewise.
20364         * doc/glibc-functions/setxattr.texi: Likewise.
20365         * doc/glibc-functions/strcasestr.texi: Likewise.
20366
20367 2008-12-15  Bruno Haible  <bruno@clisp.org>
20368
20369         Fix compilation error on OSF/1 4.0.
20370         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
20371         <sys/time.h>, simply delegate to the system header.
20372         Reported by Daniel Richard G. <oss@teragram.com>.
20373
20374 2008-12-15  Bruno Haible  <bruno@clisp.org>
20375
20376         * doc/posix-functions/openat.texi: Mention the 'openat' module.
20377         * doc/posix-functions/fchmodat.texi: Likewise.
20378         * doc/posix-functions/fchownat.texi: Likewise.
20379         * doc/posix-functions/fdopendir.texi: Likewise.
20380         * doc/posix-functions/fstatat.texi: Likewise.
20381         * doc/posix-functions/mkdirat.texi: Likewise.
20382         * doc/posix-functions/unlinkat.texi: Likewise.
20383
20384 2008-12-14  Bruno Haible  <bruno@clisp.org>
20385
20386         Update doc for POSIX:2008.
20387         * doc/posix-functions/faccessat.texi: New file.
20388         * doc/posix-functions/fchmodat.texi: New file.
20389         * doc/posix-functions/fchownat.texi: New file.
20390         * doc/posix-functions/fdopendir.texi: New file.
20391         * doc/posix-functions/fstatat.texi: New file.
20392         * doc/posix-functions/futimens.texi: New file.
20393         * doc/posix-functions/linkat.texi: New file.
20394         * doc/posix-functions/mkdirat.texi: New file.
20395         * doc/posix-functions/mkfifoat.texi: New file.
20396         * doc/posix-functions/mknodat.texi: New file.
20397         * doc/posix-functions/open_wmemstream.texi: New file.
20398         * doc/posix-functions/openat.texi: New file.
20399         * doc/posix-functions/psiginfo.texi: New file.
20400         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
20401         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
20402         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
20403         * doc/posix-functions/readlinkat.texi: New file.
20404         * doc/posix-functions/renameat.texi: New file.
20405         * doc/posix-functions/strerror_l.texi: New file.
20406         * doc/posix-functions/symlinkat.texi: New file.
20407         * doc/posix-functions/unlinkat.texi: New file.
20408         * doc/posix-functions/utimensat.texi: New file.
20409         * doc/gnulib.texi (Function Substitutes): Add these subsections.
20410
20411 2008-12-14  Bruno Haible  <bruno@clisp.org>
20412
20413         Update doc for POSIX:2008.
20414         * doc/posix-functions/alphasort.texi: Renamed from
20415         doc/glibc-functions/alphasort.texi.
20416         * doc/posix-functions/dirfd.texi: Renamed from
20417         doc/glibc-functions/dirfd.texi.
20418         * doc/posix-functions/dprintf.texi: Renamed from
20419         doc/glibc-functions/dprintf.texi.
20420         * doc/posix-functions/duplocale.texi: Renamed from
20421         doc/glibc-functions/duplocale.texi.
20422         * doc/posix-functions/fexecve.texi: Renamed from
20423         doc/glibc-functions/fexecve.texi.
20424         * doc/posix-functions/fmemopen.texi: Renamed from
20425         doc/glibc-functions/fmemopen.texi.
20426         * doc/posix-functions/freelocale.texi: Renamed from
20427         doc/glibc-functions/freelocale.texi.
20428         * doc/posix-functions/getdate_err.texi: Renamed from
20429         doc/glibc-functions/getdate_err.texi.
20430         * doc/posix-functions/isalnum_l.texi: Renamed from
20431         doc/glibc-functions/isalnum_l.texi.
20432         * doc/posix-functions/isalpha_l.texi: Renamed from
20433         doc/glibc-functions/isalpha_l.texi.
20434         * doc/posix-functions/isblank_l.texi: Renamed from
20435         doc/glibc-functions/isblank_l.texi.
20436         * doc/posix-functions/iscntrl_l.texi: Renamed from
20437         doc/glibc-functions/iscntrl_l.texi.
20438         * doc/posix-functions/isdigit_l.texi: Renamed from
20439         doc/glibc-functions/isdigit_l.texi.
20440         * doc/posix-functions/isgraph_l.texi: Renamed from
20441         doc/glibc-functions/isgraph_l.texi.
20442         * doc/posix-functions/islower_l.texi: Renamed from
20443         doc/glibc-functions/islower_l.texi.
20444         * doc/posix-functions/isprint_l.texi: Renamed from
20445         doc/glibc-functions/isprint_l.texi.
20446         * doc/posix-functions/ispunct_l.texi: Renamed from
20447         doc/glibc-functions/ispunct_l.texi.
20448         * doc/posix-functions/isspace_l.texi: Renamed from
20449         doc/glibc-functions/isspace_l.texi.
20450         * doc/posix-functions/isupper_l.texi: Renamed from
20451         doc/glibc-functions/isupper_l.texi.
20452         * doc/posix-functions/iswalnum_l.texi: Renamed from
20453         doc/glibc-functions/iswalnum_l.texi.
20454         * doc/posix-functions/iswalpha_l.texi: Renamed from
20455         doc/glibc-functions/iswalpha_l.texi.
20456         * doc/posix-functions/iswblank_l.texi: Renamed from
20457         doc/glibc-functions/iswblank_l.texi.
20458         * doc/posix-functions/iswcntrl_l.texi: Renamed from
20459         doc/glibc-functions/iswcntrl_l.texi.
20460         * doc/posix-functions/iswctype_l.texi: Renamed from
20461         doc/glibc-functions/iswctype_l.texi.
20462         * doc/posix-functions/iswdigit_l.texi: Renamed from
20463         doc/glibc-functions/iswdigit_l.texi.
20464         * doc/posix-functions/iswgraph_l.texi: Renamed from
20465         doc/glibc-functions/iswgraph_l.texi.
20466         * doc/posix-functions/iswlower_l.texi: Renamed from
20467         doc/glibc-functions/iswlower_l.texi.
20468         * doc/posix-functions/iswprint_l.texi: Renamed from
20469         doc/glibc-functions/iswprint_l.texi.
20470         * doc/posix-functions/iswpunct_l.texi: Renamed from
20471         doc/glibc-functions/iswpunct_l.texi.
20472         * doc/posix-functions/iswspace_l.texi: Renamed from
20473         doc/glibc-functions/iswspace_l.texi.
20474         * doc/posix-functions/iswupper_l.texi: Renamed from
20475         doc/glibc-functions/iswupper_l.texi.
20476         * doc/posix-functions/iswxdigit_l.texi: Renamed from
20477         doc/glibc-functions/iswxdigit_l.texi.
20478         * doc/posix-functions/isxdigit_l.texi: Renamed from
20479         doc/glibc-functions/isxdigit_l.texi.
20480         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
20481         doc/glibc-functions/mbsnrtowcs.texi.
20482         * doc/posix-functions/mkdtemp.texi: Renamed from
20483         doc/glibc-functions/mkdtemp.texi.
20484         * doc/posix-functions/newlocale.texi: Renamed from
20485         doc/glibc-functions/newlocale.texi.
20486         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
20487         doc/glibc-functions/nl_langinfo_l.texi.
20488         * doc/posix-functions/open_memstream.texi: Renamed from
20489         doc/glibc-functions/open_memstream.texi.
20490         * doc/posix-functions/opterr.texi: Renamed from
20491         doc/glibc-functions/opterr.texi.
20492         * doc/posix-functions/optind.texi: Renamed from
20493         doc/glibc-functions/optind.texi.
20494         * doc/posix-functions/optopt.texi: Renamed from
20495         doc/glibc-functions/optopt.texi.
20496         * doc/posix-functions/psignal.texi: Renamed from
20497         doc/glibc-functions/psignal.texi.
20498         * doc/posix-functions/scandir.texi: Renamed from
20499         doc/glibc-functions/scandir.texi.
20500         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
20501         doc/glibc-functions/sched_get_priority_min.texi.
20502         * doc/posix-functions/signgam.texi: Renamed from
20503         doc/glibc-functions/signgam.texi.
20504         * doc/posix-functions/stpcpy.texi: Renamed from
20505         doc/glibc-functions/stpcpy.texi.
20506         * doc/posix-functions/stpncpy.texi: Renamed from
20507         doc/glibc-functions/stpncpy.texi.
20508         * doc/posix-functions/strcasecmp_l.texi: Renamed from
20509         doc/glibc-functions/strcasecmp_l.texi.
20510         * doc/posix-functions/strcoll_l.texi: Renamed from
20511         doc/glibc-functions/strcoll_l.texi.
20512         * doc/posix-functions/strfmon_l.texi: Renamed from
20513         doc/glibc-functions/strfmon_l.texi.
20514         * doc/posix-functions/strftime_l.texi: Renamed from
20515         doc/glibc-functions/strftime_l.texi.
20516         * doc/posix-functions/strncasecmp_l.texi: Renamed from
20517         doc/glibc-functions/strncasecmp_l.texi.
20518         * doc/posix-functions/strndup.texi: Renamed from
20519         doc/glibc-functions/strndup.texi.
20520         * doc/posix-functions/strnlen.texi: Renamed from
20521         doc/glibc-functions/strnlen.texi.
20522         * doc/posix-functions/strsignal.texi: Renamed from
20523         doc/glibc-functions/strsignal.texi.
20524         * doc/posix-functions/strxfrm_l.texi: Renamed from
20525         doc/glibc-functions/strxfrm_l.texi.
20526         * doc/posix-functions/timer_gettime.texi: Renamed from
20527         doc/glibc-functions/timer_gettime.texi.
20528         * doc/posix-functions/tolower_l.texi: Renamed from
20529         doc/glibc-functions/tolower_l.texi.
20530         * doc/posix-functions/toupper_l.texi: Renamed from
20531         doc/glibc-functions/toupper_l.texi.
20532         * doc/posix-functions/towctrans_l.texi: Renamed from
20533         doc/glibc-functions/towctrans_l.texi.
20534         * doc/posix-functions/towlower_l.texi: Renamed from
20535         doc/glibc-functions/towlower_l.texi.
20536         * doc/posix-functions/towupper_l.texi: Renamed from
20537         doc/glibc-functions/towupper_l.texi.
20538         * doc/posix-functions/uselocale.texi: Renamed from
20539         doc/glibc-functions/uselocale.texi.
20540         * doc/posix-functions/vdprintf.texi: Renamed from
20541         doc/glibc-functions/vdprintf.texi.
20542         * doc/posix-functions/wcpcpy.texi:
20543         Renamed from doc/glibc-functions/wcpcpy.texi.
20544         * doc/posix-functions/wcpncpy.texi: Renamed from
20545         doc/glibc-functions/wcpncpy.texi.
20546         * doc/posix-functions/wcscasecmp.texi: Renamed from
20547         doc/glibc-functions/wcscasecmp.texi.
20548         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
20549         doc/glibc-functions/wcscasecmp_l.texi.
20550         * doc/posix-functions/wcscoll_l.texi: Renamed from
20551         doc/glibc-functions/wcscoll_l.texi.
20552         * doc/posix-functions/wcsdup.texi: Renamed from
20553         doc/glibc-functions/wcsdup.texi.
20554         * doc/posix-functions/wcsncasecmp.texi: Renamed from
20555         doc/glibc-functions/wcsncasecmp.texi.
20556         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
20557         doc/glibc-functions/wcsncasecmp_l.texi.
20558         * doc/posix-functions/wcsnlen.texi: Renamed from
20559         doc/glibc-functions/wcsnlen.texi.
20560         * doc/posix-functions/wcsnrtombs.texi: Renamed from
20561         doc/glibc-functions/wcsnrtombs.texi.
20562         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
20563         doc/glibc-functions/wcsxfrm_l.texi.
20564         * doc/posix-functions/wctrans_l.texi: Renamed from
20565         doc/glibc-functions/wctrans_l.texi.
20566         * doc/posix-functions/wctype_l.texi: Renamed from
20567         doc/glibc-functions/wctype_l.texi.
20568         * doc/gnulib.texi (Function Substitutes): Add these subsections.
20569         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
20570         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
20571         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
20572         these subsections.
20573         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
20574         Remove sections.
20575
20576 2008-12-14  Bruno Haible  <bruno@clisp.org>
20577
20578         Update doc for POSIX:2008.
20579         * doc/posix-functions/*.texi: Update URL of POSIX specification.
20580
20581 2008-12-14  Bruno Haible  <bruno@clisp.org>
20582
20583         Update doc for POSIX:2008.
20584         * doc/pastposix-functions/bcmp.texi: Renamed from
20585         doc/posix-functions/bcmp.texi.
20586         * doc/pastposix-functions/bcopy.texi: Renamed from
20587         doc/posix-functions/bcopy.texi.
20588         * doc/pastposix-functions/bsd_signal.texi: Renamed from
20589         doc/posix-functions/bsd_signal.texi.
20590         * doc/pastposix-functions/bzero.texi: Renamed from
20591         doc/posix-functions/bzero.texi.
20592         * doc/pastposix-functions/ecvt.texi: Renamed from
20593         doc/posix-functions/ecvt.texi.
20594         * doc/pastposix-functions/fcvt.texi: Renamed from
20595         doc/posix-functions/fcvt.texi.
20596         * doc/pastposix-functions/ftime.texi: Renamed from
20597         doc/posix-functions/ftime.texi.
20598         * doc/pastposix-functions/gcvt.texi: Renamed from
20599         doc/posix-functions/gcvt.texi.
20600         * doc/pastposix-functions/getcontext.texi: Renamed from
20601         doc/posix-functions/getcontext.texi.
20602         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
20603         doc/posix-functions/gethostbyaddr.texi.
20604         * doc/pastposix-functions/gethostbyname.texi: Renamed from
20605         doc/posix-functions/gethostbyname.texi.
20606         * doc/pastposix-functions/getwd.texi: Renamed from
20607         doc/posix-functions/getwd.texi.
20608         * doc/pastposix-functions/h_errno.texi: Renamed from
20609         doc/posix-functions/h_errno.texi.
20610         * doc/pastposix-functions/index.texi: Renamed from
20611         doc/posix-functions/index.texi.
20612         * doc/pastposix-functions/makecontext.texi: Renamed from
20613         doc/posix-functions/makecontext.texi.
20614         * doc/pastposix-functions/mktemp.texi: Renamed from
20615         doc/posix-functions/mktemp.texi.
20616         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
20617         doc/posix-functions/pthread_attr_getstackaddr.texi.
20618         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
20619         doc/posix-functions/pthread_attr_setstackaddr.texi.
20620         * doc/pastposix-functions/rindex.texi: Renamed from
20621         doc/posix-functions/rindex.texi.
20622         * doc/pastposix-functions/scalb.texi: Renamed from
20623         doc/posix-functions/scalb.texi.
20624         * doc/pastposix-functions/setcontext.texi: Renamed from
20625         doc/posix-functions/setcontext.texi.
20626         * doc/pastposix-functions/swapcontext.texi: Renamed from
20627         doc/posix-functions/swapcontext.texi.
20628         * doc/pastposix-functions/ualarm.texi: Renamed from
20629         doc/posix-functions/ualarm.texi.
20630         * doc/pastposix-functions/usleep.texi: Renamed from
20631         doc/posix-functions/usleep.texi.
20632         * doc/pastposix-functions/vfork.texi: Renamed from
20633         doc/posix-functions/vfork.texi.
20634         * doc/pastposix-functions/wcswcs.texi: Renamed from
20635         doc/posix-functions/wcswcs.texi.
20636         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
20637         (Function Substitutes): Update.
20638
20639 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20640
20641         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
20642         m4/strerror.m4.
20643
20644 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20645             Bruno Haible  <bruno@clisp.org>
20646
20647         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
20648
20649 2008-12-13  Bruno Haible  <bruno@clisp.org>
20650
20651         * modules/strtoull (Depends-on): Remove unistd.
20652
20653 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20654
20655         * modules/strtoull (Depends-on): Add stdlib.
20656
20657 2008-12-11  Simon Josefsson  <simon@josefsson.org>
20658
20659         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
20660
20661 2008-12-10  Jim Meyering  <meyering@redhat.com>
20662
20663         gl_ASSERT: don't say assertions are disabled when they're not
20664         * m4/assert.m4 (gl_ASSERT): Do not make configure report
20665         "checking whether to enable assertions... no", when they are in
20666         fact enabled.  This is solely a bug in the output of configure.
20667         In spite of saying "no", NDEBUG was not defined in that case.
20668         Also, as noted by Eric Blake, leave assertions enabled upon
20669         --enable-assert=INVALID.
20670
20671 2008-12-10  Bruno Haible  <bruno@clisp.org>
20672
20673         Change MODULES.html to refer to POSIX:2008 where possible.
20674         * MODULES.html.sh (POSIX2008_URL): New variable.
20675         (posix_headers): Remove sys/timeb, ucontext.
20676         (posix2001_headers): New variable.
20677         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
20678         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
20679         index, makecontext, mktemp, pthread_attr_getstackaddr,
20680         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
20681         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
20682         (posix2001_functions): New variable.
20683         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
20684         otherwise.
20685
20686 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20687
20688         add missing include to parse-duration.c
20689         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
20690         * modules/parse-duration (Depends-on): Add xalloc.
20691
20692         fix sed script reading maint.mk
20693         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
20694         (syntax-check-rules): Use it.
20695
20696 2008-12-09  Bruno Haible  <bruno@clisp.org>
20697
20698         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
20699         MacOS X 10.4/PowerPC.
20700         Reported by Simon Josefsson.
20701
20702 2008-12-08  Jim Meyering  <meyering@redhat.com>
20703
20704         work around mingw's lack of some S_IF definitions
20705         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
20706         Reported by Simon Josefsson.
20707
20708 2008-12-08  Bruno Haible  <bruno@clisp.org>
20709
20710         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
20711         applied to variables. Needed on MacOS X 10.4/PowerPC.
20712         Reported by Simon Josefsson.
20713
20714 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
20715         and Eric Blake  <ebb9@byu.net>
20716
20717         assert: honor --enable-assert
20718         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
20719         order to honor --enable-assert, rather than treating it as a
20720         synonym for --disable-assert.
20721
20722 2008-12-08  Jim Meyering  <meyering@redhat.com>
20723
20724         * lib/posixtm.c: Remove now-useless declaration of mktime.
20725
20726         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
20727
20728 2008-12-07  Bruno Haible  <bruno@clisp.org>
20729
20730         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
20731         test_once): Mark functions as static.
20732         * tests/test-tls.c (test_tls): Likewise.
20733
20734 2008-12-07  Bruno Haible  <bruno@clisp.org>
20735
20736         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
20737         iconv_register_autodetect.
20738
20739 2008-12-07  Jim Meyering  <meyering@redhat.com>
20740
20741         posixtm.c: avoid a warning
20742         * lib/posixtm.c (posixtime): Don't initialize tm0.
20743         It's no longer needed to placate gcc4's -Wuninitialized,
20744         and the attempt to placate would elicit a new warning.
20745
20746         unicodeio.c: mark unused parameters
20747         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20748         (fallback_failure_callback): Likewise.
20749
20750 2008-12-07  Bruno Haible  <bruno@clisp.org>
20751
20752         * gnulib-tool (func_create_testdir): When building the tests
20753         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
20754         Reported by Simon Josefsson.
20755
20756 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20757
20758         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
20759
20760 2008-12-06  Bruno Haible  <bruno@clisp.org>
20761
20762         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
20763         Suggested by Eric Blake.
20764
20765 2008-12-06  Bruno Haible  <bruno@clisp.org>
20766
20767         Fix a c-stack test failure on MacOS X.
20768         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
20769         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
20770         handler for SIGBUS as well.
20771         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
20772         install a signal handler for SIGBUS as well.
20773         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
20774
20775 2008-12-06  Bruno Haible  <bruno@clisp.org>
20776
20777         Advocacy documentation.
20778         * doc/gnulib-intro.texi (Benefits): New section.
20779         * doc/gnulib.texi: Update.
20780
20781 2008-12-06  Bruno Haible  <bruno@clisp.org>
20782
20783         Document the 'manywarnings' module.
20784         * doc/manywarnings.texi: New file.
20785         * doc/gnulib.texi: Include it.
20786
20787 2008-12-05  Eric Blake  <ebb9@byu.net>
20788
20789         tests: silence some gcc warnings
20790         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
20791         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
20792         type mismatches.
20793
20794 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20795             Bruno Haible  <bruno@clisp.org>
20796
20797         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
20798
20799 2008-11-29  Jim Meyering  <meyering@redhat.com>
20800
20801         unicodeio.c: mark unused parameters
20802         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20803         (fallback_failure_callback): Likewise.
20804
20805         fts: fix a thinko
20806         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
20807         (set_stat_type): Return S_IF*-valued "type" directly.
20808         Prompted by James Youngman's spotting a related bug.
20809         Confirmed by further testing through find.
20810
20811         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
20812         * lib/fts.c (D_TYPE): Define.
20813         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
20814         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
20815         (s_ifmt_shift_bits): New function.
20816         (set_stat_type): New function.
20817         (fts_build): When not calling fts_stat, call set_stat_type
20818         to propagate dirent.d_type info to fts_read caller.
20819         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
20820         fts_statp->st_mode type information may be valid.
20821
20822 2008-11-28  Simon Josefsson  <simon@josefsson.org>
20823
20824         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
20825         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
20826         <sds@gnu.org>.
20827
20828 2008-11-20  Bruno Haible  <bruno@clisp.org>
20829
20830         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
20831         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
20832         INCLUDE_NEXT.
20833         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
20834         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
20835         * modules/math (Makefile.am): Substitute
20836         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
20837         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20838
20839 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
20840             Bruno Haible  <bruno@clisp.org>
20841
20842         * lib/stdint.in.h: Define all type macros so that their expansion is
20843         a single typedef'ed token. Fixes a compilation failure in Boost which
20844         does "using ::int8_t;".
20845
20846 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20847
20848         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
20849         gl_MANYWARN_ALL_GCC.
20850         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
20851         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
20852         * modules/manywarnings: New file.
20853         * MODULES.html.sh: Mention manywarnings module.
20854
20855 2008-11-18  Bruno Haible  <bruno@clisp.org>
20856
20857         * doc/gnulib-tool.texi (Unit tests): New section.
20858
20859 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20860
20861         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
20862         paths like 'lib/po/foo.po'.
20863
20864 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20865
20866         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
20867         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
20868
20869 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20870
20871         * m4/warnings.m4: Use CPPFLAGS to really check whether the
20872         parameter works.
20873
20874 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20875
20876         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
20877
20878 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20879
20880         * modules/parse-duration-tests: New file.
20881         * tests/test-parse-duration.sh: New file.
20882         * tests/test-parse-duration.c: New file.
20883
20884         New module 'parse-duration'.
20885         * lib/parse-duration.h: New file.
20886         * lib/parse-duration.c: New file.
20887         * modules/parse-duration: New file.
20888
20889 2008-11-17  Bruno Haible  <bruno@clisp.org>
20890
20891         * tests/test-select-out.sh: Comment out the first pipe test.
20892         Reported by Simon Josefsson.
20893
20894 2008-11-17  Bruno Haible  <bruno@clisp.org>
20895
20896         * modules/getaddrinfo (Depends-on): Add servent, hostent.
20897         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
20898         gl_HOSTENT.
20899
20900 2008-11-17  Bruno Haible  <bruno@clisp.org>
20901
20902         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
20903         -lnetwork and -lnet. Needed for Haiku and BeOS.
20904
20905 2008-11-16  Bruno Haible  <bruno@clisp.org>
20906
20907         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
20908
20909 2008-11-16  Bruno Haible  <bruno@clisp.org>
20910
20911         Avoid test failure on Haiku.
20912         * tests/test-fsync.c: Include <errno.h>.
20913         (main): Don't require that fsync (0) fails.
20914
20915 2008-11-15  Bruno Haible  <bruno@clisp.org>
20916
20917         New module 'hostent'.
20918         * modules/hostent: New file.
20919         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
20920
20921 2008-11-15  Bruno Haible  <bruno@clisp.org>
20922
20923         New module 'servent'.
20924         * modules/servent: New file.
20925         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
20926
20927 2008-11-15  Bruno Haible  <bruno@clisp.org>
20928
20929         Avoid generating same test program with two different rules.
20930         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
20931         test-frexp to test-frexp-nolibm.
20932         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
20933         test-frexpl to test-frexpl-nolibm.
20934
20935 2008-11-15  Bruno Haible  <bruno@clisp.org>
20936
20937         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
20938         $(FREXPL_LIBM).
20939
20940 2008-11-15  Bruno Haible  <bruno@clisp.org>
20941
20942         * lib/netdb.in.h: Activate the definitions also when the system's
20943         <netdb.h> has 'struct addrinfo'.
20944         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
20945         EAI_OVERFLOW or AI_NUMERICSERV.
20946         * doc/posix-headers/netdb.texi: Document the problem.
20947
20948 2008-11-15  Bruno Haible  <bruno@clisp.org>
20949
20950         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
20951
20952         Make the 'sched' module work on platforms where <sched.h> exists but
20953         is incomplete (such as Haiku).
20954         * lib/sched.in.h; Include the system's <sched.h> if it exists.
20955         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
20956         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
20957         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
20958         HAVE_STRUCT_SCHED_PARAM.
20959         * modules/sched (Depends-on): Add include_next.
20960         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
20961         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
20962         * doc/posix-headers/sched.texi: Document the issue.
20963
20964 2008-11-13  Jim Meyering  <meyering@redhat.com>
20965
20966         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
20967         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
20968         test would fail due to the difference in the Report bugs to ...
20969         line.  The expected address is empty, "<>", while the actual
20970         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
20971
20972 2008-11-12  Bruno Haible  <bruno@clisp.org>
20973
20974         lstat: don't compile lstat.c on systems lacking lstat
20975         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
20976         which don't have lstat; this is handled by lib/sys_stat.in.h already.
20977         Reported by Daniel P. Berrange via Jim Meyering.
20978
20979 2008-11-12  Jim Meyering  <meyering@redhat.com>
20980
20981         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
20982
20983 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20984
20985         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
20986         instead.
20987
20988 2008-11-12  Bruno Haible  <bruno@clisp.org>
20989
20990         * lib/unicodeio.c: Include unistr.h.
20991         (utf8_wctomb): Remove function.
20992         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
20993
20994 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20995
20996         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
20997         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
20998         <bruno@clisp.org>.
20999         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
21000
21001 2008-11-12  Simon Josefsson  <simon@josefsson.org>
21002
21003         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
21004         * doc/gnulib.texi: Add section for warnings.
21005
21006 2008-11-11  Bruno Haible  <bruno@clisp.org>
21007
21008         * lib/sockets.h: Add a comment.
21009
21010 2008-11-11  Karl Berry  <karl@gnu.org>
21011
21012         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
21013
21014 2008-11-11  Eric Blake  <ebb9@byu.net>
21015
21016         fdl.texi: avoid git symlinks
21017         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
21018
21019 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
21020
21021         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
21022
21023 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
21024
21025         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
21026         (gl_WARN_ADD): Substitute $2 if literal.
21027
21028 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
21029
21030         * m4/warning.m4: Remove.
21031
21032 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
21033
21034         * m4/warnings.m4: Almost complete rewrite. :-)
21035
21036 2008-11-10  Simon Josefsson  <simon@josefsson.org>
21037
21038         * modules/warnings: New module.
21039         * m4/warnings.m4: New file.
21040         * MODULES.html.sh: Mention warnings module.
21041         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
21042         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21043
21044 2008-11-10  Eric Blake  <ebb9@byu.net>
21045
21046         fdl.texi: make a symlink to the latest version
21047         * doc/standards.texi: Revert today's earlier change.
21048         * doc/fdl-1.2.texi: Rename from old fdl.texi...
21049         * doc/fdl.texi: ...and replace this with a symlink to the newer
21050         fdl-1.3.texi.
21051
21052 2008-11-10  Bruno Haible  <bruno@clisp.org>
21053
21054         * tests/test-select-fd.c (main): Accept the result file name as fourth
21055         argument.
21056         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
21057         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
21058
21059 2008-11-10  Bruno Haible  <bruno@clisp.org>
21060
21061         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
21062         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
21063         as autoconf-substituted macros.
21064         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
21065         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
21066         gl_NETDB_H_DEFAULTS. Set these variables.
21067         * modules/netdb (Makefile.am): Substitute these variables.
21068
21069 2008-11-10  Eric Blake  <ebb9@byu.net>
21070
21071         standards.texi: include correct file for FDL 1.3
21072         * doc/standards.texi (GNU Free Documentation License): Change
21073         include file to pull in FDL 1.3, not 1.2.
21074
21075         fdl.texi: revert accidental change to license
21076         * doc/fdl.texi: This is FDL 1.2, not 1.3.
21077
21078 2008-11-10  Bruno Haible  <bruno@clisp.org>
21079
21080         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
21081         cross-compiling guesses also when the native compile gives no result.
21082
21083 2008-11-10  Bruno Haible  <bruno@clisp.org>
21084
21085         * lib/spawni.c (__spawni): Force variable into the stack.
21086
21087 2008-11-10  Bruno Haible  <bruno@clisp.org>
21088
21089         Add support for Haiku.
21090         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
21091         glibc and BeOS, but also on Haiku.
21092         * lib/fpurge.c (fpurge): Likewise.
21093         * lib/freadable.c (freadable): Likewise.
21094         * lib/freadahead.c (freadahead): Likewise.
21095         * lib/freading.c (freading): Likewise.
21096         * lib/freadptr.c (freadptr): Likewise.
21097         * lib/freadseek.c (freadptrinc): Likewise.
21098         * lib/fseeko.c (rpl_fseeko): Likewise.
21099         * lib/fseterr.c (fseterr): Likewise.
21100         * lib/fwritable.c (fwritable): Likewise.
21101         * lib/fwriting.c (fwriting): Likewise.
21102         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
21103
21104 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
21105
21106         * lib/config.charset: Treat Haiku like BeOS.
21107
21108 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
21109
21110         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
21111         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
21112
21113 2008-11-08  Bruno Haible  <bruno@clisp.org>
21114
21115         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
21116         AC_CACHE_CHECK.
21117
21118 2008-11-08  Bruno Haible  <bruno@clisp.org>
21119
21120         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
21121
21122 2008-11-08  Bruno Haible  <bruno@clisp.org>
21123
21124         * tests/test-select-fd.c: New file.
21125         * tests/test-select-in.sh: New file.
21126         * tests/test-select-out.sh: New file.
21127         * tests/test-select-stdin.c: New file.
21128         * modules/select-tests (Files): Add the new files.
21129         (Depends-on): Add gettimeofday.
21130         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
21131         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
21132         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
21133
21134 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
21135             Bruno Haible  <bruno@clisp.org>
21136
21137         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
21138
21139 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
21140
21141         * build-aux/pmccabe2html: Added support for C++ source files.
21142
21143 2008-11-05  Ben Pfaff  <blp@gnu.org>
21144
21145         Fix lib/close.c build on Windows.
21146         * modules/close (Files): Add lib/w32sock.h.
21147
21148 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
21149
21150         Accept Bison's NEWS format.
21151         * build-aux/announce-gen (print_news_deltas): Tweak
21152         $re_prefix.
21153
21154 2008-11-04  Bruno Haible  <bruno@clisp.org>
21155
21156         * modules/random_r (Maintainer): Add glibc.
21157
21158 2008-11-04  Simon Josefsson  <simon@josefsson.org>
21159
21160         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
21161         by karl@freefriends.org (Karl Berry).
21162         * doc/alloca.texi: Likewise.
21163         * doc/c-ctype.texi: Likewise.
21164         * doc/c-strcase.texi: Likewise.
21165         * doc/c-strcaseeq.texi: Likewise.
21166         * doc/c-strcasestr.texi: Likewise.
21167         * doc/c-strstr.texi: Likewise.
21168         * doc/c-strtod.texi: Likewise.
21169         * doc/c-strtold.texi: Likewise.
21170         * doc/ctime.texi: Likewise.
21171         * doc/error.texi: Likewise.
21172         * doc/fdl.texi: Likewise.
21173         * doc/gcd.texi: Likewise.
21174         * doc/getdate.texi: Likewise.
21175         * doc/gnulib-intro.texi: Likewise.
21176         * doc/gnulib-tool.texi: Likewise.
21177         * doc/gnulib.texi: Likewise.
21178         * doc/inet_ntoa.texi: Likewise.
21179         * doc/maintain.texi: Likewise.
21180         * doc/make-stds.texi: Likewise.
21181         * doc/quote.texi: Likewise.
21182         * doc/regexprops-generic.texi: Likewise.
21183         * doc/standards.texi: Likewise.
21184         * doc/verify.texi: Likewise.
21185         * doc/visibility.texi: Likewise.
21186         * doc/gnulib.texi (GNU Free Documentation License): Include
21187         fdl-1.3.texi instead of fdl.texi.
21188
21189 2008-11-04  Simon Josefsson  <simon@josefsson.org>
21190
21191         * doc/fdl-1.3.texi: New file, from
21192         <http://www.gnu.org/licenses/fdl-1.3.texi>.
21193         * modules/fdl-1.3: Add.
21194         * MODULES.html.sh: Add fdl-1.3.
21195
21196 2008-11-03  Bruno Haible  <bruno@clisp.org>
21197
21198         Make determination of absolute name of header file work with AIX xlc.
21199         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
21200         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
21201         preprocessing.
21202         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
21203         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
21204
21205 2008-11-03  Simon Josefsson  <simon@josefsson.org>
21206
21207         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
21208         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
21209         <ludo@gnu.org>.
21210
21211 2008-11-02  Bruno Haible  <bruno@clisp.org>
21212
21213         Mark 'strpbrk' obsolete.
21214         * modules/strpbrk (Status, Notice): New sections.
21215         * modules/strtok_r (Depends-on): Add strpbrk.
21216
21217 2008-11-02  Bruno Haible  <bruno@clisp.org>
21218
21219         Mark 'strdup' obsolete.
21220         * modules/strdup (Status, Notice): New sections.
21221         * modules/findprog (Depends-on): Add strdup.
21222         * modules/getaddrinfo (Depends-on): Likewise.
21223         * modules/localename (Depends-on): Likewise.
21224         * modules/relocatable-lib (Depends-on): Likewise.
21225         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
21226         * modules/relocatable-prog (Depends-on): Likewise.
21227         * modules/trim (Depends-on): Likewise.
21228         * modules/unictype/gen-ctype (Depends-on): Likewise.
21229         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
21230
21231 2008-11-02  Bruno Haible  <bruno@clisp.org>
21232
21233         Mark 'strcspn' obsolete.
21234         * modules/strcspn (Status, Notice): New sections.
21235
21236 2008-11-02  Bruno Haible  <bruno@clisp.org>
21237
21238         Mark 'rmdir' obsolete.
21239         * modules/rmdir (Status, Notice): New sections.
21240         * modules/clean-temp (Depends-on): Add rmdir.
21241         * modules/openat (Depends-on): Likewise.
21242
21243 2008-11-02  Bruno Haible  <bruno@clisp.org>
21244
21245         Mark 'raise' obsolete.
21246         * modules/raise (Status, Notice): New sections.
21247         (Include): Specify <signal.h>.
21248         * modules/stdio (Depends-on): Add raise.
21249         * modules/write (Depends-on): Likewise.
21250
21251 2008-11-02  Bruno Haible  <bruno@clisp.org>
21252
21253         Mark 'memset' obsolete.
21254         * modules/memset (Status, Notice): New sections.
21255
21256 2008-11-02  Bruno Haible  <bruno@clisp.org>
21257
21258         Mark 'memmove' obsolete.
21259         * modules/memmove (Status, Notice): New sections.
21260         * modules/argp (Depends-on): Add memmove.
21261         * modules/argz (Depends-on): Likewise.
21262         * modules/canonicalize (Depends-on): Likewise.
21263         * modules/canonicalize-lgpl (Depends-on): Likewise.
21264         * modules/fts (Depends-on): Likewise.
21265         * modules/getcwd (Depends-on): Likewise.
21266         * modules/human (Depends-on): Likewise.
21267         * modules/regex (Depends-on): Likewise.
21268         * modules/striconveh (Depends-on): Likewise.
21269         * modules/trim (Depends-on): Likewise.
21270         * modules/unistr/u8-move (Depends-on): Likewise.
21271         * modules/unistr/u16-move (Depends-on): Likewise.
21272         * modules/unistr/u32-move (Depends-on): Likewise.
21273
21274 2008-11-02  Bruno Haible  <bruno@clisp.org>
21275
21276         Mark 'memcpy' obsolete.
21277         * modules/memcpy (Status, Notice): New sections.
21278
21279 2008-11-02  Bruno Haible  <bruno@clisp.org>
21280
21281         Mark 'memcmp' obsolete.
21282         * modules/memcmp (Status, Notice): New sections.
21283         * modules/argmatch (Depends-on): Add memchr.
21284         * modules/backupfile (Depends-on): Likewise.
21285         * modules/c-strcasestr (Depends-on): Likewise.
21286         * modules/crypto/des (Depends-on): Likewise.
21287         * modules/csharpcomp (Depends-on): Likewise.
21288         * modules/fnmatch (Depends-on): Likewise.
21289         * modules/git-merge-changelog (Depends-on): Likewise.
21290         * modules/isnand (Depends-on): Likewise.
21291         * modules/isnand-nolibm (Depends-on): Likewise.
21292         * modules/isnanf (Depends-on): Likewise.
21293         * modules/isnanf-nolibm (Depends-on): Likewise.
21294         * modules/isnanl (Depends-on): Likewise.
21295         * modules/isnanl-nolibm (Depends-on): Likewise.
21296         * modules/mbchar (Depends-on): Likewise.
21297         * modules/memcoll (Depends-on): Likewise.
21298         * modules/quotearg (Depends-on): Likewise.
21299         * modules/regex (Depends-on): Likewise.
21300         * modules/relocatable-prog (Depends-on): Likewise.
21301         * modules/same (Depends-on): Likewise.
21302         * modules/signbit (Depends-on): Likewise.
21303         * modules/strcasestr-simple (Depends-on): Likewise.
21304         * modules/unictype/gen-ctype (Depends-on): Likewise.
21305         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
21306         * modules/uniname/uniname (Depends-on): Likewise.
21307         * modules/unistr/u8-cmp (Depends-on): Likewise.
21308
21309 2008-11-02  Bruno Haible  <bruno@clisp.org>
21310
21311         Mark 'memchr' obsolete.
21312         * modules/memchr (Status, Notice): New sections.
21313         * modules/argp (Depends-on): Add memchr.
21314         * modules/base64 (Depends-on): Likewise.
21315         * modules/c-strcasestr (Depends-on): Likewise.
21316         * modules/chdir-long (Depends-on): Likewise.
21317         * modules/fnmatch (Depends-on): Likewise.
21318         * modules/getsubopt (Depends-on): Likewise.
21319         * modules/git-merge-changelog (Depends-on): Likewise.
21320         * modules/glob (Depends-on): Likewise.
21321         * modules/strcasestr-simple (Depends-on): Likewise.
21322         * modules/strnlen (Depends-on): Likewise.
21323
21324 2008-11-02  Bruno Haible  <bruno@clisp.org>
21325
21326         Mark 'atexit' obsolete.
21327         * modules/atexit (Status, Notice): New sections.
21328         * modules/chdir-long (Depends-on): Add atexit.
21329         * modules/wait-process (Depends-on): Likewise.
21330
21331 2008-11-02  Bruno Haible  <bruno@clisp.org>
21332
21333         * gnulib-tool: New option --with-obsolete.
21334         (func_usage): Document it.
21335         (func_modules_transitive_closure): Drop obsolete dependencies if
21336         incobsolete is not true.
21337         (func_import): Read and save the incobsolete variable to the cache.
21338
21339 2008-11-02  Bruno Haible  <bruno@clisp.org>
21340
21341         * modules/TEMPLATE-EXTENDED: New field 'Status'.
21342         * gnulib-tool: New option --extract-status.
21343         (func_usage): Document it.
21344         (sed_extract_prog): Recognize it.
21345         (func_get_status): New function.
21346
21347 2008-10-30  Simon Josefsson  <simon@josefsson.org>
21348
21349         * modules/sockets (License): Change from LGPL to LGPLv2+.
21350
21351 2008-10-28  Simon Josefsson  <simon@josefsson.org>
21352
21353         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
21354
21355 2008-10-28  Simon Josefsson  <simon@josefsson.org>
21356
21357         * MODULES.html.sh (Support for systems lacking POSIX:2001):
21358         Mention times and sys_times.
21359         * modules/sys_times, modules/sys_times-tests: New modules.
21360         * modules/times, modules/times-tests: Likewise
21361         * m4/sys_times_h.m4: New file.
21362         * lib/sys_times.in.h: Likewise
21363         * lib/times.c: Likewise.
21364         * tests/test-sys_times.c: Likewise.
21365         * tests/test-times.c: Likewise.
21366         * doc/posix-headers/sys_times.texi: Update.
21367         * doc/posix-functions/times.texi: Update.
21368
21369 2008-10-28  Jim Meyering  <meyering@redhat.com>
21370
21371         * modules/tempname (Depends-on): Add lstat.
21372
21373         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
21374
21375 2008-10-28  Simon Josefsson  <simon@josefsson.org>
21376
21377         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
21378         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
21379         using idiom used elsewhere in gnulib.
21380
21381 2008-10-27  Jim Meyering  <meyering@redhat.com>
21382
21383         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
21384
21385 2008-10-27  Simon Josefsson  <simon@josefsson.org>
21386
21387         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
21388         TESTS_ENVIRONMENT, for shell scripts that needs to call built
21389         programs.
21390         * tests/test-argp-2.sh: Use $EXEEXT when needed.
21391
21392 2008-10-27  Simon Josefsson  <simon@josefsson.org>
21393
21394         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
21395
21396 2008-10-27  Bruno Haible  <bruno@clisp.org>
21397
21398         * tests/test-lstat.c: Include <stdio.h>.
21399
21400 2008-10-27  Simon Josefsson  <simon@josefsson.org>
21401
21402         * modules/lstat-tests: New module.
21403         * tests/test-lstat.c: New file.
21404
21405 2008-10-26  Jim Meyering  <meyering@redhat.com>
21406
21407         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
21408
21409 2008-10-26  Simon Josefsson  <simon@josefsson.org>
21410             Bruno Haible  <bruno@clisp.org>
21411
21412         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
21413         * modules/configmake (Include): Add a note that the include must come
21414         after all system headers.
21415         * lib/javaversion.c: Include configmake.h after all other includes.
21416
21417 2008-10-26  Bruno Haible  <bruno@clisp.org>
21418
21419         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
21420         HAVE_STRUCT_RANDOM_DATA to 1.
21421         (gl_STDLIB_H): Simplify.
21422
21423 2008-10-26  Simon Josefsson  <simon@josefsson.org>
21424
21425         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
21426         substitute HAVE_STRUCT_RANDOM_DATA.
21427         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
21428         random_data.
21429         * modules/stdlib (Makefile.am): Substitute
21430         HAVE_STRUCT_RANDOM_DATA.
21431
21432 2008-10-26  Simon Josefsson  <simon@josefsson.org>
21433
21434         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
21435         * doc/gnulib-intro.texi (Copyright): Likewise.
21436
21437 2008-10-26  Simon Josefsson  <simon@josefsson.org>
21438
21439         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
21440         findings.
21441
21442 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
21443             Bruno Haible  <bruno@clisp.org>
21444
21445         * lib/unistd.in.h: Include <winsock2.h>.
21446         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
21447         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
21448         Provide dummy declarations.
21449         (gethostname): Override.
21450         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
21451         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
21452         gl_PREREQ_SYS_H_WINSOCK2.
21453         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
21454         * doc/posix-functions/gethostname.texi: More details.
21455
21456 2008-10-25  Bruno Haible  <bruno@clisp.org>
21457
21458         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
21459         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
21460         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
21461
21462         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
21463         here ...
21464         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
21465         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
21466         gl_UNISTD_H_DEFAULTS.
21467
21468 2008-10-25  Eric Blake  <ebb9@byu.net>
21469
21470         signbit: avoid spurious compiler failure
21471         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
21472         declarations inside function.
21473
21474 2008-10-24  Simon Josefsson  <simon@josefsson.org>
21475             Bruno Haible  <bruno@clisp.org>
21476
21477         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
21478         * modules/random_r (Depends-on): Add stdint.
21479
21480 2008-10-24  Bruno Haible  <bruno@clisp.org>
21481
21482         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
21483         Eggert.
21484         * modules/strerror (License): Likewise.
21485
21486 2008-10-24  Jim Meyering  <meyering@redhat.com>
21487
21488         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
21489         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
21490
21491 2008-10-24  Eric Blake  <ebb9@byu.net>
21492
21493         getgroups: fix compilation when getgroups is available
21494         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
21495         but with <config.h> override of getgroups disabled.
21496
21497 2008-10-24  Simon Josefsson  <simon@josefsson.org>
21498
21499         * doc/gnulib.texi (Header files): Add note about C++ problems.
21500         Explained by Bruno Haible <bruno@clisp.org>.
21501
21502 2008-10-23  Bruno Haible  <bruno@clisp.org>
21503
21504         Define a dummy SA_NODEFER macro on Interix.
21505         * lib/signal.in.h (SA_NODEFER): Define fallback.
21506         Reported by Aleksey Cheusov <cheusov@tut.by> via
21507         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
21508
21509 2008-10-23  Bruno Haible  <bruno@clisp.org>
21510
21511         * modules/freadahead (License): Change to LGPLv2+.
21512         Suggested by Simon Josefsson.
21513
21514 2008-10-23  Jim Meyering  <meyering@redhat.com>
21515
21516         random_r: new module
21517         * modules/random_r: New file.
21518         * m4/random_r.m4: New file.
21519         * lib/random_r.c: New file, from glibc.
21520         * modules/random_r-tests: New file.
21521         * tests/test-random_r.c: New file.
21522         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
21523          Declare.
21524         (RAND_MAX): Define.
21525         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
21526         * modules/stdlib: Substitute them, too.
21527         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
21528         * doc/glibc-functions/initstate_r.texi: Mention the new module.
21529         * doc/glibc-functions/random_r.texi: Likewise.
21530         * doc/glibc-functions/setstate_r.texi: Likewise.
21531         * doc/glibc-functions/srandom_r.texi: Likewise.
21532         * config/srclist.txt: Mention it.
21533
21534 2008-10-23  David Lutterkort  <lutter@redhat.com>
21535
21536         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
21537         link requirement
21538
21539 2008-10-23  Jim Meyering  <meyering@redhat.com>
21540
21541         selinux-h: mark parameters of stub functions as intentionally unused
21542         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
21543         * lib/se-context.in.h: Likewise.
21544
21545 2008-10-22  Simon Josefsson  <simon@josefsson.org>
21546
21547         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
21548
21549 2008-10-22  Simon Josefsson  <simon@josefsson.org>
21550
21551         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
21552
21553 2008-10-22  Eric Blake  <ebb9@byu.net>
21554
21555         glthread/thread: avoid compiler warning
21556         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
21557         Add unreachable abort to silence compiler.
21558
21559 2008-10-22  Eric Blake  <ebb9@byu.net>
21560
21561         netdb: also supply struct addrinfo for cygwin 1.5.x
21562         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
21563         older cygwin.
21564         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
21565         cygwin.
21566         * doc/posix-headers/netdb.texi (netdb.h): Document this.
21567
21568 2008-10-22  Bruno Haible  <bruno@clisp.org>
21569
21570         * users.txt: Update entry about pspp.
21571
21572 2008-10-21  Bruno Haible  <bruno@clisp.org>
21573
21574         Simplification.
21575         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
21576         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
21577
21578         Simplification.
21579         * lib/ioctl.c (ioctl): Don't undefine.
21580         * lib/socket.c (socket): Don't undefine.
21581
21582         Remove unused module indicator macros.
21583         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
21584         GNULIB_$1 as a C macro.
21585
21586         * doc/posix-functions/close.texi: Undo last change.
21587         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
21588         Windows platforms.
21589
21590 2008-10-21  Bruno Haible  <bruno@clisp.org>
21591
21592         Add gethostname() declaration to <unistd.h>.
21593         * lib/unistd.in.h (gethostname): New declaration.
21594         * lib/gethostname.c: Include <unistd.h>.
21595         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
21596         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
21597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
21598         and HAVE_GETHOSTNAME.
21599         * modules/gethostname (Depends-on): Add unistd.
21600         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21601         (Include): Specify <unistd.h>.
21602         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
21603         HAVE_GETHOSTNAME.
21604         * tests/test-gethostname.c: Include <unistd.h> first.
21605
21606 2008-10-21  Bruno Haible  <bruno@clisp.org>
21607
21608         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
21609         * modules/select-tests (Depends-on): Likewise.
21610         Reported by Simon Josefsson.
21611
21612 2008-10-21  Simon Josefsson  <simon@josefsson.org>
21613
21614         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
21615         * lib/accept.c: New file, based on winsock.c.
21616         * lib/bind.c: New file, based on winsock.c.
21617         * lib/connect.c: New file, based on winsock.c.
21618         * lib/getpeername.c: New file, based on winsock.c.
21619         * lib/getsockname.c: New file, based on winsock.c.
21620         * lib/getsockopt.c: New file, based on winsock.c.
21621         * lib/ioctl.c: New file, based on winsock.c.
21622         * lib/listen.c: New file, based on winsock.c.
21623         * lib/recv.c: New file, based on winsock.c.
21624         * lib/recvfrom.c: New file, based on winsock.c.
21625         * lib/send.c: New file, based on winsock.c.
21626         * lib/sendto.c: New file, based on winsock.c.
21627         * lib/setsockopt.c: New file, based on winsock.c.
21628         * lib/shutdown.c: New file, based on winsock.c.
21629         * lib/socket.c: New file, based on winsock.c.
21630         * lib/w32sock.h: New file, based on winsock.c.
21631         * lib/winsock.c: Remove file.
21632         * modules/accept: Likewise.
21633         * modules/bind: Likewise.
21634         * modules/connect: Likewise.
21635         * modules/getpeername: Likewise.
21636         * modules/getsockname: Likewise.
21637         * modules/getsockopt: Likewise.
21638         * modules/ioctl: Likewise.
21639         * modules/listen: Likewise.
21640         * modules/recv: Likewise.
21641         * modules/recvfrom: Likewise.
21642         * modules/send: Likewise.
21643         * modules/sendto: Likewise.
21644         * modules/setsockopt: Likewise.
21645         * modules/shutdown: Likewise.
21646         * modules/socket: Use socket.c instead of winsock.c.
21647         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
21648         * doc/posix-functions/accept.texi: Doc fix.
21649         * doc/posix-functions/bind.texi: Doc fix.
21650         * doc/posix-functions/close.texi: Doc fix.
21651         * doc/posix-functions/connect.texi: Doc fix.
21652         * doc/posix-functions/getpeername.texi: Doc fix.
21653         * doc/posix-functions/getsockname.texi: Doc fix.
21654         * doc/posix-functions/getsockopt.texi: Doc fix.
21655         * doc/posix-functions/ioctl.texi: Doc fix.
21656         * doc/posix-functions/listen.texi: Doc fix.
21657         * doc/posix-functions/recv.texi: Doc fix.
21658         * doc/posix-functions/recvfrom.texi: Doc fix.
21659         * doc/posix-functions/send.texi: Doc fix.
21660         * doc/posix-functions/sendto.texi: Doc fix.
21661         * doc/posix-functions/setsockopt.texi: Doc fix.
21662         * doc/posix-functions/shutdown.texi: Doc fix.
21663         * doc/posix-functions/socket.texi: Doc fix.
21664
21665 2008-10-20  Bruno Haible  <bruno@clisp.org>
21666
21667         Take into account the role of SIGABRT_COMPAT on Windows 2008.
21668         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
21669         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
21670         as an alias for SIGABRT.
21671         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
21672         (sigaction): Map it to SIGABRT.
21673         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
21674
21675 2008-10-20  Bruno Haible  <bruno@clisp.org>
21676
21677         * lib/fts.c: Don't include lstat.h.
21678         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
21679
21680         Move the lstat() declaration to <sys/stat.h>.
21681         * lib/lstat.h: Remove file.
21682         * lib/sys_stat.in.h: Add special invocation convention.
21683         (lstat): New declaration.
21684         * lib/lstat.c (orig_lstat): New function.
21685         (rpl_lstat): Use orig_lstat instead of lstat.
21686         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
21687         AC_C_INLINE. Set REPLACE_LSTAT.
21688         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
21689         and REPLACE_LSTAT.
21690         * modules/lstat (Files): Remove lib/lstat.h.
21691         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21692         (Include): Specify <sys/stat.h> instead of lstat.h.
21693         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
21694         REPLACE_LSTAT.
21695         * NEWS: Mention the change.
21696
21697 2008-10-20  Bruno Haible  <bruno@clisp.org>
21698
21699         * modules/posix_spawn-tests: New file.
21700         * tests/test-posix_spawn3.c: New file.
21701
21702 2008-10-20  Bruno Haible  <bruno@clisp.org>
21703
21704         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
21705         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21706         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
21707         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
21708         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
21709
21710 2008-10-20  Bruno Haible  <bruno@clisp.org>
21711
21712         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
21713         of posix_spawn on AIX 5.3.
21714
21715 2008-10-20  Bruno Haible  <bruno@clisp.org>
21716
21717         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
21718
21719 2008-10-20  Bruno Haible  <bruno@clisp.org>
21720
21721         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
21722         of AC_LANG_PROGRAM.
21723
21724 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21725
21726         * lib/netdb.in.h: Don't define GNU specific constants until they
21727         are supported or needed.  Reported by Bruno Haible
21728         <bruno@clisp.org>.
21729
21730 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21731
21732         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
21733
21734 2008-10-20  Simon Josefsson  <simon@josefsson.org>
21735
21736         * lib/getaddrinfo.h: Remove file.
21737         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
21738         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
21739         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
21740         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
21741         * modules/netdb: Substitute GNULIB_GETADDRINFO.
21742         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
21743         * tests/test-getaddrinfo.c: Likewise.
21744         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
21745         * NEWS: Mention change.
21746
21747 2008-10-19  Bruno Haible  <bruno@clisp.org>
21748
21749         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
21750
21751 2008-10-19  Bruno Haible  <bruno@clisp.org>
21752
21753         * lib/wait-process.c: Include simply <sys/wait.h>.
21754         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
21755         WIFSTOPPED): Remove fallback definitions.
21756         * modules/wait-process (Depends-on): Add sys_wait.
21757
21758         New module 'sys_wait'.
21759         * modules/sys_wait: New file.
21760         * lib/sys_wait.in.h: New file, partially copied from
21761         lib/wait-process.c.
21762         * m4/sys_wait_h.m4: New file.
21763         * doc/posix-headers/sys_wait.texi: Mention the new module.
21764
21765 2008-10-19  Bruno Haible  <bruno@clisp.org>
21766
21767         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
21768
21769 2008-10-19  Bruno Haible  <bruno@clisp.org>
21770
21771         Assume that waitpid() fills an 'int' status, not a 'union wait'.
21772         * lib/wait-process.c (WAIT_T): Remove type.
21773         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
21774         (wait_subprocess): Update.
21775
21776 2008-10-19  Bruno Haible  <bruno@clisp.org>
21777
21778         New module 'atoll'.
21779         * modules/atoll: New file.
21780         * lib/stdlib.in.h (atoll): New declaration.
21781         * lib/atoll.c: New file, from glibc with modifications.
21782         * m4/atoll.m4: New file.
21783         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
21784         HAVE_ATOLL.
21785         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
21786         * doc/posix-functions/atoll.texi: Mention the new module.
21787
21788 2008-10-19  Bruno Haible  <bruno@clisp.org>
21789
21790         Add strtoull() declaration to <stdlib.h>.
21791         * lib/stdlib.in.h (strtoull): New declaration.
21792         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21793         Set HAVE_STRTOULL.
21794         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
21795         HAVE_STRTOULL.
21796         * modules/strtoull (Depends-on): Add stdlib.
21797         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21798         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
21799         HAVE_STRTOULL.
21800
21801 2008-10-19  Bruno Haible  <bruno@clisp.org>
21802
21803         Add strtoll() declaration to <stdlib.h>.
21804         * lib/stdlib.in.h (strtoll): New declaration.
21805         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21806         Set HAVE_STRTOLL.
21807         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
21808         HAVE_STRTOLL.
21809         * modules/strtoll (Depends-on): Add stdlib.
21810         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21811         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
21812
21813 2008-10-19  Bruno Haible  <bruno@clisp.org>
21814
21815         * modules/bcopy (Depends-on): Add strings.
21816         (Include): Specify <strings.h>.
21817
21818 2008-10-19  Bruno Haible  <bruno@clisp.org>
21819
21820         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
21821
21822 2008-10-19  Bruno Haible  <bruno@clisp.org>
21823
21824         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
21825         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
21826         mingw.
21827
21828 2008-10-19  Bruno Haible  <bruno@clisp.org>
21829
21830         * lib/atanl.c: Don't include isnanl.h.
21831         * lib/cosl.c: Likewise.
21832         * lib/ldexpl.c: Likewise.
21833         * lib/logl.c: Likewise.
21834         * lib/sinl.c: Likewise.
21835         * lib/sqrtl.c: Likewise.
21836         * lib/tanl.c: Likewise.
21837
21838         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
21839         * lib/isnanf.h: Remove file.
21840         * lib/isnand.h: Remove file.
21841         * lib/isnanl.h: Remove file.
21842         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
21843         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
21844         macros.
21845         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
21846         HAVE_ISNANF, don't define it as a C macro.
21847         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
21848         HAVE_ISNAND, don't define it as a C macro.
21849         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
21850         HAVE_ISNANL, don't define it as a C macro.
21851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
21852         HAVE_ISNAN[FDL].
21853         * modules/isnanf (Files): Remove lib/isnanf.h.
21854         (Depends-on): Add math.
21855         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21856         (Include): Specify <math.h> instead of isnanf.h.
21857         * modules/isnand (Files): Remove lib/isnand.h.
21858         (Depends-on): Add math.
21859         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21860         (Include): Specify <math.h> instead of isnand.h.
21861         * modules/isnanl (Files): Remove lib/isnanl.h.
21862         (Depends-on): Add math.
21863         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21864         (Include): Specify <math.h> instead of isnanl.h.
21865         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
21866         HAVE_ISNAN[FDL].
21867         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
21868         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
21869         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
21870         * NEWS: Mention the change.
21871
21872 2008-10-18  Bruno Haible  <bruno@clisp.org>
21873
21874         Add getusershell(), setusershell(), endusershell() declarations to
21875         <unistd.h>.
21876         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
21877         declarations.
21878         * lib/getusershell.c: Include unistd.h.
21879         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
21880         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21881         HAVE_GETUSERSHELL.
21882         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
21883         and HAVE_GETUSERSHELL.
21884         * modules/getusershell (Depends-on): Add unistd, extensions.
21885         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21886         (Include): Specify <unistd.h>.
21887         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
21888         HAVE_GETUSERSHELL.
21889
21890 2008-10-18  Bruno Haible  <bruno@clisp.org>
21891
21892         Add a getloadavg() declaration to <stdlib.h>.
21893         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
21894         getloadavg declaration.
21895         (getloadavg): New declaration.
21896         * lib/getloadavg.c: Include <stdlib.h> first.
21897         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
21898         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
21899         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
21900         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
21901         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21902         * modules/getloadavg (Depends-on): Add stdlib, extensions.
21903         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21904         (Include): Specify <stdlib.h>.
21905         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
21906         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21907
21908 2008-10-18  Bruno Haible  <bruno@clisp.org>
21909
21910         * lib/dirchownmod.c: Don't include lchmod.h.
21911
21912         Move the lchmod() declaration to <sys/stat.h>.
21913         * lib/lchmod.h: Remove file.
21914         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
21915         (lchmod): New declaration, moved here from lib/lchown.h.
21916         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
21917         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
21918         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
21919         and HAVE_LCHMOD.
21920         * modules/lchmod (Files): Remove lib/lchmod.h.
21921         (Depends-on): Add sys_stat, extensions.
21922         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21923         (Include): Specify <sys/stat.h> instead of lchmod.h.
21924         * modules/sys_stat (Depends-on): Add link-warning.
21925         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
21926         definition of GL_LINK_WARNING.
21927         * NEWS: Mention the change.
21928
21929 2008-10-18  Bruno Haible  <bruno@clisp.org>
21930
21931         * lib/fchdir.c: Don't include dirfd.h.
21932         * lib/fts.c: Likewise.
21933         * lib/getcwd.c: Likewise.
21934         * lib/glob.c: Likewise.
21935
21936         Move the dirfd() declaration to <dirent.h>.
21937         * lib/dirfd.h: Remove file.
21938         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
21939         (dirfd): New declaration.
21940         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
21941         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
21942         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
21943         HAVE_DECL_DIRFD.
21944         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
21945         HAVE_DECL_DIRFD.
21946         * modules/dirfd (Files): Remove lib/dirfd.h.
21947         (Depends-on): Add dirent, extensions.
21948         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
21949         (Include): Specify <dirent.h> instead of dirfd.h.
21950         * modules/dirent (Depends-on): Add link-warning.
21951         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
21952         definition of GL_LINK_WARNING.
21953         * NEWS: Mention the change.
21954
21955 2008-10-18  Bruno Haible  <bruno@clisp.org>
21956
21957         Move the euidaccess() declaration to <unistd.h>.
21958         * lib/euidaccess.h: Remove file.
21959         * lib/unistd.in.h (euidaccess): New declaration.
21960         * lib/euidaccess.c: Don't include euidaccess.h.
21961         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
21962         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
21963         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
21964         and HAVE_EUIDACCESS.
21965         * modules/euidaccess (Files): Remove lib/euidaccess.h.
21966         (Depends-on): Add unistd.
21967         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21968         (Include): Specify <unistd.h> instead of euidaccess.h.
21969         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
21970         HAVE_EUIDACCESS.
21971         * NEWS: Mention the change.
21972
21973 2008-10-18  Bruno Haible  <bruno@clisp.org>
21974
21975         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
21976
21977         Move the getdomainname() declaration to <unistd.h>.
21978         * lib/getdomainname.h: Remove file.
21979         * lib/unistd.in.h (getdomainname): New declaration.
21980         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
21981         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21982         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21983         HAVE_GETDOMAINNAME.
21984         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21985         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
21986         * modules/getdomainname (Files): Remove lib/getdomainname.h.
21987         (Depends-on): Add unistd, extensions.
21988         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21989         (Includes): Specify <unistd.h> instead of getdomainname.h.
21990         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
21991         HAVE_GETDOMAINNAME.
21992         * NEWS: Mention the change.
21993
21994 2008-10-18  Bruno Haible  <bruno@clisp.org>
21995
21996         * modules/dirent: New file.
21997         * m4/dirent_h.m4: New file.
21998         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
21999         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
22000         * modules/fchdir (Files): Remove lib/dirent.in.h.
22001         (Depends-on): Add dirent.
22002         (Makefile.am): Move rules to modules/dirent.
22003         * doc/posix-headers/dirent.texi: Mention the new module.
22004
22005 2008-10-18  Bruno Haible  <bruno@clisp.org>
22006
22007         Avoid -Wunused-parameter warnings in public gnulib header files.
22008         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
22009         macro.
22010         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
22011
22012 2008-10-18  Bruno Haible  <bruno@clisp.org>
22013
22014         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
22015         * doc/glibc-functions/error.texi: Mention the module 'error'.
22016         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
22017         * doc/glibc-functions/getdomainname.texi: Mention the module
22018         'getdomainname'.
22019         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
22020         * doc/glibc-functions/getpagesize.texi: Mention the module
22021         'getpagesize'.
22022         * doc/glibc-functions/getusershell.texi: Mention the module
22023         'getusershell'.
22024         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
22025         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
22026         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
22027         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
22028         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
22029         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
22030         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
22031         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
22032         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
22033         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
22034         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
22035         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
22036         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
22037         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
22038
22039 2008-10-17  Bruno Haible  <bruno@clisp.org>
22040
22041         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
22042         HP-UX and IRIX, use -0.0L.
22043         * tests/test-ceill.c (minus_zero): Likewise.
22044         * tests/test-floorl.c (minus_zero): Likewise.
22045         * tests/test-frexpl.c (minus_zero): Likewise.
22046         * tests/test-isnan.c (minus_zerol): Likewise.
22047         * tests/test-isnanl.h (minus_zero): Likewise.
22048         * tests/test-ldexpl.c (minus_zero): Likewise.
22049         * tests/test-roundl.c (minus_zero): Likewise.
22050         * tests/test-signbit.c (minus_zerol): Likewise.
22051         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
22052         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
22053         * tests/test-truncl.c (minus_zero): Likewise.
22054         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
22055         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
22056         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
22057         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
22058
22059 2008-10-17  Bruno Haible  <bruno@clisp.org>
22060
22061         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
22062         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
22063         that it gets activated only for gcc >= 3.0.
22064         * lib/dirent.in.h: Likewise.
22065         * lib/errno.in.h: Likewise.
22066         * lib/fcntl.in.h: Likewise.
22067         * lib/float.in.h: Likewise.
22068         * lib/iconv.in.h: Likewise.
22069         * lib/inttypes.in.h: Likewise.
22070         * lib/locale.in.h: Likewise.
22071         * lib/math.in.h: Likewise.
22072         * lib/netdb.in.h: Likewise.
22073         * lib/netinet_in.in.h: Likewise.
22074         * lib/search.in.h: Likewise.
22075         * lib/signal.in.h: Likewise.
22076         * lib/spawn.in.h: Likewise.
22077         * lib/stdarg.in.h: Likewise.
22078         * lib/stdint.in.h: Likewise.
22079         * lib/stdio.in.h: Likewise.
22080         * lib/stdlib.in.h: Likewise.
22081         * lib/string.in.h: Likewise.
22082         * lib/strings.in.h: Likewise.
22083         * lib/sys_file.in.h: Likewise.
22084         * lib/sys_ioctl.in.h: Likewise.
22085         * lib/sys_select.in.h: Likewise.
22086         * lib/sys_socket.in.h: Likewise.
22087         * lib/sys_stat.in.h: Likewise.
22088         * lib/sys_time.in.h: Likewise.
22089         * lib/sysexits.in.h: Likewise.
22090         * lib/time.in.h: Likewise.
22091         * lib/unistd.in.h: Likewise.
22092         * lib/wchar.in.h: Likewise.
22093         * lib/wctype.in.h: Likewise.
22094         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22095
22096 2008-10-17  Jim Meyering  <meyering@redhat.com>
22097
22098         ignore-value: don't depend on inline module
22099         * modules/ignore-value (Depends-on): Remove 'inline'.
22100         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
22101         Suggestion from Bruno Haible.
22102
22103 2008-10-17  Bruno Haible  <bruno@clisp.org>
22104
22105         New implementation of condition variables for Win32.
22106         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
22107         (gl_linked_waitqueue_t): New type.
22108         (gl_cond_t): Use it.
22109         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
22110         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
22111         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
22112         (glthread_cond_init_func, glthread_cond_wait_func,
22113         glthread_cond_timedwait_func, glthread_cond_signal_func,
22114         glthread_cond_broadcast_func, glthread_cond_destroy_func):
22115         Reimplemented on the basis of gl_linked_waitqueue_t.
22116         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
22117         gl_waitqueue_t.
22118         (gl_rwlock_t): Update.
22119         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
22120
22121 2008-10-17  Simon Josefsson  <simon@josefsson.org>
22122
22123         * modules/recvfrom (Depends-on): Add dependency on getpeername.
22124         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
22125
22126 2008-10-17  Jim Meyering  <meyering@redhat.com>
22127
22128         ignore-value: new module
22129         * modules/ignore-value: New file.
22130         * lib/ignore-value.h: New file.
22131         * MODULES.html.sh (Compiler warning management): New section,
22132         just for this module.  More to come.
22133
22134 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22135
22136         open-safer.c: avoid 'signed and unsigned in conditional...' warning
22137         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
22138         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
22139
22140 2008-10-16  Jim Meyering  <meyering@redhat.com>
22141
22142         openat-die.c: avoid 'no previous prototype' warning
22143         * lib/openat-die.c: Include "openat.h".
22144         Reported by Reuben Thomas <rrt@sc3d.org>.
22145
22146 2008-10-16  Simon Josefsson  <simon@josefsson.org>
22147
22148         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
22149         * lib/netdb.in.h: Fix typo.
22150         Reported by Bruno Haible  <bruno@clisp.org>
22151
22152         * lib/netdb.in.h: Include sys/socket.h for platforms without
22153         netdb.h, to get structures like hostent on MinGW.
22154         * modules/netdb (Depends-on): Add sys_socket.
22155
22156 2008-10-15  Simon Josefsson  <simon@josefsson.org>
22157
22158         * modules/netdb, modules/netdb-tests: New file.
22159         * m4/netdb_h.m4: New file.
22160         * lib/netdb.in.h: Add, currently just an empty file pending
22161         definitions.
22162         * tests/test-netdb.c: New file.
22163         * doc/posix-headers/netdb.texi: Mention that we replace it if
22164         needed.
22165         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22166         netdb.
22167
22168 2008-10-15  Simon Josefsson  <simon@josefsson.org>
22169
22170         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
22171         with code.
22172
22173 2008-10-13  Bruno Haible  <bruno@clisp.org>
22174
22175         * lib/glthread/cond.c (glthread_cond_wait_func,
22176         glthread_cond_timedwait_func): Add a comment.
22177
22178 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22179
22180         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
22181         * tests/test-select.c: Likewise,
22182
22183 2008-10-13  Bruno Haible  <bruno@clisp.org>
22184
22185         * lib/glthread/cond.c (glthread_cond_wait_func,
22186         glthread_cond_timedwait_func): Fix variable name.
22187         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
22188
22189 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
22190
22191         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
22192         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
22193         struct sockaddr.sa_len.
22194         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
22195
22196 2008-10-13  Simon Josefsson  <simon@josefsson.org>
22197
22198         * build-aux/pmccabe2html: Add css and css_url parameters.
22199
22200 2008-10-12  Bruno Haible  <bruno@clisp.org>
22201
22202         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
22203         calling aclx_get.
22204         Reported by Rainer Tammer <tammer@tammer.net>.
22205
22206 2008-10-12  Bruno Haible  <bruno@clisp.org>
22207
22208         Use msvcrt aware primitives for creation/termination of Win32 threads.
22209         * lib/glthread/thread.c: Include <process.h>.
22210         (glthread_create_func): Use _beginthreadex instead of CreateThread.
22211         (wrapper_func): Update signature.
22212         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
22213
22214 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22215             Bruno Haible  <bruno@clisp.org>
22216
22217         Provide a Win32 implementation of the 'cond' module.
22218         * lib/glthread/cond.h [USE_WIN32]: New implementation.
22219         * lib/glthread/cond.c (glthread_cond_init_func,
22220         glthread_cond_wait_func, glthread_cond_timedwait_func,
22221         glthread_cond_signal_func, glthread_cond_broadcast_func,
22222         glthread_cond_destroy_func) [USE_WIN32]: New functions.
22223         * modules/cond (Dependencies): Add gettimeofday.
22224
22225 2008-10-11  Bruno Haible  <bruno@clisp.org>
22226
22227         Make sleep work on older versions of mingw.
22228         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
22229         only whether it exists.
22230         * doc/posix-functions/sleep.texi: Mention the problem with older
22231         versions of mingw.
22232
22233 2008-10-11  Bruno Haible  <bruno@clisp.org>
22234
22235         New module 'shutdown'.
22236         * modules/shutdown: New file.
22237         * lib/sys_socket.in.h (shutdown): New declaration.
22238         * lib/winsock.c (shutdown): New function.
22239         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22240         GNULIB_SHUTDOWN.
22241         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
22242         * doc/posix-functions/shutdown.texi: Document the new module.
22243
22244 2008-10-11  Jim Meyering  <meyering@redhat.com>
22245
22246         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
22247
22248 2008-10-11  Bruno Haible  <bruno@clisp.org>
22249
22250         New module 'fclose'.
22251         * modules/fclose: New file.
22252         * lib/stdio.in.h (fclose): New declaration.
22253         * lib/fclose.c: New file.
22254         * m4/fclose.m4: New file.
22255         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
22256         REPLACE_FCLOSE.
22257         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
22258         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
22259         REPLACE_FCLOSE.
22260         * modules/close (Depends-on): fclose.
22261         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
22262
22263 2008-10-11  Bruno Haible  <bruno@clisp.org>
22264
22265         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
22266         set errno and don't call _close.
22267
22268 2008-10-10  Bruno Haible  <bruno@clisp.org>
22269
22270         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
22271         ACL, not afterwards. Fixes test failure on Cygwin.
22272
22273 2008-10-09  Ben Pfaff  <blp@gnu.org>
22274
22275         * build-aux/announce-gen: Fix gnulib version related part of usage
22276         message.  Die with a useful error message if no tarballs are
22277         found.
22278
22279 2008-10-10  Jim Meyering  <meyering@redhat.com>
22280
22281         bootstrap: use git's --depth=N option only if it's supported
22282         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
22283         recognize the --depth option.  Reported by Pádraig Brady.
22284
22285 2008-10-09  Bruno Haible  <bruno@clisp.org>
22286
22287         New module 'ioctl'.
22288         * modules/ioctl: New file.
22289         * lib/sys_socket.in.h (ioctl): Remove declaration.
22290         * lib/winsock.c: Include <sys/ioctl.h>.
22291         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
22292         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
22293         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
22294         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
22295         * doc/posix-functions/ioctl.texi: Mention the new module.
22296
22297 2008-10-09  Bruno Haible  <bruno@clisp.org>
22298
22299         New module 'sys_ioctl'.
22300         * lib/sys_ioctl.in.h: New file.
22301         * m4/sys_ioctl_h.m4: New file.
22302         * modules/sys_ioctl: New file.
22303         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
22304
22305 2008-10-09  Bruno Haible  <bruno@clisp.org>
22306
22307         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
22308         * lib/winsock.c: Include <stdarg.h>.
22309         (rpl_ioctl): Change to second argument 'int' and then varargs.
22310
22311 2008-10-09  Bruno Haible  <bruno@clisp.org>
22312
22313         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
22314         when the sys_socket module is present and the system has <winsock2.h>.
22315
22316 2008-10-09  Bruno Haible  <bruno@clisp.org>
22317
22318         * doc/posix-functions/close.texi: Mention module 'close' instead of
22319         module 'sys_socket'.
22320
22321 2008-10-09  Bruno Haible  <bruno@clisp.org>
22322
22323         * doc/glibc-headers/sys_ioctl.texi: New file.
22324         * doc/gnulib.texi: Include it.
22325
22326 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22327             Bruno Haible  <bruno@clisp.org>
22328
22329         Combine the two replacements of 'close'.
22330         * lib/sys_socket.in.h (close): Define to a reminder to include
22331         <unistd.h>.
22332         (_gl_close_fd_maybe_socket): New declaration.
22333         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
22334         * lib/winsock.c (close): Remove undefinition.
22335         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
22336         needed for the gnulib module 'close'.
22337         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
22338         define to an error symbol or to a warning, if suitable.
22339         * lib/close.c: Include <sys/socket.h>.
22340         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
22341         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
22342         UNISTD_H_HAVE_WINSOCK2_H.
22343         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
22344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22345         UNISTD_H_HAVE_WINSOCK2_H.
22346         * modules/sys_socket (Files): Add m4/unistd_h.m4.
22347         (configure.ac): Set a module indicator.
22348         (Makefile.am): Substitute GNULIB_CLOSE.
22349         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
22350         * modules/poll-tests (Depends-on): Add close.
22351         * modules/select-tests (Depends-on): Likewise.
22352
22353 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22354             Bruno Haible  <bruno@clisp.org>
22355
22356         New module 'close'.
22357         * modules/close: New file.
22358         * lib/unistd.in.h (close): Move declaration out of the
22359         FCHDIR_REPLACEMENT scope.
22360         (_gl_unregister_fd): New declaration.
22361         * lib/close.c: New file.
22362         * lib/fchdir.c (rpl_close): Remove function.
22363         * m4/close.m4: New file.
22364         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
22365         close.
22366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
22367         REPLACE_CLOSE.
22368         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
22369         REPLACE_CLOSE.
22370         * modules/fchdir (Depends-on): Add close.
22371
22372 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22373             Bruno Haible  <bruno@clisp.org>
22374
22375         * lib/fcntl.in.h (open): Simplify conditionals.
22376         (_gl_register_fd): New declaration.
22377         * lib/fchdir.c (rpl_open): Remove function.
22378         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
22379         also.
22380         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
22381         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
22382         open.
22383
22384 2008-10-09  Jim Meyering  <meyering@redhat.com>
22385
22386         GNUmakefile: use the more name-space-friendly "_version"
22387         * top/GNUmakefile (_dummy): Update.
22388         (_version): Rename from "version".
22389
22390 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22391             Bruno Haible  <bruno@clisp.org>
22392
22393         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
22394         rpl_close.
22395         (_gl_register_fd): New function, extracted from rpl_open.
22396         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
22397         (rpl_open, rpl_opendir): Use _gl_register_fd.
22398
22399 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
22400
22401         Fix organization of 'open' replacement.
22402         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
22403         (gl_FUNC_OPEN): Use it.
22404         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
22405
22406 2008-10-08  Bruno Haible  <bruno@clisp.org>
22407
22408         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
22409
22410 2008-10-08  Simon Josefsson  <simon@josefsson.org>
22411
22412         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
22413         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
22414         listen).
22415
22416 2008-10-08  Eric Blake  <ebb9@byu.net>
22417
22418         GNUmakefile: add 'make version' target
22419         * top/GNUmakefile (_curr-ver): Split version update rules...
22420         (version): ...into a target.
22421
22422 2008-10-07  Bruno Haible  <bruno@clisp.org>
22423
22424         Use a more portable replacement expression for -0.0L.
22425         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
22426         instead of -0.0L. Fix m4 quotation.
22427
22428         * tests/test-signbit.c: Include <float.h>.
22429         (minus_zero): New variable.
22430         (test_signbitl): Use minus_zero instead of -zero.
22431         * modules/signbit-tests (Depends-on): Add float.
22432
22433         * tests/test-ceill.c: Include <float.h>.
22434         (zero): Remove variable.
22435         (minus_zero): New variable.
22436         (main): Use minus_zero instead of -zero.
22437         * modules/ceill-tests (Depends-on): Add float.
22438
22439         * tests/test-floorl.c: Include <float.h>.
22440         (zero): Remove variable.
22441         (minus_zero): New variable.
22442         (main): Use minus_zero instead of -zero.
22443         * modules/floorl-tests (Depends-on): Add float.
22444
22445         * tests/test-roundl.c: Include <float.h>.
22446         (zero): Remove variable.
22447         (minus_zero): New variable.
22448         (main): Use minus_zero instead of -zero.
22449         * modules/roundl-tests (Depends-on): Add float.
22450
22451         * tests/test-truncl.c: Include <float.h>.
22452         (zero): Remove variable.
22453         (minus_zero): New variable.
22454         (main): Use minus_zero instead of -zero.
22455         * modules/truncl-tests (Depends-on): Add float.
22456
22457         * tests/test-frexpl.c (zero): Remove variable.
22458         (minus_zero): New variable.
22459         (main): Use minus_zero instead of -zero.
22460         * modules/frexpl-tests (Depends-on): Add float.
22461
22462         * tests/test-isnan.c (zerol): Remove variable.
22463         (minus_zerol): New variable.
22464         (test_long_double): Use minus_zerol instead of -zerol.
22465         * modules/isnan-tests (Depends-on): Add float.
22466
22467         * tests/test-isnanl.h (zero): Remove variable.
22468         (minus_zero): New variable.
22469         (main): Use minus_zero instead of -zero.
22470         * modules/isnanl-nolibm-tests (Depends-on): Add float.
22471         * modules/isnanl-tests (Depends-on): Add float.
22472
22473         * tests/test-ldexpl.c (zero): Remove variable.
22474         (minus_zero): New variable.
22475         (main): Use minus_zero instead of -zero.
22476         * modules/ldexpl-tests (Depends-on): Add float.
22477
22478         * tests/test-snprintf-posix.h (zerol): Remove variable.
22479         (minus_zerol): New variable.
22480         (test_function): Use minus_zerol instead of -zerol.
22481         * modules/snprintf-posix-tests (Depends-on): Add float.
22482         * modules/vsnprintf-posix-tests (Depends-on): Add float.
22483
22484         * tests/test-sprintf-posix.h (zerol): Remove variable.
22485         (minus_zerol): New variable.
22486         (test_function): Use minus_zerol instead of -zerol.
22487         * modules/sprintf-posix-tests (Depends-on): Add float.
22488         * modules/vsprintf-posix-tests (Depends-on): Add float.
22489
22490         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
22491         (minus_zerol): New variable.
22492         (test_function): Use minus_zerol instead of -zerol.
22493         * modules/vasnprintf-posix-tests (Depends-on): Add float.
22494
22495         * tests/test-vasprintf-posix.c (zerol): Remove variable.
22496         (minus_zerol): New variable.
22497         (test_function): Use minus_zerol instead of -zerol.
22498         * modules/vasprintf-posix-tests (Depends-on): Add float.
22499
22500 2008-10-07  Simon Josefsson  <simon@josefsson.org>
22501
22502         * MODULES.html.sh (Support for building documentation): Mention
22503         pmccabe2html.  Sort entries.
22504
22505         Add pmccabe2html module, from gnupdf.
22506         * build-aux/pmccabe.css: New file.
22507         * build-aux/pmccabe2html: New file.
22508         * m4/pmccabe2html.m4: New file.
22509         * modules/pmccabe2html: New file.
22510
22511 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
22512
22513         flock: new module
22514         * MODULES.html.sh: Add to list of modules.
22515         * lib/flock.c: flock implementation for Windows and Unix systems
22516         which have fcntl.
22517         * doc/glibc-functions/flock.texi: Update documentation.
22518         * lib/sys_file.in.h: <sys/file.h> header file.
22519         * m4/flock.m4: M4 macros.
22520         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
22521         * modules/flock: flock module.
22522         * modules/flock-tests: flock tests module.
22523         * modules/sys_file: sys/file.h module.
22524         * tests/test-flock.c: test suite for flock.
22525
22526 2008-10-06  Jim Meyering  <meyering@redhat.com>
22527
22528         bootstrap: check for LT_INIT more portably still ;-)
22529         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
22530         Spotted by Bruno Haible.
22531
22532 2008-10-06  Eric Blake  <ebb9@byu.net>
22533
22534         test-signbit: avoid tripping Irix cc bug on -0.0L
22535         * tests/test-signbit.c (minus_zerol): Delete, and replace with
22536         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
22537         entire testsuite consistent and avoids an Irix 6.2 bug.
22538
22539 2008-10-05  Bruno Haible  <bruno@clisp.org>
22540             Jim Meyering  <jim@meyering.net>
22541
22542         Add an option for ignoring EPIPE during close_stdout.
22543         * lib/closeout.h: Include <stdbool.h>.
22544         (close_stdout_set_ignore_EPIPE): New declaration.
22545         * lib/closeout.c: Include <stdbool.h>.
22546         (ignore_EPIPE): New variable.
22547         (close_stdout_set_ignore_EPIPE): New function.
22548         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
22549         * lib/close-stream.c (close_stream): Mention the possible EPIPE
22550         failure.
22551         * modules/closeout (Depends-on): Add stdbool.
22552
22553 2008-10-05  Bruno Haible  <bruno@clisp.org>
22554
22555         * modules/accept: New file.
22556         * modules/bind: New file.
22557         * modules/connect: New file.
22558         * modules/getpeername: New file.
22559         * modules/getsockname: New file.
22560         * modules/getsockopt: New file.
22561         * modules/listen: New file.
22562         * modules/recv: New file.
22563         * modules/recvfrom: New file.
22564         * modules/send: New file.
22565         * modules/sendto: New file.
22566         * modules/setsockopt: New file.
22567         * modules/socket: New file.
22568         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
22569         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
22570         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
22571         the particular module is requested. Add a link warning when the
22572         particular module is not requested.
22573         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
22574         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
22575         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
22576         the particular module is requested.
22577         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
22578         gl_SYS_SOCKET_H_DEFAULTS): New macros.
22579         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
22580         * modules/sys_socket (Depends-on): Add link-warning.
22581         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
22582         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
22583         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
22584         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
22585         GL_LINK_WARNING.
22586         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
22587         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
22588         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
22589         * doc/posix-functions/getpeername.texi: Mention the new module
22590         'getpeername'.
22591         * doc/posix-functions/getsockname.texi: Mention the new module
22592         'getsockname'.
22593         * doc/posix-functions/getsockopt.texi: Mention the new module
22594         'getsockopt'.
22595         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
22596         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
22597         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
22598         * doc/posix-functions/send.texi: Mention the new module 'send'.
22599         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
22600         * doc/posix-functions/setsockopt.texi: Mention the new module
22601         'setsockopt'.
22602         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
22603         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
22604         listen, connect, accept.
22605         * modules/select-tests (Depends-on): Likewise.
22606
22607 2008-10-05  Bruno Haible  <bruno@clisp.org>
22608
22609         * lib/winsock.c (strerror): Remove unused #undef.
22610         (rpl_close): Remove unused local variable.
22611
22612         * modules/sys_socket (Depends-on); Add errno.
22613
22614 2008-10-05  Bruno Haible  <bruno@clisp.org>
22615
22616         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
22617         (select): Add a link warning when the 'select' module is not used.
22618         * modules/sys_select (Depends-on): Add link-warning.
22619         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
22620         Suggested by Paolo Bonzini.
22621
22622 2008-10-05  Jim Meyering  <meyering@redhat.com>
22623
22624         bootstrap: check for LT_INIT more portably
22625         * build-aux/bootstrap: Avoid using grep -E, since it's not
22626         portable enough.  Suggestion from Bruno Haible.
22627
22628 2008-10-05  Bruno Haible  <bruno@clisp.org>
22629
22630         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
22631         as being fixed by gnulib.
22632
22633 2008-10-05  Bruno Haible  <bruno@clisp.org>
22634
22635         * modules/select-tests: New file, mostly copied from
22636         modules/sys_select-tests.
22637         * tests/test-select.c: New file, mostly copied from
22638         tests/test-sys_select.c.
22639         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
22640         * modules/sys_select-tests (Depends-on): Remove all dependencies.
22641         (Makefile.am): Remove test_sys_select_LDADD.
22642
22643         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
22644         to an undefined symbol, for an error message.
22645         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
22646         (gl_SYS_SELECT_H_DEFAULTS): New macro.
22647         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
22648         winsock-select.c here.
22649         * modules/sys_select (Files): Remove lib/winsock-select.c.
22650         (Depends-on): Remove alloca.
22651         (Makefile.am): Substitute GNULIB_SELECT.
22652         * modules/select: New file.
22653         * doc/posix-functions/select.texi: Update.
22654
22655 2008-10-05  Bruno Haible  <bruno@clisp.org>
22656
22657         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
22658         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
22659         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
22660         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
22661         getdtablesize.
22662         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
22663         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
22664
22665 2008-10-05  Bruno Haible  <bruno@clisp.org>
22666
22667         * modules/getdtablesize-tests: New file.
22668         * tests/test-getdtablesize.c: New file.
22669
22670         New module 'getdtablesize'.
22671         * lib/unistd.in.h (getdtablesize): New declaration.
22672         * lib/getdtablesize.c: New file.
22673         * m4/getdtablesize.m4: New file.
22674         * modules/getdtablesize: New file.
22675         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22676         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
22677         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
22678         HAVE_GETDTABLESIZE.
22679         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
22680
22681 2008-10-05  Bruno Haible  <bruno@clisp.org>
22682
22683         * modules/sched (Makefile.am): Fix typo.
22684         Reported by Simon Josefsson.
22685
22686 2008-10-05  Jim Meyering  <meyering@redhat.com>
22687
22688         bootstrap: check for LT_INIT, too
22689         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
22690         are deprecated.  Suggestion from Ralf Wildenhues.
22691
22692 2008-10-05  Bruno Haible  <bruno@clisp.org>
22693
22694         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
22695         overriding them by ours.
22696         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
22697
22698 2008-10-05  Jim Meyering  <meyering@redhat.com>
22699
22700         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
22701         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
22702         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
22703
22704 2008-10-04  Bruno Haible  <bruno@clisp.org>
22705
22706         * modules/dup2 (License): Change to LGPLv2+.
22707         * modules/sleep (License): Likewise.
22708         * modules/perror (License): Likewise.
22709         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
22710         Blake.
22711         * modules/signal (License): Likewise.
22712         * modules/sigprocmask (License): Likewise.
22713         * modules/raise (License): Change to LGPLv2+, with approval by Jim
22714         Meyering.
22715
22716 2008-10-04  Bruno Haible  <bruno@clisp.org>
22717
22718         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
22719         Reported by Rainer Tammer <tammer@tammer.net>.
22720
22721 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
22722             Bruno Haible  <bruno@clisp.org>
22723
22724         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
22725         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
22726         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
22727
22728 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
22729
22730         filevercmp: new module
22731         * lib/filevercmp.h: New function filevercmp comparing version strings.
22732         * lib/filevercmp.c: Implementation of filevercmp function.
22733         * modules/filevercmp: Module metadata.
22734         * tests/test-filevercmp.c: Unit test for new module.
22735         * modules/filevercmp-tests: Unit test metadata.
22736         * MODULES.html.sh: Add filevercmp module.
22737
22738 2008-10-03  Bruno Haible  <bruno@clisp.org>
22739
22740         * lib/c-ctype.h: Add comment.
22741         Reported by Jim Meyering.
22742
22743 2008-10-02  Bruno Haible  <bruno@clisp.org>
22744
22745         * modules/posix_spawn-internal (Depends-on): Add 'open'.
22746
22747 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22748
22749         * build-aux/bootstrap: Allow renaming bootstrap, and change the
22750         name of bootstrap.conf accordingly.
22751
22752 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22753
22754         * build-aux/bootstrap: Install git-merge-changelog configuration
22755         items into .gitconfig if needed.
22756
22757 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
22758
22759         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
22760         git repository, and initialize/update it accordingly.
22761
22762 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
22763
22764         * modules/fsync-tests: New file.
22765         * tests/test-fsync.c: New file.
22766
22767         New module 'fsync'.
22768         * lib/fsync.c: New file.
22769         * m4/fsync.m4: New file.
22770         * modules/fsync: New file.
22771         * lib/unistd.in.h (fsync): New declaration.
22772         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
22773         GNULIB_FSYNC and HAVE_FSYNC.
22774         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
22775         * MODULES.html.sh (posix_functions): Add fsync.
22776         * doc/posix-functions/fsync.texi: Mention the new module.
22777
22778 2008-10-02  Jim Meyering  <meyering@redhat.com>
22779
22780         fts.c: sync with similar code from coreutils' remove.c
22781         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
22782         Guard also with "#if defined __linux__", since for now at least,
22783         this code is Linux-kernel-specific.
22784
22785 2008-10-02  Jim Meyering  <meyering@redhat.com>
22786
22787         fts: bug fixes
22788         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
22789         Include <sys/vfs.h>, not <sys/statfs.h>.
22790
22791         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
22792         Include <sys/vfs.h>, not <sys/statfs.h>.
22793
22794 2008-10-01  Bruno Haible  <bruno@clisp.org>
22795
22796         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
22797         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
22798         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
22799         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
22800         * doc/posix-functions/posix_spawnp.texi: Likewise.
22801         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
22802         whether posix_spawn actually works.
22803         * m4/pipe.m4 (gl_PIPE): Likewise.
22804         * modules/execute (Files): Add m4/posix_spawn.m4.
22805         * modules/pipe (Files): Add m4/posix_spawn.m4.
22806         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
22807
22808 2008-10-01  Jim Meyering  <meyering@redhat.com>
22809
22810         remove trailing spaces
22811         * NEWS: Likewise.
22812         * lib/poll.c (poll): Likewise.
22813         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
22814         * lib/winsock.c (rpl_close): Likewise.
22815         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
22816         * modules/yield: Likewise.
22817         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
22818         * tests/test-sys_select.c (connect_to_socket): Likewise.
22819
22820         fts.c: adjust a new interface to be more generally useful
22821         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
22822         (fts_build): Adjust caller.
22823
22824 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22825
22826         * modules/cond-tests: New file.
22827         * tests/test-cond.c: New file.
22828
22829 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22830             Bruno Haible  <bruno@clisp.org>
22831
22832         * modules/cond (Dependencies): Add errno, time.
22833         * lib/glthread/cond.h: Include <time.h>.
22834         (gl_cond_define, gl_cond_define_initialized): Use the same definition
22835         across platforms.
22836
22837 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22838             Bruno Haible  <bruno@clisp.org>
22839
22840         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
22841
22842 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22843             Bruno Haible  <bruno@clisp.org>
22844
22845         * modules/tls-tests (Depends-on): Add thread, yield.
22846         (configure.ac): Remove all checks.
22847         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
22848         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22849         gl_thread_self): Remove definitions. Include glthread/thread.h and
22850         glthread/yield.h instead.
22851         (test_tls): Pass an additional NULL argument to gl_thread_join.
22852
22853 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22854             Bruno Haible  <bruno@clisp.org>
22855
22856         * modules/lock-tests (Depends-on): Add thread, yield.
22857         (configure.ac): Remove all checks.
22858         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
22859         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22860         gl_thread_self): Remove definitions. Include glthread/thread.h and
22861         glthread/yield.h instead.
22862         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
22863         additional NULL argument to gl_thread_join.
22864
22865 2008-09-30  Bruno Haible  <bruno@clisp.org>
22866
22867         Fix the Win32 implementation of the 'thread' module.
22868         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
22869         pointer type.
22870         (gl_thread_self): Invoke gl_thread_self_func.
22871         (gl_thread_self_func): New declaration.
22872         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
22873         (do_init_self_key, init_self_key): New functions.
22874         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
22875         Remove some fields.
22876         (running_threads, running_lock): Remove variables.
22877         (get_current_thread_handle): New function.
22878         (gl_thread_self_func, wrapper_func, glthread_create_func,
22879         glthread_join_func, gl_thread_exit_func): Largely rewritten and
22880         simplified.
22881
22882 2008-09-30  Bruno Haible  <bruno@clisp.org>
22883
22884         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
22885         files.
22886
22887 2008-09-30  Jim Meyering  <meyering@redhat.com>
22888
22889         fts.m4: correct the test for statfs.f_type
22890         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
22891         when checking for statfs.f_type.
22892
22893 2008-09-15  Simon Josefsson  <simon@josefsson.org>
22894
22895         tests: avoid some compiler warnings
22896         * tests/test-memchr.c (main): Pass NULL indirectly.
22897         * tests/test-getdate.c (main): Remove unused variable 'ret'.
22898
22899 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
22900
22901         getdate.y: disallow countable dayshifts like "4 yesterday ago"
22902         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
22903         exactly specified dayshifts.
22904         (dayshift): New rule.
22905         (rel): Add dayshift.
22906         (relative_time_table) [tomorrow, yesterday, today, now]:
22907         Use tDAY_SHIFT in place of tDAY_UNIT.
22908         * tests/test-getdate.c: Add tests for now-disallowed countable
22909         dayshifts, e.g., "4 yesterday ago".
22910
22911 2008-09-29  Bruno Haible  <bruno@clisp.org>
22912
22913         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
22914         * tests/test-posix_spawn1.in.sh: Renamed from
22915         tests/test-posix_spawn.in.sh.
22916         * tests/test-posix_spawn2.c: New file.
22917         * tests/test-posix_spawn2.in.sh: New file.
22918         * modules/posix_spawnp-tests (Files): Update.
22919         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
22920
22921 2008-09-29  Bruno Haible  <bruno@clisp.org>
22922
22923         Propagate effects of putenv/setenv/unsetenv to child processes.
22924         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
22925         * lib/pipe.c (create_pipe): Likewise.
22926
22927 2008-09-29  Bruno Haible  <bruno@clisp.org>
22928
22929         Enable use of shell scripts as executables in mingw.
22930         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
22931         run the program as a shell script.
22932         * lib/pipe.c (create_pipe): Likewise.
22933         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
22934         resulting array.
22935
22936 2008-09-29  Eric Blake  <ebb9@byu.net>
22937
22938         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
22939
22940 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
22941
22942         * doc/posix-functions/accept.texi: Update mingw problems.
22943         * doc/posix-functions/bind.texi: Update mingw problems.
22944         * doc/posix-functions/close.texi: Update mingw problems.
22945         * doc/posix-functions/connect.texi: Update mingw problems.
22946         * doc/posix-functions/getpeername.texi: Update mingw problems.
22947         * doc/posix-functions/getsockname.texi: Update mingw problems.
22948         * doc/posix-functions/getsockopt.texi: Update mingw problems.
22949         * doc/posix-functions/ioctl.texi: Update mingw problems.
22950         * doc/posix-functions/listen.texi: Update mingw problems.
22951         * doc/posix-functions/recv.texi: Update mingw problems.
22952         * doc/posix-functions/recvfrom.texi: Update mingw problems.
22953         * doc/posix-functions/select.texi: Update mingw problems.
22954         * doc/posix-functions/send.texi: Update mingw problems.
22955         * doc/posix-functions/sendto.texi: Update mingw problems.
22956         * doc/posix-functions/setsockopt.texi: Update mingw problems.
22957         * doc/posix-functions/socket.texi: Update mingw problems.
22958
22959 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
22960             Bruno Haible  <bruno@clisp.org>
22961
22962         * lib/sys_select.in.h: Include sys/time.h.
22963         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
22964         * modules/sys_select: Depend on sys_time.
22965         * tests/test-sys_select.c: Test that sys/select.h defines struct
22966         timeval fully.
22967
22968 2008-09-29  Bruno Haible  <bruno@clisp.org>
22969
22970         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
22971         * lib/sys_select.in.h: Likewise.
22972
22973 2008-09-29  Bruno Haible  <bruno@clisp.org>
22974
22975         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
22976
22977 2008-09-29  Bruno Haible  <bruno@clisp.org>
22978
22979         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
22980         Set LIBSOCKET instead of augmenting LIBS.
22981         * modules/sockets (Link): New section.
22982         * modules/sockets-tests (test_sockets_LDADD): New variable.
22983         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
22984         * modules/poll-tests (test_poll_LDADD): New variable.
22985         * NEWS: Document the change.
22986
22987 2008-09-29  Bruno Haible  <bruno@clisp.org>
22988
22989         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
22990         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
22991         ARPA_INET_H directly.
22992         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22993
22994 2008-09-28  Bruno Haible  <bruno@clisp.org>
22995
22996         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
22997         from gl_HEADER_SYS_SOCKET.
22998         (gl_HEADER_SYS_SOCKET): Invoke it.
22999         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23000
23001 2008-09-28  Bruno Haible  <bruno@clisp.org>
23002
23003         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
23004         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
23005         Needed on OSF/1 4.0.
23006
23007 2008-09-28  Bruno Haible  <bruno@clisp.org>
23008
23009         Override open more carefully.
23010         * lib/open.c (orig_open): New function.
23011         (rpl_open): Use orig_open instead of open.
23012         * lib/fcntl.in.h: Add special invocation convention.
23013         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
23014         (gl_FUNC_OPEN): Invoke it.
23015
23016         Override freopen more carefully.
23017         * lib/freopen.c (orig_freopen): New function.
23018         (rpl_freopen): Use orig_freopen instead of freopen.
23019         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
23020         (gl_FUNC_FREOPEN): Invoke it.
23021
23022         Override fopen more carefully.
23023         * lib/fopen.c (orig_fopen): New function.
23024         (rpl_fopen): Use orig_fopen instead of fopen.
23025         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
23026         (gl_FUNC_FOPEN): Invoke it.
23027         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
23028
23029 2008-09-28  Bruno Haible  <bruno@clisp.org>
23030
23031         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
23032         SIGPIPE.
23033
23034 2008-09-28  Bruno Haible  <bruno@clisp.org>
23035
23036         * tests/test-sigaction.c (handler, main): Disable the check whether
23037         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
23038         glibc systems with LinuxThreads.
23039
23040 2008-09-28  Bruno Haible  <bruno@clisp.org>
23041
23042         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
23043
23044         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
23045         with AIX xlc.
23046         * lib/fcntl.in.h (open): Likewise.
23047         Reported by Rainer Tammer <tammer@tammer.net>.
23048
23049 2008-09-28  Bruno Haible  <bruno@clisp.org>
23050
23051         * modules/posix_spawnp-tests: New file.
23052         * tests/test-posix_spawn.c: New file.
23053         * tests/test-posix_spawn.in.sh: New file.
23054
23055         New module 'posix_spawnp'.
23056         * modules/posix_spawnp: New file.
23057         * lib/spawnp.c: New file, from GNU libc with modifications.
23058         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
23059
23060         New module 'posix_spawn'.
23061         * modules/posix_spawn: New file.
23062         * lib/spawn.c: New file, from GNU libc with modifications.
23063         * doc/posix-functions/posix_spawn.texi: Mention the new module.
23064
23065         New module 'posix_spawnattr_destroy'.
23066         * modules/posix_spawnattr_destroy: New file.
23067         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
23068         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
23069         module.
23070
23071         New module 'posix_spawnattr_setsigmask'.
23072         * modules/posix_spawnattr_setsigmask: New file.
23073         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
23074         modifications.
23075         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
23076         new module.
23077
23078         New module 'posix_spawnattr_getsigmask'.
23079         * modules/posix_spawnattr_getsigmask: New file.
23080         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
23081         modifications.
23082         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
23083         new module.
23084
23085         New module 'posix_spawnattr_setsigdefault'.
23086         * modules/posix_spawnattr_setsigdefault: New file.
23087         * lib/spawnattr_setdefault.c: New file, from GNU libc with
23088         modifications.
23089         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
23090         new module.
23091
23092         New module 'posix_spawnattr_getsigdefault'.
23093         * modules/posix_spawnattr_getsigdefault: New file.
23094         * lib/spawnattr_getdefault.c: New file, from GNU libc with
23095         modifications.
23096         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
23097         new module.
23098
23099         New module 'posix_spawnattr_setschedpolicy'.
23100         * modules/posix_spawnattr_setschedpolicy: New file.
23101         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
23102         modifications.
23103         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
23104         new module.
23105
23106         New module 'posix_spawnattr_getschedpolicy'.
23107         * modules/posix_spawnattr_getschedpolicy: New file.
23108         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
23109         modifications.
23110         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
23111         new module.
23112
23113         New module 'posix_spawnattr_setschedparam'.
23114         * modules/posix_spawnattr_setschedparam: New file.
23115         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
23116         modifications.
23117         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
23118         new module.
23119
23120         New module 'posix_spawnattr_getschedparam'.
23121         * modules/posix_spawnattr_getschedparam: New file.
23122         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
23123         modifications.
23124         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
23125         new module.
23126
23127         New module 'posix_spawnattr_setpgroup'.
23128         * modules/posix_spawnattr_setpgroup: New file.
23129         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
23130         modifications.
23131         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
23132         module.
23133
23134         New module 'posix_spawnattr_getpgroup'.
23135         * modules/posix_spawnattr_getpgroup: New file.
23136         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
23137         modifications.
23138         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
23139         module.
23140
23141         New module 'posix_spawnattr_setflags'.
23142         * modules/posix_spawnattr_setflags: New file.
23143         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
23144         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
23145         module.
23146
23147         New module 'posix_spawnattr_getflags'.
23148         * modules/posix_spawnattr_getflags: New file.
23149         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
23150         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
23151         module.
23152
23153         New module 'posix_spawnattr_init'.
23154         * modules/posix_spawnattr_init: New file.
23155         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
23156         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
23157         module.
23158
23159         New module 'posix_spawn_file_actions_destroy'.
23160         * modules/posix_spawn_file_actions_destroy: New file.
23161         * lib/spawn_faction_destroy.c: New file, from GNU libc with
23162         modifications.
23163         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
23164         the new module.
23165
23166         New module 'posix_spawn_file_actions_addopen'.
23167         * modules/posix_spawn_file_actions_addopen: New file.
23168         * lib/spawn_faction_addopen.c: New file, from GNU libc with
23169         modifications.
23170         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
23171         the new module.
23172
23173         New module 'posix_spawn_file_actions_adddup2'.
23174         * modules/posix_spawn_file_actions_adddup2: New file.
23175         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
23176         modifications.
23177         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
23178         the new module.
23179
23180         New module 'posix_spawn_file_actions_addclose'.
23181         * modules/posix_spawn_file_actions_addclose: New file.
23182         * lib/spawn_faction_addclose.c: New file, from GNU libc with
23183         modifications.
23184         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
23185         the new module.
23186
23187         New module 'posix_spawn_file_actions_init'.
23188         * modules/posix_spawn_file_actions_init: New file.
23189         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
23190         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
23191         new module.
23192
23193         New module 'posix_spawn-internal'.
23194         * modules/posix_spawn-internal: New file.
23195         * lib/spawn_int.h: New file, from GNU libc with modifications.
23196         * lib/spawni.c: New file, from GNU libc with modifications.
23197         * m4/posix_spawn.m4: New file.
23198
23199         New module 'spawn'.
23200         * modules/spawn: New file.
23201         * lib/spawn.in.h: New file, from GNU libc with modifications.
23202         * m4/spawn_h.m4: New file.
23203         * doc/posix-headers/spawn.texi: Mention the new module.
23204
23205 2008-09-28  Bruno Haible  <bruno@clisp.org>
23206
23207         * modules/sched-tests: New file.
23208         * tests/test-sched.c: New file.
23209
23210         New module 'sched'.
23211         * modules/sched: New file.
23212         * lib/sched.in.h: New file.
23213         * m4/sched_h.m4: New file.
23214         * doc/posix-headers/sched.texi: Mention the new module.
23215
23216 2008-09-27  Eric Blake  <ebb9@byu.net>
23217
23218         Fix previous patch, and tweak references to $0.
23219         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
23220         (func_version, func_gnulib_dir): Don't call this program
23221         gnulib-tool.
23222         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
23223         with using $0 in function.
23224         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
23225         (func_fatal_error): Reuse the name the user invoked us with.
23226
23227 2008-09-27  Bruno Haible  <bruno@clisp.org>
23228
23229         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
23230         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
23231         (gl_ICONV_H): Not here.
23232         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
23233         instead of assigning ICONV_H directly.
23234
23235         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
23236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
23237         WCHAR_H directly.
23238
23239 2008-09-27  Bruno Haible  <bruno@clisp.org>
23240
23241         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
23242         * modules/arpa_inet (Depends-on): Add link-warning.
23243         (Makefile.am): Insert the definition of GL_LINK-WARNING.
23244         * modules/unistd (Makefile.am): Likewise.
23245
23246 2008-09-26  Bruno Haible  <bruno@clisp.org>
23247
23248         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
23249         variables.
23250         (func_version): Essentially copied from gnulib-tool.
23251         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
23252         func_readlink): Copied from gnulib-tool.
23253
23254 2008-09-26  Bruno Haible  <bruno@clisp.org>
23255
23256         * gnulib-tool (func_version): Change directory to $gnulib_dir before
23257         invoking git-version-gen.
23258
23259 2008-09-26  Bruno Haible  <bruno@clisp.org>
23260
23261         * posix-modules: Update to directory names changed on 2008-01-19.
23262         Remove commas in output before splitting into words. No more need to
23263         avoid 'ftruncate' since 2007-02-19.
23264
23265 2008-09-26  Bruno Haible  <bruno@clisp.org>
23266
23267         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
23268
23269 2008-09-26  Bruno Haible  <bruno@clisp.org>
23270
23271         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
23272         * modules/fwriteerror (Depends-on): Add errno.
23273
23274 2008-09-26  Bruno Haible  <bruno@clisp.org>
23275
23276         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
23277         * tests/test-vc-list-files-cvs.sh: Likewise.
23278
23279 2008-09-26  Bruno Haible  <bruno@clisp.org>
23280
23281         * doc/posix-headers/sys_resource.texi: Reorder items.
23282
23283 2008-09-26  Jim Meyering  <meyering@redhat.com>
23284
23285         fts: tweak inode comparison function
23286         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
23287         inode numbers, as documented.
23288
23289         fts: sort dirent entries on inode number before traversing
23290         This avoids a quadratic, seek-related performance penalty when
23291         operating on a directory containing many entries (measurable at 10k;
23292         3.5 hours at 2 million entries with a cold cache) on certain types
23293         of file systems, including ext3 and ext4, but not tmpfs.
23294         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
23295         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
23296         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
23297         (fs_handles_readdir_ordered_dirents_efficiently): New function.
23298         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
23299         (fts_build): Set the stat.st_ino member from D_INO.
23300         If it is likely to be useful, sort dirent entries on inode number.
23301
23302         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
23303         and the struct statfs.f_type member.
23304         * modules/fts (Depends-on): Add d-ino.
23305
23306 2008-09-26  Bruno Haible  <bruno@clisp.org>
23307
23308         * modules/sigpipe-die (Depends-on): Add sigpipe.
23309
23310         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
23311         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
23312         and GNULIB_STDIO_H_SIGPIPE are set.
23313         * lib/stdio-write.c: New file.
23314         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
23315         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
23316         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
23317         REPLACE_STDIO_WRITE_FUNCS.
23318         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
23319         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
23320         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
23321         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
23322         * modules/stdio (Files): Add lib/stdio-write.c.
23323         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
23324         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
23325         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
23326         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
23327         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
23328         REPLACE_FPRINTF_POSIX.
23329         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
23330         REPLACE_PRINTF_POSIX.
23331         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
23332         REPLACE_VFPRINTF_POSIX.
23333         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
23334         REPLACE_VPRINTF_POSIX.
23335         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
23336         SIGPIPE issue.
23337         * doc/posix-functions/fputc.texi: Likewise.
23338         * doc/posix-functions/fputs.texi: Likewise.
23339         * doc/posix-functions/fwrite.texi: Likewise.
23340         * doc/posix-functions/printf.texi: Likewise.
23341         * doc/posix-functions/putc.texi: Likewise.
23342         * doc/posix-functions/putchar.texi: Likewise.
23343         * doc/posix-functions/puts.texi: Likewise.
23344         * doc/posix-functions/vfprintf.texi: Likewise.
23345         * doc/posix-functions/vprintf.texi: Likewise.
23346
23347         * modules/safe-write (Depends-on): Add write.
23348
23349         * modules/sigpipe-tests: New file.
23350         * tests/test-sigpipe.c: New file.
23351         * tests/test-sigpipe.sh: New file.
23352
23353         * modules/write: New file.
23354         * lib/unistd.in.h: Include <sys/types.h>.
23355         (write): New declaration.
23356         * lib/write.c: New file.
23357         * m4/write.m4: New file.
23358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23359         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
23360         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
23361         GNULIB_WRITE, REPLACE_WRITE.
23362         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
23363         and the SIGPIPE issue.
23364
23365         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
23366         (raise): New declaration.
23367         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
23368         (ext_signal): New function.
23369         (rpl_raise): New function.
23370         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
23371         GNULIB_SIGNAL_H_SIGPIPE.
23372         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
23373         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
23374
23375         * modules/sigpipe: New file.
23376         * m4/sigpipe.m4: New file.
23377
23378 2008-09-25  Derek Price  <derek@ximbiot.com>
23379             Bruno Haible  <bruno@clisp.org>
23380
23381         * gnulib-tool (func_import): Report all license incompatibilities, not
23382         just the first one.
23383
23384 2008-09-25  Bruno Haible  <bruno@clisp.org>
23385
23386         * gnulib-tool (func_import): When computing the edits, consider not
23387         only the Makefile.ams that exist but also those that will be generated.
23388
23389 2008-09-25  Simon Josefsson  <simon@josefsson.org>
23390
23391         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
23392         fixes gnulib-tool --test warning about duplicate dependency.
23393
23394 2008-09-25  Bruno Haible  <bruno@clisp.org>
23395
23396         * gnulib-tool: Don't ask the user to perform edits in the generated
23397         Makefile.ams.
23398         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
23399         apply to the Makefile.am being generated.
23400         (func_emit_tests_Makefile_am): Execute edits that apply to the
23401         Makefile.am being generated.
23402         (func_import): Setup list of Makefile.am edits before emitting the
23403         Makefile.ams, not at the end.
23404         (func_create_testdir): Update.
23405         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23406
23407 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23408
23409         * gnulib-tool (func_import): Store the --tests-base option in the
23410         comment in gnulib-cache.m4.
23411
23412 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
23413
23414         * NEWS: Document increased portability that sys_select now provides.
23415
23416         * lib/sys_select.in.h: Install select wrapper.
23417         * lib/sys_socket.in.h: Use more descriptive name when there is no
23418         select wrapper.
23419         * lib/winsock-select.c: New.
23420         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
23421         Require gl_HEADER_SYS_SOCKET.
23422         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
23423         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
23424         * tests/test-sys_select.c: Add functional tests.
23425
23426 2008-09-24  Eric Blake  <ebb9@byu.net>
23427
23428         open, fopen: close fd leak in last patch
23429         * lib/open.c (rpl_open): Close fd before returning error.
23430         * lib/fopen.c (rpl_fopen): Close fd before returning error.
23431         * doc/posix-functions/open.texi (open): Document that Irix also
23432         has the bug.
23433         * doc/posix-functions/fopen.texi (fopen): Likewise.
23434         Reported by Paolo Bonzini.
23435
23436 2008-09-24  Bruno Haible  <bruno@clisp.org>
23437
23438         Ensure that a filename ending in a slash cannot be used to access a
23439         non-directory.
23440         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
23441         to check whether it's really a directory.
23442         * lib/fopen.c: Include fcntl.h, unistd.h.
23443         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
23444         and fdopen().
23445         * modules/fopen (Depends-on): Add unistd.
23446         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
23447         * tests/test-fopen.c (main): Likewise.
23448         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
23449         * doc/posix-functions/fopen.texi: Likewise.
23450         Reported by Eric Blake.
23451
23452 2008-09-23  Eric Blake  <ebb9@byu.net>
23453
23454         c-stack: avoid compiler optimizations when provoking overflow
23455         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
23456         recursion harder to optimize, to ensure a stack overflow occurs.
23457         * tests/test-c-stack.c (recurse): Likewise.
23458         Borrowed from libsigsegv.
23459
23460         c-stack: work around Irix sigaltstack bug
23461         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
23462         whether sigaltstack uses wrong end of stack_t (copied in part from
23463         libsigsegv).
23464         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
23465         Irix bug, without requiring an over-allocation.
23466         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
23467         bug.
23468
23469         fopen: document mingw bug on directories
23470         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
23471         not allowing a stream visiting a directory, even though reading
23472         from such a stream is not portable.
23473
23474 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
23475
23476         * lib/poll.c: Rewrite.
23477         * modules/poll: Depend on alloca.
23478
23479 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
23480
23481         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
23482         instead define prototypes for a full set of wrappers.  Ensure
23483         that Cygwin does not use the compatibility code, which is only
23484         for MinGW.
23485         * lib/winsock.c: New.
23486         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
23487         * modules/sys_socket: Add lib/winsock.c.
23488
23489         * modules/poll-tests: Add errno and perror.
23490         * tests/test-poll.c: Use ioctl, not ioctlsocket.
23491
23492 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
23493
23494         * tests/test-poll.c: Downgrade minimum needed Winsock version.
23495
23496 2008-09-23  Bruno Haible  <bruno@clisp.org>
23497
23498         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
23499         * doc/glibc-functions/*: Likewise.
23500
23501 2008-09-23  Simon Josefsson  <simon@josefsson.org>
23502
23503         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
23504         success.
23505
23506 2008-09-22  Eric Blake  <ebb9@byu.net>
23507             Bruno Haible  <bruno@clisp.org>
23508
23509         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
23510         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
23511         supply %A but mishandle pseudo-NaN.
23512         Reported by Simon Josefsson.
23513
23514 2008-09-21  Bruno Haible  <bruno@clisp.org>
23515
23516         * tests/test-lock.c (main): Tweak skip message.
23517         * tests/test-tls.c (main): Likewise.
23518
23519 2008-09-21  Bruno Haible  <bruno@clisp.org>
23520
23521         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
23522         whether 'struct sigaction' has sa_sigaction here...
23523         (gl_PREREQ_SIG_HANDLER_H): ... not here.
23524         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
23525
23526 2008-09-21  Bruno Haible  <bruno@clisp.org>
23527
23528         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
23529         section.
23530         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
23531         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
23532         the new section.
23533         (Support for obsolete systems lacking POSIX:2001): New section.
23534         (String handling <string.h>): Move strdup to the new section.
23535         Suggested by Simon Josefsson and Paolo Bonzini.
23536
23537 2008-09-21  Bruno Haible  <bruno@clisp.org>
23538
23539         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
23540         exponents in %e and %g results on 'long double'. Needed for mingw's
23541         improved *printf functions.
23542         * tests/test-vasprintf-posix.c (test_function): Likewise.
23543         * tests/test-snprintf-posix.h (test_function): Likewise.
23544         * tests/test-sprintf-posix.h (test_function): Likewise.
23545         Reported by Eric Blake.
23546
23547 2008-09-21  Bruno Haible  <bruno@clisp.org>
23548
23549         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
23550         * tests/test-sprintf-posix.h (test_function): Likewise.
23551
23552 2008-09-21  Bruno Haible  <bruno@clisp.org>
23553
23554         * modules/getpass (Depends-on): Add strdup-posix.
23555
23556         New module 'strdup-posix'.
23557         * modules/strdup-posix: New file.
23558         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
23559         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
23560         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23561         REPLACE_STRDUP.
23562         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
23563         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
23564         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23565         strdup-posix.
23566
23567         * modules/strdup (Depends-on): Remove malloc-posix.
23568
23569 2008-09-20  Bruno Haible  <bruno@clisp.org>
23570
23571         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
23572         Wildenhues.
23573
23574 2008-09-20  Bruno Haible  <bruno@clisp.org>
23575
23576         Ensure that wint_t gets defined on IRIX 5.3.
23577         * lib/wchar.in.h (wint_t): Define if not defined by the system.
23578         * lib/wctype.in.h (wint_t): Likewise.
23579         (__wctype_wint_t): Remove type.
23580         (isw*): Use wint_t instead of __wctype_wint_t.
23581         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
23582         * modules/wchar (Files): Add m4/wint_t.m4.
23583         (Makefile.am): Substitute HAVE_WINT_T.
23584         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
23585         * tests/test-wctype.c: Check that wint_t is defined.
23586         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
23587         * doc/posix-headers/wctype.texi: Likewise.
23588         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23589
23590 2008-09-18  Bruno Haible  <bruno@clisp.org>
23591
23592         * gnulib-tool (func_exit): Update comment.
23593
23594 2008-09-18  Simon Josefsson  <simon@josefsson.org>
23595
23596         * modules/getaddrinfo (Depends-on): Remove strdup, this module
23597         assumes strdup exists and does not depend on strdup to return
23598         ENOMEM on out of memory conditions.
23599
23600 2008-09-18  Bruno Haible  <bruno@clisp.org>
23601
23602         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
23603         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
23604         digits for the exponent.
23605
23606 2008-09-18  Jim Meyering  <meyering@redhat.com>
23607             Bruno Haible  <bruno@clisp.org>
23608
23609         * lib/vasnprintf.c (decimal_point_char): Define also if
23610         NEED_PRINTF_INFINITE_LONG_DOUBLE.
23611
23612 2008-09-16  Bruno Haible  <bruno@clisp.org>
23613         and Eric Blake  <ebb9@byu.net>
23614
23615         vasnprintf: support Irix 5.3
23616         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
23617         that mishandle long double infinity.
23618         Reported by Tom G. Christensen.
23619
23620 2008-09-16  Bruno Haible  <bruno@clisp.org>
23621
23622         * doc/glibc-functions/scandir.texi: Mention the function is missing on
23623         Solaris 9.
23624         * doc/glibc-functions/alphasort.texi: Likewise.
23625         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
23626
23627 2008-09-16  Jim Meyering  <meyering@redhat.com>
23628
23629         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
23630         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
23631         a umask modification leak out of a subshell.  Otherwise, the
23632         opensolaris /bin/sh would be accepted and thus cause unwarranted
23633         failures in the coreutils test suite.
23634
23635 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
23636
23637         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
23638         to succeed.
23639
23640 2008-09-16  Jim Meyering  <meyering@redhat.com>
23641
23642         avoid spurious test failure when library is built without ACL support
23643         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
23644         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
23645         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
23646         * tests/test-copy-acl.sh: Likewise.
23647
23648 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23649
23650         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
23651         based on character occurrence counts.
23652
23653 2008-09-15  Eric Blake  <ebb9@byu.net>
23654
23655         tests: avoid some compiler warnings
23656         * tests/test-memchr.c (main): Pass NULL indirectly.
23657         * tests/test-closein.c (main): Avoid unused variable.
23658
23659 2008-09-15  Bruno Haible  <bruno@clisp.org>
23660
23661         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
23662         are missing on OpenBSD 4.0 individually.
23663         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23664
23665 2008-09-15  Bruno Haible  <bruno@clisp.org>
23666
23667         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
23668         * doc/posix-functions/strerror.texi: Mention also Cygwin.
23669         * doc/posix-functions/perror.texi: Likewise.
23670         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
23671         is missing.
23672         Reported by Eric Blake.
23673
23674         * lib/errno.in.h: Use replacement values >= 2000.
23675         Reported by Eric Blake.
23676
23677 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23678
23679         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
23680         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
23681         limit.
23682         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
23683         compareseq was aborted.
23684
23685 2008-09-14  Bruno Haible  <bruno@clisp.org>
23686
23687         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
23688         yvec_edit_count.
23689         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
23690         (fstrcmp_bounded): Simplify result computation accordingly.
23691
23692 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23693
23694         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
23695         (fstrcmp): Define in terms of fstrcmp_bounded.
23696         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
23697         lower_bound argument.
23698         Return quickly if the result is certainly < lower_bound.
23699         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
23700
23701 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23702
23703         * lib/diffseq.h (EARLY_ABORT): New macro.
23704         (compareseq): Change return type to bool. Return true when EARLY_ABORT
23705         evaluates to true.
23706
23707 2008-09-14  Bruno Haible  <bruno@clisp.org>
23708
23709         * modules/perror-tests: New file.
23710         * tests/test-perror.sh: New file.
23711         * tests/test-perror.c: New file.
23712
23713         New module 'perror'.
23714         * lib/stdio.in.h (perror): New declaration.
23715         * lib/perror.c: New file.
23716         * m4/perror.m4: New file.
23717         * modules/perror: New file.
23718         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
23719         * doc/posix-functions/perror.texi: Mention the perror module.
23720         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
23721         REPLACE_PERROR.
23722         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
23723         REPLACE_PERROR.
23724
23725 2008-09-14  Bruno Haible  <bruno@clisp.org>
23726
23727         * modules/stdio (Makefile.am): Reorder to match the order in
23728         lib/stdio.in.h.
23729         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23730
23731 2008-09-13  Bruno Haible  <bruno@clisp.org>
23732
23733         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
23734
23735 2008-09-13  Bruno Haible  <bruno@clisp.org>
23736
23737         Extend strerror to cover the added errno values.
23738         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
23739         (rpl_strerror): Provide error messages for the added errno values and
23740         for the WSA* values.
23741         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
23742         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
23743         strerror.
23744         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
23745         * modules/strerror (Depends-on): Add errno.
23746         * doc/posix-functions/strerror.texi: Document the change.
23747         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
23748         and EOVERFLOW.
23749
23750 2008-09-13  Bruno Haible  <bruno@clisp.org>
23751
23752         * modules/EOVERFLOW: Remove file.
23753         * m4/eoverflow.m4: Remove file.
23754         * modules/EOVERFLOW-tests: Remove file.
23755         * tests/test-EOVERFLOW.c: Remove file.
23756         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
23757         * modules/ftell (Depends-on): Likewise.
23758         * modules/getdelim (Depends-on): Likewise.
23759         * modules/getugroups (Depends-on): Likewise.
23760         * modules/poll (Depends-on): Likewise.
23761         * modules/snprintf (Depends-on): Likewise.
23762         * modules/sprintf-posix (Depends-on): Likewise.
23763         * modules/vasnprintf (Depends-on): Likewise.
23764         * modules/vasprintf (Depends-on): Likewise.
23765         * modules/vfprintf-posix (Depends-on): Likewise.
23766         * modules/vsnprintf (Depends-on): Likewise.
23767         * modules/vsprintf-posix (Depends-on): Likewise.
23768         * modules/xvasprintf (Depends-on): Likewise.
23769         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23770         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
23771         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
23772         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
23773         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23774         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
23775         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
23776         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
23777         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23778         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
23779         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
23780         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
23781         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23782         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
23783         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
23784         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
23785         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23786         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
23787         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
23788         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
23789         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23790         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
23791         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
23792         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
23793         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
23794         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23795         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
23796         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
23797         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
23798         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
23799         * MODULES.html.sh: Remove EOVERFLOW.
23800         * NEWS: Mention the change.
23801
23802 2008-09-13  Bruno Haible  <bruno@clisp.org>
23803
23804         * modules/errno-tests: New file.
23805         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
23806
23807         * lib/errno.in.h: New file.
23808         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
23809         * modules/errno: New file.
23810         * doc/posix-headers/errno.texi: Update documentation.
23811         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
23812
23813 2008-09-13  Bruno Haible  <bruno@clisp.org>
23814
23815         * tests/test-poll.c: Use #if for native Windows, rather than testing
23816         __MSVCRT__.
23817
23818 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23819             Bruno Haible  <bruno@clisp.org>
23820
23821         * lib/glob.c: Don't include <pwd.h> on native Windows.
23822         (WINDOWS32): New macro.
23823         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
23824
23825 2008-09-13  Bruno Haible  <bruno@clisp.org>
23826
23827         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
23828         (ETIMEDOUT): Remove macro.
23829         (glthread_cond_timedwait_multithreaded): New declaration.
23830         (glthread_cond_timedwait): Use it.
23831         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
23832         (glthread_cond_timedwait_multithreaded): New function.
23833
23834 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23835
23836         * modules/poll-tests: Do not check for io.h.
23837         * tests/test-poll.c: Check for __MSVCRT__ instead.
23838
23839 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23840
23841         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
23842         * modules/poll-tests: Add inet_pton, stdbool, sockets.
23843         * tests/test-poll.c: Use them.  Use _pipe on Windows.
23844
23845 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23846
23847         * modules/poll-tests: New.
23848         * tests/test-poll.c: New.
23849
23850 2008-09-12  Eric Blake  <ebb9@byu.net>
23851
23852         frexp: test for NetBSD failure on -0.0
23853         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
23854         not all, bugs from NetBSD 3.0 have been fixed.
23855         * doc/posix-functions/frexp.texi (frexp): Document bug.
23856         Reported by Thomas Klausner.
23857
23858         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
23859         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
23860         literal -0.0.
23861         Reported by Jonathan C. Patschke <jp@centtech.com>.
23862
23863 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23864
23865         * lib/glthread/cond.h: Use dummy implementation also if
23866         USE_WIN32_THREADS.
23867
23868 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23869
23870         * modules/fnmatch-posix (License): Change to LGPLv2+.
23871         * modules/fnmatch-gnu (License): Likewise.
23872
23873 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23874
23875         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
23876
23877 2008-09-11  Jim Meyering  <meyering@redhat.com>
23878
23879         * users.txt: Add gtk-vnc.
23880
23881 2008-09-08  Simon Josefsson  <simon@josefsson.org>
23882
23883         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
23884         rotate amounts.
23885
23886         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
23887         required for 16-bit and 8-bit rotates.
23888         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
23889         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
23890         UINT8_MAX instead of hard-coded constants.
23891         Suggested by Paul Eggert.
23892
23893 2008-09-07  Bruno Haible  <bruno@clisp.org>
23894
23895         * tests/test-striconveh.c (main): Check behaviour when converting from
23896         UTF-7.
23897
23898         Make striconveh work better with stateful encodings.
23899         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
23900         that iconv does not increment the inptr when returning -1/EINVAL.
23901
23902 2008-09-07  Bruno Haible  <bruno@clisp.org>
23903
23904         * build-aux/config.rpath: Update according to libtool-2.2.6.
23905         * build-aux/config.libpath: Likewise.
23906
23907 2008-09-06  Bruno Haible  <bruno@clisp.org>
23908
23909         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
23910         * lib/freadptr.c (freadptr): Likewise.
23911         * lib/freadseek.c (freadptrinc): Likewise.
23912         Reported by Simon Josefsson.
23913
23914 2008-09-06  Bruno Haible  <bruno@clisp.org>
23915
23916         * modules/freadptr (License): Change to LGPLv2+.
23917         * modules/freadseek (License): Likewise.
23918         Suggested by Eric Blake.
23919
23920         * modules/memchr2 (License): Change to LGPLv2+.
23921         Approved by Eric Blake.
23922
23923 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23924             Bruno Haible  <bruno@clisp.org>
23925
23926         Make gnulib-tool work with native 'sed' on AIX.
23927         * gnulib-tool (sed_noop): New variable.
23928         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
23929         func_add_or_update, func_create_testdir): Use it to initialize sed
23930         script variables.
23931         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23932
23933 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
23934             Bruno Haible  <bruno@clisp.org>
23935
23936         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
23937         also works after #include directives.
23938
23939 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
23940
23941         getdate.y: reject an out-of-range timezone value
23942         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
23943         the range [-24...+24].  When specified with only one or two digits,
23944         * tests/test-getdate.c: Tests for the fix.
23945         * doc/getdate.texi: Document this change.
23946
23947 2008-09-03  Bruno Haible  <bruno@clisp.org>
23948
23949         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
23950
23951 2008-09-02  Simon Josefsson  <simon@josefsson.org>
23952
23953         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
23954         <bruce.korb@gmail.com> with ideas from Ben Pfaff
23955         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
23956         Blake <ebb9@byu.net>.
23957
23958         * tests/test-bitrotate.c: Add more test vectors.
23959
23960 2008-09-02  Eric Blake  <ebb9@byu.net>
23961
23962         vasnprintf-posix: handle large precision via %.*d
23963         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
23964         when handling it ourselves.
23965         * tests/test-vasnprintf-posix.c (test_function): Add test.
23966         * tests/test-snprintf-posix.h (test_function): Likewise.
23967         * tests/test-sprintf-posix.h (test_function): Likewise.
23968         * tests/test-vasprintf-posix.c (test_function): Likewise.
23969         Reported by Alain Guibert.
23970
23971 2008-09-01  Eric Blake  <ebb9@byu.net>
23972
23973         c-stack: make configure-time check more robust
23974         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
23975         successful sigaction call.
23976         Reported by Tom G. Christensen.
23977
23978 2008-09-01  Bruno Haible  <bruno@clisp.org>
23979
23980         New module 'findprog-lgpl'.
23981         * modules/findprog-lgpl: New file.
23982         * lib/findprog-lgpl.c: New file.
23983         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
23984         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
23985         to decide whether to use strdup or xstrdup, concatenated_filename or
23986         xconcatenated_filename.
23987
23988 2008-09-01  Bruno Haible  <bruno@clisp.org>
23989
23990         Split module 'concat-filename' into 'concat-filename' (LGPL) and
23991         'xconcat-filename' (GPL).
23992         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
23993         (License): Change to LGPLv2+.
23994         * modules/xconcat-filename: New file.
23995         * lib/concat-filename.h (concatenated_filename): Change specification.
23996         (xconcatenated_filename): New declaration.
23997         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
23998         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
23999         memory situations.
24000         * lib/xconcat-filename.c: New file.
24001         * NEWS: Mention the change.
24002         * lib/findprog.c: Include concat-filename.h, not filename.h.
24003         (find_in_path): Use xconcatenated_filename instead of
24004         concatenated_filename.
24005         * lib/javacomp.c: Include concat-filename.h, not filename.h.
24006         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
24007         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
24008         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
24009         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
24010         instead of concatenated_filename.
24011         * lib/javaexec.c: Include concat-filename.h, not filename.h.
24012         (execute_java_class): Use xconcatenated_filename instead of
24013         concatenated_filename.
24014         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
24015         * modules/javacomp (Depends-on): Likewise.
24016         * modules/javaexec (Depends-on): Likewise.
24017
24018 2008-09-01  Bruno Haible  <bruno@clisp.org>
24019
24020         Split module 'filename' into 'filename' and 'concat-filename'.
24021         * modules/filename: Keep only lib/filename.h.
24022         (License): Change to LGPLv2+.
24023         * modules/concat-filename: New file, extracted from modules/filename.
24024         * lib/filename.h (concatenated_filename): Remove declaration.
24025         * lib/concat-filename.h: New file, extracted from lib/filename.h.
24026         * lib/concat-filename.c: Include concat-filename.h.
24027         * NEWS: Mention the change.
24028
24029 2008-09-01  Simon Josefsson  <simon@josefsson.org>
24030
24031         * lib/bitrotate.h (rotl8, rotr8): Add.
24032
24033         * modules/bitrotate (configure.ac): Need
24034         AC_REQUIRE([AC_C_INLINE]).
24035         (Description): Mention stdint.h.  Reported by Bruno Haible
24036         <bruno@clisp.org>.
24037
24038         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
24039         Paolo Bonzini <bonzini@gnu.org>.
24040
24041 2008-08-31  Bruno Haible  <bruno@clisp.org>
24042
24043         Assume Solaris specific bi-arch conventions on Solaris systems.
24044         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
24045         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
24046         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
24047         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
24048         like acl_libdirstem.
24049         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
24050         acl_libdirstem.
24051         * NEWS: Mention the change.
24052         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
24053
24054 2008-08-31  Jim Meyering  <meyering@redhat.com>
24055
24056         * lib/strftime.h: Add comments describing the two added arguments.
24057
24058         remove duplicate #include directives
24059         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
24060         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
24061
24062 2008-08-31  Bruno Haible  <bruno@clisp.org>
24063
24064         New module 'sigpipe-die'.
24065         * modules/sigpipe-die: New file.
24066         * lib/sigpipe-die.h: New file.
24067         * lib/sigpipe-die.c: New file.
24068         * MODULES.html.sh (Signal handling): Add sigpipe-die.
24069
24070 2008-08-31  Bruno Haible  <bruno@clisp.org>
24071
24072         Don't override previously installed signal handlers.
24073         * lib/fatal-signal.c (saved_sigactions): New variable.
24074         (uninstall_handlers): Reset the signal to the saved handler, not
24075         to SIG_DFL (except when ignored).
24076         (install_handlers): Save the previous handlers.
24077
24078 2008-08-30  Bruno Haible  <bruno@clisp.org>
24079
24080         * gnulib-tool (func_reset_sigpipe): New function.
24081         (func_get_automake_snippet, func_modules_transitive_closure,
24082         func_import): Invoke it before a join command that reads from stdin,
24083         to avoid "echo: write error: Broken pipe" error messages on stderr.
24084         Reported by Sam Steingold <sds@gnu.org>.
24085
24086 2008-08-30  Bruno Haible  <bruno@clisp.org>
24087
24088         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
24089         Code copied from m4/open.m4.
24090         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
24091         access and the filename ends in a slash. Code copied from lib/open.c.
24092         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
24093         * tests/test-fopen.c (main): Check against bug with trailing slash.
24094
24095 2008-08-29  Bruno Haible  <bruno@clisp.org>
24096
24097         Avoid some "gcc -pedantic" warnings.
24098         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
24099         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
24100         * lib/dirent.in.h: Likewise.
24101         * lib/fcntl.in.h: Likewise.
24102         * lib/float.in.h: Likewise.
24103         * lib/iconv.in.h: Likewise.
24104         * lib/inttypes.in.h: Likewise.
24105         * lib/locale.in.h: Likewise.
24106         * lib/math.in.h: Likewise.
24107         * lib/netinet_in.in.h: Likewise.
24108         * lib/search.in.h: Likewise.
24109         * lib/signal.in.h: Likewise.
24110         * lib/stdarg.in.h: Likewise.
24111         * lib/stdint.in.h: Likewise.
24112         * lib/stdio.in.h: Likewise.
24113         * lib/stdlib.in.h: Likewise.
24114         * lib/string.in.h: Likewise.
24115         * lib/strings.in.h: Likewise.
24116         * lib/sys_select.in.h: Likewise.
24117         * lib/sys_socket.in.h: Likewise.
24118         * lib/sys_stat.in.h: Likewise.
24119         * lib/sys_time.in.h: Likewise.
24120         * lib/sysexits.in.h: Likewise.
24121         * lib/time.in.h: Likewise.
24122         * lib/unistd.in.h: Likewise.
24123         * lib/wchar.in.h: Likewise.
24124         * lib/wctype.in.h: Likewise.
24125         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
24126         * modules/fchdir (Makefile.am): Likewise.
24127         * modules/fcntl (Makefile.am): Likewise.
24128         * modules/float (Makefile.am): Likewise.
24129         * modules/iconv_open (Makefile.am): Likewise.
24130         * modules/inttypes (Makefile.am): Likewise.
24131         * modules/locale (Makefile.am): Likewise.
24132         * modules/math (Makefile.am): Likewise.
24133         * modules/netinet_in (Makefile.am): Likewise.
24134         * modules/search (Makefile.am): Likewise.
24135         * modules/signal (Makefile.am): Likewise.
24136         * modules/stdarg (Makefile.am): Likewise.
24137         * modules/stdint (Makefile.am): Likewise.
24138         * modules/stdio (Makefile.am): Likewise.
24139         * modules/stdlib (Makefile.am): Likewise.
24140         * modules/string (Makefile.am): Likewise.
24141         * modules/strings (Makefile.am): Likewise.
24142         * modules/sys_select (Makefile.am): Likewise.
24143         * modules/sys_socket (Makefile.am): Likewise.
24144         * modules/sys_stat (Makefile.am): Likewise.
24145         * modules/sys_time (Makefile.am): Likewise.
24146         * modules/sysexits (Makefile.am): Likewise.
24147         * modules/time (Makefile.am): Likewise.
24148         * modules/unistd (Makefile.am): Likewise.
24149         * modules/wchar (Makefile.am): Likewise.
24150         * modules/wctype (Makefile.am): Likewise.
24151         Reported by Reuben Thomas <rrt@sc3d.org>.
24152
24153 2008-08-29  Bruno Haible  <bruno@clisp.org>
24154
24155         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
24156         any more.
24157
24158 2008-08-29  Simon Josefsson  <simon@josefsson.org>
24159
24160         * MODULES.html.sh (Misc): Add bitrotate.
24161
24162         * modules/bitrotate: New file.
24163
24164         * lib/bitrotate.h: New file.
24165
24166         * modules/bitrotate-tests: New file.
24167
24168         * tests/test-bitrotate.c: New file.
24169
24170         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
24171         on the bitrotate module.
24172
24173         * lib/arctwo.c: Use new bitrotate module.
24174
24175 2008-08-29  Jim Meyering  <meyering@redhat.com>
24176
24177         bootstrap: merge changes from coreutils
24178         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
24179         of copied files.  Remove a kludge, now that this is fixed.
24180         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
24181         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
24182         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
24183
24184 2008-08-29  Bruno Haible  <bruno@clisp.org>
24185
24186         * MODULES.html.sh: Remove --cvs-urls option.
24187
24188 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
24189
24190         maint.mk: adjust to file name change
24191         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
24192
24193 2008-08-28  Jim Meyering  <meyering@redhat.com>
24194
24195         * modules/getndelim2 (License): Relicense to LGPLv2+.
24196         Approved by Richard Stallman for the version of 1995, and by
24197         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
24198
24199 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
24200
24201         * lib/getdelim.c (flockfile, funlockfile): Make all of them
24202         dummy if one is not available.  Do not touch them if
24203         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
24204         (getc_maybe_unlocked): New.
24205         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
24206
24207 2008-08-26  Eric Blake  <ebb9@byu.net>
24208
24209         doc/INSTALL: resync from autoconf
24210         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
24211         (INSTALL_PRELUDE): Delete; this is done more efficiently by
24212         moving...
24213         * install.texi [!autoconf]: ...here.  Resync from autoconf.
24214         * INSTALL: Regenerate.
24215         * INSTALL.ISO: New file.
24216         * INSTALL.UTF-8: Likewise.
24217
24218 2008-08-26  Jim Meyering  <meyering@redhat.com>
24219
24220         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
24221         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
24222         these definitions conditional, so that they may be overridden, too.
24223
24224 2008-08-26  Bruno Haible  <bruno@clisp.org>
24225
24226         Generate INSTALL file variants with prettier quotes.
24227         * doc/Makefile (INSTALL_PRELUDE): New macro.
24228         (INSTALL): Use it.
24229         (INSTALL.ISO, INSTALL.UTF-8): New rules.
24230
24231 2008-08-26  Bruno Haible  <bruno@clisp.org>
24232
24233         Run makeinfo in an English locale.
24234         * doc/Makefile (MAKEINFO): New variable.
24235
24236 2008-08-26  Bruno Haible  <bruno@clisp.org>
24237
24238         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
24239         Suggested by Eric Blake.
24240
24241 2008-08-25  Bruno Haible  <bruno@clisp.org>
24242
24243         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
24244
24245 2008-08-25  Eric Blake  <ebb9@byu.net>
24246
24247         c-stack: test that stack overflow can be caught
24248         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
24249         that platform allows handling stack overflow; at least OS/2 EMX
24250         has sigaltstack, but crashes before transferring control to
24251         handler on stack overflow.
24252         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
24253         check for HAVE_STACK_OVERFLOW_HANDLING.
24254         Reported by Elbert Pol.
24255
24256 2008-08-25  Bruno Haible  <bruno@clisp.org>
24257
24258         * doc/posix-functions/strftime.texi: Fix description of strftime
24259         module.
24260
24261 2008-08-24  Bruno Haible  <bruno@clisp.org>
24262
24263         * tests/uniwidth/test-uc_width2.c: New file.
24264         * tests/uniwidth/test-uc_width2.sh: New file.
24265         * modules/uniwidth/width-tests (Files): Add the new files.
24266         (TESTS): Add uniwidth/test-uc_width2.sh.
24267         (TESTS_ENVIRONMENT): New variable.
24268         (check_PROGRAMS): Add test-uc_width2.
24269         (test_uc_width2_SOURCES): New variable.
24270
24271         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
24272         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
24273         not 0x00AB.
24274         Reported by Alexander V. Lukyanov <lav@netis.ru>.
24275
24276 2008-08-22  Eric Blake  <ebb9@byu.net>
24277
24278         test-lock, test-tls: mention why a test is skipped
24279         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
24280         skipped.
24281         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
24282
24283         count-one-bits: relax license
24284         * modules/count-one-bits (License): Relicense to LGPLv2+.
24285         Suggested by Ludovic Courtès, approved by Ben Pfaff.
24286
24287 2008-08-22  Andreas Schwab  <schwab@suse.de>
24288
24289         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
24290         Remove spurious space in assignment.
24291
24292 2008-08-21  Simon Josefsson  <simon@josefsson.org>
24293
24294         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
24295         Paul Eggert <eggert@CS.UCLA.EDU>.
24296
24297 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
24298
24299         * modules/gettext: Add m4/threadlib.m4.
24300
24301 2008-08-19  Eric Blake  <ebb9@byu.net>
24302
24303         test-c-stack: fix compilation failure on FreeBSD 5.0
24304         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
24305         headers before <sys/resource.h>.
24306         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
24307         the bug.
24308         Reported by Nelson H. F. Beebe.
24309
24310         strverscmp: migrate from "strverscmp.h" to <string.h>
24311         * modules/string (Makefile.am): Add new hooks.
24312         * modules/strverscmp (Files): Remove strverscmp.h.
24313         (Depends-on): Add string.
24314         (configure.ac): Add indicator.
24315         (Include): Mention new header.
24316         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
24317         defaults.
24318         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
24319         results.
24320         * lib/strverscmp.h: Delete.
24321         * lib/string.in.h (strverscmp): Provide declaration, when needed.
24322         * tests/test-strverscmp.c (includes): Adjust client.
24323         * lib/check-version.c (includes): Likewise.
24324         * NEWS: Document the change.
24325
24326         strverscmp: add unit test
24327         * modules/strverscmp-tests: New file.
24328         * tests/test-strverscmp.c: Likewise.
24329
24330 2008-08-19  Simon Josefsson  <simon@josefsson.org>
24331
24332         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
24333         regarding Windows crypto stuff, from Mono.
24334
24335 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
24336
24337         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
24338         if present, for intel RND.  Return error on failures.
24339
24340 2008-08-18  Ben Pfaff  <blp@gnu.org>
24341
24342         gitlog-to-changelog: give better diagnostic for failed pipe-open
24343         * build-aux/gitlog-to-changelog: Improve error message: suggest
24344         that the version of Git may be too old.
24345
24346 2008-08-18  Simon Josefsson  <simon@josefsson.org>
24347
24348         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
24349         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
24350
24351 2008-08-18  Bruno Haible  <bruno@clisp.org>
24352
24353         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
24354         pthread_in_use().
24355
24356 2008-08-18  Bruno Haible  <bruno@clisp.org>
24357
24358         * lib/glthread/threadlib.c: Include <pthread.h>.
24359
24360 2008-08-18  Bruno Haible  <bruno@clisp.org>
24361
24362         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
24363         glthread_recursive_lock_* macros.
24364         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
24365         Fix syntax error.
24366
24367 2008-08-18  Bruno Haible  <bruno@clisp.org>
24368
24369         * lib/glthread/thread.c: Avoid forcing a context switch right after
24370         thread creation.
24371
24372 2008-08-17  Bruno Haible  <bruno@clisp.org>
24373
24374         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
24375         * lib/glthread/thread.h: Provide Win32 specific implementation.
24376         * modules/thread (Files): Add lib/glthread/thread.c.
24377         (Depends-on): Add lock.
24378         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
24379
24380 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24381
24382         New module 'yield'.
24383         * modules/yield: New file.
24384         * lib/glthread/yield.h: New file.
24385         * m4/yield.m4: New file.
24386         * MODULES.html.sh (Multithreading): Add yield.
24387
24388 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24389
24390         New module 'thread'.
24391         * modules/thread: New file.
24392         * lib/glthread/thread.h: New file.
24393         * m4/thread.m4: New file.
24394         * MODULES.html.sh (Multithreading): Add thread.
24395
24396 2008-08-17  Bruno Haible  <bruno@clisp.org>
24397
24398         * lib/glthread/lock.h: Include <stdlib.h> always.
24399         * lib/glthread/tls.h: Likewise.
24400         * lib/glthread/cond.h: Likewise.
24401
24402 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24403
24404         New module 'cond'.
24405         * modules/cond: New file.
24406         * lib/glthread/cond.h: New file.
24407         * lib/glthread/cond.c: New file.
24408         * m4/cond.m4: New file.
24409         * MODULES.html.sh (Multithreading): Add cond.
24410
24411 2008-08-16  Eric Blake  <ebb9@byu.net>
24412
24413         c-stack: fix regression on Irix 5.3 from 2008-06-21
24414         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
24415         sa_sigaction...
24416         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
24417         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
24418         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
24419         * modules/signal (Makefile.am): Use the value.
24420         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
24421         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
24422         * doc/posix-headers/signal.texi (signal.h): Document this
24423         portability issue.
24424         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
24425         Reported by Tom G. Christensen.
24426
24427 2008-08-17  Bruno Haible  <bruno@clisp.org>
24428
24429         New module 'threadlib'.
24430         * modules/threadlib: New file.
24431         * lib/glthread/threadlib.c: New file, extracted from
24432         lib/glthread/lock.c.
24433         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
24434         functions.
24435         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
24436         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
24437         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
24438         macros.
24439         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
24440         (gl_DISABLE_THREADS): Remove macro.
24441         * modules/lock (Files): Remove build-aux/config.rpath.
24442         (Depends-on): Remove havelib. Add threadlib.
24443         (configure.ac-early): Remove section.
24444         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
24445         * modules/tls (Depends-on): Remove lock. Add threadlib.
24446         (Link): New section, copied from threadlib.
24447         * MODULES.html.sh (Multithreading): Add threadlib.
24448
24449 2008-08-14  Bruno Haible  <bruno@clisp.org>
24450
24451         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
24452         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
24453         glthread_rwlock_unlock, glthread_rwlock_destroy,
24454         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
24455         glthread_recursive_lock_destroy): Define as macros always.
24456         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
24457         glthread_lock_lock.
24458         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
24459         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
24460         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
24461         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
24462         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
24463         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
24464         (glthread_recursive_lock_lock_func): Renamed from
24465         glthread_recursive_lock_lock.
24466         (glthread_recursive_lock_unlock_func): Renamed from
24467         glthread_recursive_lock_unlock.
24468         (glthread_recursive_lock_destroy_func): Renamed from
24469         glthread_recursive_lock_destroy.
24470
24471 2008-08-14  Bruno Haible  <bruno@clisp.org>
24472
24473         * lib/glthread/lock.h: Renamed from lib/lock.h.
24474         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
24475         * lib/glthread/tls.h: Renamed from lib/tls.h.
24476         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
24477         * lib/fstrcmp.c: Update includes.
24478         * lib/strsignal.c: Update includes.
24479         * modules/lock (Files, Makefile.am): Update.
24480         (Include): Change to "glthread/lock.h".
24481         * modules/tls (Files, Makefile.am): Update.
24482         (Include): Change to "glthread/tls.h".
24483         * tests/test-lock.c: Update includes.
24484         * tests/test-tls.c: Update includes.
24485         * NEWS: Mention the renamed header files.
24486
24487 2008-08-11  Jim Meyering  <meyering@redhat.com>
24488
24489         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
24490
24491 2008-08-11  Eric Blake  <ebb9@byu.net>
24492
24493         test-c-stack: avoid C99-ism
24494         * tests/test-c-stack.c (main): Fix whitespace, move declaration
24495         before statement.
24496         Reported by Alain Guibert.
24497
24498 2008-08-10  Jim Meyering  <meyering@redhat.com>
24499
24500         ensure that return value of uinttostr et al are not ignored
24501         * lib/inttostr.h (__GNUC_PREREQ): Define.
24502         (__attribute_warn_unused_result__): Define.
24503         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
24504
24505 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
24506
24507         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
24508         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
24509
24510 2008-08-07  Jim Meyering  <meyering@redhat.com>
24511
24512         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
24513
24514         * modules/mkstemp (License): Relicense under LGPLv2+.
24515         * modules/tempname (License): Likewise.
24516
24517 2008-08-06  Bruno Haible  <bruno@clisp.org>
24518
24519         * lib/poll.c (poll): Further micro-optimization.
24520
24521 2008-08-06  Jim Meyering  <meyering@redhat.com>
24522
24523         inet_pton.c: use locale-independent tolower
24524         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
24525         (inet_pton6): Use c_tolower rather than tolower.
24526         * modules/inet_pton (Depends-on): Add c-ctype.
24527
24528 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
24529
24530         * lib/poll.c (poll): Avoid division when timeout is 0, cache
24531         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
24532
24533 2008-08-06  Jim Meyering  <meyering@redhat.com>
24534
24535         * modules/inet_pton (License): Relicense under LGPLv2+.
24536
24537 2008-08-03  Bruno Haible  <bruno@clisp.org>
24538
24539         Additional non-aborting API for lock and tls.
24540         * lib/lock.h: Include <errno.h>.
24541         (glthread_lock_init): New macro/function.
24542         (gl_lock_init): Define as wrapper around glthread_lock_init.
24543         (glthread_lock_lock): New macro/function.
24544         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
24545         (glthread_lock_unlock): New macro/function.
24546         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
24547         (glthread_lock_destroy): New macro/function.
24548         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
24549         (glthread_rwlock_init): New macro/function.
24550         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
24551         (glthread_rwlock_rdlock): New macro/function.
24552         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
24553         (glthread_rwlock_wrlock): New macro/function.
24554         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
24555         (glthread_rwlock_unlock): New macro/function.
24556         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
24557         (glthread_rwlock_destroy): New macro/function.
24558         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
24559         (glthread_recursive_lock_init): New macro/function.
24560         (gl_recursive_lock_init): Define as wrapper around
24561         glthread_recursive_lock_init.
24562         (glthread_recursive_lock_lock): New macro/function.
24563         (gl_recursive_lock_lock): Define as wrapper around
24564         glthread_recursive_lock_lock.
24565         (glthread_recursive_lock_unlock): New macro/function.
24566         (gl_recursive_lock_unlock): Define as wrapper around
24567         glthread_recursive_lock_unlock.
24568         (glthread_recursive_lock_destroy): New macro/function.
24569         (gl_recursive_lock_destroy): Define as wrapper around
24570         glthread_recursive_lock_destroy.
24571         (glthread_once): New macro/function.
24572         (gl_once): Define as wrapper around glthread_once.
24573         Update function declarations.
24574         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
24575         glthread_rwlock_init. Return error code.
24576         (glthread_rwlock_rdlock_multithreaded): Renamed from
24577         glthread_rwlock_rdlock. Return error code.
24578         (glthread_rwlock_wrlock_multithreaded): Renamed from
24579         glthread_rwlock_wrlock. Return error code.
24580         (glthread_rwlock_unlock_multithreaded): Renamed from
24581         glthread_rwlock_unlock. Return error code.
24582         (glthread_rwlock_destroy_multithreaded): Renamed from
24583         glthread_rwlock_destroy. Return error code.
24584         (glthread_recursive_lock_init_multithreaded): Renamed from
24585         glthread_recursive_lock_init. Return error code.
24586         (glthread_recursive_lock_lock_multithreaded): Renamed from
24587         glthread_recursive_lock_lock. Return error code.
24588         (glthread_recursive_lock_unlock_multithreaded): Renamed from
24589         glthread_recursive_lock_unlock. Return error code.
24590         (glthread_recursive_lock_destroy_multithreaded): Renamed from
24591         glthread_recursive_lock_destroy. Return error code.
24592         (glthread_once_call): Make static.
24593         (glthread_once_multithreaded): Renamed from glthread_once.
24594         * lib/tls.h: Include <errno.h>.
24595         (glthread_tls_key_init): New macro/function.
24596         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
24597         (glthread_tls_set): New macro/function.
24598         (gl_tls_set): Define as wrapper around glthread_tls_set.
24599         (glthread_tls_key_destroy): New macro/function.
24600         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
24601         Update function declarations.
24602         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
24603         glthread_tls_get.
24604         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24605
24606 2008-08-04  Eric Blake  <ebb9@byu.net>
24607
24608         gnumakefile: use space, not TAB, outside of targets
24609         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
24610
24611 2008-08-02  Jim Meyering  <meyering@redhat.com>
24612
24613         getdate.y: avoid locale-dependent date parsing failure
24614         In Turkish locales, getdate would fail to recognize keywords
24615         containing a lowercase "i".  The solution is not to rely on
24616         locale-sensitive case-conversion.
24617         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
24618         (lookup_word): Use c_toupper in place of toupper.
24619         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
24620         Reported by Vefa Bicakci <bicave@superonline.com> in
24621         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
24622         * modules/getdate (Depends-on): Add c-ctype.
24623
24624 2008-08-02  Bruno Haible  <bruno@clisp.org>
24625
24626         * gnulib-tool (func_import): When updating or creating a .gitignore
24627         file, prepend each added line with a slash, and ignore leading slashes
24628         from the existing lines.
24629         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
24630
24631 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24632
24633         Portability fix for GNU make 3.79.1.
24634         * top/GNUmakefile: Avoid 'else COND', which older GNU make
24635         versions do not understand.
24636
24637 2008-08-01  Bruno Haible  <bruno@clisp.org>
24638
24639         Work around bug of HP-UX 10.20 cc with -0.0 literal.
24640         * tests/test-isnanf.h (zero): New variable.
24641         (main): Avoid literal -0.0f.
24642         * tests/test-isnand.h (zero): New variable.
24643         (main): Avoid literal -0.0.
24644         * tests/test-isnanl.h (zero): New variable.
24645         (main): Avoid literal -0.0L.
24646         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
24647         (test_float, test_double, test_long_double): Avoid literals -0.0f,
24648         -0.0, -0.0L.
24649         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
24650         (test_signbitd): Avoid literal -0.0.
24651         (test_signbitl): Avoid literal -0.0L.
24652         * tests/test-ceilf1.c (zero): New variable.
24653         (main): Avoid literal -0.0f.
24654         * tests/test-ceill.c (zero): New variable.
24655         (main): Avoid literal -0.0L.
24656         * tests/test-floorf1.c (zero): New variable.
24657         (main): Avoid literal -0.0f.
24658         * tests/test-floorl.c (zero): New variable.
24659         (main): Avoid literal -0.0L.
24660         * tests/test-roundf1.c (zero): New variable.
24661         (main): Avoid literal -0.0f.
24662         * tests/test-round1.c (zero): New variable.
24663         (main): Avoid literal -0.0.
24664         * tests/test-roundl.c (zero): New variable.
24665         (main): Avoid literal -0.0L.
24666         * tests/test-truncf1.c (zero): New variable.
24667         (main): Avoid literal -0.0f.
24668         * tests/test-trunc1.c (zero): New variable.
24669         (main): Avoid literal -0.0.
24670         * tests/test-truncl.c (zero): New variable.
24671         (main): Avoid literal -0.0L.
24672         * tests/test-frexp.c (zero): New variable.
24673         (main): Avoid literal -0.0.
24674         * tests/test-frexpl.c (zero): New variable.
24675         (main): Avoid literal -0.0L.
24676         * tests/test-ldexpl.c (zero): New variable.
24677         (main): Avoid literal -0.0L.
24678         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24679         (zerod, zerol): New variables.
24680         (test_function): Avoid literals -0.0, -0.0L.
24681         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
24682         (zerod, zerol): New variables.
24683         (test_function): Avoid literals -0.0, -0.0L.
24684         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24685         (zerod, zerol): New variables.
24686         (test_function): Avoid literals -0.0, -0.0L.
24687         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
24688         (zerod, zerol): New variables.
24689         (test_function): Avoid literals -0.0, -0.0L.
24690         * tests/test-strtod.c (zero): New variable.
24691         (main): Avoid literal -0.0.
24692         Reported by Jonathan C. Patschke <jp@centtech.com>.
24693
24694 2008-07-31  Jim Meyering  <meyering@redhat.com>
24695
24696         sha256.h: correct definition of SHA224_DIGEST_SIZE
24697         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
24698         Reported by Paulie Pena IV <paulie4@gmail.com>.
24699         Define as 224 / 8, rather than as a literal.
24700         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
24701         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
24702         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
24703
24704 2008-07-31  Bruno Haible  <bruno@clisp.org>
24705
24706         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
24707         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
24708         Reported by Jonathan Patschke <jp@centtech.com>.
24709
24710 2008-07-31  Bruno Haible  <bruno@clisp.org>
24711
24712         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
24713         Reported by Paolo Bonzini <bonzini@gnu.org>.
24714
24715 2008-07-30  Eric Blake  <ebb9@byu.net>
24716
24717         test-strtod: allow compilation without -lm
24718         * tests/test-strtod.c (main): Avoid link dependence on fabs.
24719         Reported by Dennis Clarke <blastwave@gmail.com>.
24720
24721 2008-07-28  Jim Meyering  <meyering@redhat.com>
24722
24723         bootstrap: work also when there are no .po files in po/
24724         * build-aux/bootstrap (update_po_files): Complete the change
24725         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
24726
24727 2008-07-27  Jim Meyering  <meyering@redhat.com>
24728
24729         * users.txt: Add zile.
24730
24731 2008-07-26  Ben Pfaff  <blp@gnu.org>
24732
24733         Add missing dependencies on new m4/exponent[fdl].m4 files.
24734         * modules/isnanf-nolibm: Add m4/exponentf.m4.
24735         * modules/isnand-nolibm: Add m4/exponentd.m4.
24736         * modules/isnanl-nolibm: Add m4/exponentl.m4.
24737         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
24738         m4/isnan[fdl].m4, because the macros actually used moved.
24739         Reported by Jim Meyering.
24740
24741 2008-07-14  Ben Pfaff  <blp@gnu.org>
24742
24743         Add isinf module.
24744         * lib/isinf.c: New file.
24745         * lib/math.in.h: Define isinf macro if we have decided to replace
24746         it.
24747         * m4/isinf.m4: New file.
24748         * m4/math_h.m4: Initialize and substitute variables for isinf
24749         module.
24750         * modules/isinf: New file.
24751         * modules/isinf-tests: New file.
24752         * modules/math: Add substitutions for new module.
24753         * tests/test-isinf.c: New file.
24754         * doc/posix-functions/isinf.texi: Mention new module.
24755         * MODULES.html.sh: Mention new module.
24756
24757 2008-07-14  Ben Pfaff  <blp@gnu.org>
24758
24759         Factor out some macros for use by additional modules.
24760         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
24761         exponentf.m4.
24762         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
24763         exponentd.m4.
24764         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
24765         file exponentl.m4.
24766         * m4/exponentf.m4: New file.
24767         * m4/exponentd.m4: New file.
24768         * m4/exponentl.m4: New file.
24769         * modules/isnanf: Use new file m4/exponentf.m4.
24770         * modules/isnand: Use new file m4/exponentd.m4.
24771         * modules/isnanl: Use new file m4/exponentl.m4.
24772
24773 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
24774
24775         mktime.c: normalize tp->tm_isdst value to -1/0/1.
24776         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
24777         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
24778         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
24779
24780         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
24781         readlink on platforms without PATH_MAX.
24782
24783 2008-07-21  Eric Blake  <ebb9@byu.net>
24784
24785         Warn, not fail, on stale version.
24786         * top/GNUmakefile (_curr-ver): Tone down previous patch.
24787
24788         Don't allow installation with stale devel version number.
24789         * top/GNUmakefile (_is-install-target): New macro.
24790         (_curr-ver): Forbid installation with stale version number.
24791
24792 2008-07-20  Bruno Haible  <bruno@clisp.org>
24793
24794         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
24795         TESTS_ENVIRONMENT.
24796         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
24797
24798 2008-07-20  Bruno Haible  <bruno@clisp.org>
24799
24800         * lib/c-stack.h (c_stack_action): Add documentation.
24801         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
24802
24803 2008-07-20  Bruno Haible  <bruno@clisp.org>
24804
24805         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
24806         * modules/readlink (License): Likewise.
24807
24808 2008-07-17  Eric Blake  <ebb9@byu.net>
24809
24810         * modules/c-stack (Link): Fix typo.
24811
24812         Make c-stack use libsigsegv, when available.
24813         * modules/c-stack (Depends-on): Add libsigsegv.
24814         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
24815         needed.
24816         * lib/c-stack.c (SIGSTKSZ): Define fallback.
24817         (segv_handler, overflow_handler, c_stack_action)
24818         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
24819         implementation when libsigsegv is available, but only when using
24820         the library is necessary.
24821         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
24822         comment, explaining why XSI check fails on Linux.
24823         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
24824         * tests/test-c-stack2.sh: Tweak skip message.
24825         * NEWS: Document new link-time requirements.
24826
24827 2008-07-16  Eric Blake  <ebb9@byu.net>
24828
24829         c-stack: Expose false positives when not using libsigsegv.
24830         * modules/c-stack-tests (Files): Expand test.
24831         * tests/test-c-stack.c (main): Add means to conditionally trigger
24832         non-overflow SIGSEGV.
24833         * tests/test-c-stack2.sh: New file.
24834
24835 2008-07-14  Bruno Haible  <bruno@clisp.org>
24836
24837         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
24838         Reported by Eric Blake.
24839
24840 2008-07-14  Sam Steingold  <sds@gnu.org>
24841             Bruno Haible  <bruno@clisp.org>
24842
24843         New module libsigsegv.
24844         * modules/libsigsegv: New file.
24845         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
24846         modifications.
24847         * MODULES.html.sh (Signal handling): New section.
24848
24849 2008-07-14  Bruno Haible  <bruno@clisp.org>
24850
24851         * modules/unictype/ctype-* (Description): Add the word "function".
24852         Improves the resulting doc in MODULES.html.
24853
24854 2008-07-12  Ben Pfaff  <blp@gnu.org>
24855
24856         Add longlong module.
24857         * modules/longlong: New file.
24858
24859 2008-07-12  Bruno Haible  <bruno@clisp.org>
24860
24861         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
24862         to empty.
24863
24864 2008-07-10  Ben Pfaff  <blp@gnu.org>
24865
24866         Add isnan module.
24867         * doc/posix-functions/isnan.texi: Mention new module.
24868         * lib/math.in.h: Define isnan macro if we have decided to replace
24869         it.
24870         * m4/isnan.m4: New file.
24871         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
24872         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
24873         also.
24874         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
24875         redundancy.
24876         * m4/math_h.m4: Initialize and substitute variables for isnan
24877         module.
24878         * modules/isnan: New file.
24879         * modules/isnan-tests: New file.
24880         * modules/math: Add substitutions for new module.
24881         * tests/test-isnan.c: New file.
24882         * MODULES.html.sh: Mention new module.
24883
24884 2008-07-10  Ben Pfaff  <blp@gnu.org>
24885
24886         Add isnanf module.
24887         * lib/isnanf.m4: New file.
24888         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
24889         (gl_HAVE_ISNANF_IN_LIBM): New macro.
24890         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
24891         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
24892         * modules/isnanf: New file.
24893         * modules/isnanf-tests: New file.
24894         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
24895         files.
24896         * tests/test-isnanf-nolibm.c: factored most of its contents into
24897         new file tests/test-isnanf.h.
24898         * tests/test-isnanf.h: New file.
24899         * tests/test-isnanf.c: New file.
24900         * MODULES.html.sh: Mention new module.
24901         * doc/glibc-functions/isnanf.texi: Mention new module.
24902
24903 2008-07-10  Ben Pfaff  <blp@gnu.org>
24904
24905         Add isnand module.
24906         * lib/isnand.h: New file.
24907         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
24908         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
24909         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
24910         functionality also.
24911         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
24912         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
24913         (gl_HAVE_ISNAND_IN_LIBM): New macro.
24914         * modules/isnand: New file.
24915         * modules/isnand-tests: New file.
24916         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
24917         files.
24918         * tests/test-isnand-nolibm.c: factored most of its contents into
24919         new file tests/test-isnand.h.
24920         * tests/test-isnand.h: New file.
24921         * tests/test-isnand.c: New file.
24922         * MODULES.html.sh: Mention new module.
24923
24924 2008-07-10  Ben Pfaff  <blp@gnu.org>
24925
24926         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
24927         * lib/isnand.h: Rename lib/isnand-nolibm.h.
24928         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
24929         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
24930         * modules/isnanf-nolibm: Update references to renamed files.
24931         * modules/isnand-nolibm: Likewise.
24932         * modules/isnanf-nolibm-tests: Likewise.
24933         * modules/isnand-nolibm-tests: Likewise.
24934         * lib/frexp.c: Likewise.
24935         * lib/isfinite.c: Likewise.
24936         * lib/signbitd.c: Likewise.
24937         * lib/signbitf.c: Likewise.
24938         * lib/vasnprintf.c: Likewise.
24939         * tests/test-ceilf1.c: Likewise.
24940         * tests/test-ceilf2.c: Likewise.
24941         * tests/test-floorf1.c: Likewise.
24942         * tests/test-floorf2.c: Likewise.
24943         * tests/test-frexp.c: Likewise.
24944         * tests/test-round1.c: Likewise.
24945         * tests/test-round2.c: Likewise.
24946         * tests/test-roundf1.c: Likewise.
24947         * tests/test-strtod.c: Likewise.
24948         * tests/test-trunc1.c: Likewise.
24949         * tests/test-trunc2.c: Likewise.
24950         * tests/test-truncf1.c: Likewise.
24951         * tests/test-truncf2.c: Likewise.
24952         * NEWS: Mention the renamed header files.
24953
24954 2008-07-11  Jim Meyering  <meyering@redhat.com>
24955
24956         vc-list-files: make the last-resort awk code more portable
24957         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
24958         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
24959         does not support it.
24960
24961 2008-07-10  Eric Blake  <ebb9@byu.net>
24962
24963         Work with tar's bootstrap.
24964         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
24965         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
24966         an m4 comment.
24967
24968 2008-07-09  Jim Meyering  <meyering@redhat.com>
24969
24970         posix-shell.m4: fix typo that made this test malfunction
24971         * m4/posix-shell.m4: Remove capitalization in variable name.
24972
24973 2008-07-08  Bruno Haible  <bruno@clisp.org>
24974
24975         * m4/onceonly.m4: Update comments.
24976         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24977
24978 2008-07-04  Jim Meyering  <meyering@redhat.com>
24979
24980         * users.txt: Add vc-dwim.
24981         (bison, coreutils): Use the gitweb URL.
24982
24983 2008-07-03  Jim Meyering  <meyering@redhat.com>
24984
24985         * users.txt: Add libffcall.  From Sam Steingold.
24986
24987 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
24988
24989         getdate.y: do not ignore TZ with relative day, month or year offset
24990         * lib/getdate.y (get_date): Move the tz-handling block to follow the
24991         relative-date-handling, since otherwise, the latter would clobber the
24992         sole output (an updated Start value) of the tz-handling block.
24993         * tests/test-getdate.c: Tests for the fix
24994
24995 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24996
24997         Recognize 'foo_LIBRARIES += libgnu.a'.
24998         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
24999         makefile snippet has already specified an installation location,
25000         also using '+='.
25001
25002 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
25003
25004         getdate.y: factor out common actions
25005         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
25006         Use them in place of open-coded actions.
25007
25008 2008-07-01  Simon Josefsson  <simon@josefsson.org>
25009
25010         Add self-test for getdate module.
25011         * modules/getdate-tests: New file.
25012         * tests/test-getdate.c: New file.
25013
25014 2008-06-29  Bruno Haible  <bruno@clisp.org>
25015
25016         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
25017         .gitignore.
25018         Reported by Sylvain Beucler <beuc@beuc.net>.
25019
25020 2008-06-29  Bruno Haible  <bruno@clisp.org>
25021
25022         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
25023         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
25024
25025 2008-06-29  Bruno Haible  <bruno@clisp.org>
25026
25027         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
25028         EXTRA_DIST.
25029         Reported by Sylvain Beucler <beuc@beuc.net>.
25030
25031 2008-06-26  Jim Meyering  <meyering@redhat.com>
25032
25033         make several modules depend on the "open" module
25034         This provides slightly increased consistency when opening-for-write
25035         the name of a non-directory spelled with a trailing slash.
25036         * modules/chdir-safer: Likewise.
25037         * modules/chown: Likewise.
25038         * modules/clean-temp: Likewise.
25039         * modules/copy-file: Likewise.
25040         * modules/fchdir: Likewise.
25041         * modules/fcntl-safer: Likewise.
25042         * modules/pipe: Likewise.
25043         * modules/utime: Likewise.
25044         Prompted by Eric Blake and Bruno Haible.
25045
25046 2008-06-24  Andreas Schwab  <schwab@suse.de>
25047
25048         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
25049         literals can be used as initializers for global variables.
25050
25051 2008-06-23  Eric Blake  <ebb9@byu.net>
25052
25053         Make gnulib-cache.m4 easier to diff.
25054         * gnulib-tool (func_import): Allow newlines when reading cached
25055         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
25056
25057 2008-06-23  Bruno Haible  <bruno@clisp.org>
25058
25059         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
25060         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
25061         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
25062         m4/signalblocking.m4.
25063         (gl_PREREQ_SIGACTION): Don't invoke it.
25064         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
25065         gl_PREREQ_SIG_HANDLER_H.
25066         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
25067         Don't check for sigaction here.
25068
25069 2008-06-23  Bruno Haible  <bruno@clisp.org>
25070
25071         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
25072         (install_handlers): Don't set the SA_RESETHAND flag.
25073
25074 2008-06-23  Bruno Haible  <bruno@clisp.org>
25075
25076         * m4/sigaction.m4: Comment fixes.
25077         * lib/signal.in.h: Likewise.
25078
25079 2008-06-23  Eric Blake  <ebb9@byu.net>
25080
25081         Fix typo.
25082         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
25083
25084         Avoid SA_ namespace.
25085         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
25086         Reported by Ralf Wildenhues.
25087
25088         Avoid test failure due to SA_RESTORER.
25089         * tests/test-sigaction.c (SA_MASK): New macro.
25090         (main): Avoid failing due to extension flags being set.
25091         Reported by Jim Meyering.
25092
25093         Revert use of sig-handler.h in sigprocmask.c.
25094         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
25095         it requires the existence of struct sigaction.
25096         * lib/sigprocmask.c (handler_t): Restore typedef.
25097         (rpl_signal, old_handlers): Use local type.
25098
25099 2008-06-22  Bruno Haible  <bruno@clisp.org>
25100
25101         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
25102         conditionally.
25103         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25104
25105 2008-06-22  Bruno Haible  <bruno@clisp.org>
25106
25107         * doc/posix-functions/siginterrupt.texi: Move note.
25108
25109         * lib/signal.in.h (SA_RESTART): New macro.
25110         * lib/sigaction.c: Update comment.
25111
25112         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
25113
25114         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
25115         (gl_PREREQ_SIGPROCMASK): Invoke it.
25116         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
25117
25118         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
25119
25120         * lib/sigprocmask.c: Update a comment.
25121
25122 2008-06-21  Eric Blake  <ebb9@byu.net>
25123
25124         Use sigaction module rather than signal().
25125         * modules/c-stack (Depends-on): Add sigaction.
25126         * modules/fatal-signal (Depends-on): Likewise.
25127         * modules/nanosleep (Depends-on): Likewise.
25128         * modules/sigprocmask (Files): Add sig-handler.h.
25129         * modules/sigaction (Files): Likewise.
25130         * lib/sig-handler.h (get_handler): New file, suggested by Paul
25131         Eggert.
25132         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
25133         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
25134         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
25135         (init_fatal_signals): Likewise.
25136         * lib/nanosleep.c (rpl_nanosleep): Likewise.
25137         (siginterrupt): Delete fallback.
25138         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
25139         instead.
25140         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
25141         siginterrupt.
25142
25143         New module sigaction, for mingw.
25144         * modules/sigaction: New module...
25145         * modules/sigaction-tests: ...and its test.
25146         * m4/sigaction.m4: New file.
25147         * lib/sigaction.c: Likewise.
25148         * tests/test-sigaction.c: Likewise.
25149         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
25150         * modules/signal (Makefile.am): Likewise.
25151         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
25152         needed.
25153         * doc/posix-headers/signal.texi (signal.h): Mention provided
25154         types.
25155         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
25156         that sigaction is preferable.
25157         * doc/posix-functions/sigaction.texi (sigaction): Mention new
25158         module.
25159         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25160         sigaction.
25161
25162         Improve robustness of sigprocmask by overriding signal.
25163         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
25164         is in use.
25165         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
25166         (SIGKILL, SIGSTOP): Provide fallbacks.
25167         (rpl_signal): Implement.
25168         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
25169         signal can be called inside handlers.
25170
25171         Fix nanosleep module on mingw.
25172         * modules/nanosleep (Depends-on): Add sys_select.
25173         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
25174
25175         Fix licensing of sigprocmask.
25176         * modules/raise (License): Relicense as LGPL.
25177
25178 2008-06-21  Bruno Haible  <bruno@clisp.org>
25179
25180         * lib/propername.c (proper_name_utf8): Don't use the transliterated
25181         result if it contains question marks.
25182         Reported by Michael Geng <linux@michaelgeng.de>.
25183
25184 2008-06-19  Bruno Haible  <bruno@clisp.org>
25185
25186         Fix CVS-ism.
25187         * doc/gnulib.texi: Include updated-stamp.texi.
25188         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
25189         (updated-stamp.texi): New rule.
25190         (gnulib.info): Depend on it.
25191         * doc/.gitignore: Add updated-stamp.texi.
25192         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
25193
25194 2008-06-19  Bruno Haible  <bruno@clisp.org>
25195
25196         * doc/Makefile (gnulib.info): Update and simplify dependencies.
25197         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25198
25199 2008-06-19  Eric Blake  <ebb9@byu.net>
25200
25201         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
25202         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
25203         Reported by Stepan Kasal.
25204
25205 2008-06-18  Bruno Haible  <bruno@clisp.org>
25206
25207         * lib/fatal-signal.c (init_fatal_signals): Add comment.
25208         Reported by Eric Blake.
25209
25210 2008-06-18  Eric Blake  <ebb9@byu.net>
25211
25212         Work around cygwin 1.5.25 strsignal bug.
25213         * tests/test-strsignal.c: Allow for const char *.
25214         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
25215
25216 2008-06-18  Simon Josefsson  <simon@josefsson.org>
25217
25218         * users.txt: Update URL to article and add author/date
25219         information.
25220
25221 2008-06-17  Bruno Haible  <bruno@clisp.org>
25222
25223         New macro gl_DISABLE_THREADS.
25224         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
25225         if the user did not pass --enable-threads or --disable-threads option.
25226         (gl_DISABLE_THREADS): New macro.
25227         Reported by Eric Blake <ebb9@byu.net>.
25228
25229 2008-06-17  Bruno Haible  <bruno@clisp.org>
25230
25231         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
25232         when the macro ignores it.
25233         Based on a patch by Eric Blake <ebb9@byu.net>.
25234
25235 2008-06-17  Bruno Haible  <bruno@clisp.org>
25236
25237         * modules/tls (License): Change to LGPLv2+.
25238         Reported by Eric Blake.
25239
25240 2008-06-17  Eric Blake  <ebb9@byu.net>
25241
25242         Simplify c-stack prerequisites.
25243         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
25244         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
25245         no longer requires <ucontext.h> to exist.  Optimize setrlimit
25246         check.
25247         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
25248         <sys/resource.h>.
25249
25250         Move c-stack test into testsuite.
25251         * modules/c-stack-tests: New file.
25252         * lib/c-stack.c [DEBUG]: Move test program...
25253         * tests/test-c-stack.c: ...into this new file.  Skip rather than
25254         fail test if sigaltstack is lacking.
25255         * tests/test-c-stack.sh: New driver file.
25256
25257 2008-06-16  Eric Blake  <ebb9@byu.net>
25258
25259         Use raise module consistently.
25260         * modules/fatal-signal (Depends-on): Add raise.
25261         * modules/sigprocmask (Depends-on): Likewise.
25262         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
25263         * lib/sigprocmask.c (sigprocmask): Likewise.
25264         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
25265         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
25266
25267         Fix compliance bug in sigpending.
25268         * lib/sigprocmask.c (sigpending): Return pending array via
25269         parameter, not return value.
25270
25271 2008-06-14  Eric Blake  <ebb9@byu.net>
25272
25273         Improve obstack-printf test code.
25274         * tests/test-obstack-printf.c (test_function): Fix comment, and
25275         simplify usage of obstack_* in macros.  Add a test for coverage.
25276         Reported by Bruno Haible.
25277
25278 2008-06-14  Bruno Haible  <bruno@clisp.org>
25279
25280         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
25281         array size as a constant, not as a const variable.
25282         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
25283         AC_USE_SYSTEM_EXTENSIONS.
25284         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
25285         Test whether the obstack_printf function actually exists.
25286         * modules/obstack-printf (Depends-on): Add extensions.
25287         (Include): Remove obstack.h.
25288         * modules/obstack-printf-posix (Depends-on): Add extensions.
25289         (Include): Remove obstack.h.
25290
25291 2008-06-13  Eric Blake  <ebb9@byu.net>
25292
25293         Add obstack-printf and obstack-printf-posix modules.
25294         * modules/obstack-printf: New file.
25295         * modules/obstack-printf-posix: Likewise.
25296         * MODULES.html.sh (Misc): Mention them.
25297         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
25298         Likewise.
25299         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
25300         Likewise.
25301         * modules/stdio (Makefile.am): Accomodate new modules.
25302         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25303         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
25304         Declare.
25305         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
25306         functions.
25307         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
25308         (gl_REPLACE_OBSTACK_PRINTF): New macros
25309         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
25310         * tests/test-obstack-printf.c: New file.
25311         * modules/obstack-printf-tests: Likewise.
25312         * modules/obstack-printf-posix-tests: Likewise.
25313
25314 2008-06-11  Bruno Haible  <bruno@clisp.org>
25315
25316         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
25317         * lib/open.c: Include errno.h.
25318         (open): Fail when attempting to write to a file that has a trailing
25319         slash.
25320         * tests/test-open.c (main): Test against trailing slash bug.
25321         * doc/posix-functions/open.texi: Mention the trailing slash bug.
25322
25323 2008-06-10  Bruno Haible  <bruno@clisp.org>
25324
25325         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
25326         for $? to work inside the trap command, with various /bin/sh-s.
25327         * tests/test-vc-list-files-cvs.sh: Likewise.
25328
25329 2008-06-10  Bruno Haible  <bruno@clisp.org>
25330
25331         * lib/acl-internal.h: Don't include gettext.h here.
25332         * lib/set-mode-acl.c: Include gettext.h here.
25333         * lib/copy-acl.c: Likewise.
25334
25335 2008-06-10  Bruno Haible  <bruno@clisp.org>
25336
25337         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
25338         * lib/wait-process.c (wait_subprocess): Likewise.
25339         * lib/execute.h (execute): Add termsigp argument.
25340         * lib/execute.c (execute): Likewise.
25341         * lib/csharpcomp.c (compile_csharp_using_pnet,
25342         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
25343         * lib/csharpexec.c (execute_csharp_using_pnet,
25344         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
25345         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
25346         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
25347         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
25348         is_jikes_present): Update.
25349         * lib/javaexec.c (execute_java_class): Update.
25350         * lib/javaversion.c (execute_and_read_line): Update.
25351         * NEWS: Document the changes.
25352         Reported by Eric Blake.
25353
25354 2008-06-10  Eric Blake  <ebb9@byu.net>
25355
25356         Add missing include.
25357         * tests/test-strstr.c (includes): Add <signal.h>.
25358         * tests/test-strcasestr.c (includes): Likewise.
25359         * tests/test-memmem.c (includes): Likewise.
25360
25361 2008-06-10  Bruno Haible  <bruno@clisp.org>
25362
25363         * lib/wait-process.c (wait_subprocess): Add an assertion.
25364
25365 2008-06-10  Bruno Haible  <bruno@clisp.org>
25366
25367         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
25368
25369 2008-06-10  Bruno Haible  <bruno@clisp.org>
25370
25371         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
25372         using alarm().
25373         * tests/test-strcasestr.c (main): Likewise.
25374         * tests/test-strstr.c (main): Likewise.
25375
25376 2008-06-09  Bruno Haible  <bruno@clisp.org>
25377
25378         Work around the Solaris 10 ACE ACLs ABI change.
25379         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
25380         declare if ACL_NO_TRIVIAL is present.
25381         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
25382         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
25383         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
25384         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
25385         define if ACL_NO_TRIVIAL is present.
25386         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
25387         and use the current ABI.
25388         (file_has_acl): Use same #if condition as elsewhere.
25389         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
25390         in use, and use the current ABI.
25391         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
25392         Reported by Jim Meyering.
25393
25394 2008-06-09  Eric Blake  <ebb9@byu.net>
25395
25396         Work around environments that (stupidly) ignore SIGALRM.
25397         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
25398         before using alarm().
25399         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25400         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25401         Reported by Ian Beckwith <ianb@erislabs.net>.
25402
25403         Produce autobuild blurb earlier in log.
25404         * modules/autobuild (configure.ac-early): Move AB_INIT here.
25405
25406 2008-06-09  Jim Meyering  <meyering@redhat.com>
25407         and OndÅ™ej Vašík  <ovasik@redhat.com>
25408
25409         utimens.c: correct kernel bug work-around
25410         OndÅ™ej Vašík found that the invalid return value of 280 indicates
25411         failure, not success, and the kernel bug we're trying to work
25412         around affects not just the utimensat call, but also the fallback
25413         futimens call.
25414         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
25415         not success.
25416         [HAVE_FUTIMENS]: Use the same work-around, here.
25417
25418 2008-06-09  Jim Meyering  <meyering@redhat.com>
25419
25420         add more guards around definition of ACE_-related code
25421         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
25422         ALLOW and ACE_OWNER are also defined.
25423
25424 2008-06-08  Bruno Haible  <bruno@clisp.org>
25425
25426         * lib/acl-internal.h: Add me as co-author.
25427         * lib/file-has-acl.c: Likewise.
25428         * lib/set-mode-acl.c: Likewise.
25429         * lib/copy-acl.c: Likewise.
25430
25431 2008-06-08  Bruno Haible  <bruno@clisp.org>
25432
25433         Add support for AIX ACLs.
25434         * lib/acl-internal.h (acl_nontrivial): New declaration.
25435         * lib/file-has-acl.c (acl_nontrivial): New function.
25436         (file_has_acl): Add implementation using AIX 4 ACL API.
25437         * lib/set-mode-acl.c (qset_acl): Likewise.
25438         * lib/copy-acl.c (qcopy_acl): Likewise.
25439
25440 2008-06-08  Bruno Haible  <bruno@clisp.org>
25441
25442         Add support for HP-UX ACLs.
25443         * lib/acl-internal.h (acl_nontrivial): New declaration.
25444         * lib/file-has-acl.c (acl_nontrivial): New function.
25445         (file_has_acl): Add implementation using HP-UX 11 ACL API.
25446         * lib/set-mode-acl.c (qset_acl): Likewise.
25447         * lib/copy-acl.c (qcopy_acl): Likewise.
25448
25449 2008-06-08  Bruno Haible  <bruno@clisp.org>
25450
25451         Add support for Cygwin ACLs.
25452         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
25453         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
25454         the chmod_or_fchmod call.
25455         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
25456
25457 2008-06-08  Bruno Haible  <bruno@clisp.org>
25458
25459         Fix bug with setuid modes in Solaris 10+ code.
25460         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
25461         succeeded, when the mode contains some special bits.
25462
25463 2008-06-08  Bruno Haible  <bruno@clisp.org>
25464
25465         Add support for Solaris 7..10 ACLs.
25466         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
25467         declarations.
25468         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
25469         functions.
25470         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
25471         * lib/set-mode-acl.c (qset_acl): Likewise.
25472         * lib/copy-acl.c (qcopy_acl): Likewise.
25473
25474 2008-06-08  Bruno Haible  <bruno@clisp.org>
25475
25476         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
25477         declaration.
25478         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
25479         (acl_access_nontrivial): Remove MacOS X case.
25480         (file_has_acl): Use acl_extended_nontrivial.
25481         * lib/copy-acl.c (qcopy_acl): Likewise.
25482
25483 2008-06-08  Bruno Haible  <bruno@clisp.org>
25484
25485         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
25486
25487 2008-06-08  Jim Meyering  <meyering@redhat.com>
25488
25489         * modules/acl (Maintainer): Add Bruno Haible.
25490
25491 2008-06-07  Bruno Haible  <bruno@clisp.org>
25492
25493         Improve support for Tru64 ACLs.
25494         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
25495         ACL on OSF/1.
25496
25497 2008-06-07  Bruno Haible  <bruno@clisp.org>
25498
25499         Add support for MacOS X ACLs.
25500         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
25501         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
25502         * lib/set-mode-acl.c (qset_acl): Likewise.
25503         * lib/copy-acl.c (qcopy_acl): Likewise.
25504
25505 2008-06-07  Bruno Haible  <bruno@clisp.org>
25506
25507         Fix memory leak introduced on 2008-05-22.
25508         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
25509         use.
25510
25511 2008-06-07  Bruno Haible  <bruno@clisp.org>
25512
25513         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
25514         to construct an empty ACL.
25515
25516 2008-06-07  Bruno Haible  <bruno@clisp.org>
25517
25518         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
25519         precisely.
25520         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
25521
25522 2008-06-07  Bruno Haible  <bruno@clisp.org>
25523
25524         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
25525         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
25526
25527 2008-06-07  Bruno Haible  <bruno@clisp.org>
25528
25529         * doc/posix-functions/_setjmp.texi: Explain the use of this function
25530         regardless of POSIX.
25531         * doc/posix-functions/_longjmp.texi: Likewise.
25532         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
25533         SystemV platform in this case.
25534
25535 2008-06-06  Eric Blake  <ebb9@byu.net>
25536
25537         Document abort() bugs.
25538         * doc/posix-functions/abort.texi (abort): Mention anomalies.
25539
25540         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
25541         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
25542         sigsetjmp.
25543         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
25544         siglongjmp, but only as a macro.
25545         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
25546         is obsolete.
25547         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
25548
25549         Tweak documentation to cover cygwin argz bugs.
25550         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
25551         argz bug fix; no code change needed since no cygwin releases
25552         occurred between the last fix and the bug being tested.
25553         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
25554         module and recently fixed cygwin bugs.
25555         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
25556         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
25557         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
25558         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
25559         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
25560         Likewise.
25561         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
25562         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
25563         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
25564         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
25565         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
25566         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
25567         Likewise.
25568
25569         Avoid gcc warning on cygwin.
25570         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
25571         !ACL_NO_TRIVIAL]: Avoid unused variable.
25572
25573 2008-06-05  Eric Blake  <ebb9@byu.net>
25574
25575         Be tolerant of UNKNOWN version in gnulib-tool test dir.
25576         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
25577         git-version-gen fails to come up with a version.
25578         Reported by Simon Josefsson.
25579
25580 2008-06-05  Jim Meyering  <meyering@redhat.com>
25581             Paul Eggert  <eggert@cs.ucla.edu>
25582
25583         utimens.c: work around a probable Linux kernel bug
25584         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
25585         appears to be a kernel bug that causes utimensat to return 280
25586         instead of 0, indicating success.
25587
25588 2008-06-04  Bruno Haible  <bruno@clisp.org>
25589
25590         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
25591         2008-06-01 commit.
25592
25593 2008-06-04  Bruno Haible  <bruno@clisp.org>
25594
25595         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
25596         * lib/file-has-acl.c (acl_access_nontrivial): New function.
25597         (file_has_acl): Use it. Save errno afterwards.
25598         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
25599
25600 2008-06-03  Bruno Haible  <bruno@clisp.org>
25601
25602         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
25603         draft code. Simplify #ifs.
25604         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
25605         Put Solaris code after POSIX-draft code. Fix comments regarding
25606         Solaris 10, HP-UX. Mention Cygwin.
25607         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
25608
25609 2008-06-03  Eric Blake  <ebb9@byu.net>
25610
25611         Provide fallback for older kernels.
25612         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
25613         Provide runtime fallback if kernel lacks support.
25614         Reported by Mike Frysinger.
25615
25616 2008-06-02  Bruno Haible  <bruno@clisp.org>
25617
25618         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
25619         it exists.
25620
25621 2008-06-02  Bruno Haible  <bruno@clisp.org>
25622
25623         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
25624         * lib/copy-acl.c (qcopy_acl): Update comment.
25625
25626 2008-06-02  Bruno Haible  <bruno@clisp.org>
25627
25628         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
25629         like ACL APIs.
25630
25631 2008-06-02  Bruno Haible  <bruno@clisp.org>
25632
25633         * tests/test-file-has-acl.sh: Use different code for Cygwin.
25634         * tests/test-set-mode-acl.sh: Likewise.
25635         * tests/test-copy-acl.sh: Likewise.
25636         * tests/test-copy-file.sh: Likewise.
25637
25638 2008-06-02  Bruno Haible  <bruno@clisp.org>
25639
25640         * tests/test-file-has-acl.sh: Remove unused code.
25641
25642 2008-06-01  Bruno Haible  <bruno@clisp.org>
25643
25644         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
25645         (copy_acl): Just a wrapper around qcopy_acl that emits the error
25646         messages.
25647         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
25648
25649 2008-06-01  Bruno Haible  <bruno@clisp.org>
25650
25651         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
25652         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
25653         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
25654         APIs.
25655         * modules/acl-tests (configure.ac): Remove tests now contained in
25656         m4/acl.m4.
25657
25658 2008-06-02  Jim Meyering  <meyering@redhat.com>
25659
25660         announce-gen: use a better key-server host name
25661         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
25662         it may be more consistently reliable.  Suggested by Werner Koch
25663         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
25664
25665 2008-06-01  Bruno Haible  <bruno@clisp.org>
25666
25667         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
25668         Reported by Voroskoi Andras <voroskoi@gmail.com>.
25669
25670 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
25671
25672         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
25673
25674 2008-06-01  Bruno Haible  <bruno@clisp.org>
25675
25676         New ACL tests.
25677         * tests/test-file-has-acl.sh: New file.
25678         * tests/test-file-has-acl.c: New file.
25679         * tests/test-set-mode-acl.sh: New file.
25680         * tests/test-set-mode-acl.c: New file.
25681         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
25682         * tests/test-copy-acl.c: New file.
25683         * modules/acl-tests: New file, based on modules/copy-file-tests.
25684         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
25685         (Depends-on): Add acl-tests.
25686         (configure.ac): Remove checks.
25687         (Makefile.am): Don't create test-sameacls program here any more.
25688
25689 2008-06-01  Bruno Haible  <bruno@clisp.org>
25690
25691         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
25692         * tests/test-sameacls.c: Include progname.h.
25693         (main): Invoke set_program_name. Portability fixes for MacOS X,
25694         Solaris, HP-UX.
25695
25696 2008-06-01  Bruno Haible  <bruno@clisp.org>
25697
25698         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
25699         function.
25700         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
25701
25702 2008-06-01  Bruno Haible  <bruno@clisp.org>
25703
25704         * modules/rpmatch (Depends-on): Add strdup.
25705
25706 2008-06-01  Bruno Haible  <bruno@clisp.org>
25707
25708         * lib/pipe.c: Include unistd-safer.h.
25709         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
25710         * modules/pipe (Depends-on): Add unistd-safer.
25711
25712 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25713
25714         * modules/autobuild (configure.ac): Call AB_INIT.
25715
25716 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25717
25718         * tests/test-getaddrinfo.c: Don't print debug messages by default.
25719         Suggested by Bruno Haible <bruno@clisp.org>.
25720
25721 2008-05-30  Simon Josefsson  <simon@josefsson.org>
25722
25723         * tests/test-base64.c: Cast size_t to unsigned long when invoking
25724         printf.  Use %lu instead of %d.  Reported by Bruno Haible
25725         <bruno@clisp.org>.
25726
25727 2008-05-29  Eric Blake  <ebb9@byu.net>
25728
25729         Prefer new POSIX 200x interfaces over futimesat.
25730         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
25731         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
25732         when available.
25733         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
25734
25735 2008-05-28  Bruno Haible  <bruno@clisp.org>
25736
25737         * modules/stpcpy (License): Change to LGPLv2+.
25738         Requested by David Lutterkort <dlutter@redhat.com>.
25739
25740 2008-05-27  Bruno Haible  <bruno@clisp.org>
25741
25742         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
25743         current mingw.
25744         Reported by Jose E. Marchesi <jemarch@gnu.org>.
25745
25746 2008-05-27  Bruno Haible  <bruno@clisp.org>
25747
25748         * modules/iconv_open (Link): New section, from module 'iconv'.
25749         * modules/striconv (Link): Likewise.
25750         * modules/striconveh (Link): Likewise.
25751         * modules/xstriconv (Link): Likewise.
25752         * modules/unicodeio (Link): Likewise.
25753         * modules/propername (Link): Likewise.
25754         Reported by Jim Meyering.
25755
25756 2008-05-26  Jim Meyering  <meyering@redhat.com>
25757
25758         sha256: do not artificially restrict buffer length to be < 2^32
25759         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
25760         uint32_t to size_t.
25761         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
25762         to match.
25763
25764         avoid unaligned access errors, e.g., on sparc
25765         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
25766         direct access through a possibly-unaligned uint64* pointer.
25767         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
25768         direct access through a possibly-unaligned uint32* pointer.
25769         Prompted by this patch from Tom "spot" Callaway:
25770         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
25771
25772         sha512.c: fix typo in comment
25773         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
25774
25775 2008-05-25  Bruno Haible  <bruno@clisp.org>
25776
25777         * lib/set-mode-acl.c: Renamed from lib/acl.c.
25778         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
25779         (Makefile.am): Update lib_SOURCES.
25780
25781 2008-05-25  Bruno Haible  <bruno@clisp.org>
25782
25783         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
25784
25785 2008-05-25  Jim Meyering  <meyering@redhat.com>
25786
25787         useless-if-before-free: freed expr may have white-space differences
25788         * build-aux/useless-if-before-free: Recognize cases in which the
25789         freed expression differs from the tested one in embedded white
25790         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
25791         $1 was used, so we can't make any regexp shy.  Improved tests now
25792         detect this.
25793
25794         useless-if-before-free: accept white space in the expression.
25795         * build-aux/useless-if-before-free: For now, any white space
25796         in the expression must be identical in the free argument.
25797
25798         useless-if-before-free: efficiency tweak
25799         * build-aux/useless-if-before-free: Make the expression-matching
25800         regexp "shy".
25801         Make the *outer* regexp shy, not the expr-matching one.
25802
25803         update code-in-comment to accept cast of free arg
25804         * build-aux/useless-if-before-free: Update regexp.
25805
25806 2008-05-25  Bruno Haible  <bruno@clisp.org>
25807
25808         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
25809         * modules/copy-file-tests (Files, Makefile.am): Update.
25810         * tests/test-copy-file.c (func_test_copy): Update.
25811
25812 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
25813
25814         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
25815
25816 2008-05-23  Bruno Haible  <bruno@clisp.org>
25817
25818         Improve support for ACLs on OSF/1.
25819         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
25820         Remove fallback for unknown flavors of ACLs.
25821
25822 2008-05-22  Bruno Haible  <bruno@clisp.org>
25823
25824         Add support for ACLs on OSF/1.
25825         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
25826         replacements.
25827         (acl_free_text): New macro fallback.
25828         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
25829         acl_free.
25830         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
25831         acl_free_text function. Require AC_C_INLINE.
25832
25833 2008-05-22  Bruno Haible  <bruno@clisp.org>
25834
25835         Make copy_acl work on MacOS X 10.5.
25836         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
25837         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
25838         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
25839         If MODE_INSIDE_ACL, don't assume that every system has the same text
25840         representation for ACLs as FreeBSD.
25841         * lib/copy-acl.c (copy_acl): Add support for platforms with
25842         !MODE_INSIDE_ACL.
25843         * lib/file-has-acl.c (file_has_acl): Likewise.
25844         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
25845         FreeBSD, MacOS X, or IRIX, respectively.
25846
25847 2008-05-22  Bruno Haible  <bruno@clisp.org>
25848
25849         * lib/acl.h: Don't include <sys/acl.h>.
25850         (GETACLCNT): Move fallback to lib/acl-internal.h.
25851         * lib/acl-internal.h: Include <sys/acl.h> here.
25852         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
25853
25854 2008-05-22  Bruno Haible  <bruno@clisp.org>
25855
25856         Split off copy_acl function to separate file.
25857         * lib/copy-acl.c: New file, extracted from lib/acl.c.
25858         * lib/acl.c (copy_acl): Moved function to separate file.
25859         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
25860         * modules/acl (Files): Add lib/copy-acl.c.
25861         (Makefiles.am): Augment lib_SOURCES.
25862
25863 2008-05-22  Bruno Haible  <bruno@clisp.org>
25864
25865         * modules/copy-file-tests: New file.
25866         * tests/test-copy-file.sh: New file.
25867         * tests/test-copy-file.c: New file.
25868         * tests/test-copy-file-sameacls.c: New file.
25869
25870 2008-05-22  Eric Blake  <ebb9@byu.net>
25871
25872         Avoid gcc warning.
25873         * tests/test-memcmp.c (main): Pass NULL indirectly.
25874
25875 2008-05-21  Bruno Haible  <bruno@clisp.org>
25876
25877         Add reference doc about ACLs.
25878         * doc/acl-resources.txt: New file.
25879         * doc/acl-cygwin.txt: New file.
25880
25881 2008-05-21  Bruno Haible  <bruno@clisp.org>
25882
25883         Avoid one more warning from gcc.
25884         * lib/vasnprintf.c (IF_LINT): Update comments.
25885         (VASNPRINTF): Use it also for the 'prefix' array initializer.
25886
25887 2008-05-21  Jim Meyering  <meyering@redhat.com>
25888
25889         avoid a warning from gcc
25890         * lib/vasnprintf.c (IF_LINT): Define.
25891         (scale10_round_decimal_long_double):
25892         Use it to avoid a "may be used uninitialized" warning.
25893         (scale10_round_decimal_double): Likewise.
25894
25895 2008-05-21  Simon Josefsson  <simon@josefsson.org>
25896
25897         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
25898         declared.
25899
25900 2008-05-20  Bruno Haible  <bruno@clisp.org>
25901
25902         * tests/test-memcmp.c (main): Test also the sign of the result. Test
25903         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
25904
25905 2008-05-20  Simon Josefsson  <simon@josefsson.org>
25906
25907         * modules/memcmp-tests: New file.
25908         * tests/test-memcmp.c: New file.
25909
25910 2008-05-19  Bruno Haible  <bruno@clisp.org>
25911
25912         * modules/propername (Notice, configure.ac): Put quoted "..." into
25913         --keyword option.
25914         * lib/propername.h: Update comments accordingly.
25915         Reported by Eric Blake.
25916
25917 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
25918
25919         * modules/getpass-gnu (Depends-on): Add fseeko.
25920
25921 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25922
25923         * modules/base64-tests: New file.
25924
25925 2008-05-19  Bo Borgerson <gigabo@gmail.com>
25926
25927         * lib/base64.c (base64_decode_ctx): If a decode context structure
25928         was passed in use it to ignore newlines.  If a context structure
25929         was _not_ passed in, continue to treat newlines as garbage (this
25930         is the historical behavior).  Formerly base64_decode.
25931         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25932         takes a decode context structure.
25933         * lib/base64.h (base64_decode): Macro for four-argument calls.
25934         (base64_decode_alloc): Likewise.
25935         * lib/base64.c (base64_decode_ctx): If a decode context structure
25936         was passed in use it to ignore newlines.  If a context structure
25937         was _not_ passed in, continue to treat newlines as garbage (this
25938         is the historical behavior).  Formerly base64_decode.
25939         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25940         takes a decode context structure.
25941         * lib/base64.h (base64_decode): Macro for four-argument calls.
25942         (base64_decode_alloc): Likewise.
25943
25944 2008-05-19  Jim Meyering  <meyering@redhat.com>
25945
25946         avoid a warning from gcc
25947         * lib/trim.c (IF_LINT): Define.
25948         (trim2): Use it to avoid a "may be used uninitialized" warning.
25949
25950         Fix doc typo.
25951         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
25952
25953 2008-05-19  Bruno Haible  <bruno@clisp.org>
25954
25955         * doc/glibc-functions/getpass.texi: Document limits of other
25956         implementations.
25957
25958 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25959             Bruno Haible <bruno@clisp.org>
25960
25961         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
25962
25963 2008-05-18  Bruno Haible  <bruno@clisp.org>
25964
25965         * modules/propername: New file, from GNU gettext.
25966         * lib/propername.h: New file, from GNU gettext.
25967         * lib/propername.c: New file, from GNU gettext.
25968         * MODULES.html.sh (Internationalization functions): Add propername.
25969
25970 2008-05-16  Jim Meyering  <meyering@redhat.com>
25971             Bruno Haible  <bruno@clisp.org>
25972
25973         Avoid some warnings from "gcc -Wshadow".
25974         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
25975
25976 2008-05-15  Eric Blake  <ebb9@byu.net>
25977
25978         Extend previous patch to cygwin 1.7.0.
25979         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
25980         fast implementation in cygwin >= 1.7.0.
25981         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25982         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25983
25984 2008-05-15  Bruno Haible  <bruno@clisp.org>
25985
25986         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
25987         implementation in glibc >= 2.9.
25988         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25989         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25990
25991 2008-05-15  Bruno Haible  <bruno@clisp.org>
25992
25993         * MODULES.html.sh (Internationalization functions): Remove linebreak.
25994         (Unicode string functions): Add unilbrk/*.
25995         Reported by Karl Berry.
25996
25997 2008-05-15  Eric Blake  <ebb9@byu.net>
25998
25999         Fix violation of <stdbool.h> replacement in regex.
26000         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
26001         * lib/regexec.c (re_search_internal): Likewise.
26002         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
26003
26004 2008-05-15  Jim Meyering  <meyering@redhat.com>
26005
26006         avoid distracting test output when git or cvs is not found
26007         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
26008         * tests/test-vc-list-files-git.sh: Likewise.
26009
26010 2008-05-15  Eric Blake  <ebb9@byu.net>
26011
26012         Glibc finally accepted the memmem speedup code, bugzilla #5514.
26013         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
26014         glibc version.
26015         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26016         * doc/posix-functions/strstr.texi (strstr): Likewise.
26017         * lib/str-two-way.h (MAX): Sychronize with glibc.
26018
26019 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
26020
26021         * lib/regcomp.c (optimize_utf8): Add a note on why we test
26022         opr.ctx_type.
26023         (calc_first): Initialize constraint field.
26024         (duplicate_node_closure): Use it instead of special casing ANCHORS.
26025         Fix grammar.
26026         (duplicate_node): Merge constraint field for all node types.
26027         (calc_eclosure_iter): Look at constraint field for all node types.
26028         * lib/regex_internal.c (create_cd_newstate): Don't look at
26029         opr.ctx_type.
26030
26031 2008-05-14  Bruno Haible  <bruno@clisp.org>
26032
26033         Help GCC to do better code generation.
26034         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
26035         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
26036         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
26037         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
26038         Declare with attribute 'malloc' if supported.
26039
26040 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
26041
26042         use "echo STR|wc -c" rather than unportable "expr length STR"
26043         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
26044         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
26045
26046 2008-05-14  Jim Meyering  <meyering@redhat.com>
26047
26048         use dd ibs=$n count=1 ... rather than less-portable head -c$n
26049         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
26050         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
26051         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
26052         via Collin Lasse.
26053
26054 2008-05-14  Eric Blake  <ebb9@byu.net>
26055
26056         Avoid quadratic growth in gl_LIBSOURCES.
26057         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
26058         Suggested by Bruno Haible.
26059
26060         Test xmemdup0.
26061         * modules/xmemdup0-tests: New file.
26062         * tests/test-xmemdup0.c: Likewise.
26063
26064 2008-05-13  Eric Blake  <ebb9@byu.net>
26065
26066         Split xmemdup0 into its own module.
26067         * modules/xmemdup0: New file.
26068         * lib/xmemdup0.h: Likewise.
26069         * lib/xmemdup0.c: Likewise.
26070         * MODULES.html.sh (Memory management functions): Add xmemdup0.
26071         * lib/xalloc.h (xmemdup0): Remove.
26072         * lib/xmalloc.c (xmemdup0): Likewise.
26073
26074 2008-05-13  Eric Blake  <ebb9@byu.net>
26075             Bruno Haible  <bruno@clisp.org>
26076
26077         Reduce number of forks required during autoconf.
26078         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
26079         and gl_LIBSOURCES_DIR.
26080         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
26081         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
26082         m4_syscmd per file.
26083         <m4_foreach_w>: Move...
26084         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
26085
26086 2008-05-13  Eric Blake  <ebb9@byu.net>
26087
26088         * gnulib-tool: Fix various comment typos.
26089
26090 2008-05-12  Bruno Haible  <bruno@clisp.org>
26091
26092         Tailor the linebreaking algorithm.
26093         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
26094
26095 2008-05-12  Bruno Haible  <bruno@clisp.org>
26096
26097         Update to Unicode 5.0.0.
26098         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
26099         LBP_JV, LBP_JT. Redistribute values.
26100         (unilbrk_table): Change size.
26101         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
26102         Unicode TR#14 rev. 22.
26103         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
26104         LBP_JV, LBP_JT. Redistribute values.
26105         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
26106         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
26107         Update.
26108         * lib/unilbrk/lbrkprop1.h: Regenerated.
26109         * lib/unilbrk/lbrkprop2.h: Regenerated.
26110         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
26111         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
26112         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
26113         Likewise.
26114         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
26115         Likewise.
26116         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
26117         result.
26118         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26119         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26120         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26121         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
26122         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
26123         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
26124
26125 2008-05-11  Bruno Haible  <bruno@clisp.org>
26126
26127         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
26128
26129 2008-05-11  Bruno Haible  <bruno@clisp.org>
26130
26131         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
26132         * modules/unilbrk/gen-lbrk: New file.
26133
26134 2008-05-11  Bruno Haible  <bruno@clisp.org>
26135
26136         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
26137         * m4/sha512.m4 (gl_SHA512): Likewise.
26138
26139 2008-05-11  Jim Meyering  <meyering@redhat.com>
26140
26141         New modules: crypto/sha256, crypto/sha512 (from coreutils)
26142         * modules/crypto/sha256: New file.
26143         * modules/crypto/sha512: Likewise.
26144         * lib/sha256.c: Likewise.
26145         * lib/sha256.h: Likewise.
26146         * lib/sha512.c: Likewise.
26147         * lib/sha512.h: Likewise.
26148         * lib/u64.h: Likewise.
26149         * m4/sha256.m4: Likewise.
26150         * m4/sha512.m4: Likewise.
26151         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
26152
26153 2008-05-10  Bruno Haible  <bruno@clisp.org>
26154
26155         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
26156         (Input/Output <stdio.h>): Add xprintf.
26157         (Signal handling <signal.h>): Add strsignal.
26158         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
26159         (Core language properties): Add func.
26160         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
26161         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
26162         strings.
26163         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
26164         (Input/output): New section.
26165         (File system functions): Add openat-die, stat-macros.
26166         (Networking functions): Add sockets.
26167         (Unicode string functions): Add unictype/*.
26168         (Support for building libraries and executables): Add gperf.
26169         (Support for building documentation): Add agpl-3.0.
26170         (Misc): Add nocrash.
26171
26172 2008-05-10  Bruno Haible  <bruno@clisp.org>
26173
26174         * modules/unictype/gen-ctype: New file.
26175
26176 2008-05-10  Jim Meyering  <meyering@redhat.com>
26177
26178         Make chdir-safer.c more efficient on a system with no symlinks.
26179         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
26180         also if ELOOP is zero.  Suggested by Bruno Haible.
26181
26182         Make chdir-safer.c slightly safer.
26183         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
26184         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
26185
26186         Avoid compile failure on systems without ELOOP (like mingw).
26187         * lib/chdir-safer.c (ELOOP): Define if not already defined.
26188         Reported by Bruno Haible.
26189
26190 2008-05-10  Bruno Haible  <bruno@clisp.org>
26191
26192         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
26193         (is_utf8_encoding): Use a case-insensitive comparison.
26194         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
26195         streq.
26196
26197 2008-05-10  Bruno Haible  <bruno@clisp.org>
26198
26199         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
26200         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
26201         * lib/unilbrk/ulc-common.h (iconv_string_length,
26202         iconv_string_keeping_offsets): Remove declarations.
26203         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
26204         Don't include <iconv.h>, streq.h, xsize.h.
26205         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
26206         conversion.
26207         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
26208         <iconv.h>, streq.h, xsize.h.
26209         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
26210         conversion.
26211         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
26212         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
26213         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
26214         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
26215
26216 2008-05-10  Bruno Haible  <bruno@clisp.org>
26217
26218         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
26219         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
26220
26221         * modules/unilbrk/u32-width-linebreaks-tests: New file.
26222         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
26223
26224         * modules/unilbrk/u16-width-linebreaks-tests: New file.
26225         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
26226
26227         * modules/unilbrk/u8-width-linebreaks-tests: New file.
26228         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
26229
26230         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
26231         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
26232
26233         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
26234         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
26235
26236         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
26237         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
26238
26239         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
26240         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
26241
26242 2008-05-10  Bruno Haible  <bruno@clisp.org>
26243
26244         Split up 'linebreak' module.
26245         * lib/unilbrk.h: New file, based on lib/linebreak.h.
26246         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
26247         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
26248         modifications.
26249         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
26250         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
26251         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
26252         lib/linebreak.c.
26253         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
26254         lib/linebreak.c.
26255         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
26256         lib/linebreak.c.
26257         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
26258         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
26259         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
26260         lib/linebreak.c.
26261         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
26262         lib/linebreak.c.
26263         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
26264         lib/linebreak.c.
26265         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
26266         lib/linebreak.c.
26267         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
26268         lib/linebreak.c.
26269         * modules/unilbrk/base: New file.
26270         * modules/unilbrk/tables: New file.
26271         * modules/unilbrk/u8-possible-linebreaks: New file.
26272         * modules/unilbrk/u16-possible-linebreaks: New file.
26273         * modules/unilbrk/u32-possible-linebreaks: New file.
26274         * modules/unilbrk/ulc-common: New file.
26275         * modules/unilbrk/ulc-possible-linebreaks: New file.
26276         * modules/unilbrk/u8-width-linebreaks: New file.
26277         * modules/unilbrk/u16-width-linebreaks: New file.
26278         * modules/unilbrk/u32-width-linebreaks: New file.
26279         * modules/unilbrk/ulc-width-linebreaks: New file.
26280         * lib/linebreak.h: Remove file.
26281         * lib/linebreak.c: Remove file.
26282         * m4/linebreak.m4: Remove file.
26283         * modules/linebreak: Remove file.
26284         * NEWS: Mention the changes.
26285
26286 2008-05-09  Eric Blake  <ebb9@byu.net>
26287
26288         Add xmemdup0.
26289         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
26290         implementation.
26291         * lib/xmalloc.c (xmemdup0): New C implementation.
26292
26293 2008-05-08  Bruno Haible  <bruno@clisp.org>
26294
26295         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
26296
26297 2008-05-07  Eric Blake  <ebb9@byu.net>
26298
26299         Support cross-compilation of <wctype.h>.
26300         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
26301         AC_CACHE_CHECK.
26302
26303 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
26304
26305         * build-aux/vc-list-files: Add support for bzr.
26306
26307 2008-05-03  Jim Meyering  <meyering@redhat.com>
26308
26309         avoid failed assertion with tight malloc
26310         * tests/test-getndelim2.c: Correct an off-by-one assertion.
26311
26312 2008-05-03  Simon Josefsson  <simon@josefsson.org>
26313
26314         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
26315         are needed from arpa/inet.h.
26316         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
26317         Reported by Bruno Haible.
26318
26319 2008-05-02  Jim Meyering  <meyering@redhat.com>
26320
26321         avoid compilation error on FreeBSD 6
26322         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
26323
26324 2008-05-01  Jim Meyering  <meyering@redhat.com>
26325
26326         useless-if-before-free: correct --help's exit status description
26327         * build-aux/useless-if-before-free (usage): Like grep, exit 0
26328         for one or more matches, etc.  Reported by Bruno Haible.
26329
26330         vc-list-files: make the stand-alone gnulib test work
26331         * modules/vc-list-files-tests (configure.ac):
26332         Define and AC_SUBST abs_aux_dir.
26333         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
26334         $(abs_top_srcdir) to each script and having each of them
26335         duplicate the work of setting PATH, set PATH here, using
26336         the new variable, abs_aux_dir instead.
26337         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
26338         * tests/test-vc-list-files-git.sh: Likewise.
26339         Reported by Bruno Haible.
26340
26341 2008-05-01  Bruno Haible  <bruno@clisp.org>
26342
26343         * lib/getndelim2.c (getndelim2): Fix newsize computation during
26344         reallocation. Rename 'done' to 'found_delimiter'.
26345
26346 2008-05-01  Jim Meyering  <meyering@redhat.com>
26347
26348         vc-list-files: accommodate /bin/sh like the one from Solaris 10
26349         * build-aux/vc-list-files: Use `...`, not $(...).
26350
26351 2008-04-30  Jim Meyering  <meyering@redhat.com>
26352
26353         add tests for vc-list-files
26354         * modules/vc-list-files-tests: New module.
26355         * tests/test-vc-list-files-cvs.sh: New file.
26356         * tests/test-vc-list-files-git.sh: New file.
26357
26358         avoid a warning from gcc
26359         * lib/getndelim2.c (IF_LINT): Define.
26360         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
26361
26362         vc-list-files: work properly with build-aux/cvsu, too
26363         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
26364         to all cvs-based clauses.
26365
26366         vc-list-files: work properly in the CVS+awk case, too
26367         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
26368
26369         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
26370         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
26371         take more than one file argument, so .  Add quotes, just in case $dir
26372         ever contains a shell meta-character.  Prompted by Soren Hansen in
26373         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
26374
26375 2008-04-29  Eric Blake  <ebb9@byu.net>
26376
26377         Optimize getndelim2 to use block operations when possible.
26378         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
26379         freadseek, and memchr2.
26380         * lib/getndelim2.c (getndelim2): Use them for block reads.
26381
26382 2008-04-29  Bruno Haible  <bruno@clisp.org>
26383
26384         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
26385         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26386         * modules/inet_ntop (Depends-on): Add extensions.
26387         * modules/inet_pton (Depends-on): Likewise.
26388         Reported by Simon Josefsson.
26389
26390 2008-04-29  Jim Meyering  <meyering@redhat.com>
26391
26392         When the is more than one match in a block, match all of them.
26393         * build-aux/useless-if-before-free: Iterate through each block
26394         until there are no more matches.
26395
26396         Fix broken useless-if-before-free script.
26397         * build-aux/useless-if-before-free: Fix typo: missing "?" after
26398         the expression to match cast of argument to free-like function.
26399
26400 2008-04-29  Eric Blake  <ebb9@byu.net>
26401
26402         Use new header.
26403         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
26404
26405 2008-04-29  Jim Meyering  <meyering@redhat.com>
26406
26407         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
26408         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
26409         by gnulib to exist and to declare e.g., inet_ntop.
26410         Don't include "inet_ntop.h", now removed.
26411
26412         * m4/arpa_inet_h.m4: Remove trailing blanks.
26413
26414 2008-04-29  Eric Blake  <ebb9@byu.net>
26415
26416         Silence valgrind on safe reads beyond potential array bounds.
26417         * lib/rawmemchr.valgrind: New file.
26418         * lib/strchrnul.valgrind: Likewise.
26419         * modules/rawmemchr (Files): Distribute new file.
26420         * modules/strchrnul (Files): Likewise.
26421         Suggested by Bruno Haible.
26422
26423 2008-04-29  Bruno Haible  <bruno@clisp.org>
26424
26425         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
26426         (inet_ntop, inet_pton): Change portability warning's wording.
26427         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
26428         Invoke gl_CHECK_NEXT_HEADERS.
26429         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
26430         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
26431         set ARPA_INET_H.
26432         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
26433         * modules/arpa_inet (Description): No longer only for systems that
26434         lack it.
26435         (Depends-on): Add include_next.
26436         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
26437         HAVE_ARPA_INET_H.
26438
26439 2008-04-29  Jim Meyering  <meyering@redhat.com>
26440
26441         * modules/mkdir (License): Re-license as LGPLv2+.
26442
26443 2008-04-29  Bruno Haible  <bruno@clisp.org>
26444
26445         * modules/rawmemchr (Maintainer): Set to Eric.
26446         * modules/strchrnul (Maintainer): Likewise.
26447
26448 2008-04-29  Simon Josefsson  <simon@josefsson.org>
26449
26450         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
26451         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
26452
26453         * modules/arpa_inet (arpa/inet.h): Use them.
26454
26455 2008-04-28  Eric Blake  <ebb9@byu.net>
26456
26457         Test getndelim2.
26458         * modules/getndelim2-tests: New file.
26459         * tests/test-getndelim2.c: Likewise.
26460         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
26461         stream.
26462         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
26463
26464         * MODULES.html.sh: Document new module.
26465
26466 2008-04-20  Bruno Haible  <bruno@clisp.org>
26467
26468         * lib/c-stack.c (die): Use raise.
26469         * modules/c-stack (Depends-on): Add raise.
26470
26471 2008-04-28  Bruno Haible  <bruno@clisp.org>
26472
26473         Expect rpmatch to be declared.
26474         * lib/yesno.c (rpmatch): Remove declaration.
26475
26476         Declare rpmatch.
26477         * lib/stdlib.in.h (rpmatch): New declaration.
26478         * lib/rpmatch.c: Include <stdlib.h> first.
26479         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
26480         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
26481         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
26482         HAVE_RPMATCH.
26483         * modules/rpmatch (Depends-on): Add stdlib, extensions.
26484         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26485         (Include): Set to <stdlib.h>.
26486         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
26487         HAVE_RPMATCH.
26488         * NEWS: Document the change.
26489
26490 2008-04-28  Bruno Haible  <bruno@clisp.org>
26491
26492         Change rpmatch to use nl_langinfo when appropriate.
26493         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
26494         (N_): New macro.
26495         (localized_pattern): New function/macro.
26496         (try): Remove match, nomatch arguments. Copy the pattern into safe
26497         memory before caching it.
26498         (rpmatch): Use localized_pattern. Add translator comments.
26499         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
26500         Suggested by Eric Blake.
26501         * modules/rpmatch (Depends-on): Add stdbool.
26502
26503 2008-04-28  Eric Blake  <ebb9@byu.net>
26504
26505         Add rawmemchr module, matching glibc.
26506         * modules/string (Makefile.am): New indicator.
26507         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
26508         * lib/string.in.h (rawmemchr): Declare when appropriate.
26509         * modules/rawmemchr: New file.
26510         * m4/rawmemchr.m4: Likewise.
26511         * lib/rawmemchr.c: Likewise.
26512         * modules/rawmemchr-tests: Likewise.
26513         * tests/test-rawmemchr.c: Likewise.
26514         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
26515         module.
26516         * modules/strchrnul (Depends-on): Add rawmemchr.
26517         * lib/strchrnul.c (strchrnul): Optimize a corner case.
26518
26519         Whitespace cleanup.
26520         * tests/test-strchrnul.c: Reindent.
26521         * lib/strchrnul.c: Likewise.
26522
26523         Optimize and test strchrnul.
26524         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
26525         * modules/strchrnul-tests: New file.
26526         * tests/test-strchrnul.c: Likewise.
26527
26528         Remove intprops dependency.
26529         * modules/memchr (Depends-on): Remove intprops.
26530         * modules/memrchr (Depends-on): Likewise.
26531         * modules/memchr2 (Depends-on): Likewise.
26532         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
26533         * lib/memrchr.c (__memrchr): Likewise.
26534         * lib/memrchr2.c (memchr2): Likewise.
26535         Reported by Simon Josefsson.
26536
26537 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26538
26539         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
26540         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26541
26542 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26543
26544         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
26545
26546         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
26547
26548         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
26549
26550         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
26551         declarations.
26552         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
26553
26554         * m4/inet_pton.m4: Don't check for header files.
26555
26556         * m4/inet_ntop.m4: Don't check for header files.
26557
26558 2008-04-28  Simon Josefsson  <simon@josefsson.org>
26559
26560         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
26561         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
26562         trigger for cygwin).
26563         Reported by Bruno Haible  <bruno@clisp.org>.
26564
26565 2008-04-28  Bruno Haible  <bruno@clisp.org>
26566
26567         * doc/posix-functions/strdup.texi: Mention mingw problem.
26568
26569 2008-04-27  Bruno Haible  <bruno@clisp.org>
26570
26571         * modules/stat-time-tests (Depends-on): Add sleep.
26572         * tests/test-stat-time.c (force_unlink): New function.
26573         (cleanup): Use it.
26574         (test_mtime): Remove the ctime related tests.
26575         (test_ctime): New function, containing the ctime related tests.
26576         (main): Call test_ctime, except on native Windows platforms.
26577
26578 2008-04-27  Bruno Haible  <bruno@clisp.org>
26579
26580         * lib/rpmatch.c (rpmatch): Add some comments.
26581         Reported by James Youngman <jay@gnu.org>.
26582
26583 2008-04-27  Bruno Haible  <bruno@clisp.org>
26584
26585         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
26586         quiet NaNs.
26587
26588 2008-04-27  Bruno Haible  <bruno@clisp.org>
26589
26590         Make test-yesno.sh work on mingw.
26591         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
26592         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
26593         (main): Set stdin to binary mode.
26594         * modules/yesno-tests (Depends-on): Add binary-io.
26595
26596 2008-04-27  Bruno Haible  <bruno@clisp.org>
26597
26598         Fix 'isfinite' on x86, x86_64, ia64 platforms.
26599         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
26600         argument that lie outside the IEEE 854 domain.
26601         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
26602         (gl_ISFINITE): Use it.
26603         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
26604
26605 2008-04-27  Bruno Haible  <bruno@clisp.org>
26606
26607         Allow local renaming in config.h.
26608         * lib/memrchr.c (memrchr): Don't undefine outside libc.
26609
26610 2008-04-27  Bruno Haible  <bruno@clisp.org>
26611
26612         * lib/memchr.c (__memchr): Change type of 'i'.
26613         * lib/memchr2.c (memchr2): Likewise.
26614
26615 2008-04-26  Eric Blake  <ebb9@byu.net>
26616         and Bruno Haible  <bruno@clisp.org>
26617
26618         Optimize and test memrchr.
26619         * modules/memrchr (Depends-on): Add intprops.
26620         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
26621         * modules/memrchr-tests: New file.
26622         * tests/test-memrchr.c: New file.
26623
26624 2008-04-26  Bruno Haible  <bruno@clisp.org>
26625
26626         Add tentative support for DragonFly BSD.
26627         * lib/stdio-impl.h: Add macros for DragonFly BSD.
26628         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
26629         fp.
26630         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26631         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
26632         * lib/fpurge.c (fpurge): Likewise.
26633         * lib/freadable.c (freaadable): Likewise.
26634         * lib/freadahead.c (freadahead): Likewise.
26635         * lib/freading.c (freading): Likewise.
26636         * lib/freadptr.c (freadptr): Likewise.
26637         * lib/freadseek.c (freadptrinc): Likewise.
26638         * lib/fseeko.c (fseeko): Likewise.
26639         * lib/fseterr.c (fseterr): Likewise.
26640         * lib/fwritable.c (fwritable): Likewise.
26641         * lib/fwriting.c (fwriting): Likewise.
26642
26643 2008-04-26  Bruno Haible  <bruno@clisp.org>
26644
26645         * lib/stdio-impl.h: New file.
26646         * lib/fbufmode.c: Include stdio-impl.h.
26647         (fbufmode): Use fp_, remove redundant #defines.
26648         * lib/fflush.c: Include stdio-impl.h.
26649         (clear_ungetc_buffer): Remove redundant #defines.
26650         * lib/fpurge.c: Include stdio-impl.h.
26651         (fpurge): Remove redundant #defines.
26652         * lib/freadable.c: Include stdio-impl.h.
26653         (freadable): Remove redundant #defines.
26654         * lib/freadahead.c: Include stdio-impl.h.
26655         (freadahead): Remove redundant #defines.
26656         * lib/freading.c: Include stdio-impl.h.
26657         (freading): Remove redundant #defines.
26658         * lib/freadptr.c: Include stdio-impl.h.
26659         (freadptr): Remove redundant #defines.
26660         * lib/freadseek.c: Include stdio-impl.h.
26661         (freadptrinc): Remove redundant #defines.
26662         * lib/fseeko.c: Include stdio-impl.h.
26663         (rpl_fseeko): Remove redundant #defines.
26664         * lib/fseterr.c: Include stdio-impl.h.
26665         (fseterr): Remove redundant #defines.
26666         * lib/fwritable.c: Include stdio-impl.h.
26667         (fwritable: Remove redundant #defines.
26668         * lib/fwriting.c: Include stdio-impl.h.
26669         (fwriting): Remove redundant #defines.
26670         * modules/fbufmode (Files): Add lib/stdio-impl.h.
26671         * modules/fflush (Files): Likewise.
26672         * modules/fpurge (Files): Likewise.
26673         * modules/freadable (Files): Likewise.
26674         * modules/freadahead (Files): Likewise.
26675         * modules/freading (Files): Likewise.
26676         * modules/freadptr (Files): Likewise.
26677         * modules/freadseek (Files): Likewise.
26678         * modules/fseeko (Files): Likewise.
26679         * modules/fseterr (Files): Likewise.
26680         * modules/fwritable (Files): Likewise.
26681         * modules/fwriting (Files): Likewise.
26682
26683 2008-04-26  Bruno Haible  <bruno@clisp.org>
26684
26685         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
26686         restore_seek_optimization, update_fpos_cache): New functions, extracted
26687         from rpl_fflush.
26688         (rpl_fflush): Use them.
26689         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
26690         (gl_REPLACE_FFLUSH): Use it.
26691
26692 2008-04-26  Bruno Haible  <bruno@clisp.org>
26693
26694         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
26695         on Solaris.
26696         * tests/test-xstrtoimax.sh: Likewise.
26697         * tests/test-xstrtoumax.sh: Likewise.
26698         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26699
26700 2008-04-26  Bruno Haible  <bruno@clisp.org>
26701
26702         * modules/memchr-tests: New file.
26703         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
26704
26705 2008-04-26  Eric Blake  <ebb9@byu.net>
26706             Bruno Haible  <bruno@clisp.org>
26707
26708         * lib/memchr.c: Include intprops.h.
26709         (__memchr): Optimize parallel detection of matching bytes. Rename local
26710         variables. Add explanatory comments.
26711
26712 2008-04-26  Bruno Haible  <bruno@clisp.org>
26713
26714         Fix module 'memchr', broken since 2000-10-28.
26715         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
26716
26717 2008-04-26  Bruno Haible  <bruno@clisp.org>
26718
26719         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
26720         comments.
26721
26722 2008-04-25  Eric Blake  <ebb9@byu.net>
26723
26724         Use native fstatat on cygwin 1.7.0.
26725         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
26726         first.
26727
26728 2008-04-23  Eric Blake  <ebb9@byu.net>
26729
26730         Improve memchr2 performance.
26731         * lib/memchr2.c (memchr2): Further optimize parallel detection of
26732         NUL bytes.
26733         * modules/memchr2 (Depends-on): Use intprops.h.
26734
26735 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26736
26737         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
26738         an inline function instead of a CPP macro.  Patch by Ben Pfaff
26739         <blp@cs.stanford.edu>.
26740
26741 2008-04-23  Simon Josefsson  <simon@josefsson.org>
26742
26743         * lib/arpa_inet.in.h: New file.
26744
26745         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
26746         (Makefile.am): Sed in substitute header file.
26747
26748         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
26749         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
26750
26751         * modules/inet_ntop (configure.ac): Use
26752         gl_ARPA_INET_MODULE_INDICATOR.
26753
26754         * modules/inet_pton (configure.ac): Use
26755         gl_ARPA_INET_MODULE_INDICATOR.
26756
26757 2008-04-22  Jim Meyering  <meyering@redhat.com>
26758
26759         * modules/verify (License): Re-license as LGPLv2+.
26760
26761 2008-04-22  Simon Josefsson  <simon@josefsson.org>
26762
26763         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
26764         parameter to void* as per POSIX standard (MinGW uses char*).
26765
26766 2008-04-21  Bruno Haible  <bruno@clisp.org>
26767
26768         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
26769         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
26770         Define to replacements if REPLACE_ISWCNTRL is 1.
26771         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
26772         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
26773         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
26774         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
26775         what it fixes.
26776         * doc/posix-functions/iswalpha.texi: Likewise.
26777         * doc/posix-functions/iswblank.texi: Likewise.
26778         * doc/posix-functions/iswcntrl.texi: Likewise.
26779         * doc/posix-functions/iswdigit.texi: Likewise.
26780         * doc/posix-functions/iswgraph.texi: Likewise.
26781         * doc/posix-functions/iswlower.texi: Likewise.
26782         * doc/posix-functions/iswprint.texi: Likewise.
26783         * doc/posix-functions/iswpunct.texi: Likewise.
26784         * doc/posix-functions/iswspace.texi: Likewise.
26785         * doc/posix-functions/iswupper.texi: Likewise.
26786         * doc/posix-functions/iswxdigit.texi: Likewise.
26787         Reported by Alain Guibert.
26788
26789 2008-04-21  Bruno Haible  <bruno@clisp.org>
26790
26791         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
26792         Patch by Alain Guibert.
26793
26794 2008-04-21  Bruno Haible  <bruno@clisp.org>
26795
26796         Fix test failures on mingw.
26797         * tests/test-xstrtol.c (print_no_progname): New function.
26798         (main): Install it in error_print_progname hook.
26799         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
26800         * tests/test-xstrtoimax.sh: Likewise.
26801         * tests/test-xstrtoumax.sh: Likewise.
26802
26803 2008-04-21  Bruno Haible  <bruno@clisp.org>
26804
26805         Fix test failure on mingw.
26806         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
26807
26808 2008-04-21  Bruno Haible  <bruno@clisp.org>
26809
26810         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
26811         Actually assign a value.
26812
26813 2008-04-20  Bruno Haible  <bruno@clisp.org>
26814
26815         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
26816         take 2.
26817         * lib/canonicalize.c (canonicalize_file_name): Elide if the
26818         'canonicalize-lgpl' module is also used.
26819         * lib/canonicalize-lgpl.c: Undo last change.
26820         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
26821
26822 2008-04-20  Bruno Haible  <bruno@clisp.org>
26823
26824         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
26825         config.h. Provide _mkdir based fallback for mingw.
26826         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
26827         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
26828         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
26829         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
26830         rather than defining mkdir in config.h.
26831         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
26832         (gl_SYS_STAT_H_DEFAULTS): New macro.
26833         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
26834         HAVE_IO_H any more.
26835         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
26836         HAVE_DECL_MKDIR and HAVE_IO_H.
26837
26838 2008-04-20  Bruno Haible  <bruno@clisp.org>
26839
26840         * lib/isapipe.c: Port to native Windows platforms.
26841
26842 2008-04-20  Bruno Haible  <bruno@clisp.org>
26843
26844         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
26845
26846 2008-04-21  Eric Blake  <ebb9@byu.net>
26847
26848         Work around preprocessors that don't handle UINTMAX_MAX.
26849         * lib/memchr2.c (memchr2): Avoid embedded #if.
26850         Reported by Alain Guibert, fix suggested by Bruno Haible.
26851
26852 2008-04-21  Simon Josefsson  <simon@josefsson.org>
26853
26854         * doc/posix-functions/strftime.texi (strftime): Explain better
26855         Windows incompatibility.  Suggested by Micah Cowan
26856         <micah@cowan.name>.
26857
26858 2008-04-20  Bruno Haible  <bruno@clisp.org>
26859
26860         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
26861         unistr/u8-mblen.
26862
26863 2008-04-20  Bruno Haible  <bruno@clisp.org>
26864
26865         Fix test failure on platforms with non-GNU iconv.
26866         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
26867         (U_TO_U8): Use it, rather than u16_to_u8.
26868         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
26869         units at the end of the input string.
26870         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
26871
26872 2008-04-20  Bruno Haible  <bruno@clisp.org>
26873
26874         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
26875         when the resulting length is 0.
26876         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
26877
26878 2008-04-20  Bruno Haible  <bruno@clisp.org>
26879
26880         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
26881         works.
26882         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
26883
26884 2008-04-20  Bruno Haible  <bruno@clisp.org>
26885
26886         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
26887         * modules/tsearch-tests (configure.ac): Test for initstate function.
26888
26889 2008-04-20  Bruno Haible  <bruno@clisp.org>
26890
26891         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
26892         for nlink_t if missing.
26893         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
26894
26895 2008-04-19  Bruno Haible  <bruno@clisp.org>
26896
26897         Work around snprintf bug on Linux libc5.
26898         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
26899         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26900         gl_SNPRINTF_SIZE1.
26901         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26902         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
26903         that test failed.
26904         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
26905         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
26906         * modules/snprintf (Files): Add m4/printf.m4.
26907         * modules/vsnprintf (Files): Likewise.
26908         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
26909         * doc/posix-functions/vsnprintf.texi: Likewise.
26910
26911 2008-04-19  Bruno Haible  <bruno@clisp.org>
26912
26913         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
26914         from 0.0058 to less than 10^-7.
26915
26916 2008-04-19  Bruno Haible  <bruno@clisp.org>
26917
26918         Fix rounding when a precision is given.
26919         * lib/vasnprintf.c (is_borderline): New function.
26920         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
26921         9...9x.
26922         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
26923         %e, %g.
26924         * tests/test-vasprintf-posix.c (test_function): Likewise.
26925         * tests/test-snprintf-posix.h (test_function): Likewise.
26926         * tests/test-sprintf-posix.h (test_function): Likewise.
26927         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
26928         * tests/test-printf-posix.h (test_function): Likewise.
26929         * tests/test-printf-posix.output: Update.
26930         Reported by John Darrington <john@darrington.wattle.id.au> via
26931         Ben Pfaff <blp@cs.stanford.edu>.
26932
26933 2008-04-18  Simon Josefsson  <simon@josefsson.org>
26934
26935         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
26936         Suggested by Bruno Haible <bruno@clisp.org>.
26937
26938 2008-04-17  Bruno Haible  <bruno@clisp.org>
26939
26940         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
26941         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
26942         implementation.
26943         Patch by Bruce Merry <bmerry@gmail.com>.
26944
26945 2008-04-17  Simon Josefsson  <simon@josefsson.org>
26946
26947         * doc/posix-functions/strftime.texi (strftime): Mention that %e
26948         doesn't work under Windows.
26949
26950 2008-04-16  Bruno Haible  <bruno@clisp.org>
26951
26952         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
26953         New macros.
26954         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
26955         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
26956         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
26957         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
26958         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
26959         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
26960         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
26961         macros.
26962         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
26963         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
26964         Northern Sotho, Uighur.
26965
26966 2008-04-16  Bruno Haible  <bruno@clisp.org>
26967
26968         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
26969         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
26970         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
26971         Reported by Daniel Bergström <daniel@octocode.com>.
26972
26973 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
26974             Bruno Haible  <bruno@clisp.org>
26975
26976         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
26977         function.
26978         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
26979         New functions, mostly extracted from gl_locale_name_default.
26980         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
26981
26982 2008-04-16  Eric Blake  <ebb9@byu.net>
26983
26984         Adjust strtod detection to catch glibc 2.7 bug.
26985         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
26986         Reported by John Gatewood Ham.
26987
26988 2008-04-16  Bruno Haible  <bruno@clisp.org>
26989
26990         Add tentative support for Linux libc5.
26991         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
26992         * lib/fpurge.c (fpurge): Likewise.
26993         * lib/freadable.c (freadable): Likewise.
26994         * lib/freadahead.c (freadahead): Likewise.
26995         * lib/freading.c (freading): Likewise.
26996         * lib/freadptr.c (freadptr): Likewise.
26997         * lib/freadseek.c (freadptrinc): Likewise.
26998         * lib/fseeko.c (rpl_fseeko): Likewise.
26999         * lib/fseterr.c (fseterr): Likewise.
27000         * lib/fwritable.c (fwritable): Likewise.
27001         * lib/fwriting.c (fwriting): Likewise.
27002         Reported by Alain Guibert <alguibert+bts@free.fr>.
27003
27004 2008-04-15  Bruno Haible  <bruno@clisp.org>
27005
27006         * modules/mathl (configure.ac): Define module indicator.
27007
27008 2008-04-15  Bruno Haible  <bruno@clisp.org>
27009
27010         * lib/logl.c (logl): Remove unused variables.
27011
27012 2008-04-15  Bruno Haible  <bruno@clisp.org>
27013
27014         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
27015         fails.
27016
27017 2008-04-15  Bruno Haible  <bruno@clisp.org>
27018
27019         * lib/trim.c (trim2): Fix argument of isspace() macro.
27020
27021 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
27022
27023         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
27024         to 0.
27025         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
27026
27027 2008-04-14  Bruno Haible  <bruno@clisp.org>
27028
27029         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
27030         AC_LANG_PROGRAM argument.
27031         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
27032         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
27033         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27034         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27035         * m4/math_h.m4 (gl_MATH_H): Likewise.
27036         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27037         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27038         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
27039         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
27040         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27041         * m4/regex.m4 (gl_REGEX): Likewise.
27042         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
27043         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
27044         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27045         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
27046         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
27047         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27048         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27049         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27050
27051 2008-04-14  Jim Meyering  <meyering@redhat.com>
27052
27053         test-strtod: fix typos: s/abs/fabs/
27054         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
27055
27056 2008-04-13  Bruno Haible  <bruno@clisp.org>
27057
27058         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
27059         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
27060         module is also used and while not building the reloc-wrapper.
27061
27062 2008-04-13  Bruno Haible  <bruno@clisp.org>
27063
27064         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
27065
27066 2008-04-13  Bruno Haible  <bruno@clisp.org>
27067
27068         Fix AIX compilation failure introduced on 2008-04-02.
27069         * tests/test-frexp.c (exp): Undefine before redefining.
27070         * tests/test-frexpl.c (exp): Likewise.
27071
27072 2008-04-13  Bruno Haible  <bruno@clisp.org>
27073
27074         Work around a HP-UX stdio bug.
27075         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
27076         * tests/test-ftello.c (main): Likewise.
27077         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
27078         * doc/posix-functions/ftello.texi: Likewise.
27079
27080 2008-04-13  Bruno Haible  <bruno@clisp.org>
27081
27082         Make test-signbit pass on HP-UX/hppa.
27083         * tests/test-signbit.c (minus_zerol): New variable.
27084         (test_signbitl): Use it.
27085
27086 2008-04-13  Bruno Haible  <bruno@clisp.org>
27087
27088         Make truncl work on OSF/1 4.0.
27089         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
27090         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
27091         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
27092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
27093         HAVE_DECL_TRUNCL.
27094         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
27095         HAVE_DECL_TRUNCL.
27096         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
27097
27098 2008-04-13  Bruno Haible  <bruno@clisp.org>
27099
27100         * lib/unictype.h: Remove trailing comma from enumeration definitions.
27101
27102 2008-04-13  Bruno Haible  <bruno@clisp.org>
27103
27104         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
27105         expression, so as to avoid HP-UX 11 cc compiler bug.
27106
27107 2008-04-13  Bruno Haible  <bruno@clisp.org>
27108
27109         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
27110
27111 2008-04-13  Bruno Haible  <bruno@clisp.org>
27112
27113         * lib/git-merge-changelog.c: Remove empty declaration outside of
27114         functions.
27115
27116 2008-04-13  Bruno Haible  <bruno@clisp.org>
27117
27118         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
27119
27120 2008-04-13  Bruno Haible  <bruno@clisp.org>
27121
27122         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
27123         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
27124         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
27125         also if it exists but lacks definitions of the SHUT_* macros.
27126         * modules/sys_socket (Description): Update.
27127         Reported by Elbert Pol <e.pol@chello.nl>.
27128
27129 2008-04-13  Bruno Haible  <bruno@clisp.org>
27130
27131         * lib/localcharset.c (OS2): Don't redefine if already defined.
27132         Reported by Elbert Pol <e.pol@chello.nl>.
27133
27134 2008-04-13  Bruno Haible  <bruno@clisp.org>
27135
27136         * lib/binary-io.h [__EMX__]: Include <io.h>.
27137         Reported by Elbert Pol <e.pol@chello.nl>.
27138
27139 2008-04-12  Bruno Haible  <bruno@clisp.org>
27140
27141         * lib/fpucw.h: Enable the definitions also for x86_64.
27142         Needed for NetBSD/x86_64.
27143         Reported by Thomas Klausner <tk@giga.or.at>.
27144
27145 2008-04-12  Bruno Haible  <bruno@clisp.org>
27146
27147         * tests/test-strtod.c: Include isnand.h.
27148         (main): Use isnand instead of isnan.
27149         Reported by Jim Meyering.
27150
27151 2008-04-12  Bruno Haible  <bruno@clisp.org>
27152
27153         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
27154         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
27155
27156 2008-04-12  Jim Meyering  <meyering@redhat.com>
27157
27158         * m4/math_h.m4 (gl_MATH_H): Fix typos.
27159
27160 2008-04-12  Bruno Haible  <bruno@clisp.org>
27161
27162         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
27163         Reported by Elbert Pol <e.pol@chello.nl>.
27164
27165 2008-04-12  Eric Blake  <ebb9@byu.net>
27166
27167         Work around Solaris 10 math.h bug.
27168         * m4/math_h.m4 (gl_MATH_H): Check for bug.
27169         (gl_MATH_H_DEFAULTS): Set up default.
27170         * modules/math (Makefile.am): Replace new indicators.
27171         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
27172         * tests/test-math.c (main): Test this.
27173         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
27174         * doc/posix-headers/math.texi (math.h): Mention bug.
27175         Reported by Nelson H. F. Beebe and Jim Meyering.
27176
27177 2008-04-11  Bruno Haible  <bruno@clisp.org>
27178
27179         Adapt to future versions of Apple GCC.
27180         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
27181         Reported by Peter O'Gorman <peter@pogma.com>.
27182
27183 2008-04-11  Bruno Haible  <bruno@clisp.org>
27184
27185         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
27186
27187 2008-04-11  Bruno Haible  <bruno@clisp.org>
27188
27189         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
27190
27191         * modules/getaddrinfo-tests (Makefile.am): Define
27192         test_getaddrinfo_LDADD.
27193
27194 2008-04-11  Bruno Haible  <bruno@clisp.org>
27195
27196         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
27197         (init): Fix syntax error.
27198         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
27199         is declared.
27200
27201 2008-04-11  Bruno Haible  <bruno@clisp.org>
27202
27203         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
27204         * modules/glob (Depends-on): Add stdbool.
27205
27206 2008-04-11  Bruno Haible  <bruno@clisp.org>
27207
27208         * lib/trim.c: Include <string.h>.
27209
27210 2008-04-11  Eric Blake  <ebb9@byu.net>
27211
27212         Avoid compile failure on OS/2.
27213         * lib/regex_internal.h (internal_function): Disable optimization
27214         on OS/2 (__EMX__), where it caused compiler error.
27215         Reported by Elbert Pol.
27216
27217 2008-04-11  Bruno Haible  <bruno@clisp.org>
27218
27219         Flush the standard error stream before aborting. Needed on mingw.
27220         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
27221         * tests/test-array_list.c (ASSERT): Likewise.
27222         * tests/test-array_oset.c (ASSERT): Likewise.
27223         * tests/test-avltree_list.c (ASSERT): Likewise.
27224         * tests/test-avltree_oset.c (ASSERT): Likewise.
27225         * tests/test-avltreehash_list.c (ASSERT): Likewise.
27226         * tests/test-binary-io.c (ASSERT): Likewise.
27227         * tests/test-byteswap.c (ASSERT): Likewise.
27228         * tests/test-c-ctype.c (ASSERT): Likewise.
27229         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
27230         * tests/test-c-strcasestr.c (ASSERT): Likewise.
27231         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
27232         * tests/test-c-strstr.c (ASSERT): Likewise.
27233         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
27234         * tests/test-canonicalize.c (ASSERT): Likewise.
27235         * tests/test-carray_list.c (ASSERT): Likewise.
27236         * tests/test-ceilf1.c (ASSERT): Likewise.
27237         * tests/test-ceilf2.c (ASSERT): Likewise.
27238         * tests/test-ceill.c (ASSERT): Likewise.
27239         * tests/test-count-one-bits.c (ASSERT): Likewise.
27240         * tests/test-fbufmode.c (ASSERT): Likewise.
27241         * tests/test-fflush2.c (ASSERT): Likewise.
27242         * tests/test-floorf1.c (ASSERT): Likewise.
27243         * tests/test-floorf2.c (ASSERT): Likewise.
27244         * tests/test-floorl.c (ASSERT): Likewise.
27245         * tests/test-fopen.c (ASSERT): Likewise.
27246         * tests/test-fpending.c (ASSERT): Likewise.
27247         * tests/test-fprintf-posix.c (ASSERT): Likewise.
27248         * tests/test-fpurge.c (ASSERT): Likewise.
27249         * tests/test-freadable.c (ASSERT): Likewise.
27250         * tests/test-freadahead.c (ASSERT): Likewise.
27251         * tests/test-freading.c (ASSERT): Likewise.
27252         * tests/test-freadptr.c (ASSERT): Likewise.
27253         * tests/test-freadptr2.c (ASSERT): Likewise.
27254         * tests/test-freadseek.c (ASSERT): Likewise.
27255         * tests/test-freopen.c (ASSERT): Likewise.
27256         * tests/test-frexp.c (ASSERT): Likewise.
27257         * tests/test-frexpl.c (ASSERT): Likewise.
27258         * tests/test-fseek.c (ASSERT): Likewise.
27259         * tests/test-fseeko.c (ASSERT): Likewise.
27260         * tests/test-fstrcmp.c (ASSERT): Likewise.
27261         * tests/test-ftell.c (ASSERT): Likewise.
27262         * tests/test-ftello.c (ASSERT): Likewise.
27263         * tests/test-func.c (ASSERT): Likewise.
27264         * tests/test-fwritable.c (ASSERT): Likewise.
27265         * tests/test-fwriting.c (ASSERT): Likewise.
27266         * tests/test-getdelim.c (ASSERT): Likewise.
27267         * tests/test-getline.c (ASSERT): Likewise.
27268         * tests/test-i-ring.c (ASSERT): Likewise.
27269         * tests/test-iconv-utf.c (ASSERT): Likewise.
27270         * tests/test-iconv.c (ASSERT): Likewise.
27271         * tests/test-isfinite.c (ASSERT): Likewise.
27272         * tests/test-isnand.c (ASSERT): Likewise.
27273         * tests/test-isnanf.c (ASSERT): Likewise.
27274         * tests/test-isnanl.h (ASSERT): Likewise.
27275         * tests/test-ldexpl.c (ASSERT): Likewise.
27276         * tests/test-linked_list.c (ASSERT): Likewise.
27277         * tests/test-linkedhash_list.c (ASSERT): Likewise.
27278         * tests/test-localename.c (ASSERT): Likewise.
27279         * tests/test-lseek.c (ASSERT): Likewise.
27280         * tests/test-mbscasecmp.c (ASSERT): Likewise.
27281         * tests/test-mbscasestr1.c (ASSERT): Likewise.
27282         * tests/test-mbscasestr2.c (ASSERT): Likewise.
27283         * tests/test-mbscasestr3.c (ASSERT): Likewise.
27284         * tests/test-mbscasestr4.c (ASSERT): Likewise.
27285         * tests/test-mbschr.c (ASSERT): Likewise.
27286         * tests/test-mbscspn.c (ASSERT): Likewise.
27287         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
27288         * tests/test-mbspbrk.c (ASSERT): Likewise.
27289         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
27290         * tests/test-mbsrchr.c (ASSERT): Likewise.
27291         * tests/test-mbsspn.c (ASSERT): Likewise.
27292         * tests/test-mbsstr1.c (ASSERT): Likewise.
27293         * tests/test-mbsstr2.c (ASSERT): Likewise.
27294         * tests/test-mbsstr3.c (ASSERT): Likewise.
27295         * tests/test-memchr2.c (ASSERT): Likewise.
27296         * tests/test-memmem.c (ASSERT): Likewise.
27297         * tests/test-open.c (ASSERT): Likewise.
27298         * tests/test-printf-frexp.c (ASSERT): Likewise.
27299         * tests/test-printf-frexpl.c (ASSERT): Likewise.
27300         * tests/test-printf-posix.c (ASSERT): Likewise.
27301         * tests/test-quotearg.c (ASSERT): Likewise.
27302         * tests/test-rbtree_list.c (ASSERT): Likewise.
27303         * tests/test-rbtree_oset.c (ASSERT): Likewise.
27304         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
27305         * tests/test-round1.c (ASSERT): Likewise.
27306         * tests/test-roundf1.c (ASSERT): Likewise.
27307         * tests/test-roundl.c (ASSERT): Likewise.
27308         * tests/test-signbit.c (ASSERT): Likewise.
27309         * tests/test-sleep.c (ASSERT): Likewise.
27310         * tests/test-snprintf-posix.c (ASSERT): Likewise.
27311         * tests/test-snprintf.c (ASSERT): Likewise.
27312         * tests/test-sprintf-posix.c (ASSERT): Likewise.
27313         * tests/test-stat-time.c (ASSERT): Likewise.
27314         * tests/test-strcasestr.c (ASSERT): Likewise.
27315         * tests/test-strerror.c (ASSERT): Likewise.
27316         * tests/test-striconv.c (ASSERT): Likewise.
27317         * tests/test-striconveh.c (ASSERT): Likewise.
27318         * tests/test-striconveha.c (ASSERT): Likewise.
27319         * tests/test-strsignal.c (ASSERT): Likewise.
27320         * tests/test-strstr.c (ASSERT): Likewise.
27321         * tests/test-strtod.c (ASSERT): Likewise.
27322         * tests/test-trunc1.c (ASSERT): Likewise.
27323         * tests/test-trunc2.c (ASSERT): Likewise.
27324         * tests/test-truncf1.c (ASSERT): Likewise.
27325         * tests/test-truncf2.c (ASSERT): Likewise.
27326         * tests/test-truncl.c (ASSERT): Likewise.
27327         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
27328         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
27329         * tests/test-vasnprintf.c (ASSERT): Likewise.
27330         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
27331         * tests/test-vasprintf.c (ASSERT): Likewise.
27332         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
27333         * tests/test-vprintf-posix.c (ASSERT): Likewise.
27334         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
27335         * tests/test-vsnprintf.c (ASSERT): Likewise.
27336         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
27337         * tests/test-wcwidth.c (ASSERT): Likewise.
27338         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
27339         * tests/test-xprintf-posix.c (ASSERT): Likewise.
27340         * tests/test-xvasprintf.c (ASSERT): Likewise.
27341         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
27342         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
27343         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
27344         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
27345         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
27346         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
27347         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
27348         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
27349         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
27350         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
27351         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
27352         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
27353         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
27354         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
27355         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
27356         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
27357         * tests/unictype/test-block_list.c (ASSERT): Likewise.
27358         * tests/unictype/test-block_of.c (ASSERT): Likewise.
27359         * tests/unictype/test-block_test.c (ASSERT): Likewise.
27360         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
27361         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
27362         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
27363         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
27364         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
27365         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
27366         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
27367         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
27368         * tests/unictype/test-combining.c (ASSERT): Likewise.
27369         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
27370         * tests/unictype/test-digit.c (ASSERT): Likewise.
27371         * tests/unictype/test-mirror.c (ASSERT): Likewise.
27372         * tests/unictype/test-numeric.c (ASSERT): Likewise.
27373         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
27374         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
27375         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
27376         * tests/unictype/test-scripts.c (ASSERT): Likewise.
27377         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
27378         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
27379         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
27380         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
27381         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
27382         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
27383         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
27384         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
27385         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
27386         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
27387         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
27388         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
27389         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
27390         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
27391         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
27392         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
27393         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
27394         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
27395         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
27396         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
27397         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
27398         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
27399         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
27400         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
27401         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
27402         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
27403         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
27404         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
27405         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
27406         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
27407         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
27408         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
27409         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
27410         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
27411         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
27412         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
27413         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
27414         Reported by Eric Blake.
27415
27416 2008-04-11  Bruno Haible  <bruno@clisp.org>
27417
27418         * lib/wchar.in.h: Tweak comment.
27419
27420 2008-04-11  Bruno Haible  <bruno@clisp.org>
27421
27422         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
27423         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
27424         gl_COMMON.
27425         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
27426
27427 2008-04-11  Bruno Haible  <bruno@clisp.org>
27428
27429         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
27430
27431 2008-04-11  Simon Josefsson  <simon@josefsson.org>
27432
27433         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
27434         of attempting to use non-existing /dev/*random.  Based on patch
27435         from Adam Strzelecki <ono@java.pl> in
27436         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
27437
27438 2008-04-08  Bruno Haible  <bruno@clisp.org>
27439
27440         Add tentative support for emx+gcc.
27441         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
27442         * lib/fpurge.c (fpurge): Likewise.
27443         * lib/freadable.c (freadable): Likewise.
27444         * lib/freadahead.c (freadahead): Likewise.
27445         * lib/freading.c (freading): Likewise.
27446         * lib/freadptr.c (freadptr): Likewise.
27447         * lib/freadseek.c (freadptrinc): Likewise.
27448         * lib/fseeko.c (rpl_fseeko): Likewise.
27449         * lib/fseterr.c (fseterr): Likewise.
27450         * lib/fwritable.c (fwritable): Likewise.
27451         * lib/fwriting.c (fwriting): Likewise.
27452         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
27453
27454 2008-04-09  Eric Blake  <ebb9@byu.net>
27455
27456         Avoid some autoconf warnings.
27457         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
27458         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
27459         * m4/afs.m4 (gl_AFS): Likewise.
27460         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
27461         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
27462         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27463         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
27464         (gl_INTEGER_TYPE_SUFFIX): Likewise.
27465         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
27466         (AC_CHECK_DECLS_ONCE): Likewise.
27467         Rename file...
27468         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
27469         gnulib-tool requires autoconf 2.59 or better.
27470         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
27471
27472 2008-04-08  Eric Blake  <ebb9@byu.net>
27473
27474         Use 'git describe --match' if present (added in git 1.5.5).
27475         * build-aux/git-version-gen: Limit result to tags that match 'v*'
27476         if possible.
27477
27478 2008-04-08  Bruno Haible  <bruno@clisp.org>
27479
27480         Add tentative support for OpenServer.
27481         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
27482         _ptr, _cnt.
27483         * lib/fpurge.c (fpurge): Likewise.
27484         * lib/freadable.c (freadable): Likewise.
27485         * lib/freadahead.c (freadahead): Likewise.
27486         * lib/freading.c (freading): Likewise.
27487         * lib/freadptr.c (freadptr): Likewise.
27488         * lib/freadseek.c (freadptrinc): Likewise.
27489         * lib/fseeko.c (rpl_fseeko): Likewise.
27490         * lib/fseterr.c (fseterr): Likewise.
27491         * lib/fwritable.c (fwritable): Likewise.
27492         * lib/fwriting.c (fwriting): Likewise.
27493         Reported by Roger Cornelius <rac@tenzing.org> and
27494         Brian K. White <brian@aljex.com>.
27495
27496 2008-04-06  Jim Meyering  <meyering@redhat.com>
27497
27498         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
27499
27500 2008-04-06  Bruno Haible  <bruno@clisp.org>
27501
27502         Avoid possible error with non-ASCII bytes in UTF-8 locales.
27503         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
27504         * tests/test-printf-posix.sh: Likewise.
27505         * tests/test-vfprintf-posix.sh: Likewise.
27506         * tests/test-vprintf-posix.sh: Likewise.
27507         * tests/test-xprintf-posix.sh: Likewise.
27508
27509 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27510
27511         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
27512         hide error from 'ls', needed on OS/2.
27513         Report by Elbert Pol <elbert.pol@gmail.com>.
27514
27515 2008-04-04  Eric Blake  <ebb9@byu.net>
27516
27517         Make test-fseeko.c failures meaningful.
27518         * tests/test-fseeko.c: Print line number on failure.
27519         * tests/test-fseek.c: Likewise.
27520         Reported by Nelson H. F. Beebe.
27521
27522         Improve strtod bug detection check.
27523         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
27524         required for Solaris 10.
27525         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
27526
27527 2008-04-04  Bruno Haible  <bruno@clisp.org>
27528
27529         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
27530         by m4/setenv.m4.
27531
27532 2008-04-03  Eric Blake  <ebb9@byu.net>
27533
27534         Ensure sane .version contents.
27535         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
27536         version string.
27537         * build-aux/git-version-gen: Improve documentation.
27538
27539         Make GNU make output nicer.
27540         * top/GNUmakefile [!_have-Makefile]: Add dependency on
27541         MAKECMDGOALS to enforce message for all command line targets.  Set
27542         srcdir for use in maint.mk.
27543
27544         Another maintainer tweak.
27545         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
27546         a target that regenerates version.
27547
27548 2008-04-03  Jim Meyering  <meyering@redhat.com>
27549
27550         vc-list-files: don't cause coreutils "make po-check" failure
27551         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
27552
27553 2008-04-03  Eric Blake  <ebb9@byu.net>
27554
27555         Allow VPATH usage of vc-list-files.
27556         * build-aux/vc-list-files (scriptversion): Add timestamp.
27557         (options): Add --help, --version, -C.
27558         (CVS): Support installed cvsu.
27559
27560 2008-04-02  Bruno Haible  <bruno@clisp.org>
27561
27562         Avoid some "statement with no effect" warnings from gcc.
27563         * tests/test-wctype.c (main): Explicitly ignore unused values.
27564         Reported by Jim Meyering.
27565
27566 2008-04-02  Jim Meyering  <meyering@redhat.com>
27567
27568         Avoid some warnings from "gcc -Wshadow".
27569         * tests/test-frexp.c (exp): Define to a different identifier.
27570         * tests/test-frexpl.c (exp): Likewise.
27571
27572 2008-04-03  Jim Meyering  <meyering@redhat.com>
27573
27574         bootstrap: remove dangling *.[ch] symlinks from lib
27575         * build-aux/bootstrap [dangling symlink removal]: Move find's
27576         -depth option to precede all others, to avoid a warning.
27577         Remove *.[ch] files too, and from "$source_base" (usually lib/).
27578
27579 2008-04-02  Bruno Haible  <bruno@clisp.org>
27580
27581         Avoid some warnings from "gcc -Wshadow".
27582         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
27583         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
27584         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
27585         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
27586         Reported by Jim Meyering.
27587
27588 2008-04-01  Bruno Haible  <bruno@clisp.org>
27589
27590         Fix test to work on IRIX 6.5 with cc.
27591         * tests/test-math.c (numeric_equal): New function.
27592         (main): Use it.
27593
27594 2008-04-01  Bruno Haible  <bruno@clisp.org>
27595
27596         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
27597
27598 2008-04-01  Bruno Haible  <bruno@clisp.org>
27599
27600         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
27601         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27602         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
27603         (Depends-on): Remove math.
27604
27605         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
27606         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27607         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
27608         (Depends-on): Remove math.
27609
27610         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
27611         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27612         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
27613         (Depends-on): Remove math.
27614         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
27615         (Depends-on): Remove math.
27616
27617         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
27618         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
27619         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
27620         (Depends-on): Remove math.
27621         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
27622         (Depends-on): Remove math.
27623
27624         * tests/test-round1.c: Include nan.h.
27625         (main): Use NaNd instead of NAN.
27626         * modules/round-tests (Files): Add tests/nan.h.
27627
27628         * tests/test-trunc1.c: Include nan.h.
27629         (main): Use NaNd instead of NAN.
27630         * modules/trunc-tests (Files): Add tests/nan.h.
27631
27632         * tests/test-roundf1.c: Include nan.h.
27633         (main): Use NaNf instead of NAN.
27634         * modules/roundf-tests (Files): Add tests/nan.h.
27635
27636         * tests/test-truncf1.c: Include nan.h.
27637         (main): Use NaNf instead of NAN.
27638         * modules/truncf-tests (Files): Add tests/nan.h.
27639
27640         * tests/test-ceilf1.c: Include nan.h.
27641         (main): Use NaNf instead of NAN.
27642         * modules/ceilf-tests (Files): Add tests/nan.h.
27643
27644         * tests/test-floorf1.c: Include nan.h.
27645         (main): Use NaNf instead of NAN.
27646         * modules/floorf-tests (Files): Add tests/nan.h.
27647
27648         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
27649         (main): Use NaNf instead of NAN.
27650         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
27651
27652         * tests/test-isnand.c: Include nan.h instead of <math.h>.
27653         (main): Use NaNd instead of NAN.
27654         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
27655
27656         * tests/test-frexp.c: Include nan.h.
27657         (main): Use NaNd instead of NAN.
27658         * modules/frexp-tests (Files): Add tests/nan.h.
27659
27660         * lib/isnan.c: Don't include <math.h>.
27661         (FUNC): Don't use NAN macro.
27662         * modules/isnand-nolibm (Depends-on): Remove math.
27663         * modules/isnanf-nolibm (Depends-on): Remove math.
27664         * modules/isnanl (Depends-on): Remove math.
27665         * modules/isnanl-nolibm (Depends-on): Remove math.
27666
27667         * tests/nan.h: New file.
27668
27669 2008-04-01  Eric Blake  <ebb9@byu.net>
27670
27671         Fix typos.
27672         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
27673         values to be the right type.
27674
27675         For now, cater to gnulib strtod inaccuracies.
27676         * tests/test-strtod.c (main): Allow 1-ulp error on expected
27677         fractional results.  While not as nice from a QoI perspective, it
27678         is a quicker patch than correctly implementing decimal to binary
27679         rounding.
27680
27681 2008-03-31  Eric Blake  <ebb9@byu.net>
27682
27683         Guarantee a definition of NAN.
27684         * lib/math.in.h (NAN): Define if missing.
27685         * tests/test-math.c (main): Test it.
27686         * doc/posix-headers/math.texi (math.h): Document this.
27687         * lib/isnan.c (rpl_isnand): Use it.
27688         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
27689         * tests/test-floorf1.c (NaN): Likewise.
27690         * tests/test-frexp.c (NaN): Likewise.
27691         * tests/test-isnand.c (NaN): Likewise.
27692         * tests/test-isnanf.c (NaN): Likewise.
27693         * tests/test-round1.c (NaN): Likewise.
27694         * tests/test-roundf1.c (NaN): Likewise.
27695         * tests/test-snprintf-posix.h (NaN): Likewise.
27696         * tests/test-sprintf-posix.h (NaN): Likewise.
27697         * tests/test-trunc1.c (NaN): Likewise.
27698         * tests/test-truncf1.c (NaN): Likewise.
27699         * tests/test-vasnprintf-posix.c (NaN): Likewise.
27700         * tests/test-vasprintf-posix.c (NaN): Likewise.
27701         * modules/isnand-nolibm (Depends-on): Add math.
27702         * modules/isnanf-nolibm (Depends-on): Likewise.
27703         * modules/isnanl (Depends-on): Likewise.
27704         * modules/isnanl-nolibm (Depends-on): Likewise.
27705         * modules/snprintf-posix-tests (Depends-on): Likewise.
27706         * modules/sprintf-posix-tests (Depends-on): Likewise.
27707         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
27708         * modules/vsprintf-posix-tests (Depends-on): Likewise.
27709         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
27710         * modules/vasprintf-posix-tests (Depends-on): Likewise.
27711
27712 2008-03-31  Bruno Haible  <bruno@clisp.org>
27713
27714         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
27715         * doc/posix-functions/strtod.texi: Likewise.
27716
27717 2008-03-31  Bruno Haible  <bruno@clisp.org>
27718
27719         * tests/test-strtod.c (main): Don't use C99 syntax.
27720
27721 2008-03-31  Bruno Haible  <bruno@clisp.org>
27722
27723         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
27724         Reported by Eric Blake.
27725
27726 2008-03-31  Jim Meyering  <meyering@redhat.com>
27727
27728         Don't compare actual signbit return values.
27729         * tests/test-strtod.c (main): Rather, compare only their
27730         zero/non-zero nature.
27731
27732 2008-03-31  Eric Blake  <ebb9@byu.net>
27733
27734         More strtod documentation.
27735         * doc/posix-functions/strtod.texi (strtod): Interpret more test
27736         failures as distinct bugs.
27737
27738 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27739
27740         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
27741         Problem reported by Erik Benada in
27742         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
27743
27744 2008-03-30  Bruno Haible  <bruno@clisp.org>
27745
27746         * tests/test-strtod.c: Add comments about which assertion fails on which
27747         platform.
27748         * doc/posix-functions/strtod.texi: Add info about many more platforms.
27749
27750 2008-03-30  Eric Blake  <ebb9@byu.net>
27751
27752         Test signbit behavior on zeros.
27753         * tests/test-signbit.c (test_signbitf): Add tests for zero.
27754         (test_signbitd, test_signbitl): Likewise.
27755
27756         More strtod touchups.
27757         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
27758         sign of negative underflow, for now.  Use .5, not .1.
27759         * doc/posix-functions/strtod.texi (strtod): Mention these
27760         limitations.
27761         Reported by Jim Meyering.
27762
27763 2008-03-30  Bruno Haible  <bruno@clisp.org>
27764
27765         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
27766         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
27767
27768 2008-03-30  Bruno Haible  <bruno@clisp.org>
27769
27770         Avoid failure when attempting to return empty iconv results on some
27771         platforms.
27772         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
27773         allocation, don't report ENOMEM when the resulting string is empty.
27774
27775 2008-03-30  Bruno Haible  <bruno@clisp.org>
27776
27777         Fix buffer overrun.
27778         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
27779         Don't consider the width for tmp_length. Check count against tmp_length
27780         before doing the padding. Ensure enough allocation during padding.
27781
27782 2008-03-30  Eric Blake  <ebb9@byu.net>
27783
27784         strtod touchups.
27785         * lib/strtod.c (strtod): Avoid compiler warnings.
27786         Reported by Jim Meyering.
27787
27788 2008-03-30  Bruno Haible  <bruno@clisp.org>
27789
27790         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
27791         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
27792         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
27793         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
27794         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
27795         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
27796         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
27797         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
27798
27799         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
27800         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
27801         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
27802         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
27803         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
27804         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
27805         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
27806         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
27807
27808         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
27809         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
27810         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
27811         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
27812         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
27813         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
27814         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
27815         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
27816
27817         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
27818         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
27819
27820         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
27821         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
27822
27823         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
27824         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
27825
27826         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
27827         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
27828         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
27829
27830         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
27831         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
27832         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
27833
27834         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
27835         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
27836         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
27837
27838         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
27839         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
27840         * modules/vasprintf (Depends-on): Add EOVERFLOW.
27841
27842         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
27843         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
27844         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
27845         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
27846         (Depends-on): Add EOVERFLOW.
27847         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
27848         (Depends-on): Add EOVERFLOW.
27849         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27850         (Depends-on): Add EOVERFLOW.
27851         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27852         (Depends-on): Add EOVERFLOW.
27853         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27854         (Depends-on): Add EOVERFLOW.
27855         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27856         (Depends-on): Add EOVERFLOW.
27857         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27858         (Depends-on): Add EOVERFLOW.
27859         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27860         (Depends-on): Add EOVERFLOW.
27861
27862         * lib/sprintf.c (EOVERFLOW): Remove fallback.
27863         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
27864         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
27865
27866         * lib/snprintf.c (EOVERFLOW): Remove fallback.
27867         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
27868         * modules/snprintf (Depends-on): Add EOVERFLOW.
27869
27870         * lib/poll.c (EOVERFLOW): Remove fallback.
27871         * modules/poll (Depends-on): Add EOVERFLOW.
27872
27873         * lib/getugroups.c (EOVERFLOW): Remove fallback.
27874         * modules/getugroups (Depends-on): Add EOVERFLOW.
27875
27876         * lib/getdelim.c (EOVERFLOW): Remove fallback.
27877         * modules/getdelim (Depends-on): Add EOVERFLOW.
27878
27879         * lib/ftell.c (EOVERFLOW): Remove fallback.
27880         * modules/ftell (Depends-on): Add EOVERFLOW.
27881
27882         * lib/fprintf.c (EOVERFLOW): Remove fallback.
27883         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
27884         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
27885
27886         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
27887
27888         * modules/EOVERFLOW-tests: New file.
27889         * tests/test-EOVERFLOW.c: New file.
27890
27891         * modules/EOVERFLOW: New file.
27892         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
27893
27894 2008-03-30  Bruno Haible  <bruno@clisp.org>
27895
27896         Fix bug introduced on 2007-06-10.
27897         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
27898         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
27899
27900 2008-03-30  Bruno Haible  <bruno@clisp.org>
27901
27902         Improve freadseek's efficiency after ungetc.
27903         * lib/freadseek.c: Include freadahead.h.
27904         (freadptrinc): New function, extracted from freadseek.
27905         (freadseek): Use it in a loop. Use freadahead to determine the number
27906         of loop iterations.
27907         * modules/freadseek (Depends-on): Add freadahead.
27908         (configure.ac): Require AC_C_INLINE.
27909
27910 2008-03-30  Bruno Haible  <bruno@clisp.org>
27911
27912         * lib/freadseek.c (freadseek): Don't ignore the return value of
27913         freadptr.
27914
27915 2008-03-29  Eric Blake  <ebb9@byu.net>
27916
27917         Add hex float support.
27918         * modules/strtod (Depends-on): Add c-ctype.
27919         (Link): Mention POW_LIB.
27920         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
27921         whitespace between 'e' and exponent.
27922         * tests/test-strtod.c (main): Enable hex float tests.
27923         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
27924         now provides.
27925
27926         Document various strtod bugs, with some fixes.
27927         * doc/posix-functions/strtod.texi (strtod): Document bugs with
27928         "-0x", "inf", "nan", and hex constants.
27929         * doc/posix-functions/atof.texi (atof): Likewise.
27930         * modules/stdlib (Makefile.am): Support strtod.
27931         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27932         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
27933         detect additional strtod bugs.
27934         * lib/stdlib.in.h (rpl_strtod): Add declarations.
27935         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
27936         bool where appropriate.  Parse 'inf' and 'nan'.
27937         * tests/test-strtod.c: New file.
27938         * modules/strtod (Depends-on): Add stdbool, stdlib.
27939         (configure.ac): Turn on module indicator.
27940         * modules/strtod-tests: New module.
27941
27942 2008-03-29  Eric Blake  <ebb9@byu.net>
27943
27944         Fix ftell on mingw.
27945         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
27946         * modules/ftell-tests (Depends-on): Add binary-io.
27947         * modules/ftello-tests (Depends-on): Likewise.
27948         * tests/test-ftell.c (main): Enhance test to cover behavior after
27949         ungetc.  Enforce binary mode.
27950         * tests/test-ftello.c (main): Likewise.
27951
27952         Pass test-freadseek on cygwin.
27953         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
27954         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
27955         ungetc buffer.
27956
27957         * tests/test-fflush2.c (main): Fix typo.
27958
27959 2008-03-29  Bruno Haible  <bruno@clisp.org>
27960
27961         * tests/test-fflush2.c (main): Temporarily disable the contents of
27962         this test.
27963         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
27964         Reported by Eric Blake.
27965
27966 2008-03-28  Simon Josefsson  <simon@josefsson.org>
27967
27968         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
27969         (GC_SHA224_DIGEST_SIZE): Add.
27970
27971         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
27972         (gc_hash_digest_length): Likewise.
27973         (gc_hash_buffer): Likewise.
27974
27975 2008-03-25  Bruno Haible  <bruno@clisp.org>
27976
27977         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
27978         detail which gettext release to use.
27979         Reported by Simon Josefsson.
27980
27981 2008-03-26  Jim Meyering  <meyering@redhat.com>
27982
27983         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
27984         * modules/gnumakefile (clean-GNUmakefile): Also, use
27985         test ... && ... || : syntax rather than if-then ... fi.
27986
27987         gnumakefile: Don't double-quote-expand $(VPATH) value.
27988         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
27989
27990 2008-03-24  Eric Blake  <ebb9@byu.net>
27991
27992         Alter GNUmakefile to install into top directory.
27993         * modules/maintainer-makefile: Split, and add dependency...
27994         * modules/gnumakefile: to this new module.
27995         * build-aux/GNUmakefile: Move...
27996         * top/GNUmakefile: ...here.
27997         * build-aux/maint.mk: Move...
27998         * top/maint.mk: ...here.
27999         * MODULES.html.sh (Support for maintaining...): Document new
28000         module.
28001
28002 2008-03-23  Bruno Haible  <bruno@clisp.org>
28003
28004         * gnulib-tool: New options --vc-files, --no-vc-files.
28005         (func_usage): Document them.
28006         (vc_files): New variable.
28007         (func_import): Consider vc_files.
28008         (func_create_testdir): Set vc_files to empty.
28009         Suggested by Jim Meyering and Karl Berry.
28010
28011 2008-03-23  Bruno Haible  <bruno@clisp.org>
28012
28013         Fix regex compilation error on HP-UX 11.
28014         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
28015         * modules/regex (Files): Add m4/mbstate_t.m4.
28016         Reported by Ton Voon <ton.voon@altinity.com>.
28017
28018 2008-03-23  Bruno Haible  <bruno@clisp.org>
28019
28020         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
28021
28022 2008-03-23  Eric Blake  <ebb9@byu.net>
28023             Bruno Haible  <bruno@clisp.org>
28024
28025         Install files from top/ in the destination directory.
28026         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
28027         augmentation also for the files from top/.
28028         (func_import, func_create_testdir): Rewrite file names:
28029         top/filename -> filename.
28030
28031 2008-03-23  Bruno Haible  <bruno@clisp.org>
28032
28033         Tweak "gnulib --version" output.
28034         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
28035
28036 2008-03-23  Bruno Haible  <bruno@clisp.org>
28037
28038         Tweak "gnulib --version" output.
28039         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
28040         rather than contents of ChangeLog, when possible.
28041
28042 2008-03-21  Eric Blake  <ebb9@byu.net>
28043
28044         More --version tweaks.
28045         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
28046         date of last ChangeLog entry.
28047
28048 2008-03-21  Jim Meyering  <meyering@redhat.com>
28049
28050         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
28051
28052 2008-03-20  Eric Blake  <ebb9@byu.net>
28053
28054         VPATH fix.
28055         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
28056
28057 2008-03-20  Simon Josefsson  <simon@josefsson.org>
28058
28059         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
28060         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
28061
28062 2008-03-20  Eric Blake  <ebb9@byu.net>
28063
28064         Sync GNUmakefile with coreutils.
28065         * build-aux/GNUmakefile (have-Makefile): Rename...
28066         (_have-Makefile): ...to this, for namespace consideration.
28067         (GNUmakefile.cfg): Include, if present.
28068         (_autoreconf): Define a default.
28069         (_is-dist-target): New rule for rebuilds to pick up intra-release
28070         version.
28071         (maint-cfg.mk): Rename...
28072         (cfg.mk): ...to this.
28073
28074 2008-03-18  Jim Meyering  <meyering@redhat.com>
28075
28076         New script and module: mktempd
28077         * MODULES.html.sh (maint+release support): Add mktempd.
28078         * build-aux/mktempd: New file.
28079         * modules/mktempd: New file.
28080
28081 2008-03-15  Jim Meyering  <meyering@redhat.com>
28082
28083         Undo last change.
28084         * lib/sha1.c, lib/md5.c: 63 != ~63.
28085         Reported by Andreas Schwab.
28086
28087         sha1.c, md5.c: Hoist a redundant expression.
28088         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
28089         "ctx->buflen" only once, before calling *_process_block.
28090         * lib/md5.c (md5_process_bytes): Likewise.
28091
28092 2008-03-14  Eric Blake  <ebb9@byu.net>
28093
28094         Bump copyright year in files generated by gnulib-tool.
28095         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
28096         gnulib-tool, rather than hard-coding it.
28097
28098         Fix 'gnulib-tool --version' output to work with git.
28099         * gnulib-tool (func_gnulib_dir): New function, extracted from...
28100         (startup): ...here.
28101         (func_version): Use it to invoke git-version-gen, rather than
28102         relying on CVS keyword expansion.  Modernize wording.
28103         (cvsdatestamp, last_checkin_date, version): Kill unused
28104         variables.
28105
28106 2008-03-12  Jim Meyering  <meyering@redhat.com>
28107
28108         Recognize optional cast of the argument to free.
28109         * build-aux/useless-if-before-free: Update regexps.
28110
28111         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
28112
28113 2008-03-11  Bruno Haible  <bruno@clisp.org>
28114
28115         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
28116         by a single package.
28117         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
28118         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
28119         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
28120         Reported by Sam Steingold <sds@gnu.org>.
28121
28122 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
28123
28124         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
28125         repositories.
28126
28127 2008-03-11  Bruno Haible  <bruno@clisp.org>
28128
28129         Avoid conflicts between local macro definitions.
28130         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
28131         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
28132
28133 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
28134             Bruno Haible  <bruno@clisp.org>
28135
28136         Make va_copy work with some version of xlc on AIX 5.1.
28137         * lib/stdarg.in.h: New file.
28138         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
28139         On AIX, use a <stdarg.h> file substitute.
28140         * modules/stdarg (Files): Add lib/stdarg.in.h.
28141         (Depends-on): Add include_next.
28142         (Makefile.am): Build a stdarg.h substitute if requested.
28143         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
28144
28145 2008-03-10  Bruno Haible  <bruno@clisp.org>
28146
28147         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
28148         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28149         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
28150
28151 2008-03-10  Bruno Haible  <bruno@clisp.org>
28152
28153         * modules/stdlib (Depends-on): Add include_next, remove
28154         absolute-header.
28155
28156 2008-03-09  Bruno Haible  <bruno@clisp.org>
28157
28158         * lib/freadahead.h (freadahead): Document more precisely.
28159         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
28160         the sum of both buffer sizes.
28161         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
28162         * NEWS: Document the change.
28163
28164 2008-03-09  Bruno Haible  <bruno@clisp.org>
28165
28166         Extend freadptr to return also the buffer size.
28167         * lib/freadptr.h (freadptr): Add sizep argument.
28168         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
28169         (freadptr): Add sizep argument. Determine buffer size like freadahead
28170         does.
28171         * tests/test-freadptr.c: Don't include freadahead.h.
28172         (main): Adapt for new calling convention of freadptr.
28173         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
28174         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
28175         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
28176         tests/test-freadptr2.sh.
28177         (Depends): Remove freadahead.
28178         (TESTS): Add test-freadptr2.sh.
28179         (check_PROGRAMS): Add test-freadptr2.
28180
28181 2008-03-09  Bruno Haible  <bruno@clisp.org>
28182
28183         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
28184         Report and solution by Simon Josefsson.
28185
28186 2008-03-06  Bruno Haible  <bruno@clisp.org>
28187
28188         Make fflush after ungetc work on BSD platforms.
28189         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
28190         * tests/test-fflush2.c: New file.
28191         * tests/test-fflush2.sh: New file.
28192         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
28193         tests/test-fflush2.c.
28194         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
28195         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
28196
28197 2008-03-06  Eric Blake  <ebb9@byu.net>
28198
28199         Likewise for ftello.
28200         * modules/ftello (Dependencies): Add extensions.
28201         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
28202
28203 2008-03-06  Bruno Haible  <bruno@clisp.org>
28204
28205         * modules/fseeko (Dependencies): Add extensions.
28206         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
28207         Needed on glibc systems.
28208
28209 2008-03-06  Bruno Haible  <bruno@clisp.org>
28210
28211         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
28212         email address.
28213         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28214
28215 2008-03-06  Bruno Haible  <bruno@clisp.org>
28216
28217         * users.txt: Add libgnupdf.
28218
28219 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28220
28221         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
28222         (Header File Substitutes, Function Substitutes,
28223         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
28224         (Build robot for gnulib): Fix typo.
28225
28226 2008-03-06  Bruno Haible  <bruno@clisp.org>
28227
28228         * doc/gnulib-tool.texi (VCS Issues): Small updates.
28229         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28230
28231 2008-03-06  Bruno Haible  <bruno@clisp.org>
28232
28233         * doc/func.texi: New file, extracted from doc/gnulib.texi.
28234         * doc/gnulib.texi: Include it.
28235
28236 2008-03-06  Simon Josefsson  <simon@josefsson.org>
28237
28238         * modules/func (License): Change license to unlimited; there was
28239         no LGPL parts in the module anyway.
28240
28241 2008-03-06  Simon Josefsson  <simon@josefsson.org>
28242
28243         * modules/__func__: Renamed to modules/func.
28244         * modules/__func__-tests: Renamed to modules/func-tests.
28245         * tests/test-__func__.c: Renamed to tests/test-func.c.
28246         * m4/__func__.m4: Renamed to m4/func.m4.
28247         * doc/gnulib.texi (__func__): Section renamed to func.
28248         Suggested by Eric Blake <ebb9@byu.net>.
28249
28250 2008-03-06  Simon Josefsson  <simon@josefsson.org>
28251
28252         * doc/gnulib.texi (__func__): Use C99 terminology when talking
28253         about __func__.  Make example self-contained.  Suggested by Eric
28254         Blake <ebb9@byu.net>.
28255
28256         * tests/test-__func__.c (main): Avoid extraneous () around __func.
28257         Suggested by Eric Blake <ebb9@byu.net>.
28258
28259 2008-03-06  Simon Josefsson  <simon@josefsson.org>
28260
28261         * modules/__func__: New file.
28262         * modules/__func__-tests: New file.
28263         * tests/test-__func__.c: New file.
28264         * m4/__func__.m4: New file.
28265         * doc/gnulib.texi (__func__): Document __func__ module.
28266
28267 2008-03-05  Simon Josefsson  <simon@josefsson.org>
28268
28269         * modules/byteswap (License): Re-license as LGPLv2+.
28270
28271 2008-03-05  Simon Josefsson  <simon@josefsson.org>
28272
28273         * doc/Makefile: Add pdf target.
28274
28275 2008-03-05  Simon Josefsson  <simon@josefsson.org>
28276
28277         * modules/inline (License): Use 'unlimited', since there are only
28278         *.m4 files in this module.
28279
28280 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
28281             Bruno Haible  <bruno@clisp.org>
28282
28283         Add support for HP C 7.1 on OpenVMS 8.3.
28284         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
28285
28286 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
28287
28288         Update VMS specifics.
28289         * lib/getopt.c [VMS]: Remove include of unixlib.h.
28290
28291 2008-03-02  Jim Meyering  <meyering@redhat.com>
28292
28293         Remove the last dependency on the "free" module.
28294         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
28295         Reported by Bob Proulx.
28296
28297         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
28298
28299         Remove useless "if" tests before free.  Deprecate "free" module.
28300         * doc/posix-functions/free.texi: Mention that this
28301         module is no longer useful.
28302         * modules/free (Notice): Say this module is obsolete.
28303         * modules/readutmp (Depends-on): Remove free.
28304         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
28305         * lib/putenv.c (putenv): Likewise.
28306         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
28307         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
28308         * tests/test-c-strcasestr.c (main): Likewise.
28309         * tests/test-c-strstr.c (main): Likewise.
28310         * tests/test-mbscasestr1.c (main): Likewise.
28311         * tests/test-mbscasestr2.c (main): Likewise.
28312         * tests/test-mbsstr1.c (main): Likewise.
28313         * tests/test-mbsstr2.c (main): Likewise.
28314         * tests/test-memmem.c (main): Likewise.
28315         * tests/test-strcasestr.c (main): Likewise.
28316         * tests/test-striconv.c (main): Likewise.
28317         * tests/test-striconveh.c (main): Likewise.
28318         * tests/test-striconveha.c (main): Likewise.
28319         * tests/test-strstr.c (main): Likewise.
28320
28321         * build-aux/git-version-gen: Adjust a comment and the Usage string.
28322
28323         bootstrap: sync from coreutils again
28324         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
28325
28326 2008-03-01  Jim Meyering  <meyering@redhat.com>
28327
28328         bootstrap: sync from coreutils
28329         * build-aux/bootstrap (update_po_files): Copy a .po file into place
28330         also when the target doesn't exist.
28331
28332 2008-03-01  Eric Blake  <ebb9@byu.net>
28333
28334         Fix bugs in last patch.
28335         * lib/memchr2.c (memchr2): Fix typo.
28336         * tests/test-memchr2.c: Test previous bug, and don't use GNU
28337         extension.
28338         Reported by Bruce Korb.
28339
28340         New module 'memchr2'.
28341         * modules/memchr2: New file.
28342         * modules/memchr2-tests: Likewise.
28343         * lib/memchr2.h: Likewise.
28344         * lib/memchr2.c: Likewise, based on memchr.c.
28345         * tests/test-memchr2.c: New test.
28346         * MODULES.html.sh (String handling): Add memchr2.
28347
28348 2008-02-29  Bruno Haible  <bruno@clisp.org>
28349
28350         * modules/freadseek-tests: New file.
28351         * tests/test-freadseek.sh: New file.
28352         * tests/test-freadseek.c: New file.
28353
28354         New module 'freadseek'.
28355         * modules/freadseek: New file.
28356         * lib/freadseek.h: New file.
28357         * lib/freadseek.c: New file.
28358         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
28359
28360 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
28361
28362         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
28363         wydawca.
28364
28365         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
28366         program_invocation_name and program_invocation_short_name are
28367         present.
28368
28369 2008-02-28  Bruno Haible  <bruno@clisp.org>
28370
28371         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
28372         * tests/test-freadptr.sh: Also test non-seekable stdin.
28373
28374 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
28375
28376         * build-aux/bootstrap (source_base, m4_base)
28377         (doc_base, tests_base): New variables.
28378         (gnulib_tool_options): Do not hardcode base directories, use
28379         the above variables instead.
28380
28381 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
28382
28383         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
28384
28385 2008-02-28  Bruno Haible  <bruno@clisp.org>
28386
28387         * modules/freadptr-tests: New file.
28388         * tests/test-freadptr.sh: New file.
28389         * tests/test-freadptr.c: New file.
28390
28391         New module 'freadptr'.
28392         * modules/freadptr: New file.
28393         * lib/freadptr.h: New file.
28394         * lib/freadptr.c: New file.
28395         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
28396
28397 2008-02-26  Karl Berry  <karl@freefriends.org>
28398
28399         Sync from Libtool:
28400         * libltdl/argz.c (argz_add, argz_count): New functions.
28401         * libltdl/argz.in.h: Declare them.
28402         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
28403
28404 2008-02-22  Bruno Haible  <bruno@clisp.org>
28405
28406         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
28407         is a pointer type.  Needed for HP-UX 10.
28408         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
28409         * doc/posix-functions/gmtime_r.texi: Likewise.
28410         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
28411
28412 2008-02-24  Bruno Haible  <bruno@clisp.org>
28413
28414         * modules/environ-tests: New file.
28415         * tests/test-environ.c: New file.
28416
28417         New module 'environ'.
28418         * modules/environ: New file.
28419         * lib/unistd.in.h (environ): New declaration.
28420         * m4/environ.m4: New file.
28421         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
28422         after use.
28423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
28424         HAVE_DECL_ENVIRON.
28425         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
28426         HAVE_DECL_ENVIRON.
28427         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
28428         wrong claim that 'environ' is missing on some systems.
28429         * modules/execute (Depends-on): Add environ.
28430         * lib/execute.c (environ): Remove fallback declaration.
28431         * modules/pipe (Depends-on): Add environ.
28432         * lib/pipe.c (environ): Remove fallback declaration.
28433         * modules/setenv (Depends-on): Add environ.
28434         * lib/setenv.c (environ): Remove fallback declaration.
28435         * modules/unsetenv (Depends-on): Add environ.
28436         * lib/unsetenv.c (environ): Remove fallback declaration.
28437         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
28438         m4/environ.m4.
28439         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
28440         (gl_PREREQ_UNSETENV): Likewise.
28441
28442 2008-02-24  Bruno Haible  <bruno@clisp.org>
28443
28444         * doc/posix-functions/environ.texi: Document the MacOS X problem.
28445
28446 2008-02-20  Bob Proulx  <bob@proulx.com>
28447
28448         Enable use of older two part flavor 'git describe'.
28449         * build-aux/git-version-gen: If using the older two part flavor of
28450         git version then recreate the third part now present in the
28451         newer three part flavor of git describe.
28452
28453 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
28454
28455         * lib/fts.c (fts_build): Typo correction to comment.
28456
28457 2008-02-17  Bruno Haible  <bruno@clisp.org>
28458
28459         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
28460         generating no-op conflicts.
28461
28462 2008-02-17  Bruno Haible  <bruno@clisp.org>
28463
28464         Speed up by 10%.
28465         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
28466         result_entries, rather than an index-based loop.
28467
28468 2008-02-17  Bruno Haible  <bruno@clisp.org>
28469
28470         Speed up by 25%.
28471         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
28472         'hashcode_cached'.
28473         (entry_create): New function.
28474         (entry_hashcode): Use the cached hashcode if possible.
28475         (read_changelog_file, try_split_merged_entry): Use entry_create.
28476
28477 2008-02-17  Bruno Haible  <bruno@clisp.org>
28478
28479         Speed up from O(n^2) to O(n) for long ChangeLog files.
28480         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
28481         (read_changelog_file): Change implementation of entries_reversed list
28482         to rbtreehash.
28483         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
28484
28485 2008-02-17  Bruno Haible  <bruno@clisp.org>
28486
28487         New option --split-merged-entry.
28488         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
28489         (find_paragraph_end, try_split_merged_entry): New functions.
28490         (long_options): Add option --split-merged-entry.
28491         (usage): Document option --split-merged-entry.
28492         (main): Implement option --split-merged-entry.
28493         Reported by Eric Blake.
28494
28495 2008-02-17  Bruno Haible  <bruno@clisp.org>
28496
28497         * lib/git-merge-changelog.c: Include c-strstr.h.
28498         (main): Support the "git pull --rebase" situation.
28499         * modules/git-merge-changelog (Depends-on): Add c-strstr.
28500         Reported by Eric Blake.
28501
28502 2008-02-16  Eric Blake  <ebb9@byu.net>
28503
28504         Avoid doubling \ in common case of "c-maybe" quoting style.
28505         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
28506         eliding outer quotes.
28507         * lib/quotearg.h: Document this.
28508         * tests/test-quotearg.c (result_strings, inputs, results_g)
28509         (flag_results, locale_results): Test it by adding a new string to
28510         each test group.
28511         (compare_strings): Test new string.
28512
28513 2008-02-13  Eric Blake  <ebb9@byu.net>
28514
28515         Avoid trigraph quoting in default output.
28516         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
28517         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
28518         unless explicitly requested.
28519         * tests/test-quotearg.c (flag_results, main): Add additional tests.
28520
28521 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
28522
28523         Don't rely on signed integer overflowing to negative value.
28524         * lib/getugroups.c (getugroups): Include <limits.h>.
28525         Instead, compare against INT_MAX, and increment only if the test passes.
28526
28527 2008-02-13  Jim Meyering  <meyering@redhat.com>
28528         and Eric Blake  <ebb9@byu.net>
28529
28530         Avoid shadowing warning and compile errors on Linux.
28531         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
28532         forwarding macros on Linux.
28533         (dcgettext): Define a stub, for Linux.
28534         (results_g, main): Avoid warnings.
28535
28536 2008-02-12  Eric Blake  <ebb9@byu.net>
28537
28538         Silence warning in last patch.
28539         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
28540
28541         Quotearg part 4: add tests, fix c-maybe colon quoting.
28542         * lib/quotearg.h: Improve documentation.
28543         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
28544         escapes when adding outer quotes.  When quoting trigraphs, use
28545         valid C notation.  When quoting NUL, omit extra characters if next
28546         character is not digit.  Alter prototype.
28547         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
28548         callers.
28549         * modules/quotearg-tests: New module.
28550         * tests/test-quotearg.c: New test.
28551
28552 2008-02-07  Eric Blake  <ebb9@byu.net>
28553
28554         Quotearg part 3: add flag to control outer quote elision.
28555         * lib/quotearg.h (c_maybe_quoting_style): New style.
28556         (enum quoting_flags): Better documentation of flags.
28557         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
28558         c-maybe style.
28559         (quotearg_buffer_restyled): Handle new flag to elide outer
28560         quotes.
28561
28562         Quotearg part 2: add flag that can control NUL elision.
28563         * lib/quotearg.h (set_quoting_flags): New prototype.
28564         * lib/quotearg.c (struct quoting_options): Add flag field.
28565         (set_quoting_flags): New function.
28566         (quotearg_buffer_restyled): Add flags parameter.
28567         (quotearg_alloc_mem): Set the flag if length cannot be returned.
28568         (quotearg_n_options): Set the flag, since length cannot be
28569         returned.
28570         (quoting_options_from_style): Default flags correctly.
28571
28572         Quotearg part 1: more wrappers, restore quotearg_char state.
28573         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
28574         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
28575         (quotearg_colon_mem): New wrappers.
28576         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
28577         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
28578         functions.
28579         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
28580         (quotearg_colon_mem): New functions.
28581
28582 2008-02-11  Bruno Haible  <bruno@clisp.org>
28583
28584         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
28585         library in the current directory: it does not work with parallel make.
28586         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28587
28588 2008-02-11  Bruno Haible  <bruno@clisp.org>
28589
28590         * .gitattributes: New file.
28591
28592 2008-02-11  Jim Meyering  <meyering@redhat.com>
28593
28594         useless-if-before-free: Fix reversed exit values.
28595         * build-aux/useless-if-before-free: Use correct values
28596         for EXIT_MATCH and EXIT_NO_MATCH.
28597
28598         * build-aux/useless-if-before-free: Close stdout carefully.
28599
28600 2008-02-10  Bruno Haible  <bruno@clisp.org>
28601
28602         New module 'git-merge-changelog'.
28603         * modules/git-merge-changelog: New file.
28604         * lib/git-merge-changelog.c: New file.
28605
28606 2008-02-10  Jim Meyering  <meyering@redhat.com>
28607
28608         useless-if-before-free: New option: --list (-l).
28609
28610         useless-if-before-free: Don't exit immediately upon open failure.
28611         * build-aux/useless-if-before-free: Exit 2 for errors.
28612         Upon failure to open a file, don't exit immediately.
28613         Rather, just warn and continue with any remaining files.
28614
28615 2008-02-10  Bruno Haible  <bruno@clisp.org>
28616
28617         New abstract list operation 'node_set_value'.
28618         * lib/gl_list.h (gl_list_node_set_value): New function.
28619         (struct gl_list_implementation): New field node_set_value.
28620         * lib/gl_list.c (gl_list_node_set_value): New function.
28621         * lib/gl_array_list.c (gl_array_node_set_value): New function.
28622         (gl_array_list_implementation): Update.
28623         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
28624         (gl_carray_list_implementation): Update.
28625         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
28626         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
28627         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
28628         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
28629         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
28630         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
28631         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
28632         Update.
28633         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
28634         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
28635         (gl_sublist_list_implementation): Update.
28636
28637 2008-02-10  Bruno Haible  <bruno@clisp.org>
28638
28639         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
28640         Needed when ELEMENT is #defined to 'some_type *'.
28641
28642 2008-02-10  Jim Meyering  <meyering@redhat.com>
28643
28644         New script and module: useless-if-before-free
28645         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
28646         * build-aux/useless-if-before-free: New file.
28647         * modules/useless-if-before-free: New file.
28648
28649         * build-aux/gitlog-to-changelog: Use committer date, not author date.
28650
28651         xstrtol_error: Fix typo.
28652         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
28653         s/exit_failure/exit_status/.
28654
28655 2008-02-09  Jim Meyering  <meyering@redhat.com>
28656
28657         New script and module: gitlog-to-changelog
28658         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
28659         * modules/gitlog-to-changelog: New file.
28660         * build-aux/gitlog-to-changelog: New file.
28661
28662 2008-02-08  Jim Meyering  <meyering@redhat.com>
28663
28664         Avoid two "parameter unused" warnings.
28665         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
28666         Mark "st" as used.
28667
28668         Use "git COMMAND", not "git-COMMAND".
28669         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
28670         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
28671         * build-aux/git-version-gen: Use "git status", not "git-status".
28672
28673 2008-02-07  Bruno Haible  <bruno@clisp.org>
28674
28675         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
28676         Avoids a crash on Windows Vista.
28677         Reported by Adam Strzelecki <ono@java.pl> via
28678         Simon Josefsson <simon@josefsson.org>.
28679
28680 2008-02-06  Bruno Haible  <bruno@clisp.org>
28681
28682         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
28683         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
28684         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
28685         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
28686         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28687         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28688         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
28689         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
28690         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28691         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28692         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28693         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28694         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28695         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28696         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28697         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
28698         left-adjust flag.
28699         * tests/test-snprintf-posix.h (test_function): Likewise.
28700         * tests/test-sprintf-posix.h (test_function): Likewise.
28701         * tests/test-vasprintf-posix.c (test_function): Likewise.
28702         * doc/posix-functions/fprintf.texi: Update.
28703         * doc/posix-functions/printf.texi: Update.
28704         * doc/posix-functions/snprintf.texi: Update.
28705         * doc/posix-functions/sprintf.texi: Update.
28706         * doc/posix-functions/vfprintf.texi: Update.
28707         * doc/posix-functions/vprintf.texi: Update.
28708         * doc/posix-functions/vsnprintf.texi: Update.
28709         * doc/posix-functions/vsprintf.texi: Update.
28710         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28711
28712 2008-02-06  Bruno Haible  <bruno@clisp.org>
28713
28714         Fix bug introduced on 2008-01-26.
28715         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
28716
28717 2008-02-06  Bruno Haible  <bruno@clisp.org>
28718
28719         Fix bug introduced on 2007-06-10.
28720         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
28721         !NEED_PRINTF_FLAG_ZERO.
28722
28723 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
28724
28725         getloadavg: use libperfstat on AIX5
28726         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
28727
28728 2008-02-03  Bruno Haible  <bruno@clisp.org>
28729
28730         * lib/diffseq.h: Add comments about required #includes.
28731         Reported by Michael Biggs <gnulib@doubleplum.net>.
28732
28733 2008-02-01  Bruno Haible  <bruno@clisp.org>
28734
28735         * users.txt: Add gnuit.
28736
28737 2008-01-31  Bruno Haible  <bruno@clisp.org>
28738
28739         * lib/md4.c (set_uint32): Mark as inline.
28740         * lib/md5.c (set_uint32): Likewise.
28741         * lib/sha1.c (set_uint32): Likewise.
28742         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
28743         * m4/md5.m4 (gl_MD5): Likewise.
28744         * m4/sha1.m4 (gl_SHA1): Likewise.
28745
28746 2008-01-31  Jim Meyering  <meyering@redhat.com>
28747
28748         Use "sizeof VAR", rather than a literal "4".
28749         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
28750         * lib/md4.c (md4_read_ctx): Likewise.
28751         * lib/sha1.c (sha1_read_ctx): Likewise.
28752
28753 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28754
28755         * tests/test-sha1.c: New file, based on test-md5.c.
28756
28757         * modules/crypto/sha1-tests: New file.
28758
28759 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28760
28761         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
28762
28763 2008-01-31  Jim Meyering  <meyering@redhat.com>
28764
28765         Prefer "sizeof v" over the equivalent "4".
28766         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
28767         * lib/md5.c (set_uint32): Likewise.
28768         * lib/sha1.c (set_uint32): Likewise.
28769
28770 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28771
28772         * lib/sha1.c (set_uint32): Mark function as static.
28773
28774 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28775
28776         md2: clarify comments to say that alignment is not required.
28777         * lib/md2.h: Remove warning about alignment in comment.
28778         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
28779         never been required.
28780
28781 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28782
28783         md4: adapt alignment constraint fix from sha1.
28784         * lib/md4.c (set_uint32): New function, from sha1.c
28785         (md4_read_ctx): Use it.
28786         (md4_finish_ctx): Doc fix.
28787         * lib/md4.h: Doc fix.
28788
28789 2008-01-31  Simon Josefsson  <simon@josefsson.org>
28790
28791         md5: adapt alignment constraint fix from sha1.
28792         * lib/md5.c (set_uint32): New function, from sha1.c
28793         (md5_read_ctx): Use it.
28794         (md5_finish_ctx): Doc fix.
28795         * lib/md5.h: Doc fix.
28796
28797 2008-01-30  Peter Palfrader  <weasel@debian.org>
28798
28799         sha1: remove the result buffer alignment constraint
28800         * lib/sha1.c (set_uint32): New function.
28801         (sha1_read_ctx): Rewrite to remove the result buffer alignment
28802         constraint.
28803         (sha1_finish_ctx): Remove comment warning about alignment constraint.
28804         * lib/sha1.h: Likewise.
28805
28806 2008-01-30  Andreas Schwab  <schwab@suse.de>
28807             Bruno Haible  <bruno@clisp.org>
28808
28809         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
28810         correct definition of LDBL_MIN_EXP.
28811
28812 2008-01-30  Karl Berry  <karl@gnu.org>
28813
28814         * config/srclist-update: try to preserve x bit on updates.
28815         * config/srclistvars.sh: update for karl.
28816
28817 2008-01-29  Jim Meyering  <meyering@redhat.com>
28818
28819         vasnprintf.c: Avoid warning about unused label
28820         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
28821         "overflow" label definition and associated code with the
28822         same cpp condition that guards the sole use of that label.
28823
28824 2008-01-26  Bruno Haible  <bruno@clisp.org>
28825
28826         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
28827         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
28828         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
28829         * lib/isnanl-nolibm.h (isnanl): Likewise.
28830         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28831
28832 2008-01-26  Bruno Haible  <bruno@clisp.org>
28833
28834         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
28835         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
28836
28837 2008-01-26  Bruno Haible  <bruno@clisp.org>
28838
28839         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
28840         GCC >= 4.0 built-in.
28841         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
28842
28843 2008-01-26  Bruno Haible  <bruno@clisp.org>
28844
28845         Rename isnan, applicable to 'double' only, to isnand.
28846         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
28847         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
28848         (configure.ac): Update.
28849         (Include): Replace "isnan.h" with "isnand.h".
28850         * m4/isnand.m4: Renamed from m4/isnan.m4.
28851         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
28852         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
28853         instead of isnan.c.
28854         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
28855         instead of HAVE_ISNAN_IN_LIBC.
28856         (isnand): Renamed from isnan.
28857         * lib/isnand.c: New file.
28858         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
28859         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
28860         (Makefile.am): Update.
28861         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
28862         Include isnand.h instead of isnan.h.
28863         (main): Test isnand instead of isnan.
28864         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
28865         isnan-nolibm.
28866         * modules/frexp (Depends-on): Likewise.
28867         * modules/frexp-tests (Depends-on): Likewise.
28868         * modules/frexp-nolibm (Depends-on): Likewise.
28869         * modules/frexp-nolibm-tests (Depends-on): Likewise.
28870         * modules/isfinite (Depends-on): Likewise.
28871         * modules/round-tests (Depends-on): Likewise.
28872         * modules/signbit (Depends-on): Likewise.
28873         * modules/signbit-tests (Depends-on): Likewise.
28874         * modules/snprintf-posix (Depends-on): Likewise.
28875         * modules/sprintf-posix (Depends-on): Likewise.
28876         * modules/trunc-tests (Depends-on): Likewise.
28877         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28878         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28879         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28880         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28881         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28882         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28883         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28884         * modules/vasnprintf-posix (Depends-on): Likewise.
28885         * modules/vasprintf-posix (Depends-on): Likewise.
28886         * modules/vfprintf-posix (Depends-on): Likewise.
28887         * modules/vsnprintf-posix (Depends-on): Likewise.
28888         * modules/vsprintf-posix (Depends-on): Likewise.
28889         * lib/frexp.c: Include isnand.h instead of isnan.h.
28890         (ISNAN): Set to isnand instead of isnan.
28891         * lib/isfinite.c: Include isnand.h instead of isnan.h.
28892         (gl_isfinited): Use isnand instead of isnan.
28893         * lib/signbitd.c: Include isnand.h instead of isnan.h.
28894         (gl_signbitd): Use isnand instead of isnan.
28895         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
28896         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
28897         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
28898         (main): Use isnand instead of isnan.
28899         * tests/test-round1.c: Include isnand.h.
28900         (main): Use isnand instead of isnan.
28901         * tests/test-round2.c: Include isnand.h instead of isnan.h.
28902         (ISNAN): Set to isnand instead of isnan.
28903         * tests/test-trunc1.c: Include isnand.h.
28904         (main): Use isnand instead of isnan.
28905         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
28906         (equal): Use isnand instead of isnan.
28907         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
28908         isnand-nolibm.
28909         * NEWS: Mention the change.
28910
28911 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28912             Bruno Haible  <bruno@clisp.org>
28913
28914         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
28915         the GCC builtins for signbits are present and set
28916         REPLACE_SIGNBIT_USING_GCC if so.
28917         * lib/math.in.h (signbit): Define using GCC builtins if
28918         REPLACE_SIGNBIT_USING_GCC is set.
28919         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
28920         REPLACE_SIGNBIT_USING_GCC.
28921         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
28922
28923 2008-01-25  Jim Meyering  <meyering@redhat.com>
28924
28925         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
28926         * lib/poll.c: Include <config.h>, not "config.h".
28927         * tests/test-getaddrinfo.c: Likewise.
28928
28929 2008-01-25  Simon Josefsson  <simon@josefsson.org>
28930
28931         * modules/sockets-tests: New file.
28932
28933 2008-01-24  Simon Josefsson  <simon@josefsson.org>
28934
28935         * modules/sockets: New module, can be used to call WSA_Startup and
28936         WSA_Cleanup when needed.
28937
28938         * lib/sockets.h, lib/sockets.c: New files.
28939
28940         * m4/sockets.m4: New file.
28941
28942         * tests/test-sockets.c: New file.
28943
28944 2008-01-19  Bruno Haible  <bruno@clisp.org>
28945
28946         * doc/posix-headers: Renamed from doc/headers.
28947         * doc/posix-functions: Renamed from doc/functions.
28948         * doc/gnulib.texi: Update.
28949
28950 2008-01-19  Bruno Haible  <bruno@clisp.org>
28951
28952         * doc/glibc-functions/strcasestr.texi: Include contents of
28953         doc/functions/strcasestr.texi, fixing the list of platforms.
28954         * doc/functions/strcasestr.texi: Remove file.
28955
28956 2008-01-19  Bruno Haible  <bruno@clisp.org>
28957
28958         * doc/glibc-functions/memmem.texi: Include contents of
28959         doc/functions/memmem.texi.
28960         * doc/functions/memmem.texi: Remove file.
28961
28962 2008-01-18  Bruno Haible  <bruno@clisp.org>
28963
28964         * doc/glibc-functions/*.texi: New files.
28965         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
28966         to use the new files.
28967
28968 2008-01-17  Bruno Haible  <bruno@clisp.org>
28969
28970         * tests/test-gethostname.c (main): Fix printf statement.
28971
28972 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28973
28974         * modules/gethostname-tests: New file.
28975
28976         * tests/test-gethostname.c: New file.
28977
28978 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28979
28980         * lib/gethostname.c: Include string.h unconditionally, strncpy is
28981         used by the UNAME case.  Reported by Bruno Haible
28982         <bruno@clisp.org>.
28983
28984 2008-01-17  Eric Blake  <ebb9@byu.net>
28985
28986         Convert c-strcasestr to be more efficient.
28987         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
28988         (Depends-on): Add c-strcase, remove malloca, strnlen.
28989         * tests/test-c-strcasestr.c (main): Enhance test.
28990         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
28991
28992 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
28993
28994         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
28995         Use it in creating po/Makevars.
28996
28997 2008-01-15  Simon Josefsson  <simon@josefsson.org>
28998
28999         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
29000         Applications that requires it should initialize libgcrypt
29001         manually.
29002
29003 2008-01-16  Simon Josefsson  <simon@josefsson.org>
29004
29005         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
29006
29007 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29008
29009         Fix problem with getdate on mingw32 reported by Simon Josefsson
29010         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
29011         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
29012         tzname", when deciding whether to declare tzname.
29013         * lib/strftime.c (tzname): Likewise.
29014
29015 2008-01-15  Bruno Haible  <bruno@clisp.org>
29016
29017         Work around a MacOS X 10.5 bug in frexpl().
29018         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
29019         * doc/functions/frexpl.texi: Document the bug.
29020         Reported by Elias Pipping <pipping@gentoo.org>.
29021
29022 2008-01-14  Eric Blake  <ebb9@byu.net>
29023
29024         Touch up previous patch.
29025         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
29026         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
29027
29028         Convert strcasestr module to use Two-Way algorithm.
29029         * modules/strcasestr-simple: New module, based on the old
29030         strcasestr, but with Two-Way rather than KMP.
29031         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
29032         * lib/string.in.h (rpl_strcasestr): Declare.
29033         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
29034         performance.
29035         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
29036         * modules/string (Makefile.am): Support strcasestr.
29037         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
29038         * modules/strcasestr-tests (Depends-on): Check for alarm.
29039         * tests/test-strcasestr.c: Augment test.
29040         * lib/str-two-way.h: Clean up stray macro.
29041         * NEWS: Document new module.
29042         * MODULES.html.sh (string handling): Likewise.
29043         * doc/functions/strcasestr.texi: New file.
29044         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
29045         here, since it is not a POSIX function.
29046
29047 2008-01-14  Colin Watson  <cjwatson@debian.org>
29048             Bruno Haible  <bruno@clisp.org>
29049
29050         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
29051         works fine; if not, set REPLACE_STRSIGNAL.
29052         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
29053         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29054         REPLACE_STRSIGNAL.
29055         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
29056         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
29057         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
29058
29059 2008-01-14  Bruno Haible  <bruno@clisp.org>
29060
29061         * modules/strsignal (Include): Change to <string.h>.
29062
29063 2008-01-14  Colin Watson  <cjwatson@debian.org>
29064
29065         * modules/argp (Notice): Add a notice recommending to change
29066         XGETTEXT_OPTIONS.
29067         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
29068
29069 2008-01-13  Colin Watson  <cjwatson@debian.org>
29070
29071         * modules/strsignal-tests: New file.
29072         * tests/test-strsignal.c: New file.
29073
29074         * lib/strsignal.c: New file, from glibc with modifications.
29075         * lib/siglist.h: New file, from glibc with modifications.
29076         * lib/string.in.h (strsignal): New declaration.
29077         * m4/strsignal.m4: New file.
29078         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29079         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
29080         * modules/strsignal: New file.
29081         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
29082         HAVE_DECL_STRSIGNAL.
29083
29084 2008-01-13  Bruno Haible  <bruno@clisp.org>
29085
29086         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
29087         locale encoding is not ASCII. Needed for OpenBSD 4.0.
29088         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
29089         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29090
29091 2008-01-13  Bruno Haible  <bruno@clisp.org>
29092
29093         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
29094         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
29095         * lib/argp.h (__attribute__): Likewise.
29096         * lib/c-stack.c (__attribute__): Likewise.
29097         * lib/error.h (__attribute__): Likewise.
29098         * lib/fts.c (__attribute__): Likewise.
29099         * lib/openat.h (__attribute__): Likewise.
29100         * lib/stdio.in.h (__attribute__): Likewise.
29101         * lib/string.in.h (__attribute__): Likewise.
29102         * lib/utimens.c (__attribute__): Likewise.
29103         * lib/vasnprintf.h (__attribute__): Likewise.
29104         * lib/xalloc.h (__attribute__): Likewise.
29105         * lib/xprintf.h (__attribute__): Likewise.
29106         * lib/xstrtol.h (__attribute__): Likewise.
29107         * lib/xvasprintf.h (__attribute__): Likewise.
29108
29109 2008-01-12  Bruno Haible  <bruno@clisp.org>
29110
29111         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
29112         * doc/glibc-headers/a.out.texi: New file.
29113         * doc/glibc-headers/aliases.texi: New file.
29114         * doc/glibc-headers/alloca.texi: New file.
29115         * doc/glibc-headers/ar.texi: New file.
29116         * doc/glibc-headers/argp.texi: New file.
29117         * doc/glibc-headers/argz.texi: New file.
29118         * doc/glibc-headers/byteswap.texi: New file.
29119         * doc/glibc-headers/crypt.texi: New file.
29120         * doc/glibc-headers/endian.texi: New file.
29121         * doc/glibc-headers/envz.texi: New file.
29122         * doc/glibc-headers/err.texi: New file.
29123         * doc/glibc-headers/error.texi: New file.
29124         * doc/glibc-headers/execinfo.texi: New file.
29125         * doc/glibc-headers/fpu_control.texi: New file.
29126         * doc/glibc-headers/fstab.texi: New file.
29127         * doc/glibc-headers/fts.texi: New file.
29128         * doc/glibc-headers/getopt.texi: New file.
29129         * doc/glibc-headers/ieee754.texi: New file.
29130         * doc/glibc-headers/ifaddrs.texi: New file.
29131         * doc/glibc-headers/libintl.texi: New file.
29132         * doc/glibc-headers/mcheck.texi: New file.
29133         * doc/glibc-headers/mntent.texi: New file.
29134         * doc/glibc-headers/obstack.texi: New file.
29135         * doc/glibc-headers/paths.texi: New file.
29136         * doc/glibc-headers/printf.texi: New file.
29137         * doc/glibc-headers/pty.texi: New file.
29138         * doc/glibc-headers/resolv.texi: New file.
29139         * doc/glibc-headers/shadow.texi: New file.
29140         * doc/glibc-headers/sysexits.texi: New file.
29141         * doc/glibc-headers/ttyent.texi: New file.
29142
29143 2008-01-12  Jim Meyering  <meyering@redhat.com>
29144
29145         announce-gen: emit Gnulib's git-based version string.
29146         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
29147         New option --gnulib-version=V, where V is expected to be
29148         the output of running git describe in the gnulib directory.
29149         (get_tool_versions): Request feedback on xdelta.  I suspect it's
29150         not useful, and plan to stop publishing an xdelta file with each
29151         coreutils release.
29152
29153         * build-aux/announce-gen: Also check for lzma-compressed files.
29154
29155 2008-01-11  Bruno Haible  <bruno@clisp.org>
29156
29157         * tests/test-memmem.c (main): Increase maximum allowed time.
29158         * tests/test-strstr.c (main): Likewise.
29159
29160 2008-01-11  Bruno Haible  <bruno@clisp.org>
29161
29162         * doc/functions/memmem.texi: Add more precisions about platforms.
29163         * doc/functions/strstr.texi: Likewise.
29164
29165 2008-01-10  Eric Blake  <ebb9@byu.net>
29166
29167         * m4/strstr.m4: Delete cruft from copy-n-paste.
29168         Reported by Bruno Haible.
29169
29170 2008-01-10  Bruno Haible  <bruno@clisp.org>
29171
29172         Make c-strstr rely on strstr.
29173         * lib/c-strstr.c: Don't include str-kmp.h.
29174         (c_strstr): Define in terms of strstr.
29175         * modules/c-strstr (Files): Remove lib/str-kmp.h.
29176         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
29177
29178 2008-01-10  Bruno Haible  <bruno@clisp.org>
29179
29180         * doc/gnulib.texi (String Functions in C Locale): New section.
29181         * doc/c-ctype.texi: New file.
29182         * doc/c-strcase.texi: New file.
29183         * doc/c-strcaseeq.texi: New file.
29184         * doc/c-strcasestr.texi: New file.
29185         * doc/c-strstr.texi: New file.
29186         * doc/c-strtod.texi: New file.
29187         * doc/c-strtold.texi: New file.
29188
29189 2008-01-10  Eric Blake  <ebb9@byu.net>
29190
29191         * lib/relocatable.h: Fix a comment.
29192
29193 2008-01-10  Eric Blake  <ebb9@byu.net>
29194
29195         Share two-way algorithm.
29196         * lib/str-two-way.h: New file, merged from...
29197         * lib/memmem.c: ...here...
29198         * lib/strstr.c: ...and here.
29199         * modules/memmem (Files): Use it.
29200         * modules/strstr (Files): Likewise.
29201
29202         Avoid quadratic strstr implementations.
29203         * lib/strstr.c: New file.
29204         * m4/strstr.m4: Likewise.
29205         * modules/strstr: Likewise.
29206         * modules/strstr-tests: Likewise.
29207         * tests/test-strstr.c: Likewise.
29208         * lib/string.in.h (rpl_strstr): Declare.
29209         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
29210         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
29211         * modules/string (Makefile.am): Likewise.
29212         * MODULES.html.sh (string handling): Mention new module.
29213         * doc/functions/strstr.texi (strstr): Document the bug.
29214
29215 2008-01-10  Bruno Haible  <bruno@clisp.org>
29216
29217         * lib/relocatable.h (relocate): State whether result is freshly
29218         allocated or not.
29219         * lib/relocatable.c (relocate): Return a freshly allocated string
29220         instead of a pointer to a privately held string.
29221         Reported by Sylvain Beucler <beuc@gnu.org>.
29222
29223 2008-01-10  Colin Watson  <cjwatson@debian.org>
29224
29225         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
29226         s/S_ISNLK/S_ISLNK/.
29227
29228 2008-01-09  Bruno Haible  <bruno@clisp.org>
29229
29230         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
29231         and other files.
29232         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
29233         if it's only a guess.
29234         * modules/memmem: Simplify by depending on memmem-simple.
29235
29236 2008-01-09  Bruno Haible  <bruno@clisp.org>
29237
29238         Work around OpenBSD 4.0 tdelete() bug.
29239         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
29240         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
29241         macros and don't redefine the enum values.
29242         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
29243         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
29244         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
29245
29246 2008-01-09  Bruno Haible  <bruno@clisp.org>
29247
29248         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
29249         (main): Don't perform the tests if setlocale did not install a UTF-8
29250         locale. Needed on OpenBSD 4.0.
29251         * modules/wcwidth-tests (Depends-on): Add localcharset.
29252
29253 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
29254
29255         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
29256         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
29257         * NEWS: announce this.
29258         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
29259
29260 2008-01-09  Simon Josefsson  <simon@josefsson.org>
29261         and Eric Blake  <ebb9@byu.net>
29262
29263         Add memmem-simple module.
29264         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
29265         (gl_FUNC_MEMMEM): Separate performance from presence checks.
29266         * modules/memmem-simple: New file.
29267         * modules/memmem (Description): Tweak.
29268         * MODULES.html.sh (string handling): Mention new module.
29269         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
29270         addressed by memmem-simple.
29271         * NEWS: Document the difference.
29272
29273 2008-01-09  Eric Blake  <ebb9@byu.net>
29274
29275         Give gcc some memmem optimization hints.
29276         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
29277         (strcasestr): Declare as pure.
29278         * modules/memmem (Maintainer): Claim my implementation.
29279
29280 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29281
29282         Support AIX 6.1 and higher.
29283         * build-aux/config.libpath: Likewise.
29284         * build-aux/config.rpath: Likewise.
29285
29286 2008-01-08  Jim Meyering  <meyering@redhat.com>
29287             Bruno Haible  <bruno@clisp.org>
29288
29289         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
29290         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
29291         Reported by Peter Fales in
29292         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
29293
29294 2008-01-08  Bruno Haible  <bruno@clisp.org>
29295
29296         * modules/unictype/category-of (Depends-on): Add
29297         unictype/category-none.
29298         * modules/unictype/category-and-tests (Depends-on): Add
29299         unictype/category-{L,N,Lu,Nd}.
29300         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
29301         * modules/unictype/category-or-tests (Depends-on): Add
29302         unictype/category-{L,N}.
29303         * modules/unictype/category-name-tests (Depends-on): Add
29304         unictype/category-{Z,Nl}.
29305         Reported by Simon Josefsson.
29306
29307 2008-01-08  Bruno Haible  <bruno@clisp.org>
29308
29309         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
29310         convention better.
29311         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
29312         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
29313         Reported by Peter Miller <millerp@canb.auug.org.au>.
29314
29315 2008-01-08  Eric Blake  <ebb9@byu.net>
29316
29317         Rewrite memmem to guarantee linear complexity without malloc.
29318         * lib/memmem.c (memmem): Use Two-Way rather than
29319         Knuth-Morris-Pratt, to allow O(1) space usage.
29320         (critical_factorization, two_way_short_needle)
29321         (two_way_long_needle): New functions.
29322         (knuth_morris_pratt): Delete.
29323         * modules/memmem (Depends-on): No longer need malloca or stdbool.
29324         Add stdint.
29325         * tests/test-memmem.c (main): Add tests for periodic needle and
29326         sublinear performance.
29327         * doc/functions/memmem.texi (memmem): Document other deficiencies
29328         in cygwin and older glibc.
29329
29330 2008-01-08  Bruno Haible  <bruno@clisp.org>
29331
29332         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
29333         augmentation.
29334
29335 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
29336
29337         Add a configure time option: --disable-acl.
29338         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
29339         AC_ARG_ENABLE(acl).
29340
29341 2008-01-06  Simon Josefsson  <simon@josefsson.org>
29342
29343         * tests/test-localename.c: Don't include obsolete "setenv.h".
29344
29345         * modules/localename-tests (Depends-on): Need unsetenv.
29346
29347 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29348
29349         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
29350
29351 2008-01-06  Colin Watson  <cjwatson@debian.org>
29352
29353         * users.txt: Add man-db.
29354
29355 2008-01-07  Bruno Haible  <bruno@clisp.org>
29356
29357         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
29358         previous section name.
29359
29360 2008-01-07  Bruno Haible  <bruno@clisp.org>
29361
29362         * lib/progname.c (set_program_name): Don't strip off a leading
29363         "lt-" prefix outside a .libs directory.
29364         Suggested by Paul Eggert.
29365
29366 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
29367             Bruno Haible  <bruno@clisp.org>
29368
29369         Improve memory cleanup in 'relocatable' module.
29370         * lib/relocatable.h (compute_curr_prefix): Change return type to
29371         'char *'.
29372         * lib/relocatable.c (compute_curr_prefix): Change return type to
29373         'char *'. Free curr_installdir after use.
29374         (relocate): Free curr_prefix_better after use.
29375         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
29376
29377 2008-01-01  Bruno Haible  <bruno@clisp.org>
29378
29379         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
29380         failure on older glibc systems.
29381         Reported by Peter Fales <psfales@alcatel-lucent.com>.
29382
29383 2008-01-05  Eric Blake  <ebb9@byu.net>
29384
29385         Avoid quadratic system memmem.
29386         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
29387         Reported by Ralf Wildenhues.
29388
29389         Fix memmem test for mingw.
29390         * modules/memmem-tests (configure.ac): Check for alarm.
29391         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
29392         it.
29393         * doc/functions/memmem.texi: New file.
29394         * doc/gnulib.texi (Function Substitutes): Add memmem.
29395         Reported by Bruno Haible.
29396
29397 2008-01-04  Bruno Haible  <bruno@clisp.org>
29398
29399         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
29400         Require gl_HEADER_STRINGS_H_DEFAULTS, not
29401         gl_HEADER_STRING_H_DEFAULTS.
29402
29403 2008-01-04  Eric Blake  <ebb9@byu.net>
29404
29405         Shorten duration of memmem test.
29406         * tests/test-memmem.c (main): Use alarm to declare failure if test
29407         is taking too long.
29408         Reported by Ralf Wildenhues.
29409
29410 2007-12-21  Simon Josefsson  <simon@josefsson.org>
29411
29412         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
29413         string, needed by strerror.
29414
29415 2008-01-03  Colin Watson  <cjwatson@debian.org>
29416             Bruno Haible  <bruno@clisp.org>
29417
29418         * doc/gnulib-tool.texi (Localization): New section.
29419
29420 2008-01-02  Bruno Haible  <bruno@clisp.org>
29421
29422         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
29423         variables to 'unsigned char *' type.
29424         Reported by Paul Eggert.
29425
29426 2008-01-02  Jim Meyering  <jim@meyering.net>
29427
29428         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
29429
29430 2007-12-31  Jim Meyering  <jim@meyering.net>
29431
29432         Avoid use of private FTS type name.
29433         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
29434
29435 2007-12-30  Karl Berry  <karl@gnu.org>
29436
29437         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
29438         work around defect in Texinfo and/or the standalone Info browser.
29439
29440 2007-12-30  Bruno Haible  <bruno@clisp.org>
29441
29442         Unify 5 copies of the KMP code.
29443         * lib/str-kmp.h: New file.
29444         * lib/c-strcasestr.c: Include str-kmp.h.
29445         (knuth_morris_pratt): Remove function.
29446         (c_strcasestr): Update.
29447         * lib/c-strstr.c: Include str-kmp.h.
29448         (knuth_morris_pratt): Remove function.
29449         (c_strcasestr): Update.
29450         * lib/mbscasestr.c: Include str-kmp.h.
29451         (knuth_morris_pratt_unibyte): Remove function.
29452         * lib/mbsstr.c: Include str-kmp.h.
29453         (knuth_morris_pratt_unibyte): Remove function.
29454         * lib/strcasestr.c: Include str-kmp.h.
29455         (knuth_morris_pratt): Remove function.
29456         (strcasestr): Update.
29457         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
29458         * modules/c-strstr (Files): Likewise.
29459         * modules/mbscasestr (Files): Likewise.
29460         * modules/mbsstr (Files): Likewise.
29461         * modules/strcasestr (Files): Likewise.
29462         Suggested by Paul Eggert.
29463
29464 2007-12-30  Bruno Haible  <bruno@clisp.org>
29465
29466         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
29467         defined.
29468
29469 2007-12-30  Bruno Haible  <bruno@clisp.org>
29470
29471         * lib/xmalloca.h: Include xalloc.h.
29472         (xnmalloca): New macro.
29473
29474 2007-12-30  Bruno Haible  <bruno@clisp.org>
29475
29476         * lib/malloca.h (nmalloca): New macro.
29477         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
29478         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
29479         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
29480         knuth_morris_pratt_multibyte): Likewise.
29481         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
29482         knuth_morris_pratt_multibyte): Likewise.
29483         * lib/memmem.c (knuth_morris_pratt): Likewise.
29484         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
29485
29486 2007-12-25  Bruno Haible  <bruno@clisp.org>
29487
29488         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
29489         * lib/glob.c: Don't include openat.h.
29490         (link_exists2_p): Add back the code that deals with the
29491         !GLOB_ALTDIRFUNC case.
29492         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
29493         let it do the filename concatenation.
29494         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
29495         * modules/glob (Depends-on): Remove openat.
29496
29497 2007-12-31  Bruno Haible  <bruno@clisp.org>
29498
29499         * modules/dirfd (License): Change to LGPLv2+.
29500         Approved by Jim Meyering.
29501
29502 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
29503
29504         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
29505         when multiplying M by sizeof (size_t).
29506
29507 2007-12-10  Martin Lambers  <marlam@marlam.de>
29508
29509         Override getpagesize on mingw.
29510         * lib/getpagesize.c: New file.
29511         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
29512         * modules/getpagesize (Files): Add lib/getpagesize.c.
29513         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
29514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29515         REPLACE_GETPAGESIZE.
29516         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
29517
29518 2007-12-25  Bruno Haible  <bruno@clisp.org>
29519
29520         * modules/localcharset (Notice): New field.
29521         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
29522         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
29523
29524 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
29525             Bruno Haible  <bruno@clisp.org>
29526
29527         Avoid using the syntax symbol() in formatted documentation.
29528         * MODULES.html.sh (func_module): When replacing symbol() with a
29529         hyperlink, remove the parentheses. Show an error if some remain.
29530         Recognize and render the '...' syntax.
29531         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
29532         Rework. Add paragraph about GCC's inlining.
29533         * doc/alloca.texi: Likewise.
29534         * doc/error.texi: Remove parentheses from symbol reference.
29535         * doc/gnulib-intro.texi: Likewise.
29536         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
29537         * modules/fnmatch (Description): Reword to say "the ... function".
29538         * modules/full-read (Description): Likewise.
29539         * modules/full-write (Description): Likewise.
29540         * modules/safe-read (Description): Likewise.
29541         * modules/safe-write (Description): Likewise.
29542         * modules/strchrnul (Description): Likewise.
29543         * modules/trim (Description): Likewise.
29544         * modules/error (Description): Remove parentheses from symbol
29545         references.
29546         * modules/verror (Description): Likewise.
29547         Reported by Karl Berry.
29548
29549 2007-12-25  Bruno Haible  <bruno@clisp.org>
29550
29551         Fixup after 2007-10-16 commit.
29552         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
29553
29554 2007-12-24  Bruno Haible  <bruno@clisp.org>
29555
29556         Make --enable-relocatable work with DESTDIR.
29557         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
29558         to compute installdir from destprog.
29559         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
29560         also set the RELOC_DESTDIR variable.
29561         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29562
29563 2007-12-24  Bruno Haible  <bruno@clisp.org>
29564
29565         Fix link error due to xalloc_die().
29566         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
29567         of xreadlink.
29568         * lib/relocwrapper.c: Update comments.
29569         * build-aux/install-reloc: Remove xreadlink.c from file list.
29570         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
29571         xreadlink.c.
29572         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29573
29574 2007-12-24  Bruno Haible  <bruno@clisp.org>
29575
29576         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
29577         * lib/setenv.h: Remove file.
29578         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
29579         lib/setenv.h.
29580         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
29581         (Depends-on): Add stdlib.
29582         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
29583         gl_FUNC_UNSETENV.
29584         (Include): Replace setenv.h with <stdlib.h>.
29585         * modules/unsetenv: New file.
29586         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
29587         * lib/unsetenv.c: Include <stdlib.h> first.
29588         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
29589         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
29590         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
29591         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
29592         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
29593         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
29594         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
29595         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
29596         * doc/functions/unsetenv.texi: Update.
29597         * modules/xsetenv (Depends-on): Add unsetenv.
29598         * modules/getdate (Depends-on): Likewise.
29599         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
29600         * lib/xsetenv.c: Don't include setenv.h.
29601         * lib/getdate.y: Likewise.
29602         * lib/relocwrapper.c: Likewise.
29603         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
29604         (Depends-on): Add stdlib.
29605         * NEWS: Mention the changes.
29606         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
29607
29608 2007-12-23  Bruno Haible  <bruno@clisp.org>
29609
29610         * lib/memmem.c (memmem): Use lowercase variable names. Tab
29611         indentation.
29612
29613 2007-12-23  Bruno Haible  <bruno@clisp.org>
29614
29615         * lib/c-strcasestr.c: Add more comments.
29616         * lib/c-strstr.c: Likewise.
29617         * lib/mbscasestr.c: Likewise.
29618         * lib/mbsstr.c: Likewise.
29619         * lib/strcasestr.c: Likewise.
29620         * lib/memmem.c: Likewise.
29621
29622 2007-12-23  Bruno Haible  <bruno@clisp.org>
29623
29624         * tests/test-memmem.c: Include <string.h> first.
29625
29626 2007-12-22  Bruno Haible  <bruno@clisp.org>
29627
29628         * gnulib-tool (func_create_testdir): Change $auxdir while generating
29629         the contents of $testsbase.
29630         Reported by Ralf Wildenhues.
29631
29632 2007-12-22  Bruno Haible  <bruno@clisp.org>
29633
29634         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
29635         two variables local_ldadd_before, local_ldadd_last.
29636
29637 2007-12-20  Eric Blake  <ebb9@byu.net>
29638
29639         Work around circular library issue when cross-compiling.
29640         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
29641         that progname.o does not need to pull in rpl_memcmp.
29642
29643 2007-12-19  Eric Blake  <ebb9@byu.net>
29644
29645         Fix memmem to avoid O(n^2) worst-case complexity.
29646         * lib/memmem.c (knuth_morris_pratt): New function.
29647         (memmem): Use it if first few naive iterations fail.
29648         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
29649         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
29650         * modules/memchr (License): Likewise.
29651         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
29652         malloca.
29653         * tests/test-memmem.c: Rewrite, borrowing ideas from
29654         test-mbsstr1.c; the old version wouldn't even compile!
29655         * modules/memmem-tests: New file.
29656         * lib/string.in.h (rpl_memmem): Add declaration.
29657         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
29658         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
29659         REPLACE_MEMMEM.
29660
29661 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
29662
29663         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
29664         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
29665         before any system include files, and undef after them all.  This
29666         should fix a problem on VMS reported by John E. Malmberg in
29667         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
29668
29669 2007-12-17  Eric Blake  <ebb9@byu.net>
29670
29671         Revert addition of verify, for BSD/OS.
29672         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
29673         can't handle large files, for the sake of obsolete platforms.
29674         * modules/fseeko (Depends-on): Remove verify.
29675         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
29676         * doc/functions/ftello.texi (ftello): Likewise.
29677         * doc/functions/fgetpos.texi (fgetpos): Likewise.
29678         Reported by Larry Jones.
29679
29680 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
29681
29682         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
29683         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
29684
29685 2007-12-17  Jim Meyering  <meyering@redhat.com>
29686
29687         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
29688         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
29689         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
29690         * modules/getcwd (Depends-on): Add openat.
29691         Reported by Petr Salinger.
29692
29693 2007-12-17  Bruno Haible  <bruno@clisp.org>
29694
29695         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
29696         avoid a segmentation fault of the configure test on x86_64 systems.
29697
29698 2007-12-15  Jim Meyering  <meyering@redhat.com>
29699
29700         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
29701
29702 2007-12-13  Eric Blake  <ebb9@byu.net>
29703
29704         Another fseek test.
29705         * tests/test-fseek.c (main): Also test ungetc handling.
29706         * tests/test-fseeko.c (main): Likewise.
29707         * modules/fseeko (Depends-on): Add verify.
29708         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
29709         large.
29710         Reported by Larry Jones.
29711
29712         Fix fseeko on mingw.
29713         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
29714         seek.
29715
29716         Beef up fseek tests.
29717         * tests/test-fseek.c (main): Also test eof handling.
29718         * tests/test-fseeko.c (main): Likewise.
29719         Reported by Larry Jones.
29720
29721 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
29722
29723         Fix fseeko on BSD-based platforms.
29724         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
29725         successful seek.
29726
29727 2007-12-12  Eric Blake  <ebb9@byu.net>
29728
29729         Allow circular dependency of separate libtests.a
29730         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
29731         when use_libtests.
29732
29733 2007-12-11  Eric Blake  <ebb9@byu.net>
29734
29735         Fix bug with -0.0L in previous patch.
29736         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
29737         * tests/test-isnan.c (main): Also test on zeroes.
29738         * tests/test-isnanf.c (main): Likewise.
29739         * tests/test-isnanl.h (main): Likewise.
29740
29741         Detect pseudo-denormals on x86 even when cross-compiling.
29742         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
29743         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
29744         invalid bit patterns that happen to satisfy ==.
29745
29746         Avoid link failures with separate libtests.a.
29747         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
29748         last, to satisfy circular dependencies.
29749
29750 2007-12-11  Eric Blake  <ebb9@byu.net>
29751         and Bruno Haible  <bruno@clisp.org>
29752
29753         Fix OpenBSD 4.0 <float.h> handling of long double.
29754         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
29755         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
29756         * doc/headers/float.texi (float.h): Document OpenBSD bug.
29757
29758 2007-12-11  Jim Meyering  <meyering@redhat.com>
29759
29760         * users.txt: Add libvirt.
29761
29762         Support versions of autoconf prior to 2.59c.
29763         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
29764         if it is not already defined.
29765
29766 2007-12-09  Bruno Haible  <bruno@clisp.org>
29767
29768         Let 'gnulib-tool --import' collect sources needed for the tests in
29769         tests/ rather than in lib/.
29770         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
29771         argument. If true, add rules to generate libtests.a, and put libtests.a
29772         into $(LDADD). Consider source files in subdirectories and set
29773         uses_subdirs.
29774         (func_emit_initmacro_start, func_emit_initmacro_end,
29775         func_emit_initmacro_done): Pass all arguments explicitly.
29776         (func_import): Determine two module lists main_modules,
29777         testsrelated_modules. Determine use_libtests. Determine two variables
29778         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
29779         instead of just sed_transform_lib_file. Determine two variables
29780         main_files and testsrelated_files. Compute 'files' as the union of
29781         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
29782         func_add_or_update. In the generated gnulib-comp.m4, collect the
29783         object files for tests/ in different variables than those for lib/.
29784         Substitute LIBTESTS_LIBDEPS.
29785         (func_create_testdir): Combine the uses_subdirs results from
29786         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
29787
29788 2007-12-09  Bruno Haible  <bruno@clisp.org>
29789
29790         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
29791         the build-aux directory.
29792
29793 2007-12-09  Bruno Haible  <bruno@clisp.org>
29794
29795         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
29796         introduced on 2006-09-09.
29797
29798 2007-12-07  Jim Meyering  <meyering@redhat.com>
29799
29800         Let these macros work also with autoconf-2.59.
29801         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
29802         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
29803         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29804
29805 2007-12-06  Jim Meyering  <meyering@redhat.com>
29806
29807         Avoid a configure-time syntax error in gl_FUNC_ACL.
29808         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
29809         function in each branch, before testing the cache variable.
29810
29811 2007-12-04  Eric Blake  <ebb9@byu.net>
29812
29813         Make scripts executable.
29814         * build-aux/config.guess: Add execute permissions.
29815         * build-aux/config.sub: Likewise.
29816         * build-aux/gendocs.sh: Likewise.
29817
29818         Fix frexp on mingw.
29819         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
29820         cross-compiling.
29821         * doc/functions/frexp.texi (frexp): Document the bug.
29822
29823         Make cygwin fseeko check more reliable.
29824         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
29825         version numbers, rather than unrelated feature check.
29826         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
29827         * doc/functions/ftello.texi (ftello): Likewise.
29828         Reported by Bruno Haible.
29829
29830         * m4/strerror.m4: Bump version number.
29831
29832 2007-12-03  Bruno Haible  <bruno@clisp.org>
29833
29834         * doc/functions/mprotect.texi: Mention the mingw problem.
29835
29836 2007-12-03  Eric Blake  <ebb9@byu.net>
29837
29838         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
29839         REPLACE_STRERROR is initialized before this macro.
29840
29841 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
29842
29843         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
29844         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
29845         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
29846         put -lsec in even for programs other than 'ls'.  This fixes a problem
29847         for gettext reported by Bruno Haible in
29848         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
29849         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
29850         Add support for Solaris 10.  This isn't efficient, but should get the
29851         job done for now.
29852
29853 2007-12-03  James Youngman  <jay@gnu.org>
29854
29855         * doc/regexprops-generic.texi: change "an close-group" to "a
29856         close-group" and "illegal" to "not allowed".
29857
29858 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29859
29860         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
29861         pr_byname.h. Needed for the rare case when the maintainer has done
29862         "make maintainer-clean" in the source directory and then attempts a
29863         build outside the source directory.
29864         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
29865         scripts_byname.h.
29866
29867 2007-12-02  Martin Lambers <marlam@marlam.de>
29868             Bruno Haible  <bruno@clisp.org>
29869
29870         * lib/getpagesize.h: Remove file.
29871         * lib/unistd.in.h: Include declaration of getpagesize here.
29872         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
29873         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
29874         HAVE_SYS_PARAM_H.
29875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
29876         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29877         * modules/getpagesize (Files): Remove lib/getpagesize.h.
29878         (Depends-on): Add unistd.
29879         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29880         (Include): Use <unistd.h> instead of getpagesize.h.
29881         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
29882         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29883         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
29884         gl_GETPAGESIZE invocation, already handled by module dependency.
29885         * lib/pagealign_alloc.c: Don't include getpagesize.h.
29886
29887 2007-12-02  Bruno Haible  <bruno@clisp.org>
29888
29889         * modules/strings-tests: New file.
29890         * tests/test-strings.c: New file.
29891
29892         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
29893         * lib/strings.in.h: New file.
29894         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
29895         * m4/strings_h.m4: New file.
29896         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
29897         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
29898         * modules/strings: New file.
29899         * modules/string (Makefile.am): Update.
29900         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
29901         Reported by Karl Berry.
29902
29903 2007-12-01  Eric Blake  <ebb9@byu.net>
29904
29905         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
29906         accomodate fix in cygwin 1.5.25.
29907
29908 2007-12-01  Jim Meyering  <meyering@redhat.com>
29909
29910         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
29911         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
29912         that would inhibit utf8-optimization of a regexp containing line-
29913         or buffer-anchors, e.g., `^', `$'.
29914
29915 2007-11-30  Bruno Haible  <bruno@clisp.org>
29916
29917         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
29918         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
29919         glthread_recursive_lock_init.
29920         * lib/lock.c (glthread_recursive_lock_init)
29921         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
29922         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29923
29924 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29925
29926         New function qset_acl, like set_acl but with syscall semantics.
29927         * lib/acl.h (qset_acl): New decl.
29928         * lib/acl.c (qset_acl): New function.
29929         (set_acl): Use new function.  Use more-consistent diagnostics.
29930
29931 2007-11-28  Jim Meyering  <meyering@redhat.com>
29932
29933         * modules/physmem (License): Change from GPL to LGPLv2+.
29934
29935 2007-11-26  Bruno Haible  <bruno@clisp.org>
29936
29937         * lib/vasnprintf.c (decode_long_double): Don't abort if the
29938         'long double' type has excess precision.
29939         Reported by Jim Meyering in
29940         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
29941
29942 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29943
29944         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
29945         Sync from <http://gnu.org/licenses>.
29946         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
29947         with license text from same location.
29948         * doc/maintain.texi, doc/standards.texi:  Sync from
29949         <http://savannah.gnu.org/projects/gnustandards>.
29950
29951 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
29952         and Jim Meyering  <meyering@redhat.com>
29953
29954         Adjust getdate' grammar to accept a slightly more regular language.
29955         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
29956         Before, the former was rejected.
29957         * lib/getdate.y (digits_to_date_time): New function, factored
29958         out of ...
29959         (number): ...here.  Just call digits_to_date_time.
29960         (hybrid): New non-terminal to handle an <unsigned number,
29961         signed relative offset> sequence consistently.
29962
29963 2007-11-18  Jim Meyering  <meyering@redhat.com>
29964
29965         Pull my changes from coreutils:
29966         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
29967         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
29968         use of $gnulib_tool_option_extras, so that it's separated from the
29969         preceding argument.
29970
29971         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
29972         * build-aux/bootstrap (cp_mark_as_generated): Create any required
29973         parent destination directories before copying a file into place.
29974
29975 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
29976
29977         bootstrap: work also with 4-argument variant of AC_INIT
29978         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
29979
29980 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29981
29982         Port test-getaddrinfo to Solaris.
29983         Problem reported by Bruno Haible in
29984         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
29985         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
29986         explanation of setting 'hints'.
29987         Don't reject an implementation merely because it returns EAI_SERVICE.
29988         (EAI_SERVICE): Define to 0 if not defined.
29989
29990 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
29991
29992         The license of gnu-make and posix-shell is now "GPLed build tool".
29993         * modules/gnu-make (License): Likewise.
29994         * modules/posix-shell (License): Likewise.
29995
29996         New module posix-shell, for determining a POSIX shell
29997         or perhaps something that is close enough to a POSIX shell.
29998         * m4/posix-shell.m4: New file.
29999         * modules/posix-shell: New file.
30000
30001         * MODULES.html.sh: Mention new module.
30002
30003         New module gnu-make, for determining whether we're using GNU Make.
30004         * m4/gnu-make.m4: New file.
30005         * modules/gnu-make: New file.
30006         * MODULES.html.sh: Mention new module.
30007
30008 2007-11-14  Jim Meyering  <meyering@redhat.com>
30009
30010         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
30011         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
30012         use this macro to create a function _definition_.
30013         Remove useless "#undef ARGMATCH_DIE".
30014
30015 2007-11-14  Bruno Haible  <bruno@clisp.org>
30016
30017         * lib/config.charset: Update for OpenBSD 4.1.
30018         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
30019
30020 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
30021
30022         Document 64-bit #if problems in stdint.texi.
30023         * doc/headers/stdint.texi (stdint.h): Mention problems with
30024         64-bit-#if, and how to work around them.
30025
30026         Don't insist on 'long long int' support in the preprocessor.  It
30027         breaks too many things.  For example, PRIdMAX still uses a 'long
30028         long int' format with the latest Sun compiler, even though
30029         HAVE_LONG_LONG_INT isn't defined due to that compiler's
30030         preprocessor problem.  This causes the latest coreutils to dump
30031         core on Solaris 10 sparc with the Sun C compiler.
30032         Instead, fix the 2007-10-16 problem in a different way, by evaluating
30033         the troublesome expressions at configure-time, not at #if-time.
30034         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
30035         preprocessor.
30036         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
30037         compile-time C checks, done at 'configure'-time.
30038         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
30039         * modules/inttypes (Makefile): Substitute the new symbols that
30040         gl_INTTYPES_H now generates.
30041         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
30042
30043 2007-11-12  Bruno Haible  <bruno@clisp.org>
30044
30045         Tests for Unicode character classification functions.
30046
30047         * modules/unictype/bidicategory-byname-tests: New file.
30048         * modules/unictype/bidicategory-name-tests: New file.
30049         * modules/unictype/bidicategory-of-tests: New file.
30050         * modules/unictype/bidicategory-test-tests: New file.
30051         * modules/unictype/block-list-tests: New file.
30052         * modules/unictype/block-of-tests: New file.
30053         * modules/unictype/block-test-tests: New file.
30054         * modules/unictype/category-C-tests: New file.
30055         * modules/unictype/category-Cc-tests: New file.
30056         * modules/unictype/category-Cf-tests: New file.
30057         * modules/unictype/category-Cn-tests: New file.
30058         * modules/unictype/category-Co-tests: New file.
30059         * modules/unictype/category-Cs-tests: New file.
30060         * modules/unictype/category-L-tests: New file.
30061         * modules/unictype/category-Ll-tests: New file.
30062         * modules/unictype/category-Lm-tests: New file.
30063         * modules/unictype/category-Lo-tests: New file.
30064         * modules/unictype/category-Lt-tests: New file.
30065         * modules/unictype/category-Lu-tests: New file.
30066         * modules/unictype/category-M-tests: New file.
30067         * modules/unictype/category-Mc-tests: New file.
30068         * modules/unictype/category-Me-tests: New file.
30069         * modules/unictype/category-Mn-tests: New file.
30070         * modules/unictype/category-N-tests: New file.
30071         * modules/unictype/category-Nd-tests: New file.
30072         * modules/unictype/category-Nl-tests: New file.
30073         * modules/unictype/category-No-tests: New file.
30074         * modules/unictype/category-P-tests: New file.
30075         * modules/unictype/category-Pc-tests: New file.
30076         * modules/unictype/category-Pd-tests: New file.
30077         * modules/unictype/category-Pe-tests: New file.
30078         * modules/unictype/category-Pf-tests: New file.
30079         * modules/unictype/category-Pi-tests: New file.
30080         * modules/unictype/category-Po-tests: New file.
30081         * modules/unictype/category-Ps-tests: New file.
30082         * modules/unictype/category-S-tests: New file.
30083         * modules/unictype/category-Sc-tests: New file.
30084         * modules/unictype/category-Sk-tests: New file.
30085         * modules/unictype/category-Sm-tests: New file.
30086         * modules/unictype/category-So-tests: New file.
30087         * modules/unictype/category-Z-tests: New file.
30088         * modules/unictype/category-Zl-tests: New file.
30089         * modules/unictype/category-Zp-tests: New file.
30090         * modules/unictype/category-Zs-tests: New file.
30091         * modules/unictype/category-and-not-tests: New file.
30092         * modules/unictype/category-and-tests: New file.
30093         * modules/unictype/category-byname-tests: New file.
30094         * modules/unictype/category-name-tests: New file.
30095         * modules/unictype/category-none-tests: New file.
30096         * modules/unictype/category-of-tests: New file.
30097         * modules/unictype/category-or-tests: New file.
30098         * modules/unictype/category-test-withtable-tests: New file.
30099         * modules/unictype/combining-class-tests: New file.
30100         * modules/unictype/ctype-alnum-tests: New file.
30101         * modules/unictype/ctype-alpha-tests: New file.
30102         * modules/unictype/ctype-blank-tests: New file.
30103         * modules/unictype/ctype-cntrl-tests: New file.
30104         * modules/unictype/ctype-digit-tests: New file.
30105         * modules/unictype/ctype-graph-tests: New file.
30106         * modules/unictype/ctype-lower-tests: New file.
30107         * modules/unictype/ctype-print-tests: New file.
30108         * modules/unictype/ctype-punct-tests: New file.
30109         * modules/unictype/ctype-space-tests: New file.
30110         * modules/unictype/ctype-upper-tests: New file.
30111         * modules/unictype/ctype-xdigit-tests: New file.
30112         * modules/unictype/decimal-digit-tests: New file.
30113         * modules/unictype/digit-tests: New file.
30114         * modules/unictype/mirror-tests: New file.
30115         * modules/unictype/numeric-tests: New file.
30116         * modules/unictype/property-alphabetic-tests: New file.
30117         * modules/unictype/property-ascii-hex-digit-tests: New file.
30118         * modules/unictype/property-bidi-arabic-digit-tests: New file.
30119         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
30120         * modules/unictype/property-bidi-block-separator-tests: New file.
30121         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
30122         * modules/unictype/property-bidi-common-separator-tests: New file.
30123         * modules/unictype/property-bidi-control-tests: New file.
30124         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
30125         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
30126         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
30127         * modules/unictype/property-bidi-european-digit-tests: New file.
30128         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
30129         * modules/unictype/property-bidi-left-to-right-tests: New file.
30130         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
30131         * modules/unictype/property-bidi-other-neutral-tests: New file.
30132         * modules/unictype/property-bidi-pdf-tests: New file.
30133         * modules/unictype/property-bidi-segment-separator-tests: New file.
30134         * modules/unictype/property-bidi-whitespace-tests: New file.
30135         * modules/unictype/property-byname-tests: New file.
30136         * modules/unictype/property-combining-tests: New file.
30137         * modules/unictype/property-composite-tests: New file.
30138         * modules/unictype/property-currency-symbol-tests: New file.
30139         * modules/unictype/property-dash-tests: New file.
30140         * modules/unictype/property-decimal-digit-tests: New file.
30141         * modules/unictype/property-default-ignorable-code-point-tests: New file.
30142         * modules/unictype/property-deprecated-tests: New file.
30143         * modules/unictype/property-diacritic-tests: New file.
30144         * modules/unictype/property-extender-tests: New file.
30145         * modules/unictype/property-format-control-tests: New file.
30146         * modules/unictype/property-grapheme-base-tests: New file.
30147         * modules/unictype/property-grapheme-extend-tests: New file.
30148         * modules/unictype/property-grapheme-link-tests: New file.
30149         * modules/unictype/property-hex-digit-tests: New file.
30150         * modules/unictype/property-hyphen-tests: New file.
30151         * modules/unictype/property-id-continue-tests: New file.
30152         * modules/unictype/property-id-start-tests: New file.
30153         * modules/unictype/property-ideographic-tests: New file.
30154         * modules/unictype/property-ids-binary-operator-tests: New file.
30155         * modules/unictype/property-ids-trinary-operator-tests: New file.
30156         * modules/unictype/property-ignorable-control-tests: New file.
30157         * modules/unictype/property-iso-control-tests: New file.
30158         * modules/unictype/property-join-control-tests: New file.
30159         * modules/unictype/property-left-of-pair-tests: New file.
30160         * modules/unictype/property-line-separator-tests: New file.
30161         * modules/unictype/property-logical-order-exception-tests: New file.
30162         * modules/unictype/property-lowercase-tests: New file.
30163         * modules/unictype/property-math-tests: New file.
30164         * modules/unictype/property-non-break-tests: New file.
30165         * modules/unictype/property-not-a-character-tests: New file.
30166         * modules/unictype/property-numeric-tests: New file.
30167         * modules/unictype/property-other-alphabetic-tests: New file.
30168         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
30169         * modules/unictype/property-other-grapheme-extend-tests: New file.
30170         * modules/unictype/property-other-id-continue-tests: New file.
30171         * modules/unictype/property-other-id-start-tests: New file.
30172         * modules/unictype/property-other-lowercase-tests: New file.
30173         * modules/unictype/property-other-math-tests: New file.
30174         * modules/unictype/property-other-uppercase-tests: New file.
30175         * modules/unictype/property-paired-punctuation-tests: New file.
30176         * modules/unictype/property-paragraph-separator-tests: New file.
30177         * modules/unictype/property-pattern-syntax-tests: New file.
30178         * modules/unictype/property-pattern-white-space-tests: New file.
30179         * modules/unictype/property-private-use-tests: New file.
30180         * modules/unictype/property-punctuation-tests: New file.
30181         * modules/unictype/property-quotation-mark-tests: New file.
30182         * modules/unictype/property-radical-tests: New file.
30183         * modules/unictype/property-sentence-terminal-tests: New file.
30184         * modules/unictype/property-soft-dotted-tests: New file.
30185         * modules/unictype/property-space-tests: New file.
30186         * modules/unictype/property-terminal-punctuation-tests: New file.
30187         * modules/unictype/property-test-tests: New file.
30188         * modules/unictype/property-titlecase-tests: New file.
30189         * modules/unictype/property-unassigned-code-value-tests: New file.
30190         * modules/unictype/property-unified-ideograph-tests: New file.
30191         * modules/unictype/property-uppercase-tests: New file.
30192         * modules/unictype/property-variation-selector-tests: New file.
30193         * modules/unictype/property-white-space-tests: New file.
30194         * modules/unictype/property-xid-continue-tests: New file.
30195         * modules/unictype/property-xid-start-tests: New file.
30196         * modules/unictype/property-zero-width-tests: New file.
30197         * modules/unictype/scripts-tests: New file.
30198         * modules/unictype/syntax-c-ident-tests: New file.
30199         * modules/unictype/syntax-c-whitespace-tests: New file.
30200         * modules/unictype/syntax-java-ident-tests: New file.
30201         * modules/unictype/syntax-java-whitespace-tests: New file.
30202         * tests/unictype/test-bidi_byname.c: New file.
30203         * tests/unictype/test-bidi_name.c: New file.
30204         * tests/unictype/test-bidi_of.c: New file.
30205         * tests/unictype/test-bidi_test.c: New file.
30206         * tests/unictype/test-block_list.c: New file.
30207         * tests/unictype/test-block_of.c: New file.
30208         * tests/unictype/test-block_test.c: New file.
30209         * tests/unictype/test-categ_and.c: New file.
30210         * tests/unictype/test-categ_and_not.c: New file.
30211         * tests/unictype/test-categ_byname.c: New file.
30212         * tests/unictype/test-categ_name.c: New file.
30213         * tests/unictype/test-categ_none.c: New file.
30214         * tests/unictype/test-categ_of.c: New file.
30215         * tests/unictype/test-categ_or.c: New file.
30216         * tests/unictype/test-categ_test_withtable.c: New file.
30217         * tests/unictype/test-combining.c: New file.
30218         * tests/unictype/test-decdigit.c: New file.
30219         * tests/unictype/test-digit.c: New file.
30220         * tests/unictype/test-mirror.c: New file.
30221         * tests/unictype/test-numeric.c: New file.
30222         * tests/unictype/test-pr_byname.c: New file.
30223         * tests/unictype/test-pr_test.c: New file.
30224         * tests/unictype/test-predicate-part1.h: New file.
30225         * tests/unictype/test-predicate-part2.h: New file.
30226         * tests/unictype/test-scripts.c: New file.
30227         * tests/unictype/test-sy_c_ident.c: New file.
30228         * tests/unictype/test-sy_java_ident.c: New file.
30229
30230         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
30231         for Unicode 5.0.0.
30232         * tests/unictype/test-categ_Cc.c: Likewise.
30233         * tests/unictype/test-categ_Cf.c: Likewise.
30234         * tests/unictype/test-categ_Cn.c: Likewise.
30235         * tests/unictype/test-categ_Co.c: Likewise.
30236         * tests/unictype/test-categ_Cs.c: Likewise.
30237         * tests/unictype/test-categ_L.c: Likewise.
30238         * tests/unictype/test-categ_Ll.c: Likewise.
30239         * tests/unictype/test-categ_Lm.c: Likewise.
30240         * tests/unictype/test-categ_Lo.c: Likewise.
30241         * tests/unictype/test-categ_Lt.c: Likewise.
30242         * tests/unictype/test-categ_Lu.c: Likewise.
30243         * tests/unictype/test-categ_M.c: Likewise.
30244         * tests/unictype/test-categ_Mc.c: Likewise.
30245         * tests/unictype/test-categ_Me.c: Likewise.
30246         * tests/unictype/test-categ_Mn.c: Likewise.
30247         * tests/unictype/test-categ_N.c: Likewise.
30248         * tests/unictype/test-categ_Nd.c: Likewise.
30249         * tests/unictype/test-categ_Nl.c: Likewise.
30250         * tests/unictype/test-categ_No.c: Likewise.
30251         * tests/unictype/test-categ_P.c: Likewise.
30252         * tests/unictype/test-categ_Pc.c: Likewise.
30253         * tests/unictype/test-categ_Pd.c: Likewise.
30254         * tests/unictype/test-categ_Pe.c: Likewise.
30255         * tests/unictype/test-categ_Pf.c: Likewise.
30256         * tests/unictype/test-categ_Pi.c: Likewise.
30257         * tests/unictype/test-categ_Po.c: Likewise.
30258         * tests/unictype/test-categ_Ps.c: Likewise.
30259         * tests/unictype/test-categ_S.c: Likewise.
30260         * tests/unictype/test-categ_Sc.c: Likewise.
30261         * tests/unictype/test-categ_Sk.c: Likewise.
30262         * tests/unictype/test-categ_Sm.c: Likewise.
30263         * tests/unictype/test-categ_So.c: Likewise.
30264         * tests/unictype/test-categ_Z.c: Likewise.
30265         * tests/unictype/test-categ_Zl.c: Likewise.
30266         * tests/unictype/test-categ_Zp.c: Likewise.
30267         * tests/unictype/test-categ_Zs.c: Likewise.
30268         * tests/unictype/test-ctype_alnum.c: Likewise.
30269         * tests/unictype/test-ctype_alpha.c: Likewise.
30270         * tests/unictype/test-ctype_blank.c: Likewise.
30271         * tests/unictype/test-ctype_cntrl.c: Likewise.
30272         * tests/unictype/test-ctype_digit.c: Likewise.
30273         * tests/unictype/test-ctype_graph.c: Likewise.
30274         * tests/unictype/test-ctype_lower.c: Likewise.
30275         * tests/unictype/test-ctype_print.c: Likewise.
30276         * tests/unictype/test-ctype_punct.c: Likewise.
30277         * tests/unictype/test-ctype_space.c: Likewise.
30278         * tests/unictype/test-ctype_upper.c: Likewise.
30279         * tests/unictype/test-ctype_xdigit.c: Likewise.
30280         * tests/unictype/test-decdigit.h: Likewise.
30281         * tests/unictype/test-digit.h: Likewise.
30282         * tests/unictype/test-numeric.h: Likewise.
30283         * tests/unictype/test-pr_alphabetic.c: Likewise.
30284         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
30285         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
30286         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
30287         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
30288         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
30289         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
30290         * tests/unictype/test-pr_bidi_control.c: Likewise.
30291         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
30292         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
30293         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
30294         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
30295         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
30296         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
30297         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
30298         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
30299         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
30300         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
30301         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
30302         * tests/unictype/test-pr_combining.c: Likewise.
30303         * tests/unictype/test-pr_composite.c: Likewise.
30304         * tests/unictype/test-pr_currency_symbol.c: Likewise.
30305         * tests/unictype/test-pr_dash.c: Likewise.
30306         * tests/unictype/test-pr_decimal_digit.c: Likewise.
30307         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
30308         * tests/unictype/test-pr_deprecated.c: Likewise.
30309         * tests/unictype/test-pr_diacritic.c: Likewise.
30310         * tests/unictype/test-pr_extender.c: Likewise.
30311         * tests/unictype/test-pr_format_control.c: Likewise.
30312         * tests/unictype/test-pr_grapheme_base.c: Likewise.
30313         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
30314         * tests/unictype/test-pr_grapheme_link.c: Likewise.
30315         * tests/unictype/test-pr_hex_digit.c: Likewise.
30316         * tests/unictype/test-pr_hyphen.c: Likewise.
30317         * tests/unictype/test-pr_id_continue.c: Likewise.
30318         * tests/unictype/test-pr_id_start.c: Likewise.
30319         * tests/unictype/test-pr_ideographic.c: Likewise.
30320         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
30321         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
30322         * tests/unictype/test-pr_ignorable_control.c: Likewise.
30323         * tests/unictype/test-pr_iso_control.c: Likewise.
30324         * tests/unictype/test-pr_join_control.c: Likewise.
30325         * tests/unictype/test-pr_left_of_pair.c: Likewise.
30326         * tests/unictype/test-pr_line_separator.c: Likewise.
30327         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
30328         * tests/unictype/test-pr_lowercase.c: Likewise.
30329         * tests/unictype/test-pr_math.c: Likewise.
30330         * tests/unictype/test-pr_non_break.c: Likewise.
30331         * tests/unictype/test-pr_not_a_character.c: Likewise.
30332         * tests/unictype/test-pr_numeric.c: Likewise.
30333         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
30334         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
30335         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
30336         * tests/unictype/test-pr_other_id_continue.c: Likewise.
30337         * tests/unictype/test-pr_other_id_start.c: Likewise.
30338         * tests/unictype/test-pr_other_lowercase.c: Likewise.
30339         * tests/unictype/test-pr_other_math.c: Likewise.
30340         * tests/unictype/test-pr_other_uppercase.c: Likewise.
30341         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
30342         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
30343         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
30344         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
30345         * tests/unictype/test-pr_private_use.c: Likewise.
30346         * tests/unictype/test-pr_punctuation.c: Likewise.
30347         * tests/unictype/test-pr_quotation_mark.c: Likewise.
30348         * tests/unictype/test-pr_radical.c: Likewise.
30349         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
30350         * tests/unictype/test-pr_soft_dotted.c: Likewise.
30351         * tests/unictype/test-pr_space.c: Likewise.
30352         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
30353         * tests/unictype/test-pr_titlecase.c: Likewise.
30354         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
30355         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
30356         * tests/unictype/test-pr_uppercase.c: Likewise.
30357         * tests/unictype/test-pr_variation_selector.c: Likewise.
30358         * tests/unictype/test-pr_white_space.c: Likewise.
30359         * tests/unictype/test-pr_xid_continue.c: Likewise.
30360         * tests/unictype/test-pr_xid_start.c: Likewise.
30361         * tests/unictype/test-pr_zero_width.c: Likewise.
30362         * tests/unictype/test-sy_c_whitespace.c: Likewise.
30363         * tests/unictype/test-sy_java_whitespace.c: Likewise.
30364
30365 2007-11-12  Bruno Haible  <bruno@clisp.org>
30366
30367         Unicode character classification functions.
30368         * lib/unictype.h: New file.
30369         * modules/unictype/base: New file.
30370         * modules/unictype/category-L: New file.
30371         * modules/unictype/category-Lu: New file.
30372         * modules/unictype/category-Ll: New file.
30373         * modules/unictype/category-Lt: New file.
30374         * modules/unictype/category-Lm: New file.
30375         * modules/unictype/category-Lo: New file.
30376         * modules/unictype/category-M: New file.
30377         * modules/unictype/category-Mn: New file.
30378         * modules/unictype/category-Mc: New file.
30379         * modules/unictype/category-Me: New file.
30380         * modules/unictype/category-N: New file.
30381         * modules/unictype/category-Nd: New file.
30382         * modules/unictype/category-Nl: New file.
30383         * modules/unictype/category-No: New file.
30384         * modules/unictype/category-P: New file.
30385         * modules/unictype/category-Pc: New file.
30386         * modules/unictype/category-Pd: New file.
30387         * modules/unictype/category-Ps: New file.
30388         * modules/unictype/category-Pe: New file.
30389         * modules/unictype/category-Pi: New file.
30390         * modules/unictype/category-Pf: New file.
30391         * modules/unictype/category-Po: New file.
30392         * modules/unictype/category-S: New file.
30393         * modules/unictype/category-Sm: New file.
30394         * modules/unictype/category-Sc: New file.
30395         * modules/unictype/category-Sk: New file.
30396         * modules/unictype/category-So: New file.
30397         * modules/unictype/category-Z: New file.
30398         * modules/unictype/category-Zs: New file.
30399         * modules/unictype/category-Zl: New file.
30400         * modules/unictype/category-Zp: New file.
30401         * modules/unictype/category-C: New file.
30402         * modules/unictype/category-Cc: New file.
30403         * modules/unictype/category-Cf: New file.
30404         * modules/unictype/category-Cs: New file.
30405         * modules/unictype/category-Co: New file.
30406         * modules/unictype/category-Cn: New file.
30407         * modules/unictype/category-or: New file.
30408         * modules/unictype/category-of: New file.
30409         * modules/unictype/category-test: New file.
30410         * modules/unictype/category-test-withtable: New file.
30411         * modules/unictype/category-byname: New file.
30412         * modules/unictype/category-none: New file.
30413         * modules/unictype/category-and: New file.
30414         * modules/unictype/category-and-not: New file.
30415         * modules/unictype/category-name: New file.
30416         * modules/unictype/combining-class: New file.
30417         * modules/unictype/category-all: New file.
30418         * modules/unictype/bidicategory-all: New file.
30419         * modules/unictype/bidicategory-byname: New file.
30420         * modules/unictype/bidicategory-name: New file.
30421         * modules/unictype/bidicategory-of: New file.
30422         * modules/unictype/bidicategory-test: New file.
30423         * modules/unictype/decimal-digit: New file.
30424         * modules/unictype/digit: New file.
30425         * modules/unictype/numeric: New file.
30426         * modules/unictype/mirror: New file.
30427         * modules/unictype/property-white-space: New file.
30428         * modules/unictype/property-alphabetic: New file.
30429         * modules/unictype/property-other-alphabetic: New file.
30430         * modules/unictype/property-not-a-character: New file.
30431         * modules/unictype/property-default-ignorable-code-point: New file.
30432         * modules/unictype/property-other-default-ignorable-code-point: New
30433         file.
30434         * modules/unictype/property-deprecated: New file.
30435         * modules/unictype/property-logical-order-exception: New file.
30436         * modules/unictype/property-variation-selector: New file.
30437         * modules/unictype/property-private-use: New file.
30438         * modules/unictype/property-unassigned-code-value: New file.
30439         * modules/unictype/property-uppercase: New file.
30440         * modules/unictype/property-other-uppercase: New file.
30441         * modules/unictype/property-lowercase: New file.
30442         * modules/unictype/property-other-lowercase: New file.
30443         * modules/unictype/property-titlecase: New file.
30444         * modules/unictype/property-soft-dotted: New file.
30445         * modules/unictype/property-id-start: New file.
30446         * modules/unictype/property-other-id-start: New file.
30447         * modules/unictype/property-id-continue: New file.
30448         * modules/unictype/property-other-id-continue: New file.
30449         * modules/unictype/property-xid-start: New file.
30450         * modules/unictype/property-xid-continue: New file.
30451         * modules/unictype/property-pattern-white-space: New file.
30452         * modules/unictype/property-pattern-syntax: New file.
30453         * modules/unictype/property-join-control: New file.
30454         * modules/unictype/property-grapheme-base: New file.
30455         * modules/unictype/property-grapheme-extend: New file.
30456         * modules/unictype/property-other-grapheme-extend: New file.
30457         * modules/unictype/property-grapheme-link: New file.
30458         * modules/unictype/property-bidi-control: New file.
30459         * modules/unictype/property-bidi-left-to-right: New file.
30460         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
30461         * modules/unictype/property-bidi-arabic-right-to-left: New file.
30462         * modules/unictype/property-bidi-european-digit: New file.
30463         * modules/unictype/property-bidi-eur-num-separator: New file.
30464         * modules/unictype/property-bidi-eur-num-terminator: New file.
30465         * modules/unictype/property-bidi-arabic-digit: New file.
30466         * modules/unictype/property-bidi-common-separator: New file.
30467         * modules/unictype/property-bidi-block-separator: New file.
30468         * modules/unictype/property-bidi-segment-separator: New file.
30469         * modules/unictype/property-bidi-whitespace: New file.
30470         * modules/unictype/property-bidi-non-spacing-mark: New file.
30471         * modules/unictype/property-bidi-boundary-neutral: New file.
30472         * modules/unictype/property-bidi-pdf: New file.
30473         * modules/unictype/property-bidi-embedding-or-override: New file.
30474         * modules/unictype/property-bidi-other-neutral: New file.
30475         * modules/unictype/property-hex-digit: New file.
30476         * modules/unictype/property-ascii-hex-digit: New file.
30477         * modules/unictype/property-ideographic: New file.
30478         * modules/unictype/property-unified-ideograph: New file.
30479         * modules/unictype/property-radical: New file.
30480         * modules/unictype/property-ids-binary-operator: New file.
30481         * modules/unictype/property-ids-trinary-operator: New file.
30482         * modules/unictype/property-zero-width: New file.
30483         * modules/unictype/property-space: New file.
30484         * modules/unictype/property-non-break: New file.
30485         * modules/unictype/property-iso-control: New file.
30486         * modules/unictype/property-format-control: New file.
30487         * modules/unictype/property-dash: New file.
30488         * modules/unictype/property-hyphen: New file.
30489         * modules/unictype/property-punctuation: New file.
30490         * modules/unictype/property-line-separator: New file.
30491         * modules/unictype/property-paragraph-separator: New file.
30492         * modules/unictype/property-quotation-mark: New file.
30493         * modules/unictype/property-sentence-terminal: New file.
30494         * modules/unictype/property-terminal-punctuation: New file.
30495         * modules/unictype/property-currency-symbol: New file.
30496         * modules/unictype/property-math: New file.
30497         * modules/unictype/property-other-math: New file.
30498         * modules/unictype/property-paired-punctuation: New file.
30499         * modules/unictype/property-left-of-pair: New file.
30500         * modules/unictype/property-combining: New file.
30501         * modules/unictype/property-composite: New file.
30502         * modules/unictype/property-decimal-digit: New file.
30503         * modules/unictype/property-numeric: New file.
30504         * modules/unictype/property-diacritic: New file.
30505         * modules/unictype/property-extender: New file.
30506         * modules/unictype/property-ignorable-control: New file.
30507         * modules/unictype/property-test: New file.
30508         * modules/unictype/property-byname: New file.
30509         * modules/unictype/property-all: New file.
30510         * modules/unictype/scripts: New file.
30511         * modules/unictype/scripts-all: New file.
30512         * modules/unictype/block-of: New file.
30513         * modules/unictype/block-test: New file.
30514         * modules/unictype/block-list: New file.
30515         * modules/unictype/block-all: New file.
30516         * modules/unictype/syntax-c-whitespace: New file.
30517         * modules/unictype/syntax-java-whitespace: New file.
30518         * modules/unictype/syntax-c-ident: New file.
30519         * modules/unictype/syntax-java-ident: New file.
30520         * modules/unictype/ctype-alnum: New file.
30521         * modules/unictype/ctype-alpha: New file.
30522         * modules/unictype/ctype-cntrl: New file.
30523         * modules/unictype/ctype-digit: New file.
30524         * modules/unictype/ctype-graph: New file.
30525         * modules/unictype/ctype-lower: New file.
30526         * modules/unictype/ctype-print: New file.
30527         * modules/unictype/ctype-punct: New file.
30528         * modules/unictype/ctype-space: New file.
30529         * modules/unictype/ctype-upper: New file.
30530         * modules/unictype/ctype-xdigit: New file.
30531         * modules/unictype/ctype-blank: New file.
30532         * lib/unictype/bidi_byname.c: New file.
30533         * lib/unictype/bidi_name.c: New file.
30534         * lib/unictype/bidi_of.c: New file.
30535         * lib/unictype/bidi_test.c: New file.
30536         * lib/unictype/bitmap.h: New file.
30537         * lib/unictype/block_test.c: New file.
30538         * lib/unictype/blocks.c: New file.
30539         * lib/unictype/categ_C.c: New file.
30540         * lib/unictype/categ_Cc.c: New file.
30541         * lib/unictype/categ_Cf.c: New file.
30542         * lib/unictype/categ_Cn.c: New file.
30543         * lib/unictype/categ_Co.c: New file.
30544         * lib/unictype/categ_Cs.c: New file.
30545         * lib/unictype/categ_L.c: New file.
30546         * lib/unictype/categ_Ll.c: New file.
30547         * lib/unictype/categ_Lm.c: New file.
30548         * lib/unictype/categ_Lo.c: New file.
30549         * lib/unictype/categ_Lt.c: New file.
30550         * lib/unictype/categ_Lu.c: New file.
30551         * lib/unictype/categ_M.c: New file.
30552         * lib/unictype/categ_Mc.c: New file.
30553         * lib/unictype/categ_Me.c: New file.
30554         * lib/unictype/categ_Mn.c: New file.
30555         * lib/unictype/categ_N.c: New file.
30556         * lib/unictype/categ_Nd.c: New file.
30557         * lib/unictype/categ_Nl.c: New file.
30558         * lib/unictype/categ_No.c: New file.
30559         * lib/unictype/categ_P.c: New file.
30560         * lib/unictype/categ_Pc.c: New file.
30561         * lib/unictype/categ_Pd.c: New file.
30562         * lib/unictype/categ_Pe.c: New file.
30563         * lib/unictype/categ_Pf.c: New file.
30564         * lib/unictype/categ_Pi.c: New file.
30565         * lib/unictype/categ_Po.c: New file.
30566         * lib/unictype/categ_Ps.c: New file.
30567         * lib/unictype/categ_S.c: New file.
30568         * lib/unictype/categ_Sc.c: New file.
30569         * lib/unictype/categ_Sk.c: New file.
30570         * lib/unictype/categ_Sm.c: New file.
30571         * lib/unictype/categ_So.c: New file.
30572         * lib/unictype/categ_Z.c: New file.
30573         * lib/unictype/categ_Zl.c: New file.
30574         * lib/unictype/categ_Zp.c: New file.
30575         * lib/unictype/categ_Zs.c: New file.
30576         * lib/unictype/categ_and.c: New file.
30577         * lib/unictype/categ_and_not.c: New file.
30578         * lib/unictype/categ_byname.c: New file.
30579         * lib/unictype/categ_name.c: New file.
30580         * lib/unictype/categ_none.c: New file.
30581         * lib/unictype/categ_of.c: New file.
30582         * lib/unictype/categ_or.c: New file.
30583         * lib/unictype/categ_test.c: New file.
30584         * lib/unictype/combining.c: New file.
30585         * lib/unictype/ctype_alnum.c: New file.
30586         * lib/unictype/ctype_alpha.c: New file.
30587         * lib/unictype/ctype_blank.c: New file.
30588         * lib/unictype/ctype_cntrl.c: New file.
30589         * lib/unictype/ctype_digit.c: New file.
30590         * lib/unictype/ctype_graph.c: New file.
30591         * lib/unictype/ctype_lower.c: New file.
30592         * lib/unictype/ctype_print.c: New file.
30593         * lib/unictype/ctype_punct.c: New file.
30594         * lib/unictype/ctype_space.c: New file.
30595         * lib/unictype/ctype_upper.c: New file.
30596         * lib/unictype/ctype_xdigit.c: New file.
30597         * lib/unictype/decdigit.c: New file.
30598         * lib/unictype/digit.c: New file.
30599         * lib/unictype/identsyntaxmap.h: New file.
30600         * lib/unictype/mirror.c: New file.
30601         * lib/unictype/numeric.c: New file.
30602         * lib/unictype/pr_alphabetic.c: New file.
30603         * lib/unictype/pr_ascii_hex_digit.c: New file.
30604         * lib/unictype/pr_bidi_arabic_digit.c: New file.
30605         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
30606         * lib/unictype/pr_bidi_block_separator.c: New file.
30607         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
30608         * lib/unictype/pr_bidi_common_separator.c: New file.
30609         * lib/unictype/pr_bidi_control.c: New file.
30610         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
30611         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
30612         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
30613         * lib/unictype/pr_bidi_european_digit.c: New file.
30614         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
30615         * lib/unictype/pr_bidi_left_to_right.c: New file.
30616         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
30617         * lib/unictype/pr_bidi_other_neutral.c: New file.
30618         * lib/unictype/pr_bidi_pdf.c: New file.
30619         * lib/unictype/pr_bidi_segment_separator.c: New file.
30620         * lib/unictype/pr_bidi_whitespace.c: New file.
30621         * lib/unictype/pr_byname.c: New file.
30622         * lib/unictype/pr_byname.gperf: New file.
30623         * lib/unictype/pr_combining.c: New file.
30624         * lib/unictype/pr_composite.c: New file.
30625         * lib/unictype/pr_currency_symbol.c: New file.
30626         * lib/unictype/pr_dash.c: New file.
30627         * lib/unictype/pr_decimal_digit.c: New file.
30628         * lib/unictype/pr_default_ignorable_code_point.c: New file.
30629         * lib/unictype/pr_deprecated.c: New file.
30630         * lib/unictype/pr_diacritic.c: New file.
30631         * lib/unictype/pr_extender.c: New file.
30632         * lib/unictype/pr_format_control.c: New file.
30633         * lib/unictype/pr_grapheme_base.c: New file.
30634         * lib/unictype/pr_grapheme_extend.c: New file.
30635         * lib/unictype/pr_grapheme_link.c: New file.
30636         * lib/unictype/pr_hex_digit.c: New file.
30637         * lib/unictype/pr_hyphen.c: New file.
30638         * lib/unictype/pr_id_continue.c: New file.
30639         * lib/unictype/pr_id_start.c: New file.
30640         * lib/unictype/pr_ideographic.c: New file.
30641         * lib/unictype/pr_ids_binary_operator.c: New file.
30642         * lib/unictype/pr_ids_trinary_operator.c: New file.
30643         * lib/unictype/pr_ignorable_control.c: New file.
30644         * lib/unictype/pr_iso_control.c: New file.
30645         * lib/unictype/pr_join_control.c: New file.
30646         * lib/unictype/pr_left_of_pair.c: New file.
30647         * lib/unictype/pr_line_separator.c: New file.
30648         * lib/unictype/pr_logical_order_exception.c: New file.
30649         * lib/unictype/pr_lowercase.c: New file.
30650         * lib/unictype/pr_math.c: New file.
30651         * lib/unictype/pr_non_break.c: New file.
30652         * lib/unictype/pr_not_a_character.c: New file.
30653         * lib/unictype/pr_numeric.c: New file.
30654         * lib/unictype/pr_other_alphabetic.c: New file.
30655         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
30656         * lib/unictype/pr_other_grapheme_extend.c: New file.
30657         * lib/unictype/pr_other_id_continue.c: New file.
30658         * lib/unictype/pr_other_id_start.c: New file.
30659         * lib/unictype/pr_other_lowercase.c: New file.
30660         * lib/unictype/pr_other_math.c: New file.
30661         * lib/unictype/pr_other_uppercase.c: New file.
30662         * lib/unictype/pr_paired_punctuation.c: New file.
30663         * lib/unictype/pr_paragraph_separator.c: New file.
30664         * lib/unictype/pr_pattern_syntax.c: New file.
30665         * lib/unictype/pr_pattern_white_space.c: New file.
30666         * lib/unictype/pr_private_use.c: New file.
30667         * lib/unictype/pr_punctuation.c: New file.
30668         * lib/unictype/pr_quotation_mark.c: New file.
30669         * lib/unictype/pr_radical.c: New file.
30670         * lib/unictype/pr_sentence_terminal.c: New file.
30671         * lib/unictype/pr_soft_dotted.c: New file.
30672         * lib/unictype/pr_space.c: New file.
30673         * lib/unictype/pr_terminal_punctuation.c: New file.
30674         * lib/unictype/pr_test.c: New file.
30675         * lib/unictype/pr_titlecase.c: New file.
30676         * lib/unictype/pr_unassigned_code_value.c: New file.
30677         * lib/unictype/pr_unified_ideograph.c: New file.
30678         * lib/unictype/pr_uppercase.c: New file.
30679         * lib/unictype/pr_variation_selector.c: New file.
30680         * lib/unictype/pr_white_space.c: New file.
30681         * lib/unictype/pr_xid_continue.c: New file.
30682         * lib/unictype/pr_xid_start.c: New file.
30683         * lib/unictype/pr_zero_width.c: New file.
30684         * lib/unictype/scripts.c: New file.
30685         * lib/unictype/sy_c_ident.c: New file.
30686         * lib/unictype/sy_c_whitespace.c: New file.
30687         * lib/unictype/sy_java_ident.c: New file.
30688         * lib/unictype/sy_java_whitespace.c: New file.
30689
30690         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
30691         Unicode 5.0.0.
30692         * lib/unictype/blocks.h: Likewise.
30693         * lib/unictype/categ_C.h: Likewise.
30694         * lib/unictype/categ_Cc.h: Likewise.
30695         * lib/unictype/categ_Cf.h: Likewise.
30696         * lib/unictype/categ_Cn.h: Likewise.
30697         * lib/unictype/categ_Co.h: Likewise.
30698         * lib/unictype/categ_Cs.h: Likewise.
30699         * lib/unictype/categ_L.h: Likewise.
30700         * lib/unictype/categ_Ll.h: Likewise.
30701         * lib/unictype/categ_Lm.h: Likewise.
30702         * lib/unictype/categ_Lo.h: Likewise.
30703         * lib/unictype/categ_Lt.h: Likewise.
30704         * lib/unictype/categ_Lu.h: Likewise.
30705         * lib/unictype/categ_M.h: Likewise.
30706         * lib/unictype/categ_Mc.h: Likewise.
30707         * lib/unictype/categ_Me.h: Likewise.
30708         * lib/unictype/categ_Mn.h: Likewise.
30709         * lib/unictype/categ_N.h: Likewise.
30710         * lib/unictype/categ_Nd.h: Likewise.
30711         * lib/unictype/categ_Nl.h: Likewise.
30712         * lib/unictype/categ_No.h: Likewise.
30713         * lib/unictype/categ_P.h: Likewise.
30714         * lib/unictype/categ_Pc.h: Likewise.
30715         * lib/unictype/categ_Pd.h: Likewise.
30716         * lib/unictype/categ_Pe.h: Likewise.
30717         * lib/unictype/categ_Pf.h: Likewise.
30718         * lib/unictype/categ_Pi.h: Likewise.
30719         * lib/unictype/categ_Po.h: Likewise.
30720         * lib/unictype/categ_Ps.h: Likewise.
30721         * lib/unictype/categ_S.h: Likewise.
30722         * lib/unictype/categ_Sc.h: Likewise.
30723         * lib/unictype/categ_Sk.h: Likewise.
30724         * lib/unictype/categ_Sm.h: Likewise.
30725         * lib/unictype/categ_So.h: Likewise.
30726         * lib/unictype/categ_Z.h: Likewise.
30727         * lib/unictype/categ_Zl.h: Likewise.
30728         * lib/unictype/categ_Zp.h: Likewise.
30729         * lib/unictype/categ_Zs.h: Likewise.
30730         * lib/unictype/categ_of.h: Likewise.
30731         * lib/unictype/combining.h: Likewise.
30732         * lib/unictype/ctype_alnum.h: Likewise.
30733         * lib/unictype/ctype_alpha.h: Likewise.
30734         * lib/unictype/ctype_blank.h: Likewise.
30735         * lib/unictype/ctype_cntrl.h: Likewise.
30736         * lib/unictype/ctype_digit.h: Likewise.
30737         * lib/unictype/ctype_graph.h: Likewise.
30738         * lib/unictype/ctype_lower.h: Likewise.
30739         * lib/unictype/ctype_print.h: Likewise.
30740         * lib/unictype/ctype_punct.h: Likewise.
30741         * lib/unictype/ctype_space.h: Likewise.
30742         * lib/unictype/ctype_upper.h: Likewise.
30743         * lib/unictype/ctype_xdigit.h: Likewise.
30744         * lib/unictype/decdigit.h: Likewise.
30745         * lib/unictype/digit.h: Likewise.
30746         * lib/unictype/mirror.h: Likewise.
30747         * lib/unictype/numeric.h: Likewise.
30748         * lib/unictype/pr_alphabetic.h: Likewise.
30749         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
30750         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
30751         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
30752         * lib/unictype/pr_bidi_block_separator.h: Likewise.
30753         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
30754         * lib/unictype/pr_bidi_common_separator.h: Likewise.
30755         * lib/unictype/pr_bidi_control.h: Likewise.
30756         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
30757         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
30758         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
30759         * lib/unictype/pr_bidi_european_digit.h: Likewise.
30760         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
30761         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
30762         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
30763         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
30764         * lib/unictype/pr_bidi_pdf.h: Likewise.
30765         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
30766         * lib/unictype/pr_bidi_whitespace.h: Likewise.
30767         * lib/unictype/pr_combining.h: Likewise.
30768         * lib/unictype/pr_composite.h: Likewise.
30769         * lib/unictype/pr_currency_symbol.h: Likewise.
30770         * lib/unictype/pr_dash.h: Likewise.
30771         * lib/unictype/pr_decimal_digit.h: Likewise.
30772         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
30773         * lib/unictype/pr_deprecated.h: Likewise.
30774         * lib/unictype/pr_diacritic.h: Likewise.
30775         * lib/unictype/pr_extender.h: Likewise.
30776         * lib/unictype/pr_format_control.h: Likewise.
30777         * lib/unictype/pr_grapheme_base.h: Likewise.
30778         * lib/unictype/pr_grapheme_extend.h: Likewise.
30779         * lib/unictype/pr_grapheme_link.h: Likewise.
30780         * lib/unictype/pr_hex_digit.h: Likewise.
30781         * lib/unictype/pr_hyphen.h: Likewise.
30782         * lib/unictype/pr_id_continue.h: Likewise.
30783         * lib/unictype/pr_id_start.h: Likewise.
30784         * lib/unictype/pr_ideographic.h: Likewise.
30785         * lib/unictype/pr_ids_binary_operator.h: Likewise.
30786         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
30787         * lib/unictype/pr_ignorable_control.h: Likewise.
30788         * lib/unictype/pr_iso_control.h: Likewise.
30789         * lib/unictype/pr_join_control.h: Likewise.
30790         * lib/unictype/pr_left_of_pair.h: Likewise.
30791         * lib/unictype/pr_line_separator.h: Likewise.
30792         * lib/unictype/pr_logical_order_exception.h: Likewise.
30793         * lib/unictype/pr_lowercase.h: Likewise.
30794         * lib/unictype/pr_math.h: Likewise.
30795         * lib/unictype/pr_non_break.h: Likewise.
30796         * lib/unictype/pr_not_a_character.h: Likewise.
30797         * lib/unictype/pr_numeric.h: Likewise.
30798         * lib/unictype/pr_other_alphabetic.h: Likewise.
30799         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
30800         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
30801         * lib/unictype/pr_other_id_continue.h: Likewise.
30802         * lib/unictype/pr_other_id_start.h: Likewise.
30803         * lib/unictype/pr_other_lowercase.h: Likewise.
30804         * lib/unictype/pr_other_math.h: Likewise.
30805         * lib/unictype/pr_other_uppercase.h: Likewise.
30806         * lib/unictype/pr_paired_punctuation.h: Likewise.
30807         * lib/unictype/pr_paragraph_separator.h: Likewise.
30808         * lib/unictype/pr_pattern_syntax.h: Likewise.
30809         * lib/unictype/pr_pattern_white_space.h: Likewise.
30810         * lib/unictype/pr_private_use.h: Likewise.
30811         * lib/unictype/pr_punctuation.h: Likewise.
30812         * lib/unictype/pr_quotation_mark.h: Likewise.
30813         * lib/unictype/pr_radical.h: Likewise.
30814         * lib/unictype/pr_sentence_terminal.h: Likewise.
30815         * lib/unictype/pr_soft_dotted.h: Likewise.
30816         * lib/unictype/pr_space.h: Likewise.
30817         * lib/unictype/pr_terminal_punctuation.h: Likewise.
30818         * lib/unictype/pr_titlecase.h: Likewise.
30819         * lib/unictype/pr_unassigned_code_value.h: Likewise.
30820         * lib/unictype/pr_unified_ideograph.h: Likewise.
30821         * lib/unictype/pr_uppercase.h: Likewise.
30822         * lib/unictype/pr_variation_selector.h: Likewise.
30823         * lib/unictype/pr_white_space.h: Likewise.
30824         * lib/unictype/pr_xid_continue.h: Likewise.
30825         * lib/unictype/pr_xid_start.h: Likewise.
30826         * lib/unictype/pr_zero_width.h: Likewise.
30827         * lib/unictype/scripts.h: Likewise.
30828         * lib/unictype/scripts_byname.gperf: Likewise.
30829         * lib/unictype/sy_c_ident.h: Likewise.
30830         * lib/unictype/sy_c_whitespace.h: Likewise.
30831         * lib/unictype/sy_java_ident.h: Likewise.
30832         * lib/unictype/sy_java_whitespace.h: Likewise.
30833
30834         * lib/unictype/Makefile: New file.
30835         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
30836         glibc.
30837         * lib/unictype/3level.h: New file, copied from glibc.
30838         * lib/unictype/3levelbit.h: New file.
30839
30840 2007-11-11  Bruno Haible  <bruno@clisp.org>
30841
30842         * modules/gperf: New file.
30843         * modules/iconv_open (Depends-on): Add it.
30844         (Makefile.am): Remove the GPERF definition.
30845
30846 2007-11-11  Bruno Haible  <bruno@clisp.org>
30847
30848         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
30849         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
30850
30851 2007-11-11  Bruno Haible  <bruno@clisp.org>
30852
30853         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
30854         (usage): Remove function.
30855
30856 2007-11-11  Bruno Haible  <bruno@clisp.org>
30857
30858         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
30859         gl_FUNC_CEILF_LIBS.
30860         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
30861         gl_FUNC_CEIL_LIBS.
30862         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
30863         gl_FUNC_CEILL_LIBS.
30864         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
30865         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
30866         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
30867
30868 2007-11-11  Bruno Haible  <bruno@clisp.org>
30869
30870         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
30871         roundf were declared but do not exist on functions.
30872         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
30873         roundl were declared but do not exist on functions.
30874         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
30875         HAVE_FLOORL_AND_CEILL, respectively.
30876         Needed for Sun C on Solaris 10.
30877
30878 2007-11-11  Bruno Haible  <bruno@clisp.org>
30879
30880         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
30881         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
30882         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
30883         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
30884         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
30885         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
30886         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
30887         HAVE_DECL_ROUNDF.
30888         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
30889         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
30890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
30891         of HAVE_DECL_ROUND*.
30892         * modules/math (Makefile.am): Update.
30893
30894 2007-11-10  Bruno Haible  <bruno@clisp.org>
30895
30896         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
30897         ptrdiff_t as m4/intl.m4.
30898
30899 2007-11-10  Jim Meyering  <meyering@redhat.com>
30900
30901         Avoid link failure for the argmatch test.
30902         * tests/test-argmatch.c (usage): Define function to avoid a link
30903         failure: argmatch_die requires a usage function.
30904
30905 2007-11-09  Bruno Haible  <bruno@clisp.org>
30906
30907         * doc/functions/snprintf.texi: Mention BeOS deficiency.
30908         * doc/functions/vsnprintf.texi: Likewise.
30909         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
30910         with a size argument < 2.
30911
30912 2007-11-09  Bruno Haible  <bruno@clisp.org>
30913
30914         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
30915         buffer. Fixes an inefficiency introduced on 2007-11-03.
30916
30917 2007-11-09  Bruno Haible  <bruno@clisp.org>
30918
30919         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
30920         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
30921
30922 2007-11-08  Jim Meyering  <meyering@redhat.com>
30923
30924         Change cache variable name prefix "jm_" to "gl_" everywhere.
30925         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
30926         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
30927         * m4/uptime.m4: s/gl_/jm_/
30928
30929 2007-11-07  Bruno Haible  <bruno@clisp.org>
30930
30931         Update to GNU gettext 0.17.
30932         * m4/intl.m4: Update to GNU gettext 0.17.
30933         * m4/po.m4: Likewise.
30934         * modules/gettext (Files): Remove m4/ulonglong.m4.
30935         (configure.ac): Require gettext infrastructure from version 0.17.
30936
30937 2007-11-06  Bruno Haible  <bruno@clisp.org>
30938
30939         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
30940         symbolic values are not defined in a public header.
30941         * lib/freadable.c (freadable) [QNX]: Likewise.
30942         * lib/freadahead.c (freadahead) [QNX]: Likewise.
30943         * lib/freading.c (freading) [QNX]: Likewise.
30944         * lib/fseterr.c (fseterr) [QNX]: Likewise.
30945         * lib/fwritable.c (fwritable) [QNX]: Likewise.
30946         * lib/fwriting.c (fwriting) [QNX]: Likewise.
30947         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
30948         Reported by Alain Magloire.
30949
30950         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
30951
30952 2007-11-05  Bruno Haible  <bruno@clisp.org>
30953
30954         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
30955         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
30956         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
30957         Reported by Eric Blake.
30958
30959 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30960             Bruno Haible  <bruno@clisp.org>
30961
30962         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
30963         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
30964         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
30965         (malloc): Undefine also before including <stdlib.h>.
30966         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
30967         Needed on OSF/1 4.0.
30968
30969 2007-11-05  Jim Meyering  <meyering@redhat.com>
30970
30971         git-version-gen: sync from coreutils.
30972         * build-aux/git-version-gen: Add comments.
30973         Change the first '-' to '.' in the snapshot version string,
30974         e.g., 6.9-377-08144 -> 6.9.377-08144
30975         Remove first parameter.
30976         Don't declare a version "-dirty" merely because a time
30977         stamp has changed.
30978
30979 2007-11-04  Bruno Haible  <bruno@clisp.org>
30980
30981         * lib/lock.h: Protect all macro definitions containing an 'if'
30982         statement through a "do { ... } while (0)".
30983         * lib/tls.h: Likewise.
30984
30985 2007-11-04  Bruno Haible  <bruno@clisp.org>
30986
30987         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
30988
30989 2007-11-04  Bruno Haible  <bruno@clisp.org>
30990
30991         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
30992         * modules/fprintf-posix (Depends-on): Add nocrash.
30993         * modules/snprintf-posix (Depends-on): Likewise.
30994         * modules/sprintf-posix (Depends-on): Likewise.
30995         * modules/vasnprintf-posix (Depends-on): Likewise.
30996         * modules/vasprintf-posix (Depends-on): Likewise.
30997         * modules/vfprintf-posix (Depends-on): Likewise.
30998         * modules/vsnprintf-posix (Depends-on): Likewise.
30999         * modules/vsprintf-posix (Depends-on): Likewise.
31000         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31001         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31002         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31003         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31004         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31005         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31006         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31007
31008 2007-11-04  Bruno Haible  <bruno@clisp.org>
31009
31010         * modules/nocrash: New file.
31011         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
31012         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
31013
31014 2007-11-04  Bruno Haible  <bruno@clisp.org>
31015
31016         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
31017         precision handling.
31018         * tests/test-vasprintf-posix.c (test_function): Likewise.
31019         * tests/test-snprintf-posix.h (test_function): Likewise.
31020         * tests/test-sprintf-posix.h (test_function): Likewise.
31021
31022         Fix *printf behaviour for large precisions on mingw and BeOS.
31023         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
31024         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
31025         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
31026         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31027         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31028         gl_PRINTF_PRECISION and test its result. Invoke
31029         gl_PREREQ_VASNPRINTF_PRECISION.
31030         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31031         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31032         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31033         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31034         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31035         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31036         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31037         * doc/functions/fprintf.texi: Update.
31038         * doc/functions/printf.texi: Update.
31039         * doc/functions/snprintf.texi: Update.
31040         * doc/functions/sprintf.texi: Update.
31041         * doc/functions/vfprintf.texi: Update.
31042         * doc/functions/vprintf.texi: Update.
31043         * doc/functions/vsnprintf.texi: Update.
31044         * doc/functions/vsprintf.texi: Update.
31045
31046 2007-11-04  Bruno Haible  <bruno@clisp.org>
31047
31048         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
31049
31050 2007-11-04  Bruno Haible  <bruno@clisp.org>
31051
31052         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
31053         Reported by Sylvain Beucler <beuc@gnu.org>.
31054
31055 2007-11-03  Bruno Haible  <bruno@clisp.org>
31056
31057         * tests/test-fprintf-posix2.sh: New file.
31058         * tests/test-fprintf-posix2.c: New file.
31059         * modules/fprintf-posix-tests (Files): Add them.
31060         (TESTS): Add test-fprintf-posix2.sh.
31061         (configure.ac): Check for getrlimit and setrlimit.
31062         (check_PROGRAMS): Add test-fprintf-posix2.
31063
31064         * tests/test-printf-posix2.sh: New file.
31065         * tests/test-printf-posix2.c: New file.
31066         * modules/printf-posix-tests (Files): Add them.
31067         (TESTS): Add test-printf-posix2.sh.
31068         (configure.ac): Check for getrlimit and setrlimit.
31069         (check_PROGRAMS): Add test-printf-posix2.
31070
31071         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
31072         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
31073         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
31074         (decode_double): New function, copied from decode_long_double.
31075         (scale10_round_decimal_decoded): New function, extracted from
31076         scale10_round_decimal_long_double.
31077         (scale10_round_decimal_long_double): Use it.
31078         (scale10_round_decimal_double): New function.
31079         (floorlog10): New function.
31080         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
31081         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
31082         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31083         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31084         gl_PRINTF_ENOMEM and test its result. Invoke
31085         gl_PREREQ_VASNPRINTF_ENOMEM.
31086         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31087         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31088         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31089         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31090         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31091         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31092         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31093         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
31094         * modules/snprintf-posix (Depends-on): Likewise.
31095         * modules/sprintf-posix (Depends-on): Likewise.
31096         * modules/vasnprintf-posix (Depends-on): Likewise.
31097         * modules/vasprintf-posix (Depends-on): Likewise.
31098         * modules/vfprintf-posix (Depends-on): Likewise.
31099         * modules/vsnprintf-posix (Depends-on): Likewise.
31100         * modules/vsprintf-posix (Depends-on): Likewise.
31101         * doc/functions/fprintf.texi: Update.
31102         * doc/functions/printf.texi: Update.
31103         * doc/functions/snprintf.texi: Update.
31104         * doc/functions/sprintf.texi: Update.
31105         * doc/functions/vfprintf.texi: Update.
31106         * doc/functions/vprintf.texi: Update.
31107         * doc/functions/vsnprintf.texi: Update.
31108         * doc/functions/vsprintf.texi: Update.
31109
31110 2007-11-03  Bruno Haible  <bruno@clisp.org>
31111
31112         * modules/frexp-nolibm-tests: New file.
31113
31114         * modules/frexp-nolibm: New file.
31115         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
31116
31117 2007-11-03  Bruno Haible  <bruno@clisp.org>
31118
31119         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
31120         value is C99 compliant.
31121         Needed for OSF/1 5.1.
31122
31123 2007-11-03  Bruno Haible  <bruno@clisp.org>
31124
31125         Fix out-of-memory handling of vasnprintf.
31126         * lib/printf-parse.c: Include <errno.h>.
31127         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
31128         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
31129         is already set.
31130
31131 2007-11-02  Eric Blake  <ebb9@byu.net>
31132
31133         Fix tests on cygwin.
31134         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
31135
31136 2007-11-01  Bruno Haible  <bruno@clisp.org>
31137
31138         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
31139         warning.
31140         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
31141         needed for POSIX compatibility.
31142
31143 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
31144
31145         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
31146         for compatibility with GNU.
31147
31148 2007-11-01  Bruno Haible  <bruno@clisp.org>
31149
31150         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
31151         (putenv): Renamed from rpl_putenv. Change argument type from
31152         'const char *' to 'char *'.
31153         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
31154         of defining putenv in config.h, just set REPLACE_PUTENV.
31155         * modules/putenv (Depends-on): Add stdlib.
31156         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
31157         (Include): Use <stdlib.h>.
31158         * lib/stdlib.in.h (putenv): New declaration.
31159         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
31160         REPLACE_PUTENV.
31161         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
31162         REPLACE_PUTENV.
31163         Needed for MacOS X 10.5.0.
31164         Reported by Peter O'Gorman <peter@pogma.com>.
31165
31166 2007-11-01  Jim Meyering  <meyering@redhat.com>
31167
31168         Treat an empty date string exactly like "0".
31169         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
31170         if the remaining date string (to be parsed) is empty, use "0".
31171         Reported by Mischa Molhoek and discussed in this thread:
31172         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
31173
31174 2007-10-31  Bruno Haible  <bruno@clisp.org>
31175
31176         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
31177         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
31178         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
31179         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
31180         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
31181         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
31182
31183 2007-10-31  Bruno Haible  <bruno@clisp.org>
31184
31185         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
31186         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
31187         (AC_TYPE_LONG_LONG_INT): Use it.
31188         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
31189         it as well.
31190         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
31191         to m4/longlong.m4.
31192         * modules/stdint (Files): Remove m4/ulonglong.m4.
31193         * modules/strtoull (Files): Use m4/longlong.m4 instead of
31194         m4/ulonglong.m4.
31195         * modules/strtoumax (Files): Likewise.
31196
31197 2007-10-30  Bruno Haible  <bruno@clisp.org>
31198
31199         * modules/xvasprintf-posix: New file.
31200         Suggested by Eric Blake.
31201
31202 2007-10-30  Bruno Haible  <bruno@clisp.org>
31203
31204         * modules/xprintf-posix-tests: New file.
31205         * tests/test-xprintf-posix.sh: New file.
31206         * tests/test-xprintf-posix.c: New file.
31207         * tests/test-xfprintf-posix.c: New file.
31208
31209         * modules/xprintf-posix: New file.
31210
31211 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31212
31213         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
31214         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
31215         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
31216
31217 2007-10-29  Bruno Haible  <bruno@clisp.org>
31218
31219         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
31220         contain the special marker '_cv_'.
31221         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31222         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31223         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31224         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
31225         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31226         Reported by Ralf Wildenhues.
31227
31228 2007-10-29  Bruno Haible  <bruno@clisp.org>
31229
31230         * gnulib-tool (func_import): When --lgpl is not specified, set
31231         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
31232         GPLv3.
31233         Reported by Simon Josefsson.
31234
31235 2007-10-28  Bruno Haible  <bruno@clisp.org>
31236
31237         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
31238         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
31239         HAVE_DECL_ISFINITE.
31240         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
31241         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
31242         HAVE_DECL_ISFINITE.
31243
31244 2007-10-28  Bruno Haible  <bruno@clisp.org>
31245
31246         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
31247         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
31248
31249 2007-10-28  Bruno Haible  <bruno@clisp.org>
31250
31251         Fix link errors with Sun C 5.0 on Solaris 10.
31252         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
31253         function is declared but not present in the compiler's libm.
31254         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31255         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
31256         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
31257         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
31258         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
31259         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
31260         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
31261         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
31262         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
31263         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
31264         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
31265         HAVE_DECL_FLOORL.
31266
31267 2007-10-28  Bruno Haible  <bruno@clisp.org>
31268
31269         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
31270         gl_FUNC_FLOORL. Cache the result.
31271         (gl_FUNC_FLOORL): Use it.
31272         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
31273         gl_FUNC_CEILL. Cache the result.
31274         (gl_FUNC_CEILL): Use it.
31275
31276         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
31277         gl_FUNC_FLOOR. Cache the result.
31278         (gl_FUNC_FLOOR): Use it.
31279         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
31280         gl_FUNC_CEIL. Cache the result.
31281         (gl_FUNC_CEIL): Use it.
31282
31283         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
31284         gl_FUNC_FLOORF. Cache the result.
31285         (gl_FUNC_FLOORF): Use it.
31286         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
31287         gl_FUNC_CEILF. Cache the result.
31288         (gl_FUNC_CEILF): Use it.
31289
31290 2007-10-28  Bruno Haible  <bruno@clisp.org>
31291
31292         * gnulib-tool: Allow specifying the LGPL version number through
31293         --lgpl=2 or --lgpl=3.
31294         (func_usage): Document --lgpl with argument.
31295         Handle --lgpl=... arguments.
31296         (func_import): Recognize also gl_LGPL calls with an argument. When
31297         --lgpl=2 is used and the module's license is just LGPL, report an
31298         error. Set sed_transform_lib_file according to the lgpl variable. In
31299         the generated files, use --lgpl or gl_LGPL invocations with argument,
31300         if necessary.
31301         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
31302         an LGPv2+ license.
31303         * doc/gnulib-tool.texi (Modified imports): Update explanation of
31304         gl_LGPL macro.
31305
31306 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31307             Bruno Haible  <bruno@clisp.org>
31308
31309         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
31310         (u16_uctomb_aux): Likewise.
31311         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
31312         !HAVE_INLINE.
31313         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
31314
31315 2007-10-28  Bruno Haible  <bruno@clisp.org>
31316
31317         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
31318         Invoke AM_GETTEXT_OPTION if it exists.
31319         * modules/vasprintf: Likewise.
31320         * modules/verror: Likewise.
31321         * modules/xprintf: Likewise.
31322         * modules/xvasprintf: Likewise.
31323
31324 2007-10-27  Ben Pfaff  <blp@gnu.org>
31325
31326         * lib/math.in.h: Define isfinite macro and prototypes for
31327         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
31328         implementations.
31329         * m4/math_h.m4: New substitutions for isfinite module.
31330         * lib/isfinite.c: New file.
31331         * m4/isfinite.m4: New file.
31332         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
31333         * modules/isfinite: New file.
31334         * modules/isfinite-tests: New file.
31335         * tests/tests-isfinite.c: New file.
31336         * doc/functions/isfinite.texi: Mention isfinite module.
31337         * MODULES.html.sh: Mention new module.
31338
31339 2007-10-27  Ben Pfaff  <blp@gnu.org>
31340
31341         Ralf Wildenhues reported that Tru64 4.0D declares the round
31342         functions but does not have definitions.
31343         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
31344         cannot be found in any library, set the output variable to
31345         "missing" instead of "".
31346         * m4/round.m4: Also use our substitute if we cannot find round in
31347         any library, even if it is declared.
31348         * m4/roundf.m4: Likewise for roundf.
31349         * m4/roundl.m4: Likewise for roundl.
31350         * lib/math.in.h: Undefine roundf, round, roundl before defining
31351         their replacements, to allow for hypothetical systems where these
31352         may be defined as macros but not available in libraries.
31353
31354 2007-10-27  Bruno Haible  <bruno@clisp.org>
31355
31356         * doc/gnulib.texi: Invoke @firstparagraphindent.
31357         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
31358         changes in gnulib.
31359         (Source changes): New section.
31360
31361 2007-10-26  Bruno Haible  <bruno@clisp.org>
31362
31363         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
31364         borrowed from autoconf.
31365
31366 2007-10-26  Bruno Haible  <bruno@clisp.org>
31367
31368         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
31369         strerror returned the empty string. Needed on HP-UX 11.00.
31370
31371 2007-10-24  Micah Cowan  <micah@cowan.name>
31372
31373         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
31374         * build-aux/bootstrap: Remove support for now-unnecessary option,
31375         --cvs-user, and envvars CVS_USER, CVS_RSH.
31376
31377 2007-10-24  Jim Meyering  <meyering@redhat.com>
31378
31379         Avoid diagnostics from sha1sum when there is no cached checksum.
31380         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
31381         if the po.s1 file hasn't been created yet.
31382
31383         * build-aux/bootstrap: Sync from coreutils:
31384         2007-10-24  Jim Meyering  <meyering@redhat.com>
31385         Get gnulib from the git repository, not from an obsolete cvs one.
31386         * build-aux/bootstrap: Suggestion from Micah Cowan.
31387         2007-10-04  Jim Meyering  <jim@meyering.net>
31388         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
31389         (update_po_files): Work also when there are no .po files in po/.
31390
31391 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31392
31393         * README: Append ".git" to git and cg examples.
31394         Problem reported by Benoit Sigoure.
31395
31396 2007-10-23  Micah Cowan  <micah@cowan.name>
31397
31398         * users.txt: Add wget.
31399
31400 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31401
31402         Fix linking of some unistdio tests on FreeBSD.
31403         * modules/unistdio/u16-vsnprintf-tests
31404         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
31405         * modules/unistdio/u16-vsprintf-tests
31406         (test_u16_vsnprintf1_LDADD): Likewise.
31407         * modules/unistdio/u32-vsnprintf-tests
31408         (test_u32_vsnprintf1_LDADD): Likewise.
31409         * modules/unistdio/u32-vsprintf-tests
31410         (test_u32_vsprintf1_LDADD): Likewise.
31411         * modules/unistdio/u8-vsnprintf-tests
31412         (test_u8_vsnprintf1_LDADD): Likewise.
31413         * modules/unistdio/u8-vsprintf-tests
31414         (test_u8_vsprintf1_LDADD): Likewise.
31415         * modules/unistdio/ulc-vsnprintf-tests
31416         (test_ulc_vsnprintf1_LDADD): Likewise.
31417         * modules/unistdio/ulc-vsprintf-tests
31418         (test_ulc_vsprintf1_LDADD): Likewise.
31419
31420         Fix linking of some uniconv tests on FreeBSD.
31421         * modules/uniconv/u16-conv-from-enc-tests
31422         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
31423         * modules/uniconv/u16-conv-to-enc-tests
31424         (test_u16_conv_to_enc_LDADD): Likewise.
31425         * modules/uniconv/u16-strconv-from-enc-tests
31426         (test_u16_strconv_from_enc_LDADD): Likewise.
31427         * modules/uniconv/u16-strconv-to-enc-tests
31428         (test_u16_strconv_to_enc_LDADD): Likewise.
31429         * modules/uniconv/u32-conv-from-enc-tests
31430         (test_u32_conv_from_enc_LDADD): Likewise.
31431         * modules/uniconv/u32-conv-to-enc-tests
31432         (test_u32_conv_to_enc_LDADD): Likewise.
31433         * modules/uniconv/u32-strconv-from-enc-tests
31434         (test_u32_strconv_from_enc_LDADD): Likewise.
31435         * modules/uniconv/u32-strconv-to-enc-tests
31436         (test_u32_strconv_to_enc_LDADD): Likewise.
31437         * modules/uniconv/u8-conv-from-enc-tests
31438         (test_u8_conv_from_enc_LDADD): Likewise.
31439         * modules/uniconv/u8-conv-to-enc-tests
31440         (test_u8_conv_to_enc_LDADD): Likewise.
31441         * modules/uniconv/u8-strconv-from-enc-tests
31442         (test_u8_strconv_from_enc_LDADD): Likewise.
31443         * modules/uniconv/u8-strconv-to-enc-tests
31444         (test_u8_strconv_to_enc_LDADD): Likewise.
31445
31446 2007-10-22  Bruno Haible  <bruno@clisp.org>
31447
31448         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
31449         size.
31450
31451 2007-10-22  Eric Blake  <ebb9@byu.net>
31452
31453         Tweak x*printf documentation.
31454         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
31455         variable name and comments.
31456         Suggested by Bruno Haible.
31457
31458 2007-10-22  Bruno Haible  <bruno@clisp.org>
31459
31460         * lib/acl.c (copy_acl): Fix file name in comment.
31461
31462 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
31463
31464         Fix Tru64 problem with stdbool.h.
31465         * lib/stdbool.in.h (false, true):
31466         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
31467         Don't declare as an enum in this situation; it runs afoul of Tru64.
31468         Problem reported by Steven M. Schweda in
31469         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
31470
31471 2007-10-22  Eric Blake  <ebb9@byu.net>
31472
31473         Also wrap vf?printf.
31474         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
31475         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
31476         (xvprintf, xvfprintf): New functions.
31477
31478 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31479
31480         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
31481         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
31482
31483         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
31484         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
31485
31486 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
31487
31488         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
31489         by Bruno Haible.
31490
31491 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31492
31493         * lib/getloadavg.c
31494         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
31495         Undef `sys' after including sys/table.h, for Tru64 4.0D.
31496
31497         * tests/test-i-ring.c: Work for C89.
31498
31499 2007-10-22  Bruno Haible  <bruno@clisp.org>
31500
31501         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
31502         -1u, in preprocessor expression, so that we don't test for the bug
31503         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
31504         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
31505
31506 2007-10-22  Eric Blake  <ebb9@byu.net>
31507
31508         * tests/test-yesno.sh: Silence stderr during test.
31509
31510 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31511
31512         * modules/crypto/gc-camellia: New file.
31513
31514         * m4/gc-camellia.m4: New file.
31515
31516         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
31517
31518         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
31519
31520 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31521
31522         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
31523         --help to stdout.  Reported by sms@antinode.org (Steven
31524         M. Schweda).
31525
31526 2007-10-22  Simon Josefsson  <simon@josefsson.org>
31527
31528         * users.txt: Fix link to libksba.
31529
31530 2007-10-21  Ben Pfaff  <blp@gnu.org>
31531
31532         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
31533         round.c roundf implementation that depends on floorf and ceilf to
31534         be tested unconditionally.
31535
31536 2007-10-21  Ben Pfaff  <blp@gnu.org>
31537
31538         * m4/check-libm-func.m4: Removed.
31539         * m4/check-math-lib.m4: New file.
31540         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
31541         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
31542         definition and lack of AC_LIBOBJ([roundf]).
31543         * m4/roundl.m4: Ditto, and similarly for roundl.
31544         * modules/round: Reference new m4 file.
31545         * modules/roundf: Ditto.
31546         * modules/roundl: Ditto.
31547         * tests/test-round2.c (main): Use ROUND instead of round.
31548         Bug report from Bruno Haible.
31549
31550 2007-10-21  Bruno Haible  <bruno@clisp.org>
31551
31552         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
31553         context.
31554
31555 2007-10-21  Bruno Haible  <bruno@clisp.org>
31556
31557         * tests/test-wcwidth.c (main): Allow negative result for some control
31558         characters.
31559
31560         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
31561         Needed on OSF/1 5.1.
31562
31563 2007-10-21  Bruno Haible  <bruno@clisp.org>
31564
31565         * tests/test-floorf1.c: Include isnanf.h.
31566         (main): Use isnanf() instead of isnan().
31567         * tests/test-ceilf1.c: Include isnanf.h.
31568         (main): Use isnanf() instead of isnan().
31569         * tests/test-truncf1.c: Include isnanf.h.
31570         (main): Use isnanf() instead of isnan().
31571         * tests/test-roundf1.c: Include isnanf.h.
31572         (main): Use isnanf() instead of isnan().
31573
31574 2007-10-21  Eric Blake  <ebb9@byu.net>
31575
31576         * users.txt: Update URL for m4.
31577
31578 2007-10-21  Bruno Haible  <bruno@clisp.org>
31579
31580         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
31581
31582 2007-10-21  Bruno Haible  <bruno@clisp.org>
31583
31584         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
31585         Git's management files if the CVS files are not present.
31586
31587 2007-10-20  Bruno Haible  <bruno@clisp.org>
31588
31589         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
31590         gcc-3.4.x.
31591
31592 2007-10-20  Ben Pfaff  <blp@gnu.org>
31593
31594         * lib/math.in.h: Declare round, roundf, roundl if we are providing
31595         implementations.
31596         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
31597         * lib/round.c: New file.
31598         * lib/roundf.c: New file.
31599         * lib/roundl.c: New file.
31600         * m4/round.m4: New file.
31601         * m4/roundf.m4: New file.
31602         * m4/roundl.m4: New file.
31603         * m4/check-libm-func-m4: New file.
31604         * modules/math: Replace round, roundf, roundl related @VARS@ in
31605         math.in.h.
31606         * modules/round: New file.
31607         * modules/round-tests: New file.
31608         * modules/roundf: New file.
31609         * modules/roundf-tests: New file.
31610         * modules/roundl: New file.
31611         * modules/roundl-tests: New file.
31612         * tests/test-round1.c: New file.
31613         * tests/test-round2.c: New file.
31614         * tests/test-roundf1.c: New file.
31615         * tests/test-roundf2.c: New file.
31616         * tests/test-roundl.c: New file.
31617         * doc/functions/round.texi: Mention round module.
31618         * doc/functions/roundf.texi: Mention roundf module.
31619         * doc/functions/roundl.texi: Mention roundl module.
31620         * MODULES.html.sh: Mention new modules.
31621         Thanks to Bruno Haible for suggestions.
31622
31623 2007-10-20  Jim Meyering  <meyering@redhat.com>
31624
31625         * lib/xprintf.c: Include <config.h> unconditionally.
31626
31627         Change xprintf's license to GPL.
31628         * modules/xprintf (License): s/LGPL/GPL/, since this module
31629         depends on modules (exit and exitfail) which are GPL.
31630         Suggestion from Bruno Haible.
31631
31632         xprintf fixes.
31633         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
31634         Use a clearer diagnostic.
31635         Patch from Bruno Haible.
31636
31637 2007-10-20  Bruno Haible  <bruno@clisp.org>
31638
31639         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
31640         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
31641         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31642
31643 2007-10-20  Bruno Haible  <bruno@clisp.org>
31644
31645         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
31646         precision in the comparison result > x - 1 or similar.
31647         * tests/test-ceilf2.c (correct_result_p): Likewise.
31648         * tests/test-truncf2.c (correct_result_p): Likewise.
31649         * tests/test-trunc2.c (correct_result_p): Likewise.
31650         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31651
31652 2007-10-20  Bruno Haible  <bruno@clisp.org>
31653
31654         * modules/ceil: New file.
31655         * m4/ceil.m4: New file.
31656         * doc/functions/ceil.texi: Mention the 'ceil' module.
31657
31658 2007-10-20  Bruno Haible  <bruno@clisp.org>
31659
31660         * modules/floor: New file.
31661         * m4/floor.m4: New file.
31662         * doc/functions/floor.texi: Mention the 'floor' module.
31663
31664 2007-10-20  Bruno Haible  <bruno@clisp.org>
31665
31666         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
31667         of %a.
31668         * modules/floorf-tests (Depends-on): Likewise.
31669         * modules/truncf-tests (Depends-on): Likewise.
31670         * modules/trunc-tests (Depends-on): Likewise.
31671         Reported by Ben Pfaff.
31672
31673 2007-10-19  Jim Meyering  <meyering@redhat.com>
31674
31675         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
31676         Don't bother testing specific errno values.  Just test ferror.
31677
31678         New module: xprintf
31679         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
31680
31681 2007-10-19  Bruno Haible  <bruno@clisp.org>
31682
31683         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
31684         syntax.
31685         * modules/javaexec (Makefile.am): Likewise.
31686         * modules/relocatable-prog (Makefile.am): Likewise.
31687         Suggested by Jim Meyering.
31688
31689 2007-10-18  Bruno Haible  <bruno@clisp.org>
31690
31691         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
31692         Reported by Jim Meyering.
31693
31694 2007-10-18  Eric Blake  <ebb9@byu.net>
31695
31696         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
31697
31698 2007-10-18  Bruno Haible  <bruno@clisp.org>
31699
31700         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
31701         the format string into writable memory. Needed in Fortify conditions.
31702
31703 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
31704             Bruno Haible  <bruno@clisp.org>
31705
31706         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
31707         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
31708         * modules/trim (Depends-on): Add mbchar.
31709         (configure.ac): Add gl_FUNC_MBRTOWC.
31710         (Makefile.am): Augment lib_SOURCES.
31711
31712 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
31713
31714         Modify glob.c to use fstatat and dirfd, to simplify it.
31715         Suggested by Eric Blake.
31716         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
31717         Don't include <stdbool.h>; not used.
31718         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
31719         (link_exists_p): Simplify implementation, since we can now assume
31720         dirfd and fstatat.
31721         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
31722
31723 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31724
31725         * gnulib-tool (func_get_dependencies): Fix sed script to
31726         match only tests.
31727
31728 2007-10-17  Bruno Haible  <bruno@clisp.org>
31729
31730         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
31731         allow locale names without encoding suffix.
31732         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31733         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31734
31735 2007-10-16  Bruno Haible  <bruno@clisp.org>
31736
31737         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
31738         * lib/getgroups.c (getgroups): Likewise.
31739         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
31740
31741 2007-10-16  Bruno Haible  <bruno@clisp.org>
31742
31743         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
31744         * modules/malloc-posix (License): Likewise.
31745         * modules/realloc-posix (License): Likewise.
31746         * modules/calloc-posix (License): Likewise.
31747         * modules/intprops (License): Change from GPL to LGPL, with
31748         Paul Eggert's approval.
31749
31750 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31751
31752         Merge glibc changes into lib/glob.c.
31753
31754         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
31755         2007-10-15 04:59:03 UTC.  Here are the changes:
31756
31757         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
31758
31759         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
31760
31761         * lib/glob.c: Add some branch prediction throughout.
31762
31763         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
31764
31765         [BZ #5103]
31766         * lib/glob.c (glob): Recognize patterns starting \/.
31767
31768         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
31769
31770         [BZ #3996]
31771         * lib/glob.c (attribute_hidden): Define if not defined.
31772         (glob): Unescape dirname, filename or username when needed and not
31773         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
31774         is NULL.  Handle unescaped [ in pattern without closing ].
31775         Don't pass GLOB_CHECK down to recursive glob for directories.
31776         (__glob_pattern_type): New function.
31777         (__glob_pattern_p): Implement using __glob_pattern_type.
31778         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
31779         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
31780         Remove unreachable code.
31781
31782         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
31783
31784         * lib/glob.c (glob_in_dir): Add some comments and asserts to
31785         explain why there are no leaks.
31786
31787         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
31788
31789         [BZ #3253]
31790         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
31791         time, rather allocate increasingly bigger arrays of pointers, if
31792         possible with alloca, if too large with malloc.
31793
31794 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31795
31796         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
31797         Problem reported by H.Merijn Brand in
31798         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
31799         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
31800         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
31801
31802 2007-10-15  Bruno Haible  <bruno@clisp.org>
31803
31804         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
31805         with explicit rpl_ prefix.
31806         * lib/fopen.c (fopen): Likewise.
31807         * lib/freopen.c (freopen): Likewise.
31808         * lib/iconv.c (iconv): Likewise.
31809         * lib/iconv_close.c (iconv_close): Likewise.
31810
31811 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31812
31813         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
31814
31815 2007-10-15  Bruno Haible  <bruno@clisp.org>
31816
31817         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
31818         <stddef.h> instead of <stdlib.h> since we only need NULL.
31819         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31820
31821 2007-10-15  Bruno Haible  <bruno@clisp.org>
31822
31823         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
31824         Replace paragraph talking about LIBOBJS.
31825         Reported by Colin Watson <cjwatson@debian.org>.
31826
31827 2007-10-15  Bruno Haible  <bruno@clisp.org>
31828
31829         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
31830         <stdlib.h> before using NULL.
31831
31832 2007-10-15  Simon Josefsson  <simon@josefsson.org>
31833
31834         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
31835         Reported by Albert Chin <china@thewrittenword.com>.
31836
31837 2007-10-14  Bruno Haible  <bruno@clisp.org>
31838
31839         * modules/iconv_open-utf-tests: New file.
31840         * tests/test-iconv-utf.c: New file.
31841
31842         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
31843         * modules/iconv_open-utf: New file.
31844         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
31845         (iconv, iconv_close): New declarations.
31846         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
31847         be defined.
31848         (iconv_open): Add special handling of conversion between UTF-8 and
31849         UTF-{16,32}{BE,LE}.
31850         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
31851         * lib/iconv_close.c: New file.
31852         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
31853         gl_FUNC_ICONV_OPEN.
31854         (gl_FUNC_ICONV_OPEN): Use it.
31855         (gl_FUNC_ICONV_OPEN_UTF): New macro.
31856         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
31857         and REPLACE_ICONV_UTF.
31858         * modules/iconv_open (Depends-on): Add c-strcase.
31859         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
31860         ICONV_CONST.
31861         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
31862
31863 2007-10-13  Albert Chin  <china@thewrittenword.com>
31864             Bruno Haible  <bruno@clisp.org>
31865
31866         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
31867         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
31868
31869 2007-10-13  Bruno Haible  <bruno@clisp.org>
31870
31871         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
31872         defined, use the ISO C99 inline semantics.
31873         * lib/argp.h (ARGP_EI): Likewise.
31874
31875 2007-10-13  Bruno Haible  <bruno@clisp.org>
31876
31877         Handle 'inline' change in gcc 4.3.0.
31878         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
31879         argp_fmtstream_write, argp_fmtstream_set_lmargin,
31880         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
31881         argp_fmtstream_point): Disable 'extern' declaration if the function
31882         definition is going to be provided inline.
31883         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
31884         semantics, not the ISO C99 inline semantics.
31885         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
31886         'extern' declaration if the function definition is going to be provided
31887         inline.
31888         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
31889         the GNU C inline semantics, not the ISO C99 inline semantics. With
31890         GCC 4.2, avoid a warning.
31891
31892 2007-10-13  Bruno Haible  <bruno@clisp.org>
31893
31894         * lib/freading.h (freading): Enable the use of __freading for
31895         glibc >= 2.7.
31896         * lib/freading.c (freading): Likewise.
31897
31898 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
31899
31900         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
31901         "warning: C99 inline functions are not supported; using GNU89".
31902
31903 2007-10-12  Bruno Haible  <bruno@clisp.org>
31904
31905         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
31906         of 2.
31907         * tests/test-ceilf2.c: New file.
31908         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
31909
31910         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
31911         * modules/ceilf-tests: Update.
31912
31913 2007-10-12  Bruno Haible  <bruno@clisp.org>
31914
31915         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
31916         of 2.
31917         * tests/test-floorf2.c: New file.
31918         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
31919
31920         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
31921         * modules/floorf-tests: Update.
31922
31923 2007-10-12  Bruno Haible  <bruno@clisp.org>
31924
31925         * tests/test-trunc2.c: New file.
31926         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
31927
31928         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
31929         * modules/trunc-tests: Update.
31930
31931 2007-10-12  Bruno Haible  <bruno@clisp.org>
31932
31933         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
31934         of 2.
31935         * tests/test-truncf2.c: New file.
31936         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
31937
31938         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
31939         * modules/truncf-tests: Update.
31940
31941 2007-10-11  Eric Blake  <ebb9@byu.net>
31942
31943         Don't claim strerror is broken on Interix.
31944         * doc/functions/strerror.texi (strerror): Known broken systems are
31945         now Solaris 8, and not Interix.
31946         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
31947         Interix on cross-compile.
31948         Reported by Martin Koeppe in
31949         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
31950
31951 2007-10-11  Bruno Haible  <bruno@clisp.org>
31952
31953         * modules/i-ring-tests: New file.
31954         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
31955         instead of assert.
31956
31957 2007-10-11  Bruno Haible  <bruno@clisp.org>
31958
31959         * modules/filenamecat-tests: New file.
31960         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
31961         * lib/filenamecat.c: Remove test code.
31962
31963 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31964
31965         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
31966
31967         * lib/strerror.c: Include <string.h> always, to test interface,
31968         and to remove the need for the dummy.
31969         Include intprops.h to compute width instead of doing it ourselves
31970         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
31971         (strerror): Define it to return NULL if there's no system strerror.
31972         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
31973         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
31974         ancient pre-strerror Unix systems well any more.  Saying "unknown
31975         system error" is enough.
31976         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
31977         simpler strerror.c implementation.
31978         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
31979         Simplify the tests to reflect the simpler strerror implementation.
31980         * modules/strerror (Depends-on): Add intprops.
31981
31982 2007-10-09  Eric Blake  <ebb9@byu.net>
31983
31984         Silence test-fpending.
31985         * modules/fpending-tests (Files): Add wrapper script.
31986         * tests/test-fpending.sh: New file.
31987
31988 2007-10-09  Bruno Haible  <bruno@clisp.org>
31989
31990         * MODULES.html.sh (func_module): Don't create a hyperlink for
31991         function names like 'printf_frexp'.
31992         (Misc): Add crc, memxor.
31993         (Characteristics of floating types): New section.
31994         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
31995         isnanf-nolibm, signbit, trunc, truncf, truncl.
31996         (Enhancements for ISO C 99 functions): New subsection Input/output.
31997         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
31998         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
31999         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
32000         (Compatibility checks for POSIX:2001 functions): Add clock-time.
32001         (Enhancements for POSIX:2001 functions): Add chdir-long.
32002         (File system functions): Add areadlink, chdir-safer, read-file.
32003         Remove cycle-check.
32004         (File system as inode set): New section.
32005         (Date and time): Add gethrxtime.
32006         (Multithreading): Add openmp.
32007         (Internationalization functions): Add localename.
32008         (Unicode string functions): Add unistr/u*-mbsnlen.
32009         (Support for maintaining and releasing projects): Add git-version-gen.
32010         (Lone files): Remove directories.
32011
32012 2007-10-08  Ben Pfaff  <blp@gnu.org>
32013
32014         * lib/xmalloca.h: Fix typo in comment.
32015
32016 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
32017
32018         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
32019         when avoiding problems with integer overflow.  Use a portable test
32020         instead.
32021
32022 2007-10-08  Simon Josefsson  <simon@josefsson.org>
32023
32024         * modules/dummy (License): Change to LGPLv2+.
32025         * modules/float (License): Likewise
32026         * modules/realloc (License): Likewise
32027         * modules/stdlib (License): Likewise
32028
32029 2007-10-07  Bruno Haible  <bruno@clisp.org>
32030
32031         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
32032         * floor.c (TWO_MANT_DIG): Likewise.
32033         * ceil.c (TWO_MANT_DIG): Likewise.
32034         Reported by Ben Pfaff.
32035
32036 2007-10-07  Bruno Haible  <bruno@clisp.org>
32037
32038         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
32039         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
32040         * lib/frexp.c (FUNC): Likewise.
32041         * lib/printf-frexp.h (printf_frexp): Likewise.
32042         * lib/printf-frexpl.h (printf_frexpl): Likewise.
32043         * lib/printf-frexp.c (FUNC): Likewise.
32044         Suggested by Jim Meyering.
32045
32046 2007-10-07  Jim Meyering  <meyering@redhat.com>
32047
32048         Make xnanosleep's integer overflow test more robust.
32049         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
32050         so that gcc-4.3.0 doesn't optimize away this test for overflow.
32051
32052 2007-10-07  Bruno Haible  <bruno@clisp.org>
32053
32054         * NEWS: Mention the license change.
32055
32056         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
32057         abbreviations in the modules files.
32058
32059         Change copyright notice from GPLv2+ to GPLv3+.
32060         * README: Change copyright notice.
32061         * MODULES.html.sh: Likewise.
32062         * build-aux/bootstrap.conf: Likewise.
32063         * build-aux/config.libpath: Likewise.
32064         * build-aux/csharpcomp.sh.in: Likewise.
32065         * build-aux/csharpexec.sh.in: Likewise.
32066         * build-aux/install-reloc: Likewise.
32067         * build-aux/javacomp.sh.in: Likewise.
32068         * build-aux/javaexec.sh.in: Likewise.
32069         * build-aux/ldd.sh.in: Likewise.
32070         * build-aux/reloc-ldflags: Likewise.
32071         * build-aux/relocatable.sh.in: Likewise.
32072         * build-aux/x-to-1.in: Likewise.
32073         * check-module: Likewise.
32074         * config/srclistvars.sh: Likewise.
32075         * gnulib-tool: Likewise.
32076         * lib/acl-internal.h: Likewise.
32077         * lib/acl.c: Likewise.
32078         * lib/acl.h: Likewise.
32079         * lib/acl_entries.c: Likewise.
32080         * lib/areadlink-with-size.c: Likewise.
32081         * lib/areadlink.c: Likewise.
32082         * lib/areadlink.h: Likewise.
32083         * lib/argmatch.c: Likewise.
32084         * lib/argmatch.h: Likewise.
32085         * lib/argp-ba.c: Likewise.
32086         * lib/argp-eexst.c: Likewise.
32087         * lib/argp-fmtstream.c: Likewise.
32088         * lib/argp-fmtstream.h: Likewise.
32089         * lib/argp-fs-xinl.c: Likewise.
32090         * lib/argp-help.c: Likewise.
32091         * lib/argp-namefrob.h: Likewise.
32092         * lib/argp-parse.c: Likewise.
32093         * lib/argp-pin.c: Likewise.
32094         * lib/argp-pv.c: Likewise.
32095         * lib/argp-pvh.c: Likewise.
32096         * lib/argp-xinl.c: Likewise.
32097         * lib/argp.h: Likewise.
32098         * lib/at-func.c: Likewise.
32099         * lib/atanl.c: Likewise.
32100         * lib/backupfile.c: Likewise.
32101         * lib/backupfile.h: Likewise.
32102         * lib/basename.c: Likewise.
32103         * lib/binary-io.h: Likewise.
32104         * lib/byteswap.in.h: Likewise.
32105         * lib/c-stack.c: Likewise.
32106         * lib/c-stack.h: Likewise.
32107         * lib/c-strcasestr.c: Likewise.
32108         * lib/c-strcasestr.h: Likewise.
32109         * lib/c-strstr.c: Likewise.
32110         * lib/c-strstr.h: Likewise.
32111         * lib/c-strtod.c: Likewise.
32112         * lib/calloc.c: Likewise.
32113         * lib/canon-host.c: Likewise.
32114         * lib/canon-host.h: Likewise.
32115         * lib/canonicalize-lgpl.c: Likewise.
32116         * lib/canonicalize.c: Likewise.
32117         * lib/canonicalize.h: Likewise.
32118         * lib/ceil.c: Likewise.
32119         * lib/ceilf.c: Likewise.
32120         * lib/ceill.c: Likewise.
32121         * lib/chdir-long.c: Likewise.
32122         * lib/chdir-long.h: Likewise.
32123         * lib/chdir-safer.c: Likewise.
32124         * lib/chdir-safer.h: Likewise.
32125         * lib/chown.c: Likewise.
32126         * lib/classpath.c: Likewise.
32127         * lib/classpath.h: Likewise.
32128         * lib/clean-temp.c: Likewise.
32129         * lib/clean-temp.h: Likewise.
32130         * lib/cloexec.c: Likewise.
32131         * lib/close-stream.c: Likewise.
32132         * lib/closein.c: Likewise.
32133         * lib/closein.h: Likewise.
32134         * lib/closeout.c: Likewise.
32135         * lib/closeout.h: Likewise.
32136         * lib/concat-filename.c: Likewise.
32137         * lib/copy-file.c: Likewise.
32138         * lib/copy-file.h: Likewise.
32139         * lib/count-one-bits.h: Likewise.
32140         * lib/crc.c: Likewise.
32141         * lib/crc.h: Likewise.
32142         * lib/creat-safer.c: Likewise.
32143         * lib/csharpcomp.c: Likewise.
32144         * lib/csharpcomp.h: Likewise.
32145         * lib/csharpexec.c: Likewise.
32146         * lib/csharpexec.h: Likewise.
32147         * lib/cycle-check.c: Likewise.
32148         * lib/cycle-check.h: Likewise.
32149         * lib/diacrit.c: Likewise.
32150         * lib/diacrit.h: Likewise.
32151         * lib/diffseq.h: Likewise.
32152         * lib/dirchownmod.c: Likewise.
32153         * lib/dirent.in.h: Likewise.
32154         * lib/dirfd.c: Likewise.
32155         * lib/dirfd.h: Likewise.
32156         * lib/dirname.c: Likewise.
32157         * lib/dirname.h: Likewise.
32158         * lib/dummy.c: Likewise.
32159         * lib/dup-safer.c: Likewise.
32160         * lib/dup2.c: Likewise.
32161         * lib/eealloc.h: Likewise.
32162         * lib/error.c: Likewise.
32163         * lib/error.h: Likewise.
32164         * lib/euidaccess.c: Likewise.
32165         * lib/exclude.c: Likewise.
32166         * lib/exclude.h: Likewise.
32167         * lib/execute.c: Likewise.
32168         * lib/execute.h: Likewise.
32169         * lib/exitfail.c: Likewise.
32170         * lib/exitfail.h: Likewise.
32171         * lib/expl.c: Likewise.
32172         * lib/fatal-signal.c: Likewise.
32173         * lib/fatal-signal.h: Likewise.
32174         * lib/fbufmode.c: Likewise.
32175         * lib/fbufmode.h: Likewise.
32176         * lib/fchdir.c: Likewise.
32177         * lib/fchmodat.c: Likewise.
32178         * lib/fchownat.c: Likewise.
32179         * lib/fcntl--.h: Likewise.
32180         * lib/fcntl-safer.h: Likewise.
32181         * lib/fcntl.in.h: Likewise.
32182         * lib/fd-safer.c: Likewise.
32183         * lib/fflush.c: Likewise.
32184         * lib/file-has-acl.c: Likewise.
32185         * lib/file-set.c: Likewise.
32186         * lib/file-type.c: Likewise.
32187         * lib/file-type.h: Likewise.
32188         * lib/fileblocks.c: Likewise.
32189         * lib/filemode.c: Likewise.
32190         * lib/filemode.h: Likewise.
32191         * lib/filename.h: Likewise.
32192         * lib/filenamecat.c: Likewise.
32193         * lib/filenamecat.h: Likewise.
32194         * lib/findprog.c: Likewise.
32195         * lib/findprog.h: Likewise.
32196         * lib/float.in.h: Likewise.
32197         * lib/floor.c: Likewise.
32198         * lib/floorf.c: Likewise.
32199         * lib/floorl.c: Likewise.
32200         * lib/fopen-safer.c: Likewise.
32201         * lib/fopen.c: Likewise.
32202         * lib/fpending.c: Likewise.
32203         * lib/fpending.h: Likewise.
32204         * lib/fprintf.c: Likewise.
32205         * lib/fprintftime.h: Likewise.
32206         * lib/fpucw.h: Likewise.
32207         * lib/fpurge.c: Likewise.
32208         * lib/fpurge.h: Likewise.
32209         * lib/freadable.c: Likewise.
32210         * lib/freadable.h: Likewise.
32211         * lib/freadahead.c: Likewise.
32212         * lib/freadahead.h: Likewise.
32213         * lib/freading.c: Likewise.
32214         * lib/freading.h: Likewise.
32215         * lib/free.c: Likewise.
32216         * lib/freopen.c: Likewise.
32217         * lib/frexp.c: Likewise.
32218         * lib/frexpl.c: Likewise.
32219         * lib/fseek.c: Likewise.
32220         * lib/fseterr.c: Likewise.
32221         * lib/fseterr.h: Likewise.
32222         * lib/fstatat.c: Likewise.
32223         * lib/fstrcmp.c: Likewise.
32224         * lib/fstrcmp.h: Likewise.
32225         * lib/fsusage.c: Likewise.
32226         * lib/fsusage.h: Likewise.
32227         * lib/ftell.c: Likewise.
32228         * lib/ftello.c: Likewise.
32229         * lib/fts-cycle.c: Likewise.
32230         * lib/fts.c: Likewise.
32231         * lib/fts_.h: Likewise.
32232         * lib/full-read.c: Likewise.
32233         * lib/full-read.h: Likewise.
32234         * lib/full-write.c: Likewise.
32235         * lib/full-write.h: Likewise.
32236         * lib/fwritable.c: Likewise.
32237         * lib/fwritable.h: Likewise.
32238         * lib/fwriteerror.c: Likewise.
32239         * lib/fwriteerror.h: Likewise.
32240         * lib/fwriting.c: Likewise.
32241         * lib/fwriting.h: Likewise.
32242         * lib/gcd.c: Likewise.
32243         * lib/gcd.h: Likewise.
32244         * lib/getcwd.c: Likewise.
32245         * lib/getdate.h: Likewise.
32246         * lib/getdate.y: Likewise.
32247         * lib/getdomainname.c: Likewise.
32248         * lib/getdomainname.h: Likewise.
32249         * lib/getgroups.c: Likewise.
32250         * lib/gethostname.c: Likewise.
32251         * lib/gethrxtime.c: Likewise.
32252         * lib/gethrxtime.h: Likewise.
32253         * lib/getloadavg.c: Likewise.
32254         * lib/getndelim2.c: Likewise.
32255         * lib/getndelim2.h: Likewise.
32256         * lib/getnline.c: Likewise.
32257         * lib/getnline.h: Likewise.
32258         * lib/getopt.c: Likewise.
32259         * lib/getopt.in.h: Likewise.
32260         * lib/getopt1.c: Likewise.
32261         * lib/getopt_int.h: Likewise.
32262         * lib/getpagesize.h: Likewise.
32263         * lib/getsubopt.c: Likewise.
32264         * lib/gettime.c: Likewise.
32265         * lib/getugroups.c: Likewise.
32266         * lib/getugroups.h: Likewise.
32267         * lib/getusershell.c: Likewise.
32268         * lib/gl_anyavltree_list1.h: Likewise.
32269         * lib/gl_anyavltree_list2.h: Likewise.
32270         * lib/gl_anyhash_list1.h: Likewise.
32271         * lib/gl_anyhash_list2.h: Likewise.
32272         * lib/gl_anylinked_list1.h: Likewise.
32273         * lib/gl_anylinked_list2.h: Likewise.
32274         * lib/gl_anyrbtree_list1.h: Likewise.
32275         * lib/gl_anyrbtree_list2.h: Likewise.
32276         * lib/gl_anytree_list1.h: Likewise.
32277         * lib/gl_anytree_list2.h: Likewise.
32278         * lib/gl_anytree_oset.h: Likewise.
32279         * lib/gl_anytreehash_list1.h: Likewise.
32280         * lib/gl_anytreehash_list2.h: Likewise.
32281         * lib/gl_array_list.c: Likewise.
32282         * lib/gl_array_list.h: Likewise.
32283         * lib/gl_array_oset.c: Likewise.
32284         * lib/gl_array_oset.h: Likewise.
32285         * lib/gl_avltree_list.c: Likewise.
32286         * lib/gl_avltree_list.h: Likewise.
32287         * lib/gl_avltree_oset.c: Likewise.
32288         * lib/gl_avltree_oset.h: Likewise.
32289         * lib/gl_avltreehash_list.c: Likewise.
32290         * lib/gl_avltreehash_list.h: Likewise.
32291         * lib/gl_carray_list.c: Likewise.
32292         * lib/gl_carray_list.h: Likewise.
32293         * lib/gl_linked_list.c: Likewise.
32294         * lib/gl_linked_list.h: Likewise.
32295         * lib/gl_linkedhash_list.c: Likewise.
32296         * lib/gl_linkedhash_list.h: Likewise.
32297         * lib/gl_list.c: Likewise.
32298         * lib/gl_list.h: Likewise.
32299         * lib/gl_oset.c: Likewise.
32300         * lib/gl_oset.h: Likewise.
32301         * lib/gl_rbtree_list.c: Likewise.
32302         * lib/gl_rbtree_list.h: Likewise.
32303         * lib/gl_rbtree_oset.c: Likewise.
32304         * lib/gl_rbtree_oset.h: Likewise.
32305         * lib/gl_rbtreehash_list.c: Likewise.
32306         * lib/gl_rbtreehash_list.h: Likewise.
32307         * lib/gl_sublist.c: Likewise.
32308         * lib/gl_sublist.h: Likewise.
32309         * lib/group-member.c: Likewise.
32310         * lib/group-member.h: Likewise.
32311         * lib/hard-locale.c: Likewise.
32312         * lib/hard-locale.h: Likewise.
32313         * lib/hash-pjw.c: Likewise.
32314         * lib/hash-pjw.h: Likewise.
32315         * lib/hash-triple.c: Likewise.
32316         * lib/hash.c: Likewise.
32317         * lib/hash.h: Likewise.
32318         * lib/human.c: Likewise.
32319         * lib/human.h: Likewise.
32320         * lib/i-ring.c: Likewise.
32321         * lib/i-ring.h: Likewise.
32322         * lib/idcache.c: Likewise.
32323         * lib/imaxabs.c: Likewise.
32324         * lib/imaxdiv.c: Likewise.
32325         * lib/inet_pton.c: Likewise.
32326         * lib/inet_pton.h: Likewise.
32327         * lib/intprops.h: Likewise.
32328         * lib/inttostr.c: Likewise.
32329         * lib/inttostr.h: Likewise.
32330         * lib/inttypes.in.h: Likewise.
32331         * lib/isapipe.c: Likewise.
32332         * lib/isdir.c: Likewise.
32333         * lib/isnan.c: Likewise.
32334         * lib/isnan.h: Likewise.
32335         * lib/isnanf.c: Likewise.
32336         * lib/isnanf.h: Likewise.
32337         * lib/isnanl-nolibm.h: Likewise.
32338         * lib/isnanl.c: Likewise.
32339         * lib/isnanl.h: Likewise.
32340         * lib/javacomp.c: Likewise.
32341         * lib/javacomp.h: Likewise.
32342         * lib/javaexec.c: Likewise.
32343         * lib/javaexec.h: Likewise.
32344         * lib/javaversion.c: Likewise.
32345         * lib/javaversion.h: Likewise.
32346         * lib/javaversion.java: Likewise.
32347         * lib/lbrkprop.h: Likewise.
32348         * lib/lchmod.h: Likewise.
32349         * lib/lchown.c: Likewise.
32350         * lib/ldexpl.c: Likewise.
32351         * lib/linebreak.c: Likewise.
32352         * lib/linebreak.h: Likewise.
32353         * lib/linebuffer.c: Likewise.
32354         * lib/linebuffer.h: Likewise.
32355         * lib/locale.in.h: Likewise.
32356         * lib/logl.c: Likewise.
32357         * lib/long-options.c: Likewise.
32358         * lib/long-options.h: Likewise.
32359         * lib/lstat.c: Likewise.
32360         * lib/lstat.h: Likewise.
32361         * lib/math.in.h: Likewise.
32362         * lib/mbchar.c: Likewise.
32363         * lib/mbchar.h: Likewise.
32364         * lib/mbfile.h: Likewise.
32365         * lib/mbiter.h: Likewise.
32366         * lib/mbscasecmp.c: Likewise.
32367         * lib/mbscasestr.c: Likewise.
32368         * lib/mbschr.c: Likewise.
32369         * lib/mbscspn.c: Likewise.
32370         * lib/mbslen.c: Likewise.
32371         * lib/mbsncasecmp.c: Likewise.
32372         * lib/mbsnlen.c: Likewise.
32373         * lib/mbspbrk.c: Likewise.
32374         * lib/mbspcasecmp.c: Likewise.
32375         * lib/mbsrchr.c: Likewise.
32376         * lib/mbssep.c: Likewise.
32377         * lib/mbsspn.c: Likewise.
32378         * lib/mbsstr.c: Likewise.
32379         * lib/mbstok_r.c: Likewise.
32380         * lib/mbswidth.c: Likewise.
32381         * lib/mbswidth.h: Likewise.
32382         * lib/mbuiter.h: Likewise.
32383         * lib/memcasecmp.c: Likewise.
32384         * lib/memcasecmp.h: Likewise.
32385         * lib/memchr.c: Likewise.
32386         * lib/memcmp.c: Likewise.
32387         * lib/memcoll.c: Likewise.
32388         * lib/memcoll.h: Likewise.
32389         * lib/memcpy.c: Likewise.
32390         * lib/memrchr.c: Likewise.
32391         * lib/mkancesdirs.c: Likewise.
32392         * lib/mkdir-p.c: Likewise.
32393         * lib/mkdir-p.h: Likewise.
32394         * lib/mkdir.c: Likewise.
32395         * lib/mkdirat.c: Likewise.
32396         * lib/mkdtemp.c: Likewise.
32397         * lib/mkstemp-safer.c: Likewise.
32398         * lib/mkstemp.c: Likewise.
32399         * lib/modechange.c: Likewise.
32400         * lib/modechange.h: Likewise.
32401         * lib/mountlist.c: Likewise.
32402         * lib/mountlist.h: Likewise.
32403         * lib/mpsort.c: Likewise.
32404         * lib/nanosleep.c: Likewise.
32405         * lib/obstack.c: Likewise.
32406         * lib/obstack.h: Likewise.
32407         * lib/open-safer.c: Likewise.
32408         * lib/open.c: Likewise.
32409         * lib/openat-die.c: Likewise.
32410         * lib/openat-priv.h: Likewise.
32411         * lib/openat-proc.c: Likewise.
32412         * lib/openat.c: Likewise.
32413         * lib/openat.h: Likewise.
32414         * lib/pagealign_alloc.c: Likewise.
32415         * lib/pagealign_alloc.h: Likewise.
32416         * lib/physmem.c: Likewise.
32417         * lib/physmem.h: Likewise.
32418         * lib/pipe-safer.c: Likewise.
32419         * lib/pipe.c: Likewise.
32420         * lib/pipe.h: Likewise.
32421         * lib/posixtm.c: Likewise.
32422         * lib/posixtm.h: Likewise.
32423         * lib/posixver.c: Likewise.
32424         * lib/printf-frexp.c: Likewise.
32425         * lib/printf-frexp.h: Likewise.
32426         * lib/printf-frexpl.c: Likewise.
32427         * lib/printf-frexpl.h: Likewise.
32428         * lib/printf.c: Likewise.
32429         * lib/progname.c: Likewise.
32430         * lib/progname.h: Likewise.
32431         * lib/progreloc.c: Likewise.
32432         * lib/putenv.c: Likewise.
32433         * lib/quote.c: Likewise.
32434         * lib/quote.h: Likewise.
32435         * lib/quotearg.c: Likewise.
32436         * lib/quotearg.h: Likewise.
32437         * lib/raise.c: Likewise.
32438         * lib/readline.c: Likewise.
32439         * lib/readline.h: Likewise.
32440         * lib/readlink.c: Likewise.
32441         * lib/readtokens.c: Likewise.
32442         * lib/readtokens.h: Likewise.
32443         * lib/readtokens0.c: Likewise.
32444         * lib/readtokens0.h: Likewise.
32445         * lib/readutmp.c: Likewise.
32446         * lib/readutmp.h: Likewise.
32447         * lib/realloc.c: Likewise.
32448         * lib/relocwrapper.c: Likewise.
32449         * lib/rename-dest-slash.c: Likewise.
32450         * lib/rename.c: Likewise.
32451         * lib/rmdir.c: Likewise.
32452         * lib/rpmatch.c: Likewise.
32453         * lib/safe-read.c: Likewise.
32454         * lib/safe-read.h: Likewise.
32455         * lib/safe-write.c: Likewise.
32456         * lib/safe-write.h: Likewise.
32457         * lib/same-inode.h: Likewise.
32458         * lib/same.c: Likewise.
32459         * lib/same.h: Likewise.
32460         * lib/save-cwd.c: Likewise.
32461         * lib/save-cwd.h: Likewise.
32462         * lib/savedir.c: Likewise.
32463         * lib/savedir.h: Likewise.
32464         * lib/savewd.c: Likewise.
32465         * lib/savewd.h: Likewise.
32466         * lib/search.in.h: Likewise.
32467         * lib/setenv.c: Likewise.
32468         * lib/setenv.h: Likewise.
32469         * lib/settime.c: Likewise.
32470         * lib/sh-quote.c: Likewise.
32471         * lib/sh-quote.h: Likewise.
32472         * lib/sig2str.c: Likewise.
32473         * lib/sig2str.h: Likewise.
32474         * lib/signal.in.h: Likewise.
32475         * lib/signbitd.c: Likewise.
32476         * lib/signbitf.c: Likewise.
32477         * lib/signbitl.c: Likewise.
32478         * lib/sigprocmask.c: Likewise.
32479         * lib/sincosl.c: Likewise.
32480         * lib/sleep.c: Likewise.
32481         * lib/sprintf.c: Likewise.
32482         * lib/sqrtl.c: Likewise.
32483         * lib/stat-time.h: Likewise.
32484         * lib/stdio--.h: Likewise.
32485         * lib/stdio-safer.h: Likewise.
32486         * lib/stdlib--.h: Likewise.
32487         * lib/stdlib-safer.h: Likewise.
32488         * lib/stdlib.in.h: Likewise.
32489         * lib/stpcpy.c: Likewise.
32490         * lib/stpncpy.c: Likewise.
32491         * lib/strchrnul.c: Likewise.
32492         * lib/strcspn.c: Likewise.
32493         * lib/strerror.c: Likewise.
32494         * lib/strftime.c: Likewise.
32495         * lib/strftime.h: Likewise.
32496         * lib/striconveh.c: Likewise.
32497         * lib/striconveh.h: Likewise.
32498         * lib/striconveha.c: Likewise.
32499         * lib/striconveha.h: Likewise.
32500         * lib/stripslash.c: Likewise.
32501         * lib/strnlen1.c: Likewise.
32502         * lib/strnlen1.h: Likewise.
32503         * lib/strtod.c: Likewise.
32504         * lib/strtoimax.c: Likewise.
32505         * lib/strtok_r.c: Likewise.
32506         * lib/strtol.c: Likewise.
32507         * lib/strtoll.c: Likewise.
32508         * lib/strtoul.c: Likewise.
32509         * lib/strtoull.c: Likewise.
32510         * lib/sysexits.in.h: Likewise.
32511         * lib/tempname.c: Likewise.
32512         * lib/tempname.h: Likewise.
32513         * lib/timespec.h: Likewise.
32514         * lib/tls.c: Likewise.
32515         * lib/tls.h: Likewise.
32516         * lib/tmpdir.c: Likewise.
32517         * lib/tmpdir.h: Likewise.
32518         * lib/tmpfile-safer.c: Likewise.
32519         * lib/tmpfile.c: Likewise.
32520         * lib/trigl.c: Likewise.
32521         * lib/trigl.h: Likewise.
32522         * lib/trim.c: Likewise.
32523         * lib/trim.h: Likewise.
32524         * lib/trunc.c: Likewise.
32525         * lib/truncf.c: Likewise.
32526         * lib/truncl.c: Likewise.
32527         * lib/tsearch.c: Likewise.
32528         * lib/unicodeio.c: Likewise.
32529         * lib/unicodeio.h: Likewise.
32530         * lib/unistd--.h: Likewise.
32531         * lib/unistd-safer.h: Likewise.
32532         * lib/unistdio/ulc-fprintf.c: Likewise.
32533         * lib/unistdio/ulc-vfprintf.c: Likewise.
32534         * lib/unlinkdir.c: Likewise.
32535         * lib/unlinkdir.h: Likewise.
32536         * lib/unlocked-io.h: Likewise.
32537         * lib/unsetenv.c: Likewise.
32538         * lib/userspec.c: Likewise.
32539         * lib/utime.c: Likewise.
32540         * lib/utimecmp.c: Likewise.
32541         * lib/utimecmp.h: Likewise.
32542         * lib/utimens.c: Likewise.
32543         * lib/verify.h: Likewise.
32544         * lib/verror.c: Likewise.
32545         * lib/verror.h: Likewise.
32546         * lib/version-etc-fsf.c: Likewise.
32547         * lib/version-etc.c: Likewise.
32548         * lib/version-etc.h: Likewise.
32549         * lib/vfprintf.c: Likewise.
32550         * lib/vprintf.c: Likewise.
32551         * lib/vsprintf.c: Likewise.
32552         * lib/w32spawn.h: Likewise.
32553         * lib/wait-process.c: Likewise.
32554         * lib/wait-process.h: Likewise.
32555         * lib/wcwidth.c: Likewise.
32556         * lib/write-any-file.c: Likewise.
32557         * lib/xalloc-die.c: Likewise.
32558         * lib/xalloc.h: Likewise.
32559         * lib/xasprintf.c: Likewise.
32560         * lib/xgetcwd.c: Likewise.
32561         * lib/xgetcwd.h: Likewise.
32562         * lib/xgetdomainname.c: Likewise.
32563         * lib/xgetdomainname.h: Likewise.
32564         * lib/xgethostname.c: Likewise.
32565         * lib/xmalloc.c: Likewise.
32566         * lib/xmalloca.c: Likewise.
32567         * lib/xmalloca.h: Likewise.
32568         * lib/xmemcoll.c: Likewise.
32569         * lib/xnanosleep.c: Likewise.
32570         * lib/xreadlink.c: Likewise.
32571         * lib/xreadlink.h: Likewise.
32572         * lib/xsetenv.c: Likewise.
32573         * lib/xsetenv.h: Likewise.
32574         * lib/xstriconv.c: Likewise.
32575         * lib/xstriconv.h: Likewise.
32576         * lib/xstrndup.c: Likewise.
32577         * lib/xstrndup.h: Likewise.
32578         * lib/xstrtod.c: Likewise.
32579         * lib/xstrtod.h: Likewise.
32580         * lib/xstrtol-error.c: Likewise.
32581         * lib/xstrtol.c: Likewise.
32582         * lib/xstrtol.h: Likewise.
32583         * lib/xtime.h: Likewise.
32584         * lib/xvasprintf.c: Likewise.
32585         * lib/xvasprintf.h: Likewise.
32586         * lib/yesno.c: Likewise.
32587         * lib/yesno.h: Likewise.
32588         * posix-modules: Likewise.
32589         * tests/test-alloca-opt.c: Likewise.
32590         * tests/test-arcfour.c: Likewise.
32591         * tests/test-arctwo.c: Likewise.
32592         * tests/test-argmatch.c: Likewise.
32593         * tests/test-argp-2.sh: Likewise.
32594         * tests/test-argp.c: Likewise.
32595         * tests/test-arpa_inet.c: Likewise.
32596         * tests/test-array_list.c: Likewise.
32597         * tests/test-array_oset.c: Likewise.
32598         * tests/test-atexit.c: Likewise.
32599         * tests/test-avltree_list.c: Likewise.
32600         * tests/test-avltree_oset.c: Likewise.
32601         * tests/test-avltreehash_list.c: Likewise.
32602         * tests/test-base64.c: Likewise.
32603         * tests/test-binary-io.c: Likewise.
32604         * tests/test-byteswap.c: Likewise.
32605         * tests/test-c-ctype.c: Likewise.
32606         * tests/test-c-strcasecmp.c: Likewise.
32607         * tests/test-c-strcasestr.c: Likewise.
32608         * tests/test-c-strncasecmp.c: Likewise.
32609         * tests/test-c-strstr.c: Likewise.
32610         * tests/test-canonicalize-lgpl.c: Likewise.
32611         * tests/test-canonicalize.c: Likewise.
32612         * tests/test-carray_list.c: Likewise.
32613         * tests/test-ceilf.c: Likewise.
32614         * tests/test-ceill.c: Likewise.
32615         * tests/test-count-one-bits.c: Likewise.
32616         * tests/test-crc.c: Likewise.
32617         * tests/test-dirname.c: Likewise.
32618         * tests/test-fbufmode.c: Likewise.
32619         * tests/test-fcntl.c: Likewise.
32620         * tests/test-fflush.c: Likewise.
32621         * tests/test-floorf.c: Likewise.
32622         * tests/test-floorl.c: Likewise.
32623         * tests/test-fopen.c: Likewise.
32624         * tests/test-fprintf-posix.c: Likewise.
32625         * tests/test-fprintf-posix.h: Likewise.
32626         * tests/test-fpurge.c: Likewise.
32627         * tests/test-freadable.c: Likewise.
32628         * tests/test-freadahead.c: Likewise.
32629         * tests/test-freading.c: Likewise.
32630         * tests/test-freopen.c: Likewise.
32631         * tests/test-frexp.c: Likewise.
32632         * tests/test-frexpl.c: Likewise.
32633         * tests/test-fseek.c: Likewise.
32634         * tests/test-fseeko.c: Likewise.
32635         * tests/test-fseterr.c: Likewise.
32636         * tests/test-fstrcmp.c: Likewise.
32637         * tests/test-ftell.c: Likewise.
32638         * tests/test-ftello.c: Likewise.
32639         * tests/test-fwritable.c: Likewise.
32640         * tests/test-fwriting.c: Likewise.
32641         * tests/test-getaddrinfo.c: Likewise.
32642         * tests/test-getpass.c: Likewise.
32643         * tests/test-gettimeofday.c: Likewise.
32644         * tests/test-hmac-md5.c: Likewise.
32645         * tests/test-hmac-sha1.c: Likewise.
32646         * tests/test-iconv.c: Likewise.
32647         * tests/test-iconvme.c: Likewise.
32648         * tests/test-inttypes.c: Likewise.
32649         * tests/test-isnan.c: Likewise.
32650         * tests/test-isnanf.c: Likewise.
32651         * tests/test-isnanl-nolibm.c: Likewise.
32652         * tests/test-isnanl.c: Likewise.
32653         * tests/test-isnanl.h: Likewise.
32654         * tests/test-ldexpl.c: Likewise.
32655         * tests/test-linked_list.c: Likewise.
32656         * tests/test-linkedhash_list.c: Likewise.
32657         * tests/test-locale.c: Likewise.
32658         * tests/test-localename.c: Likewise.
32659         * tests/test-lock.c: Likewise.
32660         * tests/test-lseek.c: Likewise.
32661         * tests/test-malloca.c: Likewise.
32662         * tests/test-math.c: Likewise.
32663         * tests/test-mbscasecmp.c: Likewise.
32664         * tests/test-mbscasestr1.c: Likewise.
32665         * tests/test-mbscasestr2.c: Likewise.
32666         * tests/test-mbscasestr3.c: Likewise.
32667         * tests/test-mbscasestr4.c: Likewise.
32668         * tests/test-mbschr.c: Likewise.
32669         * tests/test-mbscspn.c: Likewise.
32670         * tests/test-mbsncasecmp.c: Likewise.
32671         * tests/test-mbspbrk.c: Likewise.
32672         * tests/test-mbspcasecmp.c: Likewise.
32673         * tests/test-mbsrchr.c: Likewise.
32674         * tests/test-mbsspn.c: Likewise.
32675         * tests/test-mbsstr1.c: Likewise.
32676         * tests/test-mbsstr2.c: Likewise.
32677         * tests/test-mbsstr3.c: Likewise.
32678         * tests/test-md5.c: Likewise.
32679         * tests/test-memmem.c: Likewise.
32680         * tests/test-netinet_in.c: Likewise.
32681         * tests/test-open.c: Likewise.
32682         * tests/test-printf-frexp.c: Likewise.
32683         * tests/test-printf-frexpl.c: Likewise.
32684         * tests/test-printf-posix.c: Likewise.
32685         * tests/test-printf-posix.h: Likewise.
32686         * tests/test-rbtree_list.c: Likewise.
32687         * tests/test-rbtree_oset.c: Likewise.
32688         * tests/test-rbtreehash_list.c: Likewise.
32689         * tests/test-read-file.c: Likewise.
32690         * tests/test-rijndael.c: Likewise.
32691         * tests/test-search.c: Likewise.
32692         * tests/test-signbit.c: Likewise.
32693         * tests/test-sleep.c: Likewise.
32694         * tests/test-snprintf-posix.c: Likewise.
32695         * tests/test-snprintf-posix.h: Likewise.
32696         * tests/test-snprintf.c: Likewise.
32697         * tests/test-sprintf-posix.c: Likewise.
32698         * tests/test-sprintf-posix.h: Likewise.
32699         * tests/test-stat-time.c: Likewise.
32700         * tests/test-stdbool.c: Likewise.
32701         * tests/test-stdint.c: Likewise.
32702         * tests/test-stdio.c: Likewise.
32703         * tests/test-stdlib.c: Likewise.
32704         * tests/test-stpncpy.c: Likewise.
32705         * tests/test-strcasestr.c: Likewise.
32706         * tests/test-striconv.c: Likewise.
32707         * tests/test-striconveh.c: Likewise.
32708         * tests/test-striconveha.c: Likewise.
32709         * tests/test-string.c: Likewise.
32710         * tests/test-sys_select.c: Likewise.
32711         * tests/test-sys_socket.c: Likewise.
32712         * tests/test-sys_stat.c: Likewise.
32713         * tests/test-sys_time.c: Likewise.
32714         * tests/test-sysexits.c: Likewise.
32715         * tests/test-time.c: Likewise.
32716         * tests/test-tls.c: Likewise.
32717         * tests/test-trunc.c: Likewise.
32718         * tests/test-truncf.c: Likewise.
32719         * tests/test-truncl.c: Likewise.
32720         * tests/test-unistd.c: Likewise.
32721         * tests/test-vasnprintf-posix.c: Likewise.
32722         * tests/test-vasnprintf-posix2.c: Likewise.
32723         * tests/test-vasnprintf.c: Likewise.
32724         * tests/test-vasprintf-posix.c: Likewise.
32725         * tests/test-vasprintf.c: Likewise.
32726         * tests/test-verify.c: Likewise.
32727         * tests/test-vfprintf-posix.c: Likewise.
32728         * tests/test-vprintf-posix.c: Likewise.
32729         * tests/test-vsnprintf-posix.c: Likewise.
32730         * tests/test-vsnprintf.c: Likewise.
32731         * tests/test-vsprintf-posix.c: Likewise.
32732         * tests/test-wchar.c: Likewise.
32733         * tests/test-wctype.c: Likewise.
32734         * tests/test-wcwidth.c: Likewise.
32735         * tests/test-xstrtol.c: Likewise.
32736         * tests/test-xvasprintf.c: Likewise.
32737         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32738         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32739         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32740         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32741         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32742         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32743         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32744         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32745         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32746         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32747         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32748         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32749         * tests/uniname/test-uninames.c: Likewise.
32750         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32751         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
32752         * tests/unistdio/test-u16-printf1.h: Likewise.
32753         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32754         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32755         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32756         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32757         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32758         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32759         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32760         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
32761         * tests/unistdio/test-u32-printf1.h: Likewise.
32762         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32763         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32764         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32765         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32766         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32767         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32768         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32769         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
32770         * tests/unistdio/test-u8-printf1.h: Likewise.
32771         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32772         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32773         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32774         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32775         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32776         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32777         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32778         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
32779         * tests/unistdio/test-ulc-printf1.h: Likewise.
32780         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32781         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32782         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32783         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32784         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32785         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32786         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32787         * tests/uniwidth/test-u16-width.c: Likewise.
32788         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32789         * tests/uniwidth/test-u32-width.c: Likewise.
32790         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32791         * tests/uniwidth/test-u8-width.c: Likewise.
32792         * tests/uniwidth/test-uc_width.c: Likewise.
32793         * config/srclist-update: Likewise.
32794         (fixlicense): Update to GPLv3+.
32795
32796         Change copyright notice from LGPLv2.1+ to LGPLv3+.
32797         * tests/test-tsearch.c: Change copyright notice.
32798
32799         Change copyright notice from LGPLv2.0+ to LGPLv3+.
32800         * lib/c-strcaseeq.h: Change copyright notice.
32801         * lib/streq.h: Likewise.
32802         * lib/uniconv.h: Likewise.
32803         * lib/uniconv/u-conv-from-enc.h: Likewise.
32804         * lib/uniconv/u-conv-to-enc.h: Likewise.
32805         * lib/uniconv/u-strconv-from-enc.h: Likewise.
32806         * lib/uniconv/u-strconv-to-enc.h: Likewise.
32807         * lib/uniconv/u16-conv-from-enc.c: Likewise.
32808         * lib/uniconv/u16-conv-to-enc.c: Likewise.
32809         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
32810         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
32811         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
32812         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
32813         * lib/uniconv/u32-conv-from-enc.c: Likewise.
32814         * lib/uniconv/u32-conv-to-enc.c: Likewise.
32815         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
32816         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
32817         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
32818         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
32819         * lib/uniconv/u8-conv-from-enc.c: Likewise.
32820         * lib/uniconv/u8-conv-to-enc.c: Likewise.
32821         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
32822         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
32823         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
32824         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
32825         * lib/uniname.h: Likewise.
32826         * lib/uniname/uniname.c: Likewise.
32827         * lib/unistdio.h: Likewise.
32828         * lib/unistdio/u-asnprintf.h: Likewise.
32829         * lib/unistdio/u-asprintf.h: Likewise.
32830         * lib/unistdio/u-printf-args.c: Likewise.
32831         * lib/unistdio/u-printf-args.h: Likewise.
32832         * lib/unistdio/u-printf-parse.h: Likewise.
32833         * lib/unistdio/u-snprintf.h: Likewise.
32834         * lib/unistdio/u-sprintf.h: Likewise.
32835         * lib/unistdio/u-vasprintf.h: Likewise.
32836         * lib/unistdio/u-vsnprintf.h: Likewise.
32837         * lib/unistdio/u-vsprintf.h: Likewise.
32838         * lib/unistdio/u16-asnprintf.c: Likewise.
32839         * lib/unistdio/u16-asprintf.c: Likewise.
32840         * lib/unistdio/u16-printf-parse.c: Likewise.
32841         * lib/unistdio/u16-snprintf.c: Likewise.
32842         * lib/unistdio/u16-sprintf.c: Likewise.
32843         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
32844         * lib/unistdio/u16-u16-asprintf.c: Likewise.
32845         * lib/unistdio/u16-u16-snprintf.c: Likewise.
32846         * lib/unistdio/u16-u16-sprintf.c: Likewise.
32847         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
32848         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
32849         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
32850         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
32851         * lib/unistdio/u16-vasnprintf.c: Likewise.
32852         * lib/unistdio/u16-vasprintf.c: Likewise.
32853         * lib/unistdio/u16-vsnprintf.c: Likewise.
32854         * lib/unistdio/u16-vsprintf.c: Likewise.
32855         * lib/unistdio/u32-asnprintf.c: Likewise.
32856         * lib/unistdio/u32-asprintf.c: Likewise.
32857         * lib/unistdio/u32-printf-parse.c: Likewise.
32858         * lib/unistdio/u32-snprintf.c: Likewise.
32859         * lib/unistdio/u32-sprintf.c: Likewise.
32860         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
32861         * lib/unistdio/u32-u32-asprintf.c: Likewise.
32862         * lib/unistdio/u32-u32-snprintf.c: Likewise.
32863         * lib/unistdio/u32-u32-sprintf.c: Likewise.
32864         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
32865         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
32866         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
32867         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
32868         * lib/unistdio/u32-vasnprintf.c: Likewise.
32869         * lib/unistdio/u32-vasprintf.c: Likewise.
32870         * lib/unistdio/u32-vsnprintf.c: Likewise.
32871         * lib/unistdio/u32-vsprintf.c: Likewise.
32872         * lib/unistdio/u8-asnprintf.c: Likewise.
32873         * lib/unistdio/u8-asprintf.c: Likewise.
32874         * lib/unistdio/u8-printf-parse.c: Likewise.
32875         * lib/unistdio/u8-snprintf.c: Likewise.
32876         * lib/unistdio/u8-sprintf.c: Likewise.
32877         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
32878         * lib/unistdio/u8-u8-asprintf.c: Likewise.
32879         * lib/unistdio/u8-u8-snprintf.c: Likewise.
32880         * lib/unistdio/u8-u8-sprintf.c: Likewise.
32881         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
32882         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
32883         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
32884         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
32885         * lib/unistdio/u8-vasnprintf.c: Likewise.
32886         * lib/unistdio/u8-vasprintf.c: Likewise.
32887         * lib/unistdio/u8-vsnprintf.c: Likewise.
32888         * lib/unistdio/u8-vsprintf.c: Likewise.
32889         * lib/unistdio/ulc-asnprintf.c: Likewise.
32890         * lib/unistdio/ulc-asprintf.c: Likewise.
32891         * lib/unistdio/ulc-printf-parse.c: Likewise.
32892         * lib/unistdio/ulc-snprintf.c: Likewise.
32893         * lib/unistdio/ulc-sprintf.c: Likewise.
32894         * lib/unistdio/ulc-vasnprintf.c: Likewise.
32895         * lib/unistdio/ulc-vasprintf.c: Likewise.
32896         * lib/unistdio/ulc-vsnprintf.c: Likewise.
32897         * lib/unistdio/ulc-vsprintf.c: Likewise.
32898         * lib/unistr.h: Likewise.
32899         * lib/unistr/u-cpy-alloc.h: Likewise.
32900         * lib/unistr/u-cpy.h: Likewise.
32901         * lib/unistr/u-endswith.h: Likewise.
32902         * lib/unistr/u-move.h: Likewise.
32903         * lib/unistr/u-set.h: Likewise.
32904         * lib/unistr/u-startswith.h: Likewise.
32905         * lib/unistr/u-stpcpy.h: Likewise.
32906         * lib/unistr/u-stpncpy.h: Likewise.
32907         * lib/unistr/u-strcat.h: Likewise.
32908         * lib/unistr/u-strcpy.h: Likewise.
32909         * lib/unistr/u-strcspn.h: Likewise.
32910         * lib/unistr/u-strdup.h: Likewise.
32911         * lib/unistr/u-strlen.h: Likewise.
32912         * lib/unistr/u-strncat.h: Likewise.
32913         * lib/unistr/u-strncpy.h: Likewise.
32914         * lib/unistr/u-strnlen.h: Likewise.
32915         * lib/unistr/u-strpbrk.h: Likewise.
32916         * lib/unistr/u-strspn.h: Likewise.
32917         * lib/unistr/u-strstr.h: Likewise.
32918         * lib/unistr/u-strtok.h: Likewise.
32919         * lib/unistr/u16-check.c: Likewise.
32920         * lib/unistr/u16-chr.c: Likewise.
32921         * lib/unistr/u16-cmp.c: Likewise.
32922         * lib/unistr/u16-cpy-alloc.c: Likewise.
32923         * lib/unistr/u16-cpy.c: Likewise.
32924         * lib/unistr/u16-endswith.c: Likewise.
32925         * lib/unistr/u16-mblen.c: Likewise.
32926         * lib/unistr/u16-mbsnlen.c: Likewise.
32927         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32928         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32929         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32930         * lib/unistr/u16-mbtouc.c: Likewise.
32931         * lib/unistr/u16-mbtoucr.c: Likewise.
32932         * lib/unistr/u16-move.c: Likewise.
32933         * lib/unistr/u16-next.c: Likewise.
32934         * lib/unistr/u16-prev.c: Likewise.
32935         * lib/unistr/u16-set.c: Likewise.
32936         * lib/unistr/u16-startswith.c: Likewise.
32937         * lib/unistr/u16-stpcpy.c: Likewise.
32938         * lib/unistr/u16-stpncpy.c: Likewise.
32939         * lib/unistr/u16-strcat.c: Likewise.
32940         * lib/unistr/u16-strchr.c: Likewise.
32941         * lib/unistr/u16-strcmp.c: Likewise.
32942         * lib/unistr/u16-strcpy.c: Likewise.
32943         * lib/unistr/u16-strcspn.c: Likewise.
32944         * lib/unistr/u16-strdup.c: Likewise.
32945         * lib/unistr/u16-strlen.c: Likewise.
32946         * lib/unistr/u16-strmblen.c: Likewise.
32947         * lib/unistr/u16-strmbtouc.c: Likewise.
32948         * lib/unistr/u16-strncat.c: Likewise.
32949         * lib/unistr/u16-strncmp.c: Likewise.
32950         * lib/unistr/u16-strncpy.c: Likewise.
32951         * lib/unistr/u16-strnlen.c: Likewise.
32952         * lib/unistr/u16-strpbrk.c: Likewise.
32953         * lib/unistr/u16-strrchr.c: Likewise.
32954         * lib/unistr/u16-strspn.c: Likewise.
32955         * lib/unistr/u16-strstr.c: Likewise.
32956         * lib/unistr/u16-strtok.c: Likewise.
32957         * lib/unistr/u16-to-u32.c: Likewise.
32958         * lib/unistr/u16-to-u8.c: Likewise.
32959         * lib/unistr/u16-uctomb-aux.c: Likewise.
32960         * lib/unistr/u16-uctomb.c: Likewise.
32961         * lib/unistr/u32-check.c: Likewise.
32962         * lib/unistr/u32-chr.c: Likewise.
32963         * lib/unistr/u32-cmp.c: Likewise.
32964         * lib/unistr/u32-cpy-alloc.c: Likewise.
32965         * lib/unistr/u32-cpy.c: Likewise.
32966         * lib/unistr/u32-endswith.c: Likewise.
32967         * lib/unistr/u32-mblen.c: Likewise.
32968         * lib/unistr/u32-mbsnlen.c: Likewise.
32969         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32970         * lib/unistr/u32-mbtouc.c: Likewise.
32971         * lib/unistr/u32-mbtoucr.c: Likewise.
32972         * lib/unistr/u32-move.c: Likewise.
32973         * lib/unistr/u32-next.c: Likewise.
32974         * lib/unistr/u32-prev.c: Likewise.
32975         * lib/unistr/u32-set.c: Likewise.
32976         * lib/unistr/u32-startswith.c: Likewise.
32977         * lib/unistr/u32-stpcpy.c: Likewise.
32978         * lib/unistr/u32-stpncpy.c: Likewise.
32979         * lib/unistr/u32-strcat.c: Likewise.
32980         * lib/unistr/u32-strchr.c: Likewise.
32981         * lib/unistr/u32-strcmp.c: Likewise.
32982         * lib/unistr/u32-strcpy.c: Likewise.
32983         * lib/unistr/u32-strcspn.c: Likewise.
32984         * lib/unistr/u32-strdup.c: Likewise.
32985         * lib/unistr/u32-strlen.c: Likewise.
32986         * lib/unistr/u32-strmblen.c: Likewise.
32987         * lib/unistr/u32-strmbtouc.c: Likewise.
32988         * lib/unistr/u32-strncat.c: Likewise.
32989         * lib/unistr/u32-strncmp.c: Likewise.
32990         * lib/unistr/u32-strncpy.c: Likewise.
32991         * lib/unistr/u32-strnlen.c: Likewise.
32992         * lib/unistr/u32-strpbrk.c: Likewise.
32993         * lib/unistr/u32-strrchr.c: Likewise.
32994         * lib/unistr/u32-strspn.c: Likewise.
32995         * lib/unistr/u32-strstr.c: Likewise.
32996         * lib/unistr/u32-strtok.c: Likewise.
32997         * lib/unistr/u32-to-u16.c: Likewise.
32998         * lib/unistr/u32-to-u8.c: Likewise.
32999         * lib/unistr/u32-uctomb.c: Likewise.
33000         * lib/unistr/u8-check.c: Likewise.
33001         * lib/unistr/u8-chr.c: Likewise.
33002         * lib/unistr/u8-cmp.c: Likewise.
33003         * lib/unistr/u8-cpy-alloc.c: Likewise.
33004         * lib/unistr/u8-cpy.c: Likewise.
33005         * lib/unistr/u8-endswith.c: Likewise.
33006         * lib/unistr/u8-mblen.c: Likewise.
33007         * lib/unistr/u8-mbsnlen.c: Likewise.
33008         * lib/unistr/u8-mbtouc-aux.c: Likewise.
33009         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
33010         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
33011         * lib/unistr/u8-mbtouc.c: Likewise.
33012         * lib/unistr/u8-mbtoucr.c: Likewise.
33013         * lib/unistr/u8-move.c: Likewise.
33014         * lib/unistr/u8-next.c: Likewise.
33015         * lib/unistr/u8-prev.c: Likewise.
33016         * lib/unistr/u8-set.c: Likewise.
33017         * lib/unistr/u8-startswith.c: Likewise.
33018         * lib/unistr/u8-stpcpy.c: Likewise.
33019         * lib/unistr/u8-stpncpy.c: Likewise.
33020         * lib/unistr/u8-strcat.c: Likewise.
33021         * lib/unistr/u8-strchr.c: Likewise.
33022         * lib/unistr/u8-strcmp.c: Likewise.
33023         * lib/unistr/u8-strcpy.c: Likewise.
33024         * lib/unistr/u8-strcspn.c: Likewise.
33025         * lib/unistr/u8-strdup.c: Likewise.
33026         * lib/unistr/u8-strlen.c: Likewise.
33027         * lib/unistr/u8-strmblen.c: Likewise.
33028         * lib/unistr/u8-strmbtouc.c: Likewise.
33029         * lib/unistr/u8-strncat.c: Likewise.
33030         * lib/unistr/u8-strncmp.c: Likewise.
33031         * lib/unistr/u8-strncpy.c: Likewise.
33032         * lib/unistr/u8-strnlen.c: Likewise.
33033         * lib/unistr/u8-strpbrk.c: Likewise.
33034         * lib/unistr/u8-strrchr.c: Likewise.
33035         * lib/unistr/u8-strspn.c: Likewise.
33036         * lib/unistr/u8-strstr.c: Likewise.
33037         * lib/unistr/u8-strtok.c: Likewise.
33038         * lib/unistr/u8-to-u16.c: Likewise.
33039         * lib/unistr/u8-to-u32.c: Likewise.
33040         * lib/unistr/u8-uctomb-aux.c: Likewise.
33041         * lib/unistr/u8-uctomb.c: Likewise.
33042         * lib/unitypes.h: Likewise.
33043         * lib/uniwidth.h: Likewise.
33044         * lib/uniwidth/cjk.h: Likewise.
33045         * lib/uniwidth/u16-strwidth.c: Likewise.
33046         * lib/uniwidth/u16-width.c: Likewise.
33047         * lib/uniwidth/u32-strwidth.c: Likewise.
33048         * lib/uniwidth/u32-width.c: Likewise.
33049         * lib/uniwidth/u8-strwidth.c: Likewise.
33050         * lib/uniwidth/u8-width.c: Likewise.
33051         * lib/uniwidth/width.c: Likewise.
33052
33053 2007-10-07  Bruno Haible  <bruno@clisp.org>
33054
33055         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
33056         The file is still under LGPL (see modules/inttypes).
33057
33058 2007-10-06  Bruno Haible  <bruno@clisp.org>
33059
33060         * modules/trunc (Dependencies): Add 'extensions'.
33061         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
33062         Reported by Ben Pfaff <blp@gnu.org>.
33063
33064 2007-10-06  Bruno Haible  <bruno@clisp.org>
33065
33066         * modules/freopen-tests: New file.
33067         * tests/test-freopen.c: New file.
33068
33069         * modules/fopen-tests: New file.
33070         * tests/test-fopen.c: New file.
33071
33072         * modules/fopen: New file.
33073         * lib/fopen.c: New file.
33074         * m4/fopen.m4: New file.
33075         * modules/freopen: New file.
33076         * lib/freopen.c: New file.
33077         * m4/freopen.m4: New file.
33078         * lib/stdio.in.h (fopen, freopen): New declarations.
33079         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
33080         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
33081         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
33082         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
33083         * doc/functions/fopen.texi: Mention the 'fopen' module.
33084         * doc/functions/freopen.texi: Mention the 'freopen' module.
33085
33086 2007-10-06  Bruno Haible  <bruno@clisp.org>
33087
33088         * modules/open-tests: New file.
33089         * tests/test-open.c: New file.
33090
33091         * modules/open: New file.
33092         * lib/open.c: New file.
33093         * m4/open.m4: New file.
33094         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
33095         lib/open.c does.
33096         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
33097         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
33098         macros.
33099         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
33100         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
33101         REPLACE_OPEN.
33102         * doc/functions/open.texi: Mention the 'open' module.
33103
33104 2007-10-04  Bruno Haible  <bruno@clisp.org>
33105
33106         * modules/ceill-tests: New file.
33107         * tests/test-ceill.c: New file.
33108
33109         * modules/ceill: New file.
33110         * lib/ceill.c: Replace entire file.
33111         * m4/ceill.m4: New file.
33112         * lib/math.in.h (ceill): Replace declaration.
33113         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
33114         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
33115         * doc/functions/ceill.texi: Mention the 'ceill' module.
33116         * modules/mathl (Files): Remove lib/ceill.c.
33117         (Depends-on): Add ceill.
33118
33119 2007-10-04  Bruno Haible  <bruno@clisp.org>
33120
33121         * modules/ceilf-tests: New file.
33122         * tests/test-ceilf.c: New file.
33123
33124         * modules/ceilf: New file.
33125         * lib/ceil.c: New file.
33126         * lib/ceilf.c: New file.
33127         * m4/ceilf.m4: New file.
33128         * lib/math.in.h (ceilf): New declaration.
33129         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
33130         HAVE_DECL_CEILF.
33131         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
33132         HAVE_DECL_CEILF.
33133         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
33134
33135 2007-10-04  Bruno Haible  <bruno@clisp.org>
33136
33137         * modules/floorl-tests: New file.
33138         * tests/test-floorl.c: New file.
33139
33140         * modules/floorl: New file.
33141         * lib/floorl.c: Replace entire file.
33142         * m4/floorl.m4: New file.
33143         * lib/math.in.h (floorl): Replace declaration.
33144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
33145         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
33146         * doc/functions/floorl.texi: Mention the 'floorl' module.
33147         * modules/mathl (Files): Remove lib/floorl.c.
33148         (Depends-on): Add floorl.
33149
33150 2007-10-04  Bruno Haible  <bruno@clisp.org>
33151
33152         * modules/floorf-tests: New file.
33153         * tests/test-floorf.c: New file.
33154
33155         * modules/floorf: New file.
33156         * lib/floor.c: New file.
33157         * lib/floorf.c: New file.
33158         * m4/floorf.m4: New file.
33159         * lib/math.in.h (floorf): New declaration.
33160         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
33161         HAVE_DECL_FLOORF.
33162         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
33163         HAVE_DECL_FLOORF.
33164         * doc/functions/floorf.texi: Mention the 'floorf' module.
33165
33166 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
33167             Bruno Haible  <bruno@clisp.org>
33168
33169         Advertise for the Git server instead of the CVS server.
33170         * doc/gnulib-intro.texi (Steady Development): Mention the Git
33171         repository instead of the CVS one.
33172         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
33173         about all VCS systems generically.
33174         * doc/gnulib.texi (Introduction): Capitalize `Git'.
33175
33176 2007-10-04  Bruno Haible  <bruno@clisp.org>
33177
33178         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
33179         means.
33180         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
33181
33182 2007-10-04  Bruno Haible  <bruno@clisp.org>
33183
33184         * modules/truncl-tests: New file.
33185         * tests/test-truncl.c: New file.
33186
33187         * modules/truncl: New file.
33188         * lib/truncl.c: New file.
33189         * m4/truncl.m4: New file.
33190         * lib/math.in.h (truncl): New declaration.
33191         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
33192         HAVE_DECL_TRUNCL.
33193         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
33194         HAVE_DECL_TRUNCL.
33195         * doc/functions/truncl.texi: Mention the 'truncl' module.
33196
33197 2007-10-04  Bruno Haible  <bruno@clisp.org>
33198
33199         * modules/truncf-tests: New file.
33200         * tests/test-truncf.c: New file.
33201
33202         * modules/truncf: New file.
33203         * lib/trunc.c: Make paramerizable through USE_* macros.
33204         * lib/truncf.c: New file.
33205         * m4/truncf.m4: New file.
33206         * lib/math.in.h (truncf): New declaration.
33207         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
33208         HAVE_DECL_TRUNCF.
33209         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
33210         HAVE_DECL_TRUNCF.
33211         * doc/functions/truncf.texi: Mention the 'truncf' module.
33212
33213 2007-10-03  Bruno Haible  <bruno@clisp.org>
33214
33215         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
33216         augmentation also for tests modules.
33217         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
33218         * modules/atexit-tests (Makefile.am): Likewise.
33219         * modules/binary-io-tests (Makefile.am): Likewise.
33220         * modules/c-strcase-tests (Makefile.am): Likewise.
33221         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
33222         * modules/canonicalize-tests (Makefile.am): Likewise.
33223         * modules/closein-tests (Makefile.am): Likewise.
33224         * modules/fprintf-posix-tests (Makefile.am): Likewise.
33225         * modules/freadahead-tests (Makefile.am): Likewise.
33226         * modules/fseek-tests (Makefile.am): Likewise.
33227         * modules/fseeko-tests (Makefile.am): Likewise.
33228         * modules/ftell-tests (Makefile.am): Likewise.
33229         * modules/ftello-tests (Makefile.am): Likewise.
33230         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
33231         * modules/isnanl-tests (Makefile.am): Likewise.
33232         * modules/lseek-tests (Makefile.am): Likewise.
33233         * modules/mbscasecmp-tests (Makefile.am): Likewise.
33234         * modules/mbscasestr-tests (Makefile.am): Likewise.
33235         * modules/mbschr-tests (Makefile.am): Likewise.
33236         * modules/mbscspn-tests (Makefile.am): Likewise.
33237         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
33238         * modules/mbspbrk-tests (Makefile.am): Likewise.
33239         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
33240         * modules/mbsrchr-tests (Makefile.am): Likewise.
33241         * modules/mbsspn-tests (Makefile.am): Likewise.
33242         * modules/mbsstr-tests (Makefile.am): Likewise.
33243         * modules/printf-posix-tests (Makefile.am): Likewise.
33244         * modules/snprintf-posix-tests (Makefile.am): Likewise.
33245         * modules/sprintf-posix-tests (Makefile.am): Likewise.
33246         * modules/tsearch-tests (Makefile.am): Likewise.
33247         * modules/uniname/uniname-tests (Makefile.am): Likewise.
33248         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
33249         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
33250         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
33251         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
33252         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
33253         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
33254         * modules/vprintf-posix-tests (Makefile.am): Likewise.
33255         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
33256         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
33257         * modules/xstrtoimax-tests (Makefile.am): Likewise.
33258         * modules/xstrtol-tests (Makefile.am): Likewise.
33259         * modules/xstrtoumax-tests (Makefile.am): Likewise.
33260         * modules/yesno-tests (Makefile.am): Likewise.
33261
33262 2007-10-03  Bruno Haible  <bruno@clisp.org>
33263
33264         * modules/trunc-tests: New file.
33265         * tests/test-trunc.c: New file.
33266
33267         * modules/trunc: New file.
33268         * lib/trunc.c: New file.
33269         * m4/trunc.m4: New file.
33270         * lib/math.in.h (trunc): New declaration.
33271         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
33272         HAVE_DECL_TRUNC.
33273         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
33274         HAVE_DECL_TRUNC.
33275         * doc/functions/trunc.texi: Mention the 'trunc' module.
33276
33277 2007-10-03  Bruno Haible  <bruno@clisp.org>
33278
33279         * tests/test-fpending.c: New file, mostly copied
33280         from coreutils/lib/t-fpending.c.
33281         * modules/fpending-tests: New file.
33282
33283 2007-10-03  Bruno Haible  <bruno@clisp.org>
33284
33285         Port the stdio extensions to QNX (untested).
33286         * lib/fseterr.c (fseterr): Add support for QNX.
33287         * lib/fbufmode.c (fbufmode): Likewise.
33288         * lib/freadable.c (freadable): Likewise.
33289         * lib/fwritable.c (fwritable): Likewise.
33290         * lib/freading.c (freading): Likewise.
33291         * lib/fwriting.c (fwriting): Likewise.
33292         * lib/freadahead.c (freadahed): Likewise.
33293         * lib/fpurge.c (fpurge): Likewise.
33294         * lib/fseeko.c (rpl_fseeko): Likewise.
33295
33296 2007-10-03  Bruno Haible  <bruno@clisp.org>
33297             Jim Meyering  <jim@meyering.net>
33298             Eric Blake  <ebb9@byu.net>
33299
33300         * doc/relocatable.texi: Use @command instead of @program.
33301
33302 2007-10-02  Jim Meyering  <jim@meyering.net>
33303
33304         Perform one more "_.h" -> ".in.h" substitution.
33305         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
33306         instead of unistd_.h here, too.
33307
33308 2007-10-01  Bruno Haible  <bruno@clisp.org>
33309
33310         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
33311         Needed for the alloca-opt module.
33312
33313 2007-09-30  Bruno Haible  <bruno@clisp.org>
33314
33315         * lib/alloca.in.h: Renamed from lib/alloca_.h.
33316         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
33317         alloca_.h.
33318         * lib/argz.in.h: Renamed from lib/argz_.h.
33319         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
33320         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
33321         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
33322         byteswap_.h.
33323         * lib/dirent.in.h: Renamed from lib/dirent_.h.
33324         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
33325         dirent_.h.
33326         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
33327         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
33328         fcntl_.h.
33329         * lib/float.in.h: Renamed from lib/float_.h.
33330         * modules/float (Files, Makefile.am): Use float.in.h instead of
33331         float_.h.
33332         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
33333         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
33334         fnmatch_.h.
33335         * lib/getopt.in.h: Renamed from lib/getopt_.h.
33336         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
33337         getopt_.h.
33338         * lib/glob.in.h: Renamed from lib/glob_.h.
33339         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
33340         * lib/iconv.in.h: Renamed from lib/iconv_.h.
33341         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
33342         iconv_.h.
33343         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
33344         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
33345         inttypes_.h.
33346         * lib/locale.in.h: Renamed from lib/locale_.h.
33347         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
33348         locale_.h.
33349         * lib/math.in.h: Renamed from lib/math_.h.
33350         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
33351         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
33352         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
33353         of netinet_in_.h. Add dependency.
33354         * lib/poll.in.h: Renamed from lib/poll_.h.
33355         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
33356         * lib/search.in.h: Renamed from lib/search_.h.
33357         * modules/search (Files, Makefile.am): Use search.in.h instead of
33358         search_.h.
33359         * lib/signal.in.h: Renamed from lib/signal_.h.
33360         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
33361         _signal.h.
33362         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
33363         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
33364         stdbool_.h.
33365         * lib/stdint.in.h: Renamed from lib/stdint_.h.
33366         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
33367         stdint_.h.
33368         * lib/stdio.in.h: Renamed from lib/stdio_.h.
33369         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
33370         stdio_.h.
33371         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
33372         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
33373         stdlib_.h.
33374         * lib/string.in.h: Renamed from lib/string_.h.
33375         * modules/string (Files, Makefile.am): Use string.in.h instead of
33376         string_.h.
33377         * doc/gnulib-tool.texi (Initial import): Update.
33378         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
33379         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
33380         of sys_select_.h. Add dependency.
33381         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
33382         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
33383         of sys_socket_.h.
33384         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
33385         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
33386         sys_stat_.h.
33387         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
33388         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
33389         sys_time_.h.
33390         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
33391         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
33392         sysexits_.h.
33393         * lib/time.in.h: Renamed from lib/time_.h.
33394         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
33395         * lib/unistd.in.h: Renamed from lib/unistd_.h.
33396         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
33397         unistd_.h.
33398         * lib/wchar.in.h: Renamed from lib/wchar_.h.
33399         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
33400         wchar_.h.
33401         * lib/wctype.in.h: Renamed from lib/wctype_.h.
33402         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
33403         wctype_.h.
33404         * build-aux/bootstrap (slurp): Update.
33405         * lib/.cppi-disable: Update.
33406
33407 2007-09-30  Bruno Haible  <bruno@clisp.org>
33408
33409         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
33410         Needed on BeOS.
33411
33412 2007-09-30  Bruno Haible  <bruno@clisp.org>
33413
33414         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
33415
33416 2007-09-29  Bruno Haible  <bruno@clisp.org>
33417
33418         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
33419
33420 2007-09-29  Bruno Haible  <bruno@clisp.org>
33421
33422         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
33423         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
33424         * build-aux/install-reloc: Compile also areadlink.c.
33425         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
33426
33427 2007-09-29  Bruno Haible  <bruno@clisp.org>
33428
33429         * gnulib-tool (func_emit_initmacro_done): Indentation.
33430
33431 2007-09-29  Bruno Haible  <bruno@clisp.org>
33432
33433         * README: Add CVS checkout update instructions.
33434         Info from Bob Proulx <bob@proulx.com>.
33435
33436 2007-09-28  Eric Blake  <ebb9@byu.net>
33437
33438         Provide move-if-change.
33439         * build-aux/move-if-change: New file, based on best practice
33440         rather than any canonical upstream location.
33441
33442 2007-09-28  Jim Meyering  <jim@meyering.net>
33443
33444         Fix canonicalize loop-detection corner case.
33445         Do not attempt to stat the symlink values stored via seen_triple.
33446         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
33447         on linux-2.6.18, (but not 2.6.22).
33448         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
33449         triple_compare.  The former compares dev,ino,filename, while the latter
33450         would actually stat dirname(filename) when dev and ino were equal.
33451         * lib/hash-triple.c: Install <string.h>.
33452         (STREQ): Define.
33453         (triple_compare_ino_str): New function.
33454         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
33455
33456 2007-09-28  Eric Blake  <ebb9@byu.net>
33457
33458         Enforce that AC_REPLACE_FUNCS files exist.
33459         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
33460         override check for typos.
33461
33462         Fix test-closein on Solaris 10.
33463         * tests/test-closein.c (main): Don't assume stdin can be inherited
33464         closed on all systems.
33465         * tests/test-closein.sh: Likewise.
33466         Reported by Piotr Tarnowski.
33467
33468 2007-09-28  Jim Meyering  <jim@meyering.net>
33469
33470         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
33471
33472 2007-09-27  Jim Meyering  <jim@meyering.net>
33473
33474         canonicalize: Avoid a false-positive cycle failure.
33475         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
33476         Sort.  Remove cycle-check.
33477         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
33478         not cycle-check.h.
33479         (seen_triple): New function.
33480         (canonicalize_filename_mode): Use it instead of cycle-check.
33481         * tests/test-canonicalize.c: Add a test for this bug.
33482         * tests/test-canonicalize.sh: Set up and run the test.
33483
33484         New module, file-set, from coreutils.
33485         * modules/file-set: Define it.
33486         * lib/file-set.c, lib/file-set.h: Implement.
33487
33488         New module, hash-triple, from coreutils.
33489         * modules/hash-triple: Define it.
33490         * lib/hash-triple.c, lib/hash-triple.h: Implement.
33491
33492 2007-09-25  Eric Blake  <ebb9@byu.net>
33493
33494         Fix strerror on Interix.
33495         * lib/string_.h (strerror): Declare replacement.
33496         * doc/functions/strerror.texi (strerror): Document the Interix
33497         shortcoming.
33498         * modules/string (Makefile.am): Support new hooks.
33499         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
33500         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
33501         gl_FUNC_STRERROR_SEPARATE.
33502         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
33503         * lib/strerror.c (rpl_strerror): Provide replacement.
33504         * modules/strerror (Depends-on): Add string.
33505         (configure.ac): Detect use of module.
33506         * tests/test-strerror.c: New file.
33507         * modules/strerror-tests: New test module.
33508         * modules/argp (Depends-on): Add strerror.
33509         * modules/error (Depends-on): Likewise.
33510         Reported by Martin Koeppe.
33511
33512 2007-09-24  Bruno Haible  <bruno@clisp.org>
33513
33514         * README: Update git instructions.
33515
33516 2007-09-24  Eric Blake  <ebb9@byu.net>
33517
33518         Revert fpending breakage from 2007-09-08.
33519         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
33520         __fpending.c.
33521
33522 2007-09-24  Jim Meyering  <jim@meyering.net>
33523
33524         filenamecat.c: Add a test.
33525         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
33526         showing how the function works when DIR is the empty string.
33527
33528 2007-09-21  Simon Josefsson  <simon@josefsson.org>
33529
33530         * tests/test-canonicalize.sh: Turn on executable bit.
33531
33532 2007-09-19  Eric Blake  <ebb9@byu.net>
33533
33534         * README: Update CVS instructions.
33535
33536 2007-09-18  Bruno Haible  <bruno@clisp.org>
33537
33538         * modules/areadlink: New file.
33539         * lib/areadlink.h (areadlink): New declaration.
33540         * lib/areadlink.c: New file, based on lib/xreadlink.c.
33541
33542 2007-09-17  Jim Meyering  <jim@meyering.net>
33543
33544         * lib/savewd.c (ESTALE) [!defined]: Define.
33545         Reported to be required on Interix by Martin Koeppe.
33546
33547 2007-09-17  Bruno Haible  <bruno@clisp.org>
33548
33549         * gnulib-tool (func_version): Use $version.
33550
33551 2007-09-16  Bruno Haible  <bruno@clisp.org>
33552
33553         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
33554         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
33555         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
33556         Reported by Greg Schafer <gschafer@zip.com.au>.
33557
33558 2007-09-15  Bruno Haible  <bruno@clisp.org>
33559
33560         * gnulib-tool (sed): Try a little harder to make bash understand the
33561         alias.
33562         Reported by Bruce Korb <bruce.korb@gmail.com>.
33563
33564 2007-09-13  Eric Blake  <ebb9@byu.net>
33565
33566         * ChangeLog: Remove conflict markers.
33567
33568 2007-09-13  Simon Josefsson  <simon@josefsson.org>
33569
33570         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
33571         Reported by Bruno Haible <bruno@clisp.org>.
33572
33573 2007-09-12  Bruno Haible  <bruno@clisp.org>
33574
33575         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
33576         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
33577         is not defined.
33578
33579 2007-09-12  Eric Blake  <ebb9@byu.net>
33580
33581         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
33582         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
33583         Autoconf definition.
33584         * modules/euidaccess (Depends-on): Add extensions, for
33585         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
33586         * modules/fnmatch (Depends-on): Likewise.
33587         * modules/getaddrinfo (Depends-on): Likewise.
33588         * modules/getdelim (Depends-on): Likewise.
33589         * modules/getline (Depends-on): Likewise.
33590         * modules/getsubopt (Depends-on): Likewise.
33591         * modules/gettext (Depends-on): Likewise.
33592         * modules/group-member (Depends-on): Likewise.
33593         * modules/mbchar (Depends-on): Likewise.
33594         * modules/memmem (Depends-on): Likewise.
33595         * modules/mempcpy (Depends-on): Likewise.
33596         * modules/memrchr (Depends-on): Likewise.
33597         * modules/pagealign_alloc (Depends-on): Likewise.
33598         * modules/readutmp (Depends-on): Likewise.
33599         * modules/stpcpy (Depends-on): Likewise.
33600         * modules/stpncpy (Depends-on): Likewise.
33601         * modules/strchrnul (Depends-on): Likewise.
33602         * modules/strndup (Depends-on): Likewise.
33603         * modules/strsep (Depends-on): Likewise.
33604         * modules/strverscmp (Depends-on): Likewise.
33605         * modules/vasprintf (Depends-on): Likewise.
33606         * modules/wcwidth (Depends-on): Likewise.
33607         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
33608         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
33609         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
33610         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
33611         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
33612         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33613         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
33614         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
33615         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
33616         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33617         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
33618         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
33619         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
33620         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
33621         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
33622         * m4/readutmp.m4 (gl_READUTMP): Likewise.
33623         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33624         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
33625         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
33626         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
33627         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
33628         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
33629         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
33630         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
33631         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
33632         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
33633         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
33634         so that lock.m4 can be used in gettext without extensions module.
33635
33636 2007-09-11  Bruno Haible  <bruno@clisp.org>
33637
33638         * m4/isc-posix.m4: Remove file.
33639         Suggested by Eric Blake.
33640
33641 2007-09-11  Eric Blake  <ebb9@byu.net>
33642
33643         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
33644
33645 2007-09-10  Bruno Haible  <bruno@clisp.org>
33646
33647         * posix-modules: Fix typo in error message.
33648         Reported by Matt <mkraai@beckman.com>.
33649
33650 2007-09-09  Bruno Haible  <bruno@clisp.org>
33651
33652         * doc/functions/getdelim.texi: Update list of platforms lacking the
33653         function.
33654         * doc/functions/getline.texi: Likewise.
33655
33656 2007-09-09  Jim Meyering  <jim@meyering.net>
33657
33658         * lib/hash.c (hash_initialize): Detect calloc failure.
33659         Reported by Bruno Haible.
33660
33661 2007-09-09  Bruno Haible  <bruno@clisp.org>
33662
33663         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
33664         malloc or realloc fails.
33665
33666 2007-09-09  Bruno Haible  <bruno@clisp.org>
33667
33668         * modules/getcwd (Depends-on): Add malloc-posix.
33669         * modules/glob (Depends-on): Likewise.
33670         * modules/putenv (Depends-on): Likewise.
33671         * modules/strdup (Depends-on): Likewise.
33672         * modules/getdelim (Depends-on): Add realloc-posix.
33673         * modules/read-file (Depends-on): Likewise.
33674
33675 2007-09-09  Bruno Haible  <bruno@clisp.org>
33676
33677         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
33678         (gl_FUNC_MALLOC_POSIX): Require it.
33679         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
33680         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
33681         * modules/realloc (Files): Add m4/malloc.m4.
33682         * modules/calloc (Files): Likewise.
33683
33684 2007-09-09  Bruno Haible  <bruno@clisp.org>
33685
33686         * modules/malloc-posix: New file.
33687         * modules/malloc (Depends-on): Add malloc-posix.
33688         * lib/malloc.c: Include errno.h.
33689         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
33690         and a POSIX-compatible malloc into a single function. Set ENOMEM
33691         when returning NULL.
33692         * m4/malloc.m4: New file.
33693         * doc/functions/malloc.texi: Mention the malloc-posix module.
33694         * lib/stdlib_.h (malloc): New declaration.
33695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33696         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
33697         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
33698         and HAVE_MALLOC_POSIX.
33699
33700 2007-09-09  Bruno Haible  <bruno@clisp.org>
33701
33702         * modules/realloc-posix: New file.
33703         * modules/realloc (Depends-on): Add realloc-posix.
33704         * lib/realloc.c: Include errno.h.
33705         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
33706         and a POSIX-compatible realloc into a single function. Set ENOMEM
33707         when returning NULL.
33708         * m4/realloc.m4: New file.
33709         * doc/functions/realloc.texi: Mention the realloc-posix module.
33710         * lib/stdlib_.h (realloc): New declaration.
33711         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33712         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
33713         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
33714         and HAVE_REALLOC_POSIX.
33715
33716 2007-09-09  Bruno Haible  <bruno@clisp.org>
33717
33718         * modules/calloc-posix: New file.
33719         * modules/calloc (Depends-on): Add calloc-posix.
33720         * lib/calloc.c: Include errno.h.
33721         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
33722         and a POSIX-compatible calloc into a single function. Set ENOMEM
33723         when returning NULL.
33724         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
33725         * doc/functions/calloc.texi: Mention the calloc-posix module.
33726         * lib/stdlib_.h (calloc): New declaration.
33727         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
33728         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
33729         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
33730         and HAVE_CALLOC_POSIX.
33731
33732 2007-09-09  Bruno Haible  <bruno@clisp.org>
33733
33734         Allow for modules to show an arbitrary notice.
33735         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
33736         * gnulib-tool: New option --extract-notice.
33737         (func_usage): Document it.
33738         (sed_extract_prog): Update.
33739         (func_get_notice): New function.
33740         (func_modules_notice): New function.
33741         (func_import, func_create_testdir): Invoke it.
33742         Suggested by Jim Meyering.
33743
33744 2007-09-09  Bruno Haible  <bruno@clisp.org>
33745
33746         * gnulib-tool: New options --verbose, --quiet.
33747         (func_usage): Document them.
33748         (verbose): New variable.
33749         (func_execute_command): New function.
33750         (func_import): Don't show the module list and the file list if
33751         $verbose < 0.
33752         (func_create_testdir): Likewise. Use func_execute_command.
33753         (func_create_megatestdir): Use func_execute_command.
33754
33755 2007-09-08  Bruno Haible  <bruno@clisp.org>
33756
33757         * gnulib-tool (func_import): Prefer rsync over wget when available,
33758         for fetching the PO files.
33759
33760 2007-09-08  Bruno Haible  <bruno@clisp.org>
33761
33762         * posix-modules: New file. Portions copied from gnulib-tool.
33763         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
33764
33765 2007-09-08  Jim Meyering  <jim@meyering.net>
33766
33767         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
33768         * lib/fpending.h: Rename from __fpending.h.
33769         * lib/fpending.c: Rename from __fpending.c.
33770         Include "fpending.h", not "__fpending.h".
33771         * lib/__fpending.h, lib/__fpending.c: Remove files.
33772         * modules/fpending (Files): Reflect new file names.
33773         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
33774
33775 2007-09-08  Bruno Haible  <bruno@clisp.org>
33776
33777         * m4/inttypes-h.m4: Remove stub file.
33778
33779 2007-09-07  Simon Josefsson  <simon@josefsson.org>
33780
33781         * doc/headers/stdint.texi: Discuss #include_next issue.
33782
33783 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
33784
33785         * build-aux/bootstrap: Remove obsolete comment about wget --help.
33786
33787 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33788
33789         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
33790         in variable name.
33791
33792 2007-09-03  Jim Meyering  <jim@meyering.net>
33793
33794         New module: git-version-gen.
33795         * modules/git-version-gen: New file.
33796
33797         Import changes from coreutils for bootstrap script.
33798
33799         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
33800
33801         bootstrap: uses rsync to download the .po files
33802         * build-aux/bootstrap (po_download_command_format): New global.
33803         (download_po_files): Use rsync.
33804         (update_po_files): Don't remove .po files after download,
33805         so future rsync runs can take advantage of the copies.
33806
33807         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
33808
33809         Solve the unnecessary-.po-file-regeneration problem once and for all.
33810         * build-aux/bootstrap (download_po_files): New function, renamed from
33811         get_translations.  Now, downloads, but doesn't update LINGUAS.
33812         (update_po_files): New function.
33813
33814         bootstrap: Ignore more.
33815         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
33816         uniwidth to e.g., lib/.gitignore.
33817         (slurp): Handle the sys_stat_.h -> sys mapping, too.
33818
33819         * build-aux/bootstrap: New setting: vc_ignore.
33820         (insert_sorted_if_absent): Create $file if absent.
33821         Adapt to new, possibly empty, list: $vc_ignore.
33822
33823         bootstrap: generate more ignorable names
33824         * build-aux/bootstrap (slurp): When generating ignorable names,
33825         also map .sin to .sed, .gperf to .c, and .y to .c.
33826
33827 2007-09-03  Jim Meyering  <jim@meyering.net>
33828
33829         * build-aux/git-version-gen: New file, from coreutils.  For details, see
33830         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
33831
33832 2007-09-02  Bruno Haible  <bruno@clisp.org>
33833
33834         Fix mis-recognition of 'mcs' on QNX 6.
33835         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
33836         output contains the string "Mono".
33837         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
33838         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
33839
33840 2007-09-01  Bruno Haible  <bruno@clisp.org>
33841
33842         Fix collision between uniwidth/* and linebreak modules.
33843         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
33844         u32_width): Remove declarations.
33845         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
33846         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
33847         streq3, streq2, streq1, streq0): Remove functions.
33848         (STREQ): Remove macro.
33849         (is_cjk_encoding): Remove function.
33850         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
33851         (uc_width, u8_width, u16_width, u32_width): Remove functions.
33852         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
33853         * NEWS: Document the change.
33854
33855 2007-09-01  Bruno Haible  <bruno@clisp.org>
33856
33857         * lib/streq.h: Add double-inclusion guard.
33858
33859 2007-09-01  Karl Berry  <karl@gnu.org>
33860
33861         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
33862
33863 2007-08-28  Jim Meyering  <jim@meyering.net>
33864
33865         Rename mreadlink_with_size to areadlink_with_size.
33866         * NEWS: Document the change.
33867         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
33868         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
33869         * lib/mreadlink.h: Rename this to...
33870         * lib/areadlink.h: ...this.
33871         * modules/mreadlink-with-size: Rename this to...
33872         * modules/areadlink-with-size: ...this.
33873         * lib/canonicalize.c: Reflect the renaming.
33874         * modules/canonicalize: Likewise.
33875
33876 2007-08-26  Bruno Haible  <bruno@clisp.org>
33877
33878         * gnulib-tool (func_import): When deciding which files to remove,
33879         consider also dangling symbolic links.
33880         Reported by Eric Blake.
33881
33882 2007-08-26  Bruno Haible  <bruno@clisp.org>
33883
33884         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
33885
33886 2007-08-23  Simon Josefsson  <simon@josefsson.org>
33887
33888         * lib/readline.c: Don't include getline.h, the prototype is now
33889         found in stdio.h.
33890
33891 2007-08-23  Jim Meyering  <jim@meyering.net>
33892
33893         Getdelim touchup.
33894         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
33895         around the funlockfile call, since funlockfile never sets errno.
33896         Don't set errno upon failed realloc.
33897
33898 2007-08-22  Eric Blake  <ebb9@byu.net>
33899
33900         Getline touchups.
33901         * lib/getdelim.c (getdelim): Revert regression that required *n to
33902         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
33903         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
33904         getdelim, rather than whether implementation is missing.
33905         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
33906         * lib/stdio_.h (getline): Also declare if replacement is
33907         required.
33908         * doc/functions/getdelim.texi: New file.
33909         * doc/functions/getline.texi: Likewise.
33910         * doc/gnulib.texi (Function Substitutes): Add new files.
33911         Reported by Bruno Haible.
33912
33913 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
33914
33915         * users.txt: Add Guile.
33916
33917 2007-08-22  Eric Blake  <ebb9@byu.net>
33918
33919         * tests/test-getdelim.c (main): Use remove, not unlink.
33920         * tests/test-getline.c (main): Likewise.
33921
33922         Move getline and getdelim into stdio.h, per POSIX 200x.
33923         * modules/getline (Files): Remove getline.h.
33924         (Depends-on): Add stdio.
33925         (configure.ac): Add module indicator.
33926         * modules/getdelim (Files): Remove getdelim.h.
33927         (Depends-on): Add stdio.
33928         (configure.ac): Add module indicator.
33929         * modules/stdio (Makefile.am): Work with new indicators.
33930         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33931         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
33932         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33933         * lib/getdelim.h: Delete.
33934         * lib/getline.h: Delete.
33935         * lib/stdio_.h (getdelim, getline): Declare.
33936         * modules/getdelim-tests: New module.
33937         * modules/getline-tests: Likewise.
33938         * tests/test-getdelim.c: New file.
33939         * tests/test-getline.c: Likewise.
33940         * NEWS: Document the change.
33941         * lib/getline.c: Update choice of header.
33942         * lib/csharpcomp.c: Likewise.
33943         * lib/getpass.c: Likewise.
33944         * lib/javacomp.c: Likewise.
33945         * lib/javaversion.c: Likewise.
33946         * lib/yesno.c: Likewise.
33947         * lib/getdelim.c: Likewise.
33948         (getdelim): Set errno on failure, and avoid memory leak.
33949
33950 2007-08-19  Bruno Haible  <bruno@clisp.org>
33951
33952         * modules/closein (Depends-on): Add freadahead.
33953         * lib/closein.c: Include freadahead.h.
33954         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
33955         is zero.
33956
33957 2007-08-19  Bruno Haible  <bruno@clisp.org>
33958
33959         * modules/freadahead-tests: New file.
33960         * tests/test-freadahead.sh: New file.
33961         * tests/test-freadahead.c: New file.
33962
33963         * modules/freadahead: New file.
33964         * lib/freadahead.h: New file.
33965         * lib/freadahead.c: New file.
33966         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
33967         fbufmode, fpurge, freadable, fwritable.
33968
33969 2007-08-19  Eric Blake  <ebb9@byu.net>
33970
33971         Test yesno in combination with closein.
33972         * lib/yesno.c (yesno): Document use of stdin.
33973         * modules/yesno-tests (Files): New module.
33974         * tests/test-yesno.c (main): New file.
33975         * tests/test-yesno.sh: Likewise.
33976
33977 2007-08-19  Bruno Haible  <bruno@clisp.org>
33978
33979         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
33980         * lib/fseeko.c (rpl_fseeko): Likewise.
33981         * lib/fseterr.c (fseterr): Likewise.
33982
33983 2007-08-19  Bruno Haible  <bruno@clisp.org>
33984
33985         * tests/test-lseek.c (main): Disable a test for BeOS.
33986         * doc/functions/lseek.texi: Document the BeOS bug.
33987
33988 2007-08-19  Bruno Haible  <bruno@clisp.org>
33989             Eric Blake  <ebb9@byu.net>
33990
33991         * lib/lseek.c: Include <sys/stat.h>.
33992         (rpl_lseek): Add workaround code also for Unix platforms.
33993         Needed for BeOS.
33994         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
33995         * doc/functions/lseek.texi: Document BeOS definiency.
33996
33997 2007-08-18  Bruno Haible  <bruno@clisp.org>
33998
33999         * modules/fstrcmp-tests: New file.
34000         * tests/test-fstrcmp.c: New file.
34001
34002 2007-08-18  Bruno Haible  <bruno@clisp.org>
34003
34004         * modules/fstrcmp: New file, from GNU gettext with modifications.
34005         * lib/fstrcmp.h: New file, from GNU gettext.
34006         * lib/fstrcmp.c: New file, from GNU gettext.
34007         * MODULES.html.sh (String handling): Add fstrcmp.
34008
34009 2007-08-18  Bruno Haible  <bruno@clisp.org>
34010
34011         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
34012         'bool'.
34013         (diag, compareseq): Remove const from the ctxt argument.
34014         (USE_HEURISTIC): Undefine at the end.
34015
34016 2007-08-18  Jim Meyering  <jim@meyering.net>
34017
34018         New file: lib/idcache.h
34019         * NEWS: Mention the addition.
34020         * modules/idcache (Files): Add lib/idcache.h
34021         * lib/idcache.c: Include "idcache.h".
34022         Don't include <sys/types.h>.
34023         Add a FIXME comment.
34024         Move file-scoped "static" declarations to the top.
34025         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
34026
34027 2007-08-17  Bruno Haible  <bruno@clisp.org>
34028         and Paul Eggert  <eggert@cs.ucla.edu>
34029
34030         * MODULES.html.sh: Add diffseq.
34031         * modules/diffseq: New file.
34032         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
34033         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
34034
34035 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
34036
34037         Import changes from coreutils for bootstrap script.
34038
34039         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
34040
34041         * build-aux/bootstrap (slurp): Work even in environments where
34042         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
34043         current code does not slurp files whose names start with ".", and
34044         this looks like it might be a troublesome area.
34045
34046         2007-07-11  Jim Meyering  <jim@meyering.net>
34047
34048         If there's a GPL vN copyright comment, require that N == 3.
34049
34050         2007-07-08  Jim Meyering  <jim@meyering.net>
34051
34052         Run the coreutils-specific code only if tests/Makefile.am.in exists.
34053         * build-aux/bootstrap (mam_template): Move definition out of loop.
34054
34055         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
34056
34057         * build-aux/bootstrap (symlink_to_dir): Rename function from
34058         symlink_to_gnulib.  Add a directory parameter.  Update all
34059         callers.
34060         (cp_mark_as_generated): Also check for -- and link to -- files in
34061         gl/.
34062
34063         2007-07-08  Jim Meyering  <jim@meyering.net>
34064
34065         Adapt to deeper hierarchy in gnulib.
34066         * build-aux/bootstrap (symlink_to_dir): If the destination
34067         directory doesn't exist, create it. This is required at least for
34068         "lib/uniwidth/cjk.h".
34069
34070         2007-05-15  Jim Meyering  <jim@meyering.net>
34071
34072         * build-aux/bootstrap: Now that generated Makefile.am files
34073         are no longer under version control, they must be created at
34074         bootstrap time.
34075
34076 2007-08-14  Ben Pfaff  <blp@gnu.org>
34077
34078         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
34079
34080 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
34081
34082         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
34083         given the changes below.
34084         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
34085         even on hosts that have padding bits beyond the supported 64.
34086
34087 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34088
34089         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
34090         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
34091         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
34092         depends on it.
34093         (xstrtol_error): Remove.
34094         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
34095         but with a different signature.
34096         (ATTRIBUTE_NORETURN, __attribute__): New macros.
34097         * lib/xstrtol-error.c: Include exitfail.h.
34098         (xstrtol_fatal): New function, with a different signature from the
34099         old xstrtol_error, so that the caller need not worry about passing
34100         in an exit status, or about storage management of the option argument.
34101         (xstrtol_error): Now a static function.  Redo signature to
34102         implement xstrtol_fatal.  Output the correct number of hyphens in
34103         front of the option so that the caller need not worry about
34104         storage management.
34105         (N_): New macro.
34106         (_): Remove; not used now.
34107         * modules/xstrtol: Depend on getopt.
34108         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
34109         of old STRTOL_FATAL_ERROR macro.
34110         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
34111         of test program.
34112         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
34113         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
34114
34115 2007-08-08  Eric Blake  <ebb9@byu.net>
34116
34117         * lib/xstrtol-error.c: Add missing include.
34118
34119         Move xstrtol messages into gnulib domain, when --pobase is used.
34120         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
34121         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
34122         * modules/xstrtol (Files): Distribute new file.
34123         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
34124         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
34125         * tests/test-xstrtol.c: ...into new file.
34126         * tests/test-xstrtoul.c: Also test xstrtoul.
34127         * tests/test-xstrtoimax.c: Also test xstrtoimax.
34128         * tests/test-xstrtoumax.c: Also test xstrtoumax.
34129         * tests/test-xstrtol.sh: Drive the tests.
34130         * tests/test-xstrtoimax.sh: Likewise.
34131         * tests/test-xstrtoumax.sh: Likewise.
34132         * modules/xstrtol-tests: New module.
34133         * modules/xstrtoimax-tests: Likewise.
34134         * modules/xstrtoumax-tests: Likewise.
34135
34136 2007-08-08  Jim Meyering  <jim@meyering.net>
34137
34138         New function: mfile_name_concat.
34139         * lib/filenamecat.c (mfile_name_concat): New function, just like
34140         file_name_concat, but return NULL upon failure rather than exiting
34141         with a diagnostic.
34142         * lib/filenamecat.h: Declare it.
34143
34144 2007-08-07  Bruno Haible  <bruno@clisp.org>
34145
34146         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
34147         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
34148         warning from gcc.
34149         Reported by Eric Blake.
34150
34151 2007-08-07  Simon Josefsson  <simon@josefsson.org>
34152
34153         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
34154         * modules/crypto/arcfour (License): Likewise.
34155         * modules/crypto/des-tests (License): Likewise.
34156         * modules/crypto/gc-arctwo-tests (License): Likewise.
34157         * modules/crypto/gc-des-tests (License): Likewise.
34158         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
34159         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
34160         * modules/crypto/gc-md2-tests (License): Likewise.
34161         * modules/crypto/gc-md4-tests (License): Likewise.
34162         * modules/crypto/gc-md5-tests (License): Likewise.
34163         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
34164         * modules/crypto/gc-rijndael-tests (License): Likewise.
34165         * modules/crypto/gc-sha1-tests (License): Likewise.
34166         * modules/crypto/gc-tests (License): Likewise.
34167         * modules/crypto/hmac-md5 (License): Likewise.
34168         * modules/crypto/hmac-sha1 (License): Likewise.
34169         * modules/crypto/md2-tests (License): Likewise.
34170         * modules/crypto/md4-tests (License): Likewise.
34171         * modules/crypto/md5 (License): Likewise.
34172         * modules/crypto/rijndael (License): Likewise.
34173         * modules/crypto/sha1 (License): Likewise.
34174         * modules/memxor (License): Likewise.
34175
34176 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
34177         and Bruno Haible  <bruno@clisp.org>
34178
34179         * NEWS: Describe interface changes to human, xstrtol.
34180         * lib/human.h: Include <xstrtol.h>.
34181         (human_options): Return enum strtol_error, not int.  Remove
34182         bool arg; take int * instead.
34183         * lib/human.c: Don't include "gettext.h".
34184         (_): Remove; no longer used.
34185         Don't include <xstrtol.h>, since human.h does it.
34186         (human_options): Adjust to abovementioned interface changes.
34187         Do not report error to stderr; that's now the caller's
34188         responsibility.
34189         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
34190         interface change.
34191         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
34192         Str, Argument_type_string.  All uses changed.  Put " argument"
34193         in diagnostics to make them clearer.  Change wording of suffix
34194         message for clarity.
34195         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
34196         Argument_type_string.
34197         (STRTOL_FATAL_WARN): Remove; no longer used.
34198         * modules/human (Depends-on): Remove gettext-h.
34199
34200 2007-08-06  Simon Josefsson  <simon@josefsson.org>
34201
34202         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
34203
34204 2007-07-31  Bruno Haible  <bruno@clisp.org>
34205
34206         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
34207         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
34208         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
34209
34210 2007-07-31  Bruno Haible  <bruno@clisp.org>
34211
34212         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
34213         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
34214
34215 2007-07-30  Bruno Haible  <bruno@clisp.org>
34216
34217         * modules/base64 (License): Use the synonymous term "LGPLv2+".
34218         * modules/c-ctype (License): Likewise.
34219         * modules/c-strcase (License): Likewise.
34220         * modules/check-version (License): Likewise.
34221         * modules/iconv (License): Likewise.
34222         * modules/iconv_open (License): Likewise.
34223         * modules/read-file (License): Likewise.
34224         * modules/striconv (License): Likewise.
34225         * modules/strverscmp (License): Likewise.
34226         * modules/vasprintf (License): Likewise.
34227         * modules/crypto/des (License): Likewise.
34228         * modules/crypto/gc (License): Likewise.
34229         * modules/crypto/gc-arcfour (License): Likewise.
34230         * modules/crypto/gc-arctwo (License): Likewise.
34231         * modules/crypto/gc-des (License): Likewise.
34232         * modules/crypto/gc-hmac-md5 (License): Likewise.
34233         * modules/crypto/gc-hmac-sha1 (License): Likewise.
34234         * modules/crypto/gc-md2 (License): Likewise.
34235         * modules/crypto/gc-md4 (License): Likewise.
34236         * modules/crypto/gc-md5 (License): Likewise.
34237         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
34238         * modules/crypto/gc-random (License): Likewise.
34239         * modules/crypto/gc-rijndael (License): Likewise.
34240         * modules/crypto/gc-sha1 (License): Likewise.
34241         * modules/crypto/md2 (License): Likewise.
34242         * modules/crypto/md4 (License): Likewise.
34243
34244 2007-07-30  Jim Meyering  <jim@meyering.net>
34245
34246         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
34247         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
34248         it has valid stat data.  This bug would cause du not to count the
34249         sizes of inaccessible directories.
34250         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
34251         in <http://bugzilla.redhat.com/250077>.
34252
34253 2007-07-25  Peter O'Gorman  <peter@pogma.com>
34254             Bruno Haible  <bruno@clisp.org>
34255
34256         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
34257         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
34258         #include_next, gives a diagnostic about it, but reports no error in
34259         the exit code.
34260         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
34261
34262 2007-07-24  Ben Pfaff  <blp@gnu.org>
34263
34264         Improve name: "count-one-bits" is better than "popcount".
34265         * MODULES.html.sh: Update name.
34266         * lib/popcount.h: Renamed lib/count-one-bits.h.
34267         (popcount): Renamed count_one_bits.
34268         (popcountl): Renamed count_one_bits_l.
34269         (popcountll): Renamed count_one_bits_ll.
34270         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
34271         * modules/popcount: Renamed module/count-one-bits.
34272         * modules/popcount-tests: Renamed module/count-one-bits-tests.
34273         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
34274
34275 2007-07-23  Ben Pfaff  <blp@gnu.org>
34276
34277         * lib/popcount.h (popcount32): Reduce size of constants, to allow
34278         better code generation, and add U to large constants to avoid
34279         warnings, in non-GCC case.
34280         Suggested by Bruno Haible.
34281
34282 2007-07-23  Ben Pfaff  <blp@gnu.org>
34283
34284         * lib/popcount.h: Use verify_true instead of if...abort.
34285         * modules/popcount: Depend on verify module.
34286         Suggested by Jim Meyering.
34287
34288 2007-07-23  Bruno Haible  <bruno@clisp.org>
34289
34290         * gnulib-tool (func_import): Create a .cvsignore file also when the
34291         directory is not yet in CVS but the toplevel directory is. When
34292         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
34293         Reported by Karl Berry.
34294
34295 2007-07-22  Ben Pfaff  <blp@gnu.org>
34296
34297         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
34298         case.
34299         Suggested by Eric Blake.
34300
34301 2007-07-22  Ben Pfaff  <blp@gnu.org>
34302
34303         New module: popcount.
34304         * MODULES.html.sh: Add popcount.
34305         * modules/popcount: New file.
34306         * modules/popcount-tests: New file.
34307         * tests/test-popcount.c: New file.
34308         * lib/popcount.h: New file.
34309         * m4/popcount.m4: New file.
34310
34311 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
34312
34313         * build-aux/announce-gen: Update to GPLv3.
34314
34315         * build-aux/config.guess: Update from config.
34316
34317 2007-07-21  Bruno Haible  <bruno@clisp.org>
34318
34319         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
34320         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
34321
34322 2007-07-20  Jim Meyering  <jim@meyering.net>
34323
34324         * check-module: Diagnose a self-dependency.
34325
34326 2007-07-19  Bruno Haible  <bruno@clisp.org>
34327
34328         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
34329         empty.
34330         Reported by Eric Blake.
34331
34332 2007-07-18  Bruno Haible  <bruno@clisp.org>
34333
34334         * gnulib-tool: New options --po-base, --po-domain.
34335         (func_usage): Document them.
34336         (pobase, po_domain): New variables.
34337         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
34338         DEFAULT_TEXT_DOMAIN.
34339         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
34340         (func_import): Consider pobase and po_domain. Create a po/ directory.
34341         (func_create_testdir): Set pobase and po_domain to empty.
34342         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
34343         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
34344
34345 2007-07-18  Bruno Haible  <bruno@clisp.org>
34346
34347         * gnulib-tool (func_get_automake_snippet): Synthesize also an
34348         EXTRA_DIST augmentation for files in build-aux/.
34349
34350 2007-07-16  Bruno Haible  <bruno@clisp.org>
34351
34352         * modules/lseek (License): Use the synonymous term "LGPLv2+".
34353         * modules/getdelim (License): Likewise.
34354
34355 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34356
34357         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
34358         * modules/d-type (License): Likewise.
34359         * modules/extensions (License): Likewise.
34360         * modules/fnmatch (License): Likewise.
34361         * modules/fseeko (License): Likewise.
34362         * modules/getaddrinfo (License): Likewise.
34363         * modules/getline (License): Likewise.
34364         * modules/getlogin_r (License): Likewise.
34365         * modules/getpass (License): Likewise.
34366         * modules/gettimeofday (License): Likewise.
34367         * modules/glob (License): Likewise.
34368         * modules/inet_ntop (License): Likewise.
34369         * modules/malloc (License): Likewise.
34370         * modules/malloca (License): Likewise.
34371         * modules/memmem (License): Likewise.
34372         * modules/mempcpy (License): Likewise.
34373         * modules/memset (License): Likewise.
34374         * modules/minmax (License): Likewise.
34375         * modules/mktime (License): Likewise.
34376         * modules/netinet_in (License): Likewise.
34377         * modules/pathmax (License): Likewise.
34378         * modules/poll (License): Likewise.
34379         * modules/regex (License): Likewise.
34380         * modules/snprintf (License): Likewise.
34381         * modules/stdbool (License): Likewise.
34382         * modules/stdint (License): Likewise.
34383         * modules/stdio (License): Likewise.
34384         * modules/strcase (License): Likewise.
34385         * modules/strcasestr (License): Likewise.
34386         * modules/strdup (License): Likewise.
34387         * modules/string (License): Likewise.
34388         * modules/strndup (License): Likewise.
34389         * modules/strnlen (License): Likewise.
34390         * modules/strpbrk (License): Likewise.
34391         * modules/strptime (License): Likewise.
34392         * modules/strsep (License): Likewise.
34393         * modules/sys_select (License): Likewise.
34394         * modules/sys_socket (License): Likewise.
34395         * modules/sys_stat (License): Likewise.
34396         * modules/sys_time (License): Likewise.
34397         * modules/time (License): Likewise.
34398         * modules/time_r (License): Likewise.
34399         * modules/timegm (License): Likewise.
34400         * modules/unistd (License): Likewise.
34401         * modules/vsnprintf (License): Likewise.
34402         * modules/wctype (License): Likewise.
34403
34404 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34405
34406         * modules/argz (License): LGPLv2+.
34407
34408 2007-07-15  Karl Berry  <karl@gnu.org>
34409
34410         * doc/gnulib.texi: revise node structure per new fdl.texi.
34411
34412 2007-07-14  Bruno Haible  <bruno@clisp.org>
34413
34414         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
34415         the output file.
34416         * lib/uniname/uninames.h: Regenerated.
34417
34418 2007-07-14  Karl Berry  <karl@gnu.org>
34419
34420         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
34421         omitting sectioning and index commands.
34422
34423 2007-07-13  Bruno Haible  <bruno@clisp.org>
34424
34425         New gnulib-tool option --more-symlinks.
34426         * gnulib-tool (func_usage): Document --more-symlinks.
34427         (do_copyrights): New variable.
34428         Recognize option --more-symlinks.
34429         (func_import): Don't add a copyright notice transform to
34430         sed_transform_lib_file if do_copyrights is empty.
34431
34432 2007-07-13  Bruno Haible  <bruno@clisp.org>
34433
34434         * lib/vasnprintf.c (decimal_point_char): Define also if
34435         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
34436         && !NEED_PRINTF_DIRECTIVE_A.
34437         Reported by Clemens Koller <clemens.koller@anagramm.de> via
34438         Gary V. Vaughan <gary@gnu.org>.
34439
34440 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
34441
34442         * lib/inttypes_.h: Undo previous change, since it was fixed
34443         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
34444
34445 2007-07-13  Bruno Haible  <bruno@clisp.org>
34446
34447         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
34448         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
34449
34450 2007-07-13  Jim Meyering  <jim@meyering.net>
34451
34452         df: Don't fail for Tru64's "file-on-file mount".
34453         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
34454         so we fall through and use statfs instead.  Details here:
34455         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
34456         Reported by Albert Chin.
34457
34458 2007-07-13  Bruno Haible  <bruno@clisp.org>
34459
34460         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
34461         * modules/configmake (License): Likewise.
34462         * modules/gettext (License): Likewise.
34463         * modules/gettext-h (License): Likewise.
34464         * modules/include_next (License): Likewise.
34465         * modules/link-warning (License): Likewise.
34466         * modules/localcharset (License): Likewise.
34467         * modules/localename (License): Likewise.
34468         * modules/lock (License): Likewise.
34469         * modules/relocatable-lib-lgpl (License): Likewise.
34470         * modules/size_max (License): Likewise.
34471         * modules/vasnprintf (License): Likewise.
34472         * modules/wchar (License): Likewise.
34473         * modules/xsize (License): Likewise.
34474
34475 2007-07-13  Bruno Haible  <bruno@clisp.org>
34476
34477         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
34478         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
34479
34480 2007-07-12  Bruno Haible  <bruno@clisp.org>
34481
34482         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
34483         in the modules files.
34484
34485 2007-07-11  Karl Berry  <karl@gnu.org>
34486
34487         * MODULES.html.sh (func_module): use
34488          sed -e '\|^'"${includefile}"'$|d'
34489          instead of /.../d, to avoid errors on $includefile's containing /.
34490
34491 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
34492
34493         * gnulib-tool (func_import): Avoid duplication of --avoid
34494         statements
34495         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
34496         names to `_' in variable names.
34497
34498 2007-07-10  Eric Blake  <ebb9@byu.net>
34499
34500         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
34501         * NEWS: Document this change.
34502
34503 2007-07-08  Bruno Haible  <bruno@clisp.org>
34504
34505         Update to Unicode 5.0.
34506         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
34507         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
34508         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
34509         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
34510         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
34511         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
34512         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
34513         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
34514         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
34515         U+10A3F, U+1D242..U+1D244.
34516         (nonspacing_table_ind): Update.
34517         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
34518         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
34519
34520 2007-07-08  Bruno Haible  <bruno@clisp.org>
34521
34522         Update to Unicode 5.0.
34523         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
34524         code transform. Extend the name index field of unicode_name_to_code and
34525         unicode_code_to_name from 16 to 24 bits.
34526         * lib/uniname/uniname.c (unicode_character_name,
34527         unicode_name_character): Add the range 0x12xxx to the code transform.
34528         * lib/uniname/uninames.h: Regenerated.
34529         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
34530
34531 2007-07-07  Bruno Haible  <bruno@clisp.org>
34532
34533         * modules/wcwidth-tests: New file.
34534         * tests/test-wcwidth.c: New file.
34535
34536         Work around MacOS X wcwidth() bug.
34537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
34538         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
34539         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
34540         original wcwidth in non-UTF-8 locales.
34541         * modules/wcwidth (Depends-on): Add localcharset, streq,
34542         uniwidth/width.
34543         * doc/functions/wcwidth.texi: Update.
34544
34545 2007-07-07  Bruno Haible  <bruno@clisp.org>
34546
34547         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
34548         (wcwidth): New declaration.
34549         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
34550         macros.
34551         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
34552         here. Prepare for creating <wchar.h> unconditionally.
34553         * modules/wchar (Depends-on): Add link-warning.
34554         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
34555         REPLACE_WCWIDTH, and GL_LINK_WARNING.
34556         * lib/wcwidth.h: Remove file.
34557         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
34558         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
34559         * modules/wcwidth (Files): Remove lib/wcwidth.h.
34560         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
34561         (Include): Replace wcwidth.h with <wchar.h>.
34562         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
34563         * lib/mbchar.h: Don't include wcwidth.h.
34564         * lib/mbswidth.c: Likewise.
34565         * NEWS: Mention the change.
34566
34567 2007-07-07  Bruno Haible  <bruno@clisp.org>
34568
34569         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
34570         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
34571         definition with an external declaration.
34572         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
34573         defined as a function. Remove AC_C_INLINE requirement.
34574         * modules/wcwidth (Files): Add lib/wcwidth.c.
34575         (Makefile.am): Remove redundant statement.
34576
34577 2007-07-07  Bruno Haible  <bruno@clisp.org>
34578
34579         * MODULES.html.sh (Unicode string functions): Add the new modules.
34580
34581         * tests/uniwidth/test-u32-strwidth.c: New file.
34582         * modules/uniwidth/u32-strwidth-tests: New file.
34583
34584         * lib/uniwidth/u32-strwidth.c: New file.
34585         * modules/uniwidth/u32-strwidth: New file.
34586
34587         * tests/uniwidth/test-u16-strwidth.c: New file.
34588         * modules/uniwidth/u16-strwidth-tests: New file.
34589
34590         * lib/uniwidth/u16-strwidth.c: New file.
34591         * modules/uniwidth/u16-strwidth: New file.
34592
34593         * tests/uniwidth/test-u8-strwidth.c: New file.
34594         * modules/uniwidth/u8-strwidth-tests: New file.
34595
34596         * lib/uniwidth/u8-strwidth.c: New file.
34597         * modules/uniwidth/u8-strwidth: New file.
34598
34599         * tests/uniwidth/test-u32-width.c: New file.
34600         * modules/uniwidth/u32-width-tests: New file.
34601
34602         * lib/uniwidth/u32-width.c: New file.
34603         * modules/uniwidth/u32-width: New file.
34604
34605         * tests/uniwidth/test-u16-width.c: New file.
34606         * modules/uniwidth/u16-width-tests: New file.
34607
34608         * lib/uniwidth/u16-width.c: New file.
34609         * modules/uniwidth/u16-width: New file.
34610
34611         * tests/uniwidth/test-u8-width.c: New file.
34612         * modules/uniwidth/u8-width-tests: New file.
34613
34614         * lib/uniwidth/u8-width.c: New file.
34615         * modules/uniwidth/u8-width: New file.
34616
34617         * tests/uniwidth/test-uc_width.c: New file.
34618         * modules/uniwidth/width-tests: New file.
34619
34620         * lib/uniwidth/width.c: New file, from GNU libiconv.
34621         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
34622         * modules/uniwidth/width: New file.
34623
34624         * lib/uniwidth.h: New file, from GNU libiconv.
34625         * modules/uniwidth/base: New file.
34626
34627 2007-07-07  Bruno Haible  <bruno@clisp.org>
34628
34629         * lib/uniname.h: New file, from GNU gettext.
34630         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
34631         * lib/uniname/uninames.h: New file, from GNU gettext.
34632         * lib/uniname/uniname.c: New file, from GNU gettext.
34633         * tests/uniname/test-uninames.sh: New file.
34634         * tests/uniname/test-uninames.c: New file, from GNU gettext.
34635         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
34636         * modules/uniname/base: New file.
34637         * modules/uniname/uniname: New file.
34638         * modules/uniname/uniname-tests: New file.
34639         * MODULES.html.sh (Unicode string functions): Add the new modules.
34640
34641 2007-07-06  Bruno Haible  <bruno@clisp.org>
34642
34643         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
34644
34645 2007-07-06  Bruno Haible  <bruno@clisp.org>
34646
34647         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
34648         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
34649         includes <cygwin/sys_time.h> which includes <sys/select.h> which
34650         include <sys/time.h>.
34651         Reported by Eric Blake.
34652
34653 2007-07-06  Eric Blake  <ebb9@byu.net>
34654
34655         Fix testing canonicalize on cygwin.
34656         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34657         Revert patch from 2007-06-19.
34658         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
34659         canonicalize module is also in use.
34660         * tests/test-canonicalize.c: New file.
34661         * tests/test-canonicalize.sh: Likewise.
34662         * modules/canonicalize-tests: Likewise.
34663
34664 2007-07-06  Jim Meyering  <jim@meyering.net>
34665
34666         * lib/getugroups.c (getugroups): Detect getgrent failure.
34667         Adjust comment to reflect reality: this function may return -1.
34668
34669 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34670
34671         * build-aux/bootstrap (TP_URL,get_translations): Update to use
34672         the new TP address.
34673         (usage): Fix typo
34674         (gnulib_mk): New variable.
34675
34676 2007-07-05  Jim Meyering  <jim@meyering.net>
34677
34678         Don't let endgrent clobber errno, no matter how improbable.
34679         * lib/getugroups.c (getugroups): Save and restore errno around
34680         endgrent call.
34681
34682         Close the group DB even when failing with 2^31 or more members.
34683         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
34684
34685 2007-07-04  Jim Meyering  <jim@meyering.net>
34686
34687         * lib/getugroups.h: New file.
34688         * lib/getugroups.c: Include "getugroups.h".
34689         Remove uses of "register" keyword.
34690         Move local variable, "cp", down into scope where used.
34691         Give "username" parameter the "const" attribute.
34692         * modules/getugroups (Files): Add lib/getugroups.h
34693
34694 2007-07-04  Karl Berry  <karl@gnu.org>
34695
34696         * MODULES.html.sh (func_all_modules): Complete rename of
34697         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
34698
34699 2007-07-02  Bruno Haible  <bruno@clisp.org>
34700
34701         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
34702         mode, when inttypes.h comes from gnulib.
34703         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
34704
34705 2007-07-02  Simon Josefsson  <simon@josefsson.org>
34706
34707         * NEWS: Mention lgpl module name change.
34708
34709         * modules/lgpl-2.1: Renamed from lgpl.
34710
34711         * NEWS: Mention gpl module name change.
34712
34713         * modules/gpl-3.0: New file, based on gpl-2.0.
34714
34715         * modules/gpl-2.0: Renamed from gpl.
34716
34717         * modules/gpl: Fix filename, doc/gpl.texi is now found at
34718         doc/gpl-2.0.texi.
34719
34720 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
34721
34722         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
34723         #define __STDC_LIMIT_MACROS temporarily while including
34724         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
34725         Problem reported by Joel E. Denny in
34726         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
34727
34728 2007-07-01  Bruno Haible  <bruno@clisp.org>
34729
34730         * lib/unistdio.h: New file.
34731         * lib/unistdio/u-asnprintf.h: New file.
34732         * lib/unistdio/u-asprintf.h: New file.
34733         * lib/unistdio/u-printf-args.c: New file.
34734         * lib/unistdio/u-printf-args.h: New file.
34735         * lib/unistdio/u-printf-parse.h: New file.
34736         * lib/unistdio/u-snprintf.h: New file.
34737         * lib/unistdio/u-sprintf.h: New file.
34738         * lib/unistdio/u-vasprintf.h: New file.
34739         * lib/unistdio/u-vsnprintf.h: New file.
34740         * lib/unistdio/u-vsprintf.h: New file.
34741         * lib/unistdio/ulc-asnprintf.c: New file.
34742         * lib/unistdio/ulc-asprintf.c: New file.
34743         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
34744         * lib/unistdio/ulc-printf-parse.c: New file.
34745         * lib/unistdio/ulc-snprintf.c: New file.
34746         * lib/unistdio/ulc-sprintf.c: New file.
34747         * lib/unistdio/ulc-vasnprintf.c: New file.
34748         * lib/unistdio/ulc-vasprintf.c: New file.
34749         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
34750         * lib/unistdio/ulc-vsnprintf.c: New file.
34751         * lib/unistdio/ulc-vsprintf.c: New file.
34752         * lib/unistdio/u8-asnprintf.c: New file.
34753         * lib/unistdio/u8-asprintf.c: New file.
34754         * lib/unistdio/u8-printf-parse.c: New file.
34755         * lib/unistdio/u8-snprintf.c: New file.
34756         * lib/unistdio/u8-sprintf.c: New file.
34757         * lib/unistdio/u8-vasnprintf.c: New file.
34758         * lib/unistdio/u8-vasprintf.c: New file.
34759         * lib/unistdio/u8-vsnprintf.c: New file.
34760         * lib/unistdio/u8-vsprintf.c: New file.
34761         * lib/unistdio/u8-u8-asnprintf.c: New file.
34762         * lib/unistdio/u8-u8-asprintf.c: New file.
34763         * lib/unistdio/u8-u8-snprintf.c: New file.
34764         * lib/unistdio/u8-u8-sprintf.c: New file.
34765         * lib/unistdio/u8-u8-vasnprintf.c: New file.
34766         * lib/unistdio/u8-u8-vasprintf.c: New file.
34767         * lib/unistdio/u8-u8-vsnprintf.c: New file.
34768         * lib/unistdio/u8-u8-vsprintf.c: New file.
34769         * lib/unistdio/u16-asnprintf.c: New file.
34770         * lib/unistdio/u16-asprintf.c: New file.
34771         * lib/unistdio/u16-printf-parse.c: New file.
34772         * lib/unistdio/u16-snprintf.c: New file.
34773         * lib/unistdio/u16-sprintf.c: New file.
34774         * lib/unistdio/u16-vasnprintf.c: New file.
34775         * lib/unistdio/u16-vasprintf.c: New file.
34776         * lib/unistdio/u16-vsnprintf.c: New file.
34777         * lib/unistdio/u16-vsprintf.c: New file.
34778         * lib/unistdio/u16-u16-asnprintf.c: New file.
34779         * lib/unistdio/u16-u16-asprintf.c: New file.
34780         * lib/unistdio/u16-u16-snprintf.c: New file.
34781         * lib/unistdio/u16-u16-sprintf.c: New file.
34782         * lib/unistdio/u16-u16-vasnprintf.c: New file.
34783         * lib/unistdio/u16-u16-vasprintf.c: New file.
34784         * lib/unistdio/u16-u16-vsnprintf.c: New file.
34785         * lib/unistdio/u16-u16-vsprintf.c: New file.
34786         * lib/unistdio/u32-asnprintf.c: New file.
34787         * lib/unistdio/u32-asprintf.c: New file.
34788         * lib/unistdio/u32-printf-parse.c: New file.
34789         * lib/unistdio/u32-snprintf.c: New file.
34790         * lib/unistdio/u32-sprintf.c: New file.
34791         * lib/unistdio/u32-vasnprintf.c: New file.
34792         * lib/unistdio/u32-vasprintf.c: New file.
34793         * lib/unistdio/u32-vsnprintf.c: New file.
34794         * lib/unistdio/u32-vsprintf.c: New file.
34795         * lib/unistdio/u32-u32-asnprintf.c: New file.
34796         * lib/unistdio/u32-u32-asprintf.c: New file.
34797         * lib/unistdio/u32-u32-snprintf.c: New file.
34798         * lib/unistdio/u32-u32-sprintf.c: New file.
34799         * lib/unistdio/u32-u32-vasnprintf.c: New file.
34800         * lib/unistdio/u32-u32-vasprintf.c: New file.
34801         * lib/unistdio/u32-u32-vsnprintf.c: New file.
34802         * lib/unistdio/u32-u32-vsprintf.c: New file.
34803         * tests/unistdio/test-ulc-asnprintf1.c: New file.
34804         * tests/unistdio/test-ulc-asnprintf1.h: New file.
34805         * tests/unistdio/test-ulc-printf1.h: New file.
34806         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
34807         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
34808         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
34809         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
34810         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
34811         * tests/unistdio/test-ulc-vasprintf1.c: New file.
34812         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
34813         * tests/unistdio/test-ulc-vsprintf1.c: New file.
34814         * tests/unistdio/test-u8-asnprintf1.c: New file.
34815         * tests/unistdio/test-u8-asnprintf1.h: New file.
34816         * tests/unistdio/test-u8-printf1.h: New file.
34817         * tests/unistdio/test-u8-vasnprintf1.c: New file.
34818         * tests/unistdio/test-u8-vasnprintf2.c: New file.
34819         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
34820         * tests/unistdio/test-u8-vasnprintf3.c: New file.
34821         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
34822         * tests/unistdio/test-u8-vasprintf1.c: New file.
34823         * tests/unistdio/test-u8-vsnprintf1.c: New file.
34824         * tests/unistdio/test-u8-vsprintf1.c: New file.
34825         * tests/unistdio/test-u16-asnprintf1.c: New file.
34826         * tests/unistdio/test-u16-asnprintf1.h: New file.
34827         * tests/unistdio/test-u16-printf1.h: New file.
34828         * tests/unistdio/test-u16-vasnprintf1.c: New file.
34829         * tests/unistdio/test-u16-vasnprintf2.c: New file.
34830         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
34831         * tests/unistdio/test-u16-vasnprintf3.c: New file.
34832         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
34833         * tests/unistdio/test-u16-vasprintf1.c: New file.
34834         * tests/unistdio/test-u16-vsnprintf1.c: New file.
34835         * tests/unistdio/test-u16-vsprintf1.c: New file.
34836         * tests/unistdio/test-u32-asnprintf1.c: New file.
34837         * tests/unistdio/test-u32-asnprintf1.h: New file.
34838         * tests/unistdio/test-u32-printf1.h: New file.
34839         * tests/unistdio/test-u32-vasnprintf1.c: New file.
34840         * tests/unistdio/test-u32-vasnprintf2.c: New file.
34841         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
34842         * tests/unistdio/test-u32-vasnprintf3.c: New file.
34843         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
34844         * tests/unistdio/test-u32-vasprintf1.c: New file.
34845         * tests/unistdio/test-u32-vsnprintf1.c: New file.
34846         * tests/unistdio/test-u32-vsprintf1.c: New file.
34847         * modules/unistdio/base: New file.
34848         * modules/unistdio/u-printf-args: New file.
34849         * modules/unistdio/ulc-asnprintf: New file.
34850         * modules/unistdio/ulc-asprintf: New file.
34851         * modules/unistdio/ulc-fprintf: New file.
34852         * modules/unistdio/ulc-printf-parse: New file.
34853         * modules/unistdio/ulc-snprintf: New file.
34854         * modules/unistdio/ulc-sprintf: New file.
34855         * modules/unistdio/ulc-vasnprintf: New file.
34856         * modules/unistdio/ulc-vasprintf: New file.
34857         * modules/unistdio/ulc-vfprintf: New file.
34858         * modules/unistdio/ulc-vsnprintf: New file.
34859         * modules/unistdio/ulc-vsprintf: New file.
34860         * modules/unistdio/u8-asnprintf: New file.
34861         * modules/unistdio/u8-asprintf: New file.
34862         * modules/unistdio/u8-printf-parse: New file.
34863         * modules/unistdio/u8-snprintf: New file.
34864         * modules/unistdio/u8-sprintf: New file.
34865         * modules/unistdio/u8-vasnprintf: New file.
34866         * modules/unistdio/u8-vasprintf: New file.
34867         * modules/unistdio/u8-vsnprintf: New file.
34868         * modules/unistdio/u8-vsprintf: New file.
34869         * modules/unistdio/u8-u8-asnprintf: New file.
34870         * modules/unistdio/u8-u8-asprintf: New file.
34871         * modules/unistdio/u8-u8-snprintf: New file.
34872         * modules/unistdio/u8-u8-sprintf: New file.
34873         * modules/unistdio/u8-u8-vasnprintf: New file.
34874         * modules/unistdio/u8-u8-vasprintf: New file.
34875         * modules/unistdio/u8-u8-vsnprintf: New file.
34876         * modules/unistdio/u8-u8-vsprintf: New file.
34877         * modules/unistdio/u16-asnprintf: New file.
34878         * modules/unistdio/u16-asprintf: New file.
34879         * modules/unistdio/u16-printf-parse: New file.
34880         * modules/unistdio/u16-snprintf: New file.
34881         * modules/unistdio/u16-sprintf: New file.
34882         * modules/unistdio/u16-vasnprintf: New file.
34883         * modules/unistdio/u16-vasprintf: New file.
34884         * modules/unistdio/u16-vsnprintf: New file.
34885         * modules/unistdio/u16-vsprintf: New file.
34886         * modules/unistdio/u16-u16-asnprintf: New file.
34887         * modules/unistdio/u16-u16-asprintf: New file.
34888         * modules/unistdio/u16-u16-snprintf: New file.
34889         * modules/unistdio/u16-u16-sprintf: New file.
34890         * modules/unistdio/u16-u16-vasnprintf: New file.
34891         * modules/unistdio/u16-u16-vasprintf: New file.
34892         * modules/unistdio/u16-u16-vsnprintf: New file.
34893         * modules/unistdio/u16-u16-vsprintf: New file.
34894         * modules/unistdio/u32-asnprintf: New file.
34895         * modules/unistdio/u32-asprintf: New file.
34896         * modules/unistdio/u32-printf-parse: New file.
34897         * modules/unistdio/u32-snprintf: New file.
34898         * modules/unistdio/u32-sprintf: New file.
34899         * modules/unistdio/u32-vasnprintf: New file.
34900         * modules/unistdio/u32-vasprintf: New file.
34901         * modules/unistdio/u32-vsnprintf: New file.
34902         * modules/unistdio/u32-vsprintf: New file.
34903         * modules/unistdio/u32-u32-asnprintf: New file.
34904         * modules/unistdio/u32-u32-asprintf: New file.
34905         * modules/unistdio/u32-u32-snprintf: New file.
34906         * modules/unistdio/u32-u32-sprintf: New file.
34907         * modules/unistdio/u32-u32-vasnprintf: New file.
34908         * modules/unistdio/u32-u32-vasprintf: New file.
34909         * modules/unistdio/u32-u32-vsnprintf: New file.
34910         * modules/unistdio/u32-u32-vsprintf: New file.
34911         * modules/unistdio/ulc-asnprintf-tests: New file.
34912         * modules/unistdio/ulc-vasnprintf-tests: New file.
34913         * modules/unistdio/ulc-vasprintf-tests: New file.
34914         * modules/unistdio/ulc-vsnprintf-tests: New file.
34915         * modules/unistdio/ulc-vsprintf-tests: New file.
34916         * modules/unistdio/u8-asnprintf-tests: New file.
34917         * modules/unistdio/u8-vasnprintf-tests: New file.
34918         * modules/unistdio/u8-vasprintf-tests: New file.
34919         * modules/unistdio/u8-vsnprintf-tests: New file.
34920         * modules/unistdio/u8-vsprintf-tests: New file.
34921         * modules/unistdio/u16-asnprintf-tests: New file.
34922         * modules/unistdio/u16-vasnprintf-tests: New file.
34923         * modules/unistdio/u16-vasprintf-tests: New file.
34924         * modules/unistdio/u16-vsnprintf-tests: New file.
34925         * modules/unistdio/u16-vsprintf-tests: New file.
34926         * modules/unistdio/u32-asnprintf-tests: New file.
34927         * modules/unistdio/u32-vasnprintf-tests: New file.
34928         * modules/unistdio/u32-vasprintf-tests: New file.
34929         * modules/unistdio/u32-vsnprintf-tests: New file.
34930         * modules/unistdio/u32-vsprintf-tests: New file.
34931         * MODULES.html.sh (Unicode string functions): Add the new modules.
34932
34933 2007-07-01  Bruno Haible  <bruno@clisp.org>
34934
34935         * lib/sprintf.c (sprintf): Limit the available length estimation,
34936         to avoid address wraparound.
34937         * lib/vsprintf.c (vsprintf): Likewise.
34938         * modules/sprintf-posix (Dependencies): Add stdint.
34939         * modules/vsprintf-posix (Dependencies): Likewise.
34940
34941 2007-07-01  Bruno Haible  <bruno@clisp.org>
34942
34943         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
34944         Windows PATH as well. Conservative double-quoting. Comments.
34945
34946 2007-07-01  Bruno Haible  <bruno@clisp.org>
34947             Eric Blake  <ebb9@byu.net>
34948             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34949
34950         * gnulib-tool (self_abspathname): Fix algorithm to cope with
34951         empty components in $PATH, denoting '.'.
34952
34953 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34954
34955         * gnulib-tool: Fix indentation.
34956         (func_create_megatestdir): Likewise.
34957         Report by Bruno Haible.
34958
34959 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34960
34961         Sync from Automake.
34962         * build-aux/gnupload: Fix shell portability issues with for loops.
34963         Report by Karl Berry.
34964
34965 2007-06-29  Simon Josefsson  <simon@josefsson.org>
34966
34967         * build-aux/maint.mk (POURL): Use translationproject.org.
34968
34969 2007-06-27  Simon Josefsson  <simon@josefsson.org>
34970             Bruno Haible  <bruno@clisp.org>
34971
34972         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
34973         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
34974         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
34975         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
34976         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
34977
34978 2007-06-27  Bruno Haible  <bruno@clisp.org>
34979
34980         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
34981         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
34982
34983 2007-06-26  Karl Berry  <karl@gnu.org>
34984
34985         * MODULES.html.sh: remove xreadlink-with-size.
34986
34987 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34988
34989         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
34990         method that I hope also handles the double-include problem noted
34991         by Bruno Haible in
34992         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
34993
34994 2007-06-23  Bruno Haible  <bruno@clisp.org>
34995
34996         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34997         Don't let the 'mostlyclean' target fail if the last subdirectory could
34998         not be removed.
34999         Reported by Karl Berry.
35000
35001 2007-06-23  Bruno Haible  <bruno@clisp.org>
35002
35003         * gnulib-tool (echo): Add a speedier workaround for ksh.
35004         * tests/test-echo.sh: Likewise.
35005
35006 2007-06-23  Bruno Haible  <bruno@clisp.org>
35007
35008         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
35009         * tests/test-echo.sh: Likewise.
35010
35011 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35012
35013         * gnulib-tool (IFS): Initialize early, so we don't set it to
35014         empty later.
35015         (self_abspathname): Rewrite algorithm to set it, reindent.
35016         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
35017         (func_create_megatestdir): Merge some sed scripts.
35018
35019 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
35020
35021         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
35022         exposed by Sun Studio 11 cc on Solaris 8.
35023
35024 2007-06-22  Bruno Haible  <bruno@clisp.org>
35025
35026         * gnulib-tool (echo): Ensure the echo primitive does not interpret
35027         backslashes.
35028         * tests/test-echo.sh: New file.
35029
35030 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35031
35032         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
35033         simplify `sed_replace_build_aux' scripts, they are portable but
35034         echoing them with `echo' is not.
35035         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
35036
35037 2007-06-21  Karl Berry  <karl@gnu.org>
35038
35039         * config/srclist.txt: guess we can't handle the licenses via
35040         srclist at the moment.
35041
35042 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
35043
35044         * MODULES.html.sh: Add include_next.
35045         * modules/include_next: New file.
35046
35047 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
35048
35049         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
35050         INCLUDE_NEXT.
35051         (gl_CHECK_NEXT_HEADERS): New macro.
35052         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
35053         the obsolescent gl_ABSOLUTE_HEADER.
35054         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
35055         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
35056         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
35057         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35058         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
35059         * m4/math_h.m4 (gl_MATH_H): Likewise.
35060         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
35061         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35062         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
35063         * m4/stdint.m4 (gl_STDINT_H): Likewise.
35064         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
35065         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
35066         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
35067         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35068         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35069         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
35070         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
35071         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
35072         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
35073         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
35074         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35075         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
35076         * m4/inttypes.m4 (gl_INTTYPES_H): Define
35077         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
35078         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
35079         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
35080         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
35081         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
35082         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
35083         * lib/float_.h: Likewise.
35084         * lib/inttypes_.h: Likewise.
35085         * lib/math_.h: Likewise.
35086         * lib/search_.h: Likewise.
35087         * lib/signal_.h: Likewise.
35088         * lib/stdint_.h: Likewise.
35089         * lib/stdio_.h: Likewise.
35090         * lib/stdlib_.h: Likewise.
35091         * lib/string_.h: Likewise.
35092         * lib/sys_stat_.h: Likewise.
35093         * lib/sys_time_.h: Likewise.
35094         * lib/time_.h: Likewise.
35095         * lib/unistd_.h: Likewise.
35096         * lib/wchar_.h: Likewise.
35097         * lib/wctype_.h: Likewise.
35098         * lib/dirent_.h: Likewise.
35099         * lib/iconv_.h: Likewise.
35100         * lib/locale_.h: Likewise.
35101         * lib/netinet_in_.h: Likewise.
35102         * lib/sys_select_.h: Likewise.
35103         * lib/sys_socket_.h: Likewise.
35104         * lib/sysexits_.h: Likewise.
35105         * modules/fcntl (Depends-on): Depend on include_next, not
35106         absolute_header.
35107         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
35108         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
35109         * modules/fchdir: Likewise.
35110         * modules/float: Likewise.
35111         * modules/iconv_open: Likewise.
35112         * modules/inttypes: Likewise.
35113         * modules/locale: Likewise.
35114         * modules/math: Likewise.
35115         * modules/netinet_in: Likewise.
35116         * modules/search: Likewise.
35117         * modules/signal: Likewise.
35118         * modules/stdint: Likewise.
35119         * modules/stdio: Likewise.
35120         * modules/stdlib: Likewise.
35121         * modules/string: Likewise.
35122         * modules/sys_select: Likewise.
35123         * modules/sys_socket: Likewise.
35124         * modules/sys_stat: Likewise.
35125         * modules/sys_time: Likewise.
35126         * modules/sysexits: Likewise.
35127         * modules/time: Likewise.
35128         * modules/unistd: Likewise.
35129         * modules/wchar: Likewise.
35130         * modules/wctype: Likewise.
35131         * modules/sys_stat: Change maintainer to "all".
35132         * modules/unistd: Likewise.
35133
35134 2007-06-20  Karl Berry  <karl@gnu.org>
35135
35136         * config/srclist.txt: track www changes in license files.
35137
35138 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
35139
35140         * build-aux/bootstrap: Remove stray dot.
35141         Make sure build_aux settings are honored when linking
35142         gnulib_extra_files.
35143
35144 2007-06-19  Eric Blake  <ebb9@byu.net>
35145
35146         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
35147         Allow compilation on cygwin.
35148
35149 2007-06-19  Jim Meyering  <jim@meyering.net>
35150
35151         xreadlink-with-size: Remove module.  No longer used.
35152         Ex-callers now use xreadlink or mreadlink-with-size.
35153         * modules/xreadlink-with-size: Remove module.
35154         * lib/xreadlink-with-size.c: Remove file.
35155         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
35156         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
35157         just before the function definition *is* accurate.
35158
35159         Eliminate one way canonicalize_filename_mode could exit.
35160         * lib/canonicalize.c (canonicalize_filename_mode):
35161         Use mreadlink_with_size, not xreadlink_with_size.
35162
35163 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
35164
35165         Detect porting problems to FreeBSD/arm, which has time_t wider than
35166         long int.  Original problem reported for GNU diff by Xin Li in
35167         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
35168         * modules/getdate (Depends-on): Add intprops, verify.
35169         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
35170         is an integer type no wider than long int.
35171
35172 2007-06-18  Jim Meyering  <jim@meyering.net>
35173
35174         New module: mreadlink-with-size.
35175         * MODULES.html.sh: Add mreadlink-with-size.
35176         * modules/mreadlink-with-size: New module
35177         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
35178         not xreadlink-with-size.
35179         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
35180
35181 2007-06-16  Bruno Haible  <bruno@clisp.org>
35182
35183         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
35184         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
35185         Reported by Gary V. Vaughan <gary@gnu.org>.
35186
35187 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35188
35189         Revamp lchown so that it lives in unistd.h where it belongs.
35190         * lib/lchown.h: Remove.
35191         * lib/dirchownmod.c: Don't include lib/lchown.h.
35192         * lib/fchownat.c: Likewise.
35193         * lib/openat.c: Likewise.
35194         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
35195         does not follow symlinks.
35196         (EOPNOTSUPP): Define if not defined.
35197         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
35198         is defined to 0.
35199         (lchown): New decl.
35200         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
35201         Do not check for lchown decl.
35202         Set REPLACE_LCHOWN.
35203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
35204         REPLACE_LCHOWN.
35205         * modules/chown: Make it clear it follows symlinks.
35206         * modules/lchown: Make it clear it doesn't follow symlinks.
35207         (Files): Remove lib/lchown.h
35208         (Depends-on): Add unistd.
35209         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
35210         (Include): Include <unistd.h>, not "lchown.h".
35211         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
35212         REPLACE_LCHOWN.
35213
35214 2007-06-15  Jim Meyering  <jim@meyering.net>
35215
35216         Change license (GPL to LGPL) of fsusage and dependents.
35217         * modules/fsusage (License): Change to LGPL.
35218         * modules/full-read (License): Likewise.
35219         * modules/full-write (License): Likewise.
35220         * modules/safe-read (License): Likewise.
35221         * modules/safe-write (License): Likewise.
35222
35223 2007-06-14  Ben Pfaff  <blp@gnu.org>
35224
35225         Missing part of allocsa -> malloca transition.
35226         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
35227         gl_MALLOCA.
35228
35229 2007-06-12  Bruno Haible  <bruno@clisp.org>
35230
35231         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
35232         to ia64, x86_64, i386.
35233         Reported by Eric Blake.
35234
35235 2007-06-12  Bruno Haible  <bruno@clisp.org>
35236
35237         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
35238         cross-compiling to x86_64.
35239
35240 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
35241
35242         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
35243         glitch reported by Ralf Wildenhues in
35244         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
35245
35246         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
35247         Vin Shelton.
35248
35249 2007-06-11  Bruno Haible  <bruno@clisp.org>
35250
35251         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
35252         replacement string.
35253         Reported by Eric Blake.
35254
35255 2007-06-10  Bruno Haible  <bruno@clisp.org>
35256
35257         Prepare vasnprintf code for use with Unicode strings.
35258         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
35259         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
35260         TYPE_U32_STRING.
35261         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
35262         a_u32_string variants.
35263         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
35264         * lib/printf-args.c: Don't include config.h and the specification
35265         header if PRINTF_FETCHARGS is already defined.
35266         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
35267         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
35268         TYPE_U16_STRING, TYPE_U32_STRING.
35269         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
35270         u16_directive, u16_directives, u32_directive, u32_directives): New
35271         types.
35272         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
35273         New declarations.
35274         * lib/printf-parse.c: Don't include config.h and the specification
35275         header if PRINTF_PARSE is already defined. Eliminate the set of
35276         parameters for WIDE_CHAR_VERSION; the user of this file must provide
35277         them now. Include c-ctype.h.
35278         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
35279         directive and CHAR_T_ONLY_ASCII.
35280         * lib/vasnprintf.c: Don't include config.h and the specification header
35281         if VASNPRINTF is already defined.
35282         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
35283         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
35284         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
35285         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
35286         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
35287         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
35288         code accordingly.
35289         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
35290         pad_ourselves also in this case, with the 'c' and 's' directives, and
35291         with a different notion of "width".
35292         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
35293
35294 2007-06-10  Bruno Haible  <bruno@clisp.org>
35295
35296         * modules/unistr/u32-mbsnlen: New file.
35297         * lib/unistr/u32-mbsnlen.c: New file.
35298
35299         * modules/unistr/u16-mbsnlen: New file.
35300         * lib/unistr/u16-mbsnlen.c: New file.
35301
35302         * modules/unistr/u8-mbsnlen: New file.
35303         * lib/unistr/u8-mbsnlen.c: New file.
35304
35305         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
35306         declarations.
35307
35308 2007-06-10  Bruno Haible  <bruno@clisp.org>
35309
35310         * lib/string_.h (mbsnlen): New declaration.
35311         * lib/mbsnlen.c: New file.
35312         * m4/mbsnlen.m4: New file.
35313         * modules/mbsnlen: New file.
35314         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
35315         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
35316         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
35317
35318 2007-06-10  Bruno Haible  <bruno@clisp.org>
35319
35320         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
35321
35322 2007-06-10  Bruno Haible  <bruno@clisp.org>
35323
35324         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
35325         * lib/mbuiter.h: Likewise.
35326
35327 2007-06-10  Bruno Haible  <bruno@clisp.org>
35328
35329         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
35330         declaration.
35331
35332 2007-06-10  Karl Berry  <karl@gnu.org>
35333
35334         * config/srclist.txt: remove gettext entries, Bruno prefers
35335         to update individually.
35336
35337 2007-06-10  Bruno Haible  <bruno@clisp.org>
35338
35339         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
35340         'maxlen'. Ensure only length + width bytes are allocated, not
35341         length + 1 + width.
35342
35343 2007-06-09  Bruno Haible  <bruno@clisp.org>
35344
35345         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
35346         (CHAR_T): Remove macro.
35347         (VASNPRINTF): Update.
35348
35349 2007-06-09  Bruno Haible  <bruno@clisp.org>
35350
35351         * MODULES.html.sh (Unicode string functions): Add the new modules.
35352
35353         * modules/uniconv/u32-conv-to-enc: New file.
35354         * lib/uniconv/u32-conv-to-enc.c: New file.
35355         * modules/uniconv/u32-conv-to-enc-tests: New file.
35356         * tests/uniconv/test-u32-conv-to-enc.c: New file.
35357
35358         * modules/uniconv/u16-conv-to-enc: New file.
35359         * lib/uniconv/u16-conv-to-enc.c: New file.
35360         * lib/uniconv/u-conv-to-enc.h: New file.
35361         * modules/uniconv/u16-conv-to-enc-tests: New file.
35362         * tests/uniconv/test-u16-conv-to-enc.c: New file.
35363
35364         * modules/uniconv/u8-conv-to-enc: New file.
35365         * lib/uniconv/u8-conv-to-enc.c: New file.
35366         * modules/uniconv/u8-conv-to-enc-tests: New file.
35367         * tests/uniconv/test-u8-conv-to-enc.c: New file.
35368
35369         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
35370         u32_conv_to_encoding): New declarations.
35371
35372 2007-06-09  Bruno Haible  <bruno@clisp.org>
35373
35374         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
35375
35376 2007-06-09  Bruno Haible  <bruno@clisp.org>
35377
35378         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
35379         * modules/malloca: Renamed from modules/allocsa, updated.
35380         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
35381         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
35382         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
35383         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
35384         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
35385         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
35386         * modules/xmalloca: Renamed from modules/xallocsa, updated.
35387         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
35388         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
35389         * modules/c-strcasestr (Depends-on): Update.
35390         * lib/c-strcasestr.c: Update.
35391         * modules/c-strstr (Depends-on): Update.
35392         * lib/c-strstr.c: Update.
35393         * modules/canonicalize-lgpl (Depends-on): Update.
35394         * lib/canonicalize-lgpl.c: Update.
35395         * modules/clean-temp (Depends-on): Update.
35396         * lib/clean-temp.c: Update.
35397         * modules/csharpcomp (Depends-on): Update.
35398         * lib/csharpcomp.c: Update.
35399         * modules/csharpexec (Depends-on): Update.
35400         * lib/csharpexec.c: Update.
35401         * modules/javacomp (Depends-on): Update.
35402         * lib/javacomp.c: Update.
35403         * modules/javaexec (Depends-on): Update.
35404         * lib/javaexec.c: Update.
35405         * modules/mbscasestr (Depends-on): Update.
35406         * lib/mbscasestr.c: Update.
35407         * modules/mbsstr (Depends-on): Update.
35408         * lib/mbsstr.c: Update.
35409         * modules/setenv (Depends-on): Update.
35410         * lib/setenv.c: Update.
35411         * modules/strcasestr (Depends-on): Update.
35412         * lib/strcasestr.c: Update.
35413         * modules/striconveha (Depends-on): Update.
35414         * lib/striconveha.c: Update.
35415         * modules/relocatable-prog-wrapper (Files): Update.
35416         * lib/relocwrapper.c: Update.
35417         * build-aux/install-reloc: Update.
35418         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
35419
35420 2007-06-08  Bruno Haible  <bruno@clisp.org>
35421
35422         Port to uClibc.
35423         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
35424         * lib/fpurge.c (fpurge): Likewise.
35425         * lib/freading.c (freading): Likewise.
35426         * lib/fseeko.c (rpl_fseeko): Likewise.
35427         * lib/fseterr.c (fseterr): Likewise.
35428         * lib/fwriting.c (fwriting): Likewise.
35429         * tests/test-fflush.c (main): Avoid a failure on uClibc.
35430
35431 2007-06-08  Bruno Haible  <bruno@clisp.org>
35432
35433         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
35434         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
35435         * modules/gettext (Files): Add m4/intlmacosx.m4.
35436
35437 2007-06-07  Bruno Haible  <bruno@clisp.org>
35438
35439         * modules/localename-tests: New file.
35440         * tests/test-localename.c: New file.
35441
35442         New module 'localename'.
35443         * lib/localename.h: New file.
35444         * lib/localename.c: New file, from GNU gettext.
35445         * m4/localename.m4: New file.
35446         * modules/localename: New file.
35447
35448 2007-06-07  Bruno Haible  <bruno@clisp.org>
35449
35450         Work around the lack of <wchar.h> on some builds of uClibc.
35451         * doc/headers/wchar.texi: Update.
35452         * lib/wchar_.h: Include <wchar.h> only if it exists.
35453         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
35454         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
35455         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
35456         doesn't exist.
35457         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
35458         * modules/mbfile (Depends-on): Add wchar.
35459         * modules/mbiter (Depends-on): Likewise.
35460         * modules/mbuiter (Depends-on): Likewise.
35461         Reported by Simon Josefsson.
35462
35463 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
35464
35465         Work around problem reported by Steven M. Schweda in
35466         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
35467         Tru64 5.1B with the Compaq compiler environment installed declares
35468         an 'isblank' function but does not define it in the C library.
35469         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
35470         * lib/regex_internal.h (isblank): Likewise.
35471         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
35472         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35473
35474 2007-06-05  Bruno Haible  <bruno@clisp.org>
35475
35476         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
35477         ia64.
35478         * modules/printf-safe: New file.
35479         * modules/fprintf-posix (Depends-on): Add printf-safe.
35480         * modules/printf-posix (Depends-on): Likewise.
35481         * modules/snprintf-posix (Depends-on): Likewise.
35482         * modules/sprintf-posix (Depends-on): Likewise.
35483         * modules/vasnprintf-posix (Depends-on): Likewise.
35484         * modules/vasprintf-posix (Depends-on): Likewise.
35485         * modules/vfprintf-posix (Depends-on): Likewise.
35486         * modules/vprintf-posix (Depends-on): Likewise.
35487         * modules/vsnprintf-posix (Depends-on): Likewise.
35488         * modules/vsprintf-posix (Depends-on): Likewise.
35489         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
35490         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
35491         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
35492         "no" on i386, x86_64, ia64.
35493         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
35494         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35495         on i386, x86_64, ia64.
35496         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
35497         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35498         on i386, x86_64, ia64.
35499         * tests/test-vasnprintf-posix.c: Include float.h.
35500         (LDBL80_WORDS): New macro.
35501         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35502         on i386, x86_64, ia64.
35503         * tests/test-vasprintf-posix.c: Include float.h.
35504         (LDBL80_WORDS): New macro.
35505         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
35506         on i386, x86_64, ia64.
35507         * tests/test-snprintf-posix.c: Include float.h.
35508         * tests/test-sprintf-posix.c: Likewise.
35509         * tests/test-vsnprintf-posix.c: Likewise.
35510         * tests/test-vsprintf-posix.c: Likewise.
35511
35512 2007-06-05  Bruno Haible  <bruno@clisp.org>
35513
35514         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
35515         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
35516         non-IEEE numbers on i386, x86_64, ia64.
35517         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
35518         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
35519         * tests/test-isnanl.h: Include float.h.
35520         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
35521
35522 2007-06-05  Bruno Haible  <bruno@clisp.org>
35523
35524         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
35525         also the %a / %A. Handle the %a / %A code before this extra handling.
35526
35527 2007-06-05  Bruno Haible  <bruno@clisp.org>
35528
35529         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
35530         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
35531
35532 2007-06-05  Bruno Haible  <bruno@clisp.org>
35533
35534         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
35535         typo in variable name.
35536
35537 2007-06-05  Eric Blake  <ebb9@byu.net>
35538
35539         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
35540         Reported by Simon Josefsson.
35541
35542 2007-06-04  Bruno Haible  <bruno@clisp.org>
35543
35544         Avoid test failures on some PowerPC platforms.
35545         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
35546         Define differently for PowerPC.
35547         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
35548         Reported by Gary V. Vaughan <gary@gnu.org>.
35549
35550 2007-06-02  Bruno Haible  <bruno@clisp.org>
35551
35552         Fix test-stdint failure on FreeBSD/ia64.
35553         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
35554         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
35555         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
35556         * doc/headers/stdint.texi: Update.
35557
35558 2007-06-01  Bruno Haible  <bruno@clisp.org>
35559
35560         * tests/test-binary-io.c (main): Pass a third argument to open().
35561         Reported by Gary V. Vaughan <gary@gnu.org>.
35562
35563 2007-06-01  Bruno Haible  <bruno@clisp.org>
35564
35565         * doc/functions/frexpl.texi: Update for mingw.
35566
35567 2007-06-01  Bruno Haible  <bruno@clisp.org>
35568
35569         * tests/test-lseek.c (main): Disable test of errno for invalid third
35570         argument.
35571         * doc/functions/lseek.texi: Update.
35572         Reported by Gary V. Vaughan <gary@gnu.org>.
35573
35574 2007-05-28  Bruno Haible  <bruno@clisp.org>
35575
35576         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
35577
35578 2007-05-31  Eric Blake  <ebb9@byu.net>
35579
35580         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
35581         cross compiling.
35582
35583 2007-05-30  Eric Blake  <ebb9@byu.net>
35584         and Bruno Haible  <bruno@clisp.org>
35585
35586         Work around mingw test failures exposed by m4-1.4.9b.
35587         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
35588         * tests/test-unistd.c: Disable uid_t and git_t tests for the
35589         moment.
35590
35591 2007-05-30  Bruno Haible  <bruno@clisp.org>
35592
35593         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
35594         assuming that they are closed. Needed on HP-UX 11.
35595
35596 2007-05-29  Bruno Haible  <bruno@clisp.org>
35597
35598         Fix a problem with #include_next.
35599         * lib/dirent_.h: Split the double-inclusion guard.
35600         * lib/fcntl_.h: Likewise.
35601         * lib/float_.h: Likewise.
35602         * lib/iconv_.h: Likewise.
35603         * lib/inttypes_.h: Likewise.
35604         * lib/locale_.h: Likewise.
35605         * lib/math_.h: Likewise.
35606         * lib/netinet_in_.h: Likewise.
35607         * lib/search_.h: Likewise.
35608         * lib/signal_.h: Likewise.
35609         * lib/stdint_.h: Likewise.
35610         * lib/stdio_.h: Likewise.
35611         * lib/stdlib_.h: Likewise.
35612         * lib/string_.h: Likewise.
35613         * lib/sys_select_.h: Likewise.
35614         * lib/sys_socket_.h: Likewise.
35615         * lib/sys_stat_.h: Likewise.
35616         * lib/sys_time_.h: Likewise.
35617         * lib/sysexits_.h: Likewise.
35618         * lib/time_.h: Likewise.
35619         * lib/unistd_.h: Likewise.
35620         * lib/wchar_.h: Likewise.
35621         * lib/wctype_.h: Likewise.
35622
35623 2007-05-29  Bruno Haible  <bruno@clisp.org>
35624
35625         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
35626         for the moment.
35627
35628 2007-05-29  Bruno Haible  <bruno@clisp.org>
35629
35630         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
35631         invocation.
35632         Reported by Eric Blake.
35633
35634 2007-05-29  Bruno Haible  <bruno@clisp.org>
35635
35636         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
35637         compiling case.
35638
35639 2007-05-29  Eric Blake  <ebb9@byu.net>
35640             Bruno Haible  <bruno@clisp.org>
35641
35642         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
35643         cross compiles.
35644
35645 2007-05-28  Eric Blake  <ebb9@byu.net>
35646
35647         * modules/closein-tests (test_closein_LDADD): Support test on
35648         cygwin with libtool.
35649
35650 2007-05-28  Bruno Haible  <bruno@clisp.org>
35651
35652         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
35653         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35654         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35655         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35656         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35657         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35658         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35659         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35660         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35661
35662 2007-05-28  Eric Blake  <ebb9@byu.net>
35663
35664         Unconditionally include <config.h> in unit tests.
35665         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
35666         * tests/test-allocsa.c, tests/test-arcfour.c,
35667         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
35668         tests/test-array_list.c, tests/test-array_oset.c,
35669         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
35670         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
35671         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
35672         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
35673         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
35674         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
35675         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
35676         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
35677         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
35678         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
35679         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
35680         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
35681         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
35682         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
35683         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
35684         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
35685         test-md5.c, test-memmem.c, test-printf-posix.c,
35686         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
35687         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
35688         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
35689         test-strcasestr.c, test-striconv.c, test-striconveh.c,
35690         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
35691         test-vasnprintf-posix2.c, test-vasnprintf.c,
35692         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
35693         test-vfprintf-posix.c, test-vprintf-posix.c,
35694         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
35695         test-xvasprintf.c: Likewise.
35696
35697 2007-05-28  Bruno Haible  <bruno@clisp.org>
35698
35699         * gnulib-tool (func_import): Remember the --with-tests command-line
35700         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
35701         Reported by Eric Blake.
35702
35703 2007-05-28  Bruno Haible  <bruno@clisp.org>
35704
35705         * modules/ftell-tests: New file.
35706         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
35707         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
35708
35709         * lib/ftell.c: New file.
35710         * modules/ftell: New file.
35711         * m4/ftell.m4: New file.
35712         * doc/functions/ftell.texi: Update.
35713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
35714         REPLACE_FTELL.
35715         * lib/stdio_.h (rpl_ftell): New declaration.
35716         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
35717         REPLACE_FTELL.
35718
35719 2007-05-28  Eric Blake  <ebb9@byu.net>
35720
35721         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
35722
35723 2007-05-28  Bruno Haible  <bruno@clisp.org>
35724
35725         * modules/fseek-tests: New file.
35726         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
35727         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
35728
35729         * lib/fseek.c: New file.
35730         * modules/fseek: New file.
35731         * m4/fseek.m4: New file.
35732         * doc/functions/fseek.texi: Update.
35733         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
35734         REPLACE_FSEEK.
35735         * lib/stdio_.h (rpl_fseek): New declaration.
35736         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
35737         REPLACE_FSEEK.
35738
35739 2007-05-28  Bruno Haible  <bruno@clisp.org>
35740
35741         * lib/stdio_.h (fflush): More comments.
35742
35743 2007-05-28  Bruno Haible  <bruno@clisp.org>
35744
35745         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
35746         runtime test.
35747
35748 2007-05-28  Eric Blake  <ebb9@byu.net>
35749
35750         Improve lseek module.
35751         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
35752         * lib/unistd_.h (lseek): Scale back link warning message.
35753         * tests/test-lseek.c: Beef up test.
35754         * tests/test-lseek.sh: Exercise more facets of lseek.
35755         Reported by Bruno Haible.
35756
35757 2007-05-28  Bruno Haible  <bruno@clisp.org>
35758
35759         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
35760         to define.
35761
35762 2007-05-27  Bruno Haible  <bruno@clisp.org>
35763
35764         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
35765
35766 2007-05-27  Bruno Haible  <bruno@clisp.org>
35767
35768         * modules/openmp: New file.
35769         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
35770         Noah Misch.
35771
35772 2007-05-26  Bruno Haible  <bruno@clisp.org>
35773
35774         * modules/chdir-long (Depends-on): Add fchdir.
35775         * modules/chdir-safer (Depends-on): Likewise.
35776         * modules/fts (Depends-on): Likewise.
35777         * modules/fts-lgpl (Depends-on): Likewise.
35778         * modules/openat (Depends-on): Likewise.
35779         * modules/savewd (Depends-on): Likewise.
35780
35781 2007-05-24  Eric Blake  <ebb9@byu.net>
35782
35783         Fix lseek on mingw.
35784         * modules/lseek: New module.
35785         * m4/lseek.m4: New file.
35786         * lib/lseek.c: New file.
35787         * modules/lseek-tests: New file.
35788         * tests/test-lseek.c: New file.
35789         * tests/test-lseek.sh: New file.
35790         * MODULES.html.sh: Document lseek module.
35791         * modules/fflush (Depends-on): Add lseek, fseeko.
35792         * modules/fseeko (Depends-on): Likewise.
35793         * modules/ftello (Depends-on): Likewise.
35794         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
35795         broken.
35796         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
35797         broken.
35798         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
35799         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
35800         * lib/ftello.c (rpl_ftello): Likewise.
35801         * tests/test-fseeko.c (main): Test this.
35802         * tests/test-fseeko.sh: Likewise.
35803         * tests/test-ftello.c (main): Likewise.
35804         * tests/test-ftello.sh: Likewise.
35805         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
35806         implies replacing fseek.
35807         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
35808         HAVE_FTELLO.
35809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
35810         * modules/unistd (Makefile.am): Likewise.
35811         * lib/unistd_.h (lseek): Declare a replacement.
35812         * doc/functions/lseek.texi (lseek): Document this fix.
35813         * doc/functions/fseek.texi (fseek): Likewise.
35814         * doc/functions/ftell.texi (ftell): Likewise.
35815
35816 2007-05-24  Bruno Haible  <bruno@clisp.org>
35817
35818         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
35819         in the printed representation of a NaN.
35820         * tests/test-vasprintf-posix.c (test_function): Likewise.
35821         * tests/test-snprintf-posix.h (test_function): Likewise.
35822         * tests/test-sprintf-posix.h (test_function): Likewise.
35823         Reported by Eric Blake.
35824
35825 2007-05-23  Eric Blake  <ebb9@byu.net>
35826
35827         Fix fseeko/ftello on cygwin 1.5.24.
35828         * doc/functions/fseeko.texi (fseeko): Document the fix.
35829         * doc/functions/ftello.texi (ftello): Document the fix.
35830         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
35831         * doc/functions/stdout.text (stdout): New file.
35832         * doc/functions/stderr.text (stderr): New file.
35833         * doc/gnulib.texi (Function Substitutes): Use new files.
35834         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
35835         prior to 1.7.0.
35836         * tests/test-ftello.c (main): Likewise for ftello.
35837         * tests/test-fseeko.sh: New file.
35838         * tests/test-ftello.sh: New file.
35839         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
35840         with seekable stdin.
35841         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
35842         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
35843         (gl_REPLACE_FSEEKO): New macro.
35844         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
35845         * modules/fseeko (Files): Distribute fseeko.c.
35846         * modules/ftello (Files): Distribute ftello.c.
35847         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
35848         mode.
35849         * lib/ftello.c (rpl_ftello): New file.
35850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
35851         fseeko, ftello.
35852         (gl_STDIN_LARGE_OFFSET): New macro.
35853         * modules/stdio (Makefile.am): Perform the replacement.
35854         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
35855
35856 2007-05-23  Bruno Haible  <bruno@clisp.org>
35857
35858         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
35859         GNULIB_POSIXCHECK is defined.
35860
35861 2007-05-21  Bruno Haible  <bruno@clisp.org>
35862
35863         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
35864         Check also the output for NaN arguments. When cross-compiling, guess
35865         no on IRIX.
35866         * lib/vasnprintf.c: Update comments.
35867         * tests/test-vasnprintf-posix.c (strisnan): New function.
35868         (test_function): Use it.
35869         * tests/test-vasprintf-posix.c (strisnan): New function.
35870         (test_function): Use it.
35871         * tests/test-snprintf-posix.h (strisnan): New function.
35872         (test_function): Use it.
35873         * tests/test-sprintf-posix.h (strisnan): New function.
35874         (test_function): Use it.
35875         Reported by Eric Blake.
35876
35877 2007-05-20  Bruno Haible  <bruno@clisp.org>
35878
35879         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
35880         numbers that fails on BeOS.
35881         * doc/functions/frexpl.texi: Update.
35882
35883 2007-05-20  Jim Meyering  <jim@meyering.net>
35884
35885         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
35886         forced upon us by glibc-2.6.
35887
35888 2007-05-20  Bruno Haible  <bruno@clisp.org>
35889
35890         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
35891         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
35892         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
35893         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
35894         NEED_PRINTF_INFINITE.
35895         (is_infinitel): New function.
35896         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
35897         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
35898         gl_PREREQ_VASNPRINTF_INFINITE.
35899         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
35900         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35901         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
35902         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
35903         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
35904         gl_PREREQ_VASNPRINTF_INFINITE.
35905         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35906         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35907         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35908         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35909         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35910         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35911         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35912         * doc/functions/fprintf.texi: Update.
35913         * doc/functions/printf.texi: Update.
35914         * doc/functions/snprintf.texi: Update.
35915         * doc/functions/sprintf.texi: Update.
35916         * doc/functions/vfprintf.texi: Update.
35917         * doc/functions/vprintf.texi: Update.
35918         * doc/functions/vsnprintf.texi: Update.
35919         * doc/functions/vsprintf.texi: Update.
35920
35921 2007-05-20  Bruno Haible  <bruno@clisp.org>
35922
35923         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
35924         was not found in libc.
35925         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
35926
35927 2007-05-20  Bruno Haible  <bruno@clisp.org>
35928
35929         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35930         printed as "-nan" instead of "nan".
35931         * tests/test-vasprintf-posix.c (test_function): Likewise.
35932         * tests/test-snprintf-posix.h (test_function): Likewise.
35933         * tests/test-sprintf-posix.h (test_function): Likewise.
35934         Needed for HP-UX 11.
35935
35936 2007-05-20  Jim Meyering  <jim@meyering.net>
35937
35938         Fix buggy test for the fchownat-deref bug.
35939         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
35940         symlink required for the run-test.  Without it, this test would
35941         always declare that fchownat doesn't work, and client code would
35942         unnecessarily use the replacement function with fixed libc.
35943         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
35944         Reported by Greg Schafer.
35945
35946 2007-05-19  Bruno Haible  <bruno@clisp.org>
35947
35948         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
35949         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
35950         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
35951         Needed for IRIX 6.5 and Solaris 2.5.1.
35952
35953 2007-05-19  Bruno Haible  <bruno@clisp.org>
35954
35955         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
35956         (test_function): Skip tests involving -0.0 on platforms where
35957         -0.0 = 0.0.
35958         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
35959         (test_function): Skip tests involving -0.0 on platforms where
35960         -0.0 = 0.0.
35961         * tests/test-snprintf-posix.h (have_minus_zero): New function.
35962         (test_function): Skip tests involving -0.0 on platforms where
35963         -0.0 = 0.0.
35964         * tests/test-sprintf-posix.h (have_minus_zero): New function.
35965         (test_function): Skip tests involving -0.0 on platforms where
35966         -0.0 = 0.0.
35967         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
35968         tests.
35969         * tests/test-printf-posix.h (test_function): Likewise.
35970         * tests/test-printf-posix.output: Remove all -0.0 related results.
35971         Needed for IRIX 6.5.
35972
35973 2007-05-19  Bruno Haible  <bruno@clisp.org>
35974
35975         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35976         printed as "nan0x7fffffff" instead of "nan".
35977         * tests/test-vasprintf-posix.c (test_function): Likewise.
35978         * tests/test-snprintf-posix.h (test_function): Likewise.
35979         * tests/test-sprintf-posix.h (test_function): Likewise.
35980         * tests/test-fprintf-posix.h (NaN): Remove macro.
35981         (test_function): Remove all NaN related tests.
35982         * tests/test-printf-posix.h (NaN): Remove macro.
35983         (test_function): Remove all NaN related tests.
35984         * tests/test-printf-posix.output: Remove all NaN related results.
35985         Needed for IRIX 6.5.
35986
35987 2007-05-19  Bruno Haible  <bruno@clisp.org>
35988
35989         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
35990         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
35991
35992 2007-05-19  Bruno Haible  <bruno@clisp.org>
35993
35994         * lib/float_.h: New file.
35995         * m4/float_h.m4: New file.
35996         * modules/float: New file.
35997         * modules/isnanl (Dependencies): Add float.
35998         * modules/isnanl-nolibm (Dependencies): Likewise.
35999         * modules/mathl (Dependencies): Likewise.
36000         * modules/printf-frexpl (Dependencies): Likewise.
36001         * modules/signbit (Dependencies): Likewise.
36002         * modules/vasnprintf (Dependencies): Likewise.
36003         * doc/headers/float.texi: Update.
36004
36005 2007-05-19  Jim Meyering  <jim@meyering.net>
36006
36007         * lib/utimens.c (gl_futimens): Rename from futimens,
36008         now that glibc-2.6 declares futimens.
36009         * lib/utimens.h: Likewise.
36010
36011 2007-05-19  Bruno Haible  <bruno@clisp.org>
36012
36013         Avoid test failures on mingw.
36014         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
36015         * tests/test-printf-posix.sh: Likewise.
36016         * tests/test-vfprintf-posix.sh: Likewise.
36017         * tests/test-vprintf-posix.sh: Likewise.
36018
36019 2007-05-19  Bruno Haible  <bruno@clisp.org>
36020
36021         Fix *printf result for NaN, Inf, -0.0 on mingw.
36022         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
36023         * lib/vasnprintf.c: Include math.h and isnan.h.
36024         (is_infinite_or_zero): New function.
36025         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
36026         values in the %f, %F, %e, %E, %g, %G directives.
36027         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
36028         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36029         gl_PRINTF_INFINITE and test its result. Invoke
36030         gl_PREREQ_VASNPRINTF_INFINITE.
36031         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36032         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36033         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36034         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36035         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36036         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36037         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36038         * doc/functions/fprintf.texi: Update.
36039         * doc/functions/printf.texi: Update.
36040         * doc/functions/snprintf.texi: Update.
36041         * doc/functions/sprintf.texi: Update.
36042         * doc/functions/vfprintf.texi: Update.
36043         * doc/functions/vprintf.texi: Update.
36044         * doc/functions/vsnprintf.texi: Update.
36045         * doc/functions/vsprintf.texi: Update.
36046
36047 2007-05-19  Bruno Haible  <bruno@clisp.org>
36048
36049         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
36050         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
36051         Instead of multiplying with 10^k, set extra_zeroes to k.
36052         (scale10_round_long_double): Remove function.
36053
36054 2007-05-18  Bruno Haible  <bruno@clisp.org>
36055
36056         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
36057         introduced on 2007-05-06.
36058
36059 2007-05-18  Bruno Haible  <bruno@clisp.org>
36060
36061         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
36062         %g directives.
36063         * tests/test-vasprintf-posix.c (test_function): Likewise.
36064         * tests/test-snprintf-posix.h (test_function): Likewise.
36065         * tests/test-sprintf-posix.h (test_function): Likewise.
36066
36067 2007-05-18  Bruno Haible  <bruno@clisp.org>
36068
36069         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
36070         (strmatch): New function.
36071         (test_function): Test the %f directive on numbers of various exponents.
36072         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
36073         (strmatch): New function.
36074         (test_function): Test the %f directive on numbers of various exponents.
36075         * tests/test-snprintf-posix.h (strmatch): New function.
36076         (test_function): Test the %f directive on numbers of various exponents.
36077         * tests/test-sprintf-posix.h (strmatch): New function.
36078         (test_function): Test the %f directive on numbers of various exponents.
36079         * tests/test-snprintf-posix.c (SIZEOF): New macro.
36080         * tests/test-sprintf-posix.c (SIZEOF): New macro.
36081         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
36082         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
36083
36084 2007-05-18  Bruno Haible  <bruno@clisp.org>
36085
36086         Add support for 'long double' number output.
36087         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
36088         * lib/vasnprintf.c: Include math.h and float+.h.
36089         (mp_limb_t): New type.
36090         (GMP_LIMB_BITS): New macro.
36091         (mp_twolimb_t): New type.
36092         (GMP_TWOLIMB_BITS): New macro.
36093         (mpn_t): New type.
36094         (multiply, divide, convert_to_decimal, decode_long_double,
36095         scale10_round_long_double, scale10_round_decimal_long_double,
36096         floorlog10l): New functions.
36097         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
36098         for the %f, %F, %e, %E, %g, %G directives.
36099         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
36100         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36101         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
36102         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
36103         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36104         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36105         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36106         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36107         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36108         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36109         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36110         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
36111         * modules/snprintf-posix (Depends-on): Likewise.
36112         * modules/sprintf-posix (Depends-on): Likewise.
36113         * modules/vasnprintf-posix (Depends-on): Likewise.
36114         * modules/vasprintf-posix (Depends-on): Likewise.
36115         * modules/vfprintf-posix (Depends-on): Likewise.
36116         * modules/vsnprintf-posix (Depends-on): Likewise.
36117         * modules/vsprintf-posix (Depends-on): Likewise.
36118         * modules/vasnprintf (Files): Add lib/float+.h.
36119         * doc/functions/fprintf.texi: Update.
36120         * doc/functions/printf.texi: Update.
36121         * doc/functions/snprintf.texi: Update.
36122         * doc/functions/sprintf.texi: Update.
36123         * doc/functions/vfprintf.texi: Update.
36124         * doc/functions/vprintf.texi: Update.
36125         * doc/functions/vsnprintf.texi: Update.
36126         * doc/functions/vsprintf.texi: Update.
36127
36128 2007-05-18  Bruno Haible  <bruno@clisp.org>
36129
36130         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
36131
36132 2007-05-18  Bruno Haible  <bruno@clisp.org>
36133
36134         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
36135         for printing 64-bit integers. Needed for mingw.
36136
36137 2007-05-18  Bruno Haible  <bruno@clisp.org>
36138
36139         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
36140         gl_FUNC_FREXPL_WORKS.
36141         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
36142
36143 2007-05-18  Bruno Haible  <bruno@clisp.org>
36144
36145         * modules/frexpl-nolibm-tests: New file.
36146
36147         * modules/frexpl-nolibm: New file.
36148         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
36149
36150 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
36151
36152         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
36153         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
36154         GCC 4.2, which otherwise issues a lot of warnings.
36155         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
36156         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
36157         Likewise.
36158         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
36159         * modules/iconv_open (iconv.h): Likewise.
36160         * modules/locale (locale.h): Likewise.
36161         * modules/netinet_in (netinet/in.h): Likewise.
36162         * modules/sys_select (sys_select.h): Likewise.
36163         * modules/sys_socket (sys/socket.h): Likewise.
36164         * modules/sys_stat (sys/stat.h): Likewise.
36165         * modules/sysexits (sysexits.h): Likewise.
36166         * modules/unistd (unistd.h): Likewise.
36167
36168 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36169
36170         * modules/closein-tests (Makefile.am): Distribute
36171         `test-closein.sh'.
36172
36173 2007-05-17  Bruno Haible  <bruno@clisp.org>
36174
36175         * tests/test-printf-posix.output: Renamed from
36176         tests/test-fprintf-posix.out.
36177         * modules/fprintf-posix-tests: Update.
36178         * modules/printf-posix-tests: Update.
36179         * modules/vfprintf-posix-tests: Update.
36180         * modules/vprintf-posix-tests: Update.
36181         * tests/test-fprintf-posix.sh: Update.
36182         * tests/test-printf-posix.sh: Update.
36183         * tests/test-vfprintf-posix.sh: Update.
36184         * tests/test-vprintf-posix.sh: Update.
36185         Reported by Ralf Wildenhues.
36186
36187 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
36188
36189         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
36190         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
36191         GCC 4.2, which otherwise issues a lot of warnings.
36192         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
36193         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
36194         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
36195         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
36196         it should no longer be needed.
36197         * lib/string_.h: Likewise.
36198         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
36199         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
36200         * modules/inttypes (inttypes.h): Likewise.
36201         * modules/math (math.h): Likewise.
36202         * modules/search (search.h): Likewise.
36203         * modules/signal (signal.h): Likewise.
36204         * modules/stdint (stdint.h): Likewise.
36205         * modules/stdio (stdio.h): Likewise.
36206         * modules/stdlib (stdlib.h): Likewise.
36207         * modules/string (string.h): Likewise.
36208         * modules/sys_time (sys/time.h): Likewise.
36209         * modules/time (time.h): Likewise.
36210         * modules/wchar (wchar.h): Likewise.
36211         * modules/wctype (wtype.h): Likewise.
36212
36213 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
36214
36215         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
36216
36217 2007-05-13  Bruno Haible  <bruno@clisp.org>
36218
36219         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
36220         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
36221         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
36222         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
36223         (gl_PREREQ_STRTOK_R): Don't require it here.
36224
36225 2007-05-13  Bruno Haible  <bruno@clisp.org>
36226
36227         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
36228         when used in C++ mode.
36229
36230 2007-05-12  Bruno Haible  <bruno@clisp.org>
36231
36232         * lib/linebuffer.h: Tweak doc.
36233         * lib/linebuffer.c: Likewise.
36234
36235 2007-05-12  James Youngman  <jay@gnu.org>
36236
36237         * lib/linebuffer.c (readlinebuffer_delim): New function,
36238         like readlinebuffer, but use a caller-specified delimiter.
36239         (readlinebuffer): Just call readlinebuffer_delim with '\n'
36240         as the delimiter.
36241         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
36242
36243 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36244
36245         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
36246         * modules/openat (Files): Remove openat-die.c.
36247         (Depends-on): Add openat-die.
36248         * modules/openat-die: New module.
36249
36250 2007-05-06  Bruno Haible  <bruno@clisp.org>
36251
36252         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
36253         Update with info about Cygwin.
36254         * doc/functions/fprintf.texi: Update.
36255         * doc/functions/printf.texi: Update.
36256         * doc/functions/snprintf.texi: Update.
36257         * doc/functions/sprintf.texi: Update.
36258         * doc/functions/vfprintf.texi: Update.
36259         * doc/functions/vprintf.texi: Update.
36260         * doc/functions/vsnprintf.texi: Update.
36261         * doc/functions/vsprintf.texi: Update.
36262         Reported by Eric Blake.
36263
36264 2007-05-06  Bruno Haible  <bruno@clisp.org>
36265
36266         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
36267         padding ourselves for the floating-point directives.
36268         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
36269         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
36270         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36271         gl_PRINTF_FLAG_ZERO and test its result. Invoke
36272         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
36273         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36274         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
36275         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36276         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36277         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36278         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36279         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36280         * tests/test-snprintf-posix.h (test_function): Also check the width
36281         and some flags in the %f directive.
36282         * tests/test-sprintf-posix.h (test_function): Likewise.
36283         * tests/test-vasnprintf-posix.c (test_function): Likewise.
36284         * tests/test-vasprintf-posix.c (test_function): Likewise.
36285         * doc/functions/fprintf.texi: Update.
36286         * doc/functions/printf.texi: Update.
36287         * doc/functions/snprintf.texi: Update.
36288         * doc/functions/sprintf.texi: Update.
36289         * doc/functions/vfprintf.texi: Update.
36290         * doc/functions/vprintf.texi: Update.
36291         * doc/functions/vsnprintf.texi: Update.
36292         * doc/functions/vsprintf.texi: Update.
36293
36294 2007-05-06  Bruno Haible  <bruno@clisp.org>
36295
36296         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
36297         pass the ' flag character to sprintf or snprintf.
36298         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
36299         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
36300         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36301         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
36302         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
36303         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36304         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
36305         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36306         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36307         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36308         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36309         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36310         * tests/test-snprintf-posix.h (test_function): Also check the grouping
36311         flag.
36312         * tests/test-sprintf-posix.h (test_function): Likewise.
36313         * tests/test-vasnprintf-posix.c (test_function): Likewise.
36314         * tests/test-vasprintf-posix.c (test_function): Likewise.
36315         * doc/functions/fprintf.texi: Update.
36316         * doc/functions/printf.texi: Update.
36317         * doc/functions/snprintf.texi: Update.
36318         * doc/functions/sprintf.texi: Update.
36319         * doc/functions/vfprintf.texi: Update.
36320         * doc/functions/vprintf.texi: Update.
36321         * doc/functions/vsnprintf.texi: Update.
36322         * doc/functions/vsprintf.texi: Update.
36323
36324 2007-05-01  Bruno Haible  <bruno@clisp.org>
36325
36326         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
36327
36328 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
36329
36330         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
36331         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
36332
36333 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
36334
36335         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
36336         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
36337         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
36338
36339 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
36340
36341         * lib/argp-help.c (struct hol_entry): New member `ord'.
36342         (HOL_ENTRY_PTRCMP): Use ord for comparison
36343         (hol_sort): Initialize ord.
36344
36345 2007-05-01  Bruno Haible  <bruno@clisp.org>
36346
36347         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
36348         Reported by Eric Blake.
36349         * doc/gnulib.texi (Function Substitutes): Update.
36350
36351 2007-05-01  Bruno Haible  <bruno@clisp.org>
36352
36353         * doc/functions.texi: Remove file, now redundant through
36354         doc/functions/*.texi.
36355
36356 2007-05-01  Bruno Haible  <bruno@clisp.org>
36357
36358         * modules/argp (Depends-on): Add sleep.
36359
36360 2007-05-01  Bruno Haible  <bruno@clisp.org>
36361
36362         * modules/sleep-tests: New file.
36363         * tests/test-sleep.c: New file.
36364
36365         * modules/sleep: New file.
36366         * lib/sleep.c: New file.
36367         * m4/sleep.m4: New file.
36368         * lib/unistd_.h (sleep): New declaration.
36369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
36370         HAVE_SLEEP.
36371         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
36372         * doc/functions/sleep.texi: Document the sleep module.
36373
36374 2007-05-01  Bruno Haible  <bruno@clisp.org>
36375
36376         * lib/sigprocmask.h: Remove file.
36377         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
36378         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
36379         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
36380         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
36381         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
36382         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
36383         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
36384         HAVE_SIGSET_T as a shell variable.
36385         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
36386         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
36387         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
36388         (Depends-on): Add signal. Remove verify.
36389         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
36390         (Include): Mention <signal.h> instead of sigprocmask.h.
36391         * NEWS: Mention the change.
36392         * lib/fatal-signal.c: Don't include sigprocmask.h.
36393
36394 2007-05-01  Bruno Haible  <bruno@clisp.org>
36395
36396         * modules/signal: New file.
36397         * lib/signal_.h: New file.
36398         * m4/signal_h.m4: New file.
36399
36400 2007-05-01  Bruno Haible  <bruno@clisp.org>
36401
36402         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
36403         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
36404         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
36405         HAVE_WCTYPE_CTMP_BUG into wctype.h.
36406
36407 2007-05-01  Bruno Haible  <bruno@clisp.org>
36408
36409         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
36410         configure time.
36411         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
36412         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
36413         * modules/sys_stat (Makefile.am): Substitute their values into
36414         sys/stat.h.
36415
36416 2007-05-01  Bruno Haible  <bruno@clisp.org>
36417
36418         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
36419         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
36420         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
36421
36422 2007-05-01  Bruno Haible  <bruno@clisp.org>
36423
36424         * doc/header/assert.texi: Undo last change: don't mention the gnulib
36425         'assert' module here.
36426
36427 2007-05-01  Bruno Haible  <bruno@clisp.org>
36428
36429         * doc/functions/*.texi: New files.
36430         * doc/functions/google-ranking.txt: New file.
36431         * doc/gnulib.texi (Function Substitutes): New chapter.
36432         (ctime, inet_ntoa): Remove sections.
36433         * doc/ctime.texi: Remove file.
36434         * doc/inet_ntoa.texi: Remove file.
36435         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
36436         dependencies.
36437         (%.info): New rule, specifying a --reference-limit.
36438
36439 2007-05-01  Bruno Haible  <bruno@clisp.org>
36440
36441         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
36442
36443 2007-05-01  Bruno Haible  <bruno@clisp.org>
36444
36445         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
36446         the portability of 'mkdir' to mingw systems.
36447
36448 2007-05-01  Bruno Haible  <bruno@clisp.org>
36449
36450         * doc/headers/google-ranking.txt: New file.
36451
36452 2007-04-30  Eric Blake  <ebb9@byu.net>
36453
36454         Prefer fseeko to fseek.
36455         * modules/getpass (Depends-on): Add fseeko.
36456         * lib/getpass.c (getpass): Use fseeko, not fseek.
36457
36458 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
36459
36460         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
36461         assumes the sorting is stable, while most qsort implementations
36462         are not.  Use argument addresses to ensure they never compare as
36463         equal.
36464
36465         * tests/test-argp-2.sh (usage-indent test): Fix output
36466         (func_compare): Restore diff options
36467         * tests/test-argp.c: Restore #include "progname.h"
36468
36469 2007-04-29  Bruno Haible  <bruno@clisp.org>
36470
36471         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
36472         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36473         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
36474         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36475         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
36476         (configure.ac): Define CHECK_SNPRINTF_POSIX.
36477         (TESTS, check_PROGRAMS): Add test-snprintf.
36478         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
36479         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
36480         (TESTS, check_PROGRAMS): Add test-vsnprintf.
36481         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
36482         assertions that fail on HP-UX, OSF/1, or IRIX.
36483         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
36484
36485 2007-04-29  Bruno Haible  <bruno@clisp.org>
36486
36487         * MODULES.html.sh (posix_functions): Remove 'contents'.
36488
36489 2007-04-29  Karl Berry  <karl@gnu.org>
36490
36491         * config/srclist.txt (gendocs_template_min): new entry.
36492
36493 2007-04-29  Bruno Haible  <bruno@clisp.org>
36494
36495         Work around fpurge bug on BSD systems.
36496         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
36497         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
36498         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
36499         fpurge to rpl_fpurge if the system already has this function.
36500         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
36501         the case where the system already has this function. Correct invariants
36502         on BSD systems.
36503         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
36504         BSD systems.
36505
36506 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
36507
36508         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
36509         proposed by Sven Verdoolaege.
36510
36511         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
36512         options.
36513         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
36514         (usage and help tests): Update
36515
36516 2007-04-29  Bruno Haible  <bruno@clisp.org>
36517
36518         * tests/test-fflush.c (main): Use a file of size 17, not 10.
36519         Print more information in case of failure. Disable a test on BeOS.
36520
36521 2007-04-29  Bruno Haible  <bruno@clisp.org>
36522
36523         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
36524         This helps debugging on systems on which no gdb is available.
36525
36526 2007-04-29  Bruno Haible  <bruno@clisp.org>
36527
36528         * lib/freading.h: Improve comments.
36529         * lib/fwriting.h: Likewise.
36530         * tests/test-freading.c (main): Don't check freading immediately after
36531         repositioning. Needed for glibc.
36532
36533 2007-04-29  Bruno Haible  <bruno@clisp.org>
36534
36535         * lib/freading.c (freading): Trivial simplification.
36536
36537 2007-04-28  Bruno Haible  <bruno@clisp.org>
36538
36539         * tests/test-fwriting.c (main): Also test the interaction between
36540         fflush and fwriting.
36541         * modules/fwriting-tests (Depends-on): Add fflush.
36542
36543         * tests/test-freading.c (main): Also test the interaction between
36544         fflush and freading.
36545         * modules/freading-tests (Depends-on): Add fflush.
36546
36547 2007-04-28  Bruno Haible  <bruno@clisp.org>
36548
36549         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
36550         fseeko and ftello.
36551         Suggested by Eric Blake.
36552
36553 2007-04-28  Jim Meyering  <jim@meyering.net>
36554
36555         Avoid false-negative in gl_STDINT_H's C99 conformance test.
36556         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
36557         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
36558
36559 2007-04-27  Eric Blake  <ebb9@byu.net>
36560
36561         * doc/headers/assert.texi (assert.h): Document assert module use.
36562
36563 2007-04-27  Bruno Haible  <bruno@clisp.org>
36564
36565         * doc/headers/*.texi: New files.
36566         * doc/gnulib.texi (Header File Substitutes): New chapter.
36567         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
36568         dependencies.
36569         (standards.info ,standards.html, standards.dvi): Update dependencies.
36570         (mostlyclean, clean): New targets.
36571
36572 2007-04-27  Bruno Haible  <bruno@clisp.org>
36573
36574         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
36575         * modules/sysexits (Files, Makefile.am): Update.
36576
36577         * lib/sys_socket_.h: Renamed from lib/socket_.h.
36578         * modules/sys_socket (Files, Makefile.am): Update.
36579
36580         * lib/sys_stat_.h: Renamed from lib/stat_.h.
36581         * modules/sys_stat (Files, Makefile.am): Update.
36582
36583 2007-04-27  Eric Blake  <ebb9@byu.net>
36584
36585         * lib/freading.h: Improve comments.
36586         * lib/fwriting.h: Likewise.
36587         * lib/fflush.c: Likewise.
36588
36589         Fix closein for mingw.
36590         * modules/closein-tests: Add tests for closein.
36591         * tests/test-closein.c: New file.
36592         * tests/test-closein.sh: Likewise.
36593         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
36594         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
36595
36596 2007-04-27  Bruno Haible  <bruno@clisp.org>
36597
36598         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
36599         version is < 6.
36600         * lib/math_.h [__DECC]: Likewise.
36601         * lib/stdio_.h [__DECC]: Likewise.
36602         * lib/stdlib_.h [__DECC]: Likewise.
36603         * lib/string_.h [__DECC]: Likewise.
36604         * lib/time_.h [__DECC]: Likewise.
36605         * lib/wchar_.h [__DECC]: Likewise.
36606         * lib/wctype_.h [__DECC]: Likewise.
36607
36608 2007-04-27  Bruno Haible  <bruno@clisp.org>
36609
36610         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
36611
36612 2007-04-27  Bruno Haible  <bruno@clisp.org>
36613
36614         * lib/fflush.c: Add comments.
36615         * modules/fpurge-tests (Depends-on): Add fflush.
36616         * modules/freadable-tests (Depends-on): Likewise.
36617         * modules/fwritable-tests (Depends-on): Likewise.
36618
36619 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
36620
36621         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
36622         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
36623         Report by Bruno Haible <bruno@clisp.org>.
36624
36625 2007-04-26  Eric Blake  <ebb9@byu.net>
36626
36627         Fix fflush on mingw.
36628         * modules/fflush (Depends-on): Add freading.
36629         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
36630         but unread data.
36631
36632 2007-04-26  Eric Blake  <ebb9@byu.net>
36633         and Bruno Haible  <bruno@clisp.org>
36634
36635         Implement freading and fwriting.
36636         * lib/freading.c: New file.
36637         * lib/freading.h: Likewise.
36638         * m4/freading.m4: Likewise.
36639         * modules/freading: Likewise.
36640         * modules/freading-tests: Likewise.
36641         * tests/test-freading.c: Likewise.
36642         * lib/fwriting.c: New file.
36643         * lib/fwriting.h: Likewise.
36644         * m4/fwriting.m4: Likewise.
36645         * modules/fwriting: Likewise.
36646         * modules/fwriting-tests: Likewise.
36647         * tests/test-fwriting.c: Likewise.
36648         * MODULES.html.sh (File stream based Input/Output): Mention them.
36649
36650 2007-04-26  Bruno Haible  <bruno@clisp.org>
36651
36652         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
36653         'long' when we assume it.
36654         Suggested by Eric Blake.
36655
36656 2007-04-26  Bruno Haible  <bruno@clisp.org>
36657
36658         Ensure fseeko, ftello are declared on glibc systems.
36659         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
36660         * modules/fseeko (configure.ac-early): Likewise.
36661         * modules/ftello (configure.ac-early): Likewise.
36662         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
36663         AC_FUNC_FSEEKO for this.
36664         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
36665         (gl_CHECK_FSEEKO): Remove macro.
36666
36667 2007-04-26  Bruno Haible  <bruno@clisp.org>
36668
36669         * tests/test-fflush.c (main): Also check the ftell result after
36670         fflush and fseek/fseeko.
36671         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
36672         file descriptor position cache in the stream.
36673         * lib/fseeko.c (rpl_fseeko): Likewise.
36674
36675 2007-04-26  Bruno Haible  <bruno@clisp.org>
36676
36677         * modules/fflush-tests (Depends-on): Add fseeko.
36678
36679 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
36680             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36681
36682         * lib/argz_.h: ensure error_t definition is obtained in same
36683         mechanism system argz.h would have.
36684         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
36685         argz facilities are known bad.  Err on the side of caution if
36686         cross-compiling.
36687
36688 2007-04-25  Eric Blake  <ebb9@byu.net>
36689
36690         * lib/fpurge.c (includes): Use stdlib.h for free.
36691         * tests/test-fflush.c (main): Also test fflush-fseeko.
36692
36693 2007-04-25  Bruno Haible  <bruno@clisp.org>
36694
36695         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
36696         * lib/fseeko.c: New file.
36697         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
36698         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
36699         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
36700         gl_FUNC_FSEEKO.
36701         (gl_FUNC_FSEEKO): Invoke it.
36702         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
36703         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
36704         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
36705
36706 2007-04-25  Bruno Haible  <bruno@clisp.org>
36707
36708         * modules/fflush (Depends-on): Add ftello.
36709
36710 2007-04-25  Bruno Haible  <bruno@clisp.org>
36711
36712         * modules/ftello-tests: New file.
36713         * tests/test-ftello.c: New file.
36714
36715         * modules/ftello: New file.
36716         * m4/ftello.m4: New file.
36717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
36718         HAVE_FTELLO.
36719         * lib/stdio_.h (ftello): New declaration.
36720         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
36721         HAVE_FTELLO.
36722
36723 2007-04-25  Bruno Haible  <bruno@clisp.org>
36724
36725         * modules/fseeko-tests: New file.
36726         * tests/test-fseeko.c: New file.
36727
36728         * modules/fseeko: New file.
36729         * m4/fseeko.m4: New file.
36730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
36731         HAVE_FSEEKO.
36732         * lib/stdio_.h (fseeko): New declaration.
36733         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
36734         HAVE_FSEEKO.
36735
36736 2007-04-25  Bruno Haible  <bruno@clisp.org>
36737
36738         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
36739
36740 2007-04-25  Bruno Haible  <bruno@clisp.org>
36741
36742         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
36743         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
36744         * tests/test-unistd.c: Likewise.
36745         * tests/test-fcntl.c: Likewise.
36746
36747 2007-04-23  Eric Blake  <ebb9@byu.net>
36748
36749         * lib/fflush.c: Fix missing include.
36750         Reported by Bruno Haible.
36751
36752 2007-04-23  Bruno Haible  <bruno@clisp.org>
36753
36754         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
36755         Reported by Eric Blake.
36756
36757 2007-04-23  Bruno Haible  <bruno@clisp.org>
36758
36759         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
36760
36761 2007-04-23  Bruno Haible  <bruno@clisp.org>
36762
36763         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
36764
36765 2007-04-23  Bruno Haible  <bruno@clisp.org>
36766
36767         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
36768         Needed on HP-UX 11.
36769
36770 2007-04-16  Eric Blake  <ebb9@byu.net>
36771
36772         Make fflush rely on fpurge.
36773         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
36774         open coding all variants.
36775         * modules/fflush (Depends-on): Add fpurge and unistd.
36776         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
36777         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
36778
36779         Fix --with-tests compilation on cygwin.
36780         * modules/argmatch-tests (Makefile.am): List gnulib library first
36781         in LDADD.
36782         * modules/argp-tests (Makefile.am): Likewise.
36783         * modules/array-list-tests (Makefile.am): Likewise.
36784         * modules/array-oset-tests (Makefile.am): Likewise.
36785         * modules/avltree-list-tests (Makefile.am): Likewise.
36786         * modules/avltree-oset-tests (Makefile.am): Likewise.
36787         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36788         * modules/carray-list-tests (Makefile.am): Likewise.
36789         * modules/dirname-tests (Makefile.am): Likewise.
36790         * modules/frexp-tests (Makefile.am): Likewise.
36791         * modules/isnanl-tests (Makefile.am): Likewise.
36792         * modules/linked-list-tests (Makefile.am): Likewise.
36793         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36794         * modules/lock-tests (Makefile.am): Likewise.
36795         * modules/rbtree-list-tests (Makefile.am): Likewise.
36796         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36797         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36798         * modules/tls-tests (Makefile.am): Likewise.
36799         * modules/tsearch-tests (Makefile.am): Likewise.
36800         * modules/xvasprintf-tests (Makefile.am): Likewise.
36801
36802         Fix fpurge for cygwin.
36803         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
36804         value.
36805         * modules/fpurge-tests (Depends-on): Clean up trash.
36806
36807 2007-04-16  Simon Josefsson  <simon@josefsson.org>
36808
36809         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
36810
36811         * m4/autobuild.m4: Re-indent.
36812
36813 2007-04-13  Bruno Haible  <bruno@clisp.org>
36814
36815         * modules/fpurge-tests: New file.
36816         * tests/test-fpurge.c: New file.
36817
36818         * modules/fpurge: New file.
36819         * lib/fpurge.h: New file.
36820         * lib/fpurge.c: New file.
36821         * m4/fpurge.m4: New file.
36822
36823 2007-04-13  Bruno Haible  <bruno@clisp.org>
36824
36825         * modules/fbufmode-tests: New file.
36826         * tests/test-fbufmode.c: New file.
36827
36828         * modules/fbufmode: New file.
36829         * lib/fbufmode.h: New file.
36830         * lib/fbufmode.c: New file.
36831         * m4/fbufmode.m4: New file.
36832
36833 2007-04-13  Bruno Haible  <bruno@clisp.org>
36834
36835         * modules/fwritable-tests: New file.
36836         * tests/test-fwritable.c: New file.
36837
36838         * modules/fwritable: New file.
36839         * lib/fwritable.h: New file.
36840         * lib/fwritable.c: New file.
36841         * m4/fwritable.m4: New file.
36842
36843 2007-04-13  Bruno Haible  <bruno@clisp.org>
36844
36845         * modules/freadable-tests: New file.
36846         * tests/test-freadable.c: New file.
36847
36848         * modules/freadable: New file.
36849         * lib/freadable.h: New file.
36850         * lib/freadable.c: New file.
36851         * m4/freadable.m4: New file.
36852
36853 2007-04-13  Bruno Haible  <bruno@clisp.org>
36854
36855         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
36856         MOSTLYCLEANFILES.
36857
36858 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
36859
36860         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
36861         gzip bootstrap.conf to avoid dragging in i18n machinery.
36862         (gnulib_tool_option): Use it.
36863
36864 2007-04-13  Bruno Haible  <bruno@clisp.org>
36865
36866         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
36867         %F directives.
36868         * tests/test-vasprintf-posix.c (test_function): Likewise.
36869         * tests/test-snprintf-posix.h (test_function): Likewise.
36870         * tests/test-sprintf-posix.h (test_function): Likewise.
36871         * tests/test-fprintf-posix.h (test_function): Likewise.
36872         * tests/test-printf-posix.h (test_function): Likewise.
36873         * tests/test-fprintf-posix.out: Likewise.
36874
36875 2007-04-13  Bruno Haible  <bruno@clisp.org>
36876
36877         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
36878         * modules/tls-tests (configure.ac): Likewise.
36879         Reported by Arto C. Nirkko <anirkko@insel.ch>.
36880
36881 2007-04-13  Bruno Haible  <bruno@clisp.org>
36882
36883         * lib/tls.c (glthread_tls_get): Fix return type.
36884         Patch by Arto C. Nirkko <anirkko@insel.ch>.
36885
36886 2007-04-12  Eric Blake  <ebb9@byu.net>
36887
36888         * modules/gettime (Depends-on): Remove gettime.
36889         Reported by Dmitry V. Levin.
36890
36891 2007-04-12  Bruno Haible  <bruno@clisp.org>
36892
36893         * modules/fflush (Include): Mention <stdio.h>.
36894         * modules/strtoimax (Include): Mention <inttypes.h>.
36895         * modules/strtoumax (Include): Likewise.
36896
36897 2007-04-12  Eric Blake  <ebb9@byu.net>
36898
36899         * .cvsignore: New file.
36900         * .gitignore: Likewise.
36901
36902 2007-04-12  Bruno Haible  <bruno@clisp.org>
36903
36904         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
36905         not before, since $(LDADD) often contains libgnu.a.
36906         * modules/striconv-tests (test_striconv_LDADD): Likewise.
36907         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
36908         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
36909         Needed on Cygwin.
36910
36911 2007-04-12  Eric Blake  <ebb9@byu.net>
36912
36913         Work around glibc's failure to flush stdin on fclose.
36914         * lib/closein.c (close_stdin): Flush stdin before closing.
36915
36916         Work around glibc's failure to reset seekable stdin on exit.
36917         * modules/closein: New module.
36918         * lib/closein.c: New file.
36919         * lib/closein.h: Likewise.
36920         * m4/closein.m4: Likewise.
36921         * MODULES.html.sh (File stream based Input/Output): Document it.
36922
36923 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36924
36925         * gnulib-tool: Rename generated 'autobuild' script to
36926         'do-autobuild' in --create-megatestdir output.
36927
36928         * doc/gnulib.texi (Build robot for gnulib): Fix.
36929
36930 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36931
36932         * modules/sysexits (Depends-on): Add absolute-header.
36933
36934 2007-04-12  Eric Blake  <ebb9@byu.net>
36935
36936         No need to preserve errno on success.
36937         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
36938         Reported by Bruno Haible.
36939
36940 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36941
36942         * MODULES.html.sh (Support for maintaining and releasing
36943         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
36944
36945 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36946
36947         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
36948
36949 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36950
36951         * modules/autobuild: New module.
36952
36953         * m4/autobuild.m4: New file.
36954
36955 2007-04-11  Bruno Haible  <bruno@clisp.org>
36956
36957         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
36958         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
36959         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
36960         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
36961         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36962         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36963         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36964         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36965         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36966         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36967         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
36968         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36969         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36970         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
36971         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36972         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36973         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
36974         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36975         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36976         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
36977         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36978         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36979         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
36980         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36981         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36982         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
36983         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36984         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36985         Reported by Eric Blake.
36986
36987 2007-04-11  Bruno Haible  <bruno@clisp.org>
36988
36989         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
36990
36991 2007-04-10  Bruno Haible  <bruno@clisp.org>
36992
36993         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
36994         for NaN and Infinity. Needed on FreeBSD 6.1.
36995         * tests/test-vasnprintf-posix.c (test_function): Undo last change
36996         regarding results for "%010a" of Infinity and NaN.
36997         * tests/test-vasprintf-posix.c (test_function): Likewise.
36998         * tests/test-snprintf-posix.h (test_function): Likewise.
36999         * tests/test-sprintf-posix.h (test_function): Likewise.
37000         * tests/test-fprintf-posix.h (test_function): Likewise.
37001         * tests/test-printf-posix.h (test_function): Likewise.
37002         * tests/test-fprintf-posix.out: Likewise.
37003
37004 2007-04-10  Bruno Haible  <bruno@clisp.org>
37005
37006         * modules/locale-tests: New file.
37007         * tests/test-locale.c: New file.
37008
37009         * modules/locale: New file.
37010         * lib/locale_.h: New file.
37011         * m4/locale_h.m4: New file.
37012
37013 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
37014             Bruno Haible  <bruno@clisp.org>
37015
37016         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
37017         be determined, test for availability of the copysignf, copysign,
37018         copysignl functions.
37019         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
37020         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
37021         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
37022
37023 2007-04-09  Eric Blake  <ebb9@byu.net>
37024
37025         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
37026         * modules/stdio (Makefile.am): Support fflush.
37027         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37028         * modules/fflush: New file.
37029         * lib/fflush.c: Likewise.
37030         * m4/fflush.m4: Likewise.
37031         * modules/fflush-tests: New test.
37032         * tests/test-fflush.c: Likewise.
37033         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
37034
37035 2007-04-06  Bruno Haible  <bruno@clisp.org>
37036
37037         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
37038         (VASNPRINTF): Use signbit for faster determination whether to print a
37039         minus sign.
37040         * modules/vasnprintf (Files): Remove lib/float+.h.
37041         * modules/fprintf-posix (Depends-on): Add signbit.
37042         * modules/snprintf-posix (Depends-on): Likewise.
37043         * modules/sprintf-posix (Depends-on): Likewise.
37044         * modules/vasnprintf-posix (Depends-on): Likewise.
37045         * modules/vasprintf-posix (Depends-on): Likewise.
37046         * modules/vfprintf-posix (Depends-on): Likewise.
37047         * modules/vsnprintf-posix (Depends-on): Likewise.
37048         * modules/vsprintf-posix (Depends-on): Likewise.
37049
37050 2007-04-06  Bruno Haible  <bruno@clisp.org>
37051
37052         * tests/test-frexp.c (main): Test also the sign bit of zero results.
37053         * tests/test-frexpl.c (main): Likewise.
37054         * tests/test-ldexpl.c (main): Likewise.
37055         * modules/frexp-tests (Depends-on): Add signbit.
37056         * modules/frexpl-tests (Depdends-on): Likewise.
37057         * modules/ldexpl-tests (Depdends-on): Likewise.
37058
37059 2007-04-06  Bruno Haible  <bruno@clisp.org>
37060
37061         * modules/signbit-tests: New file.
37062         * tests/test-signbit.c: New file.
37063
37064         * modules/signbit: New file.
37065         * lib/signbitf.c: New file.
37066         * lib/signbitd.c: New file.
37067         * lib/signbitl.c: New file.
37068         * m4/signbit.m4: New file.
37069         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
37070         (signbit): New macro.
37071         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
37072         REPLACE_SIGNBIT.
37073         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
37074         REPLACE_FREXPL into math.h.
37075
37076 2007-04-06  Bruno Haible  <bruno@clisp.org>
37077
37078         * modules/isnanf-nolibm-tests: New file.
37079         * tests/test-isnanf.c: New file.
37080
37081         * modules/isnanf-nolibm: New file.
37082         * lib/isnanf.h: New file.
37083         * lib/isnanf.c: New file.
37084         * lib/isnan.c: Consider the USE_FLOAT macro.
37085         * m4/isnanf.m4: New file.
37086
37087 2007-04-06  Bruno Haible  <bruno@clisp.org>
37088
37089         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
37090         (Link): New section.
37091
37092         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
37093
37094 2007-04-06  Bruno Haible  <bruno@clisp.org>
37095
37096         Assume the 'long double' type.
37097         * m4/longdouble.m4: Remove file.
37098         * config/srclist.txt: Don't mention longdouble.m4.
37099         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
37100         * lib/float+.h: Likewise.
37101         * lib/frexp.c: Likewise.
37102         * lib/printf-args.h: Likewise.
37103         * lib/printf-args.c: Likewise.
37104         * lib/printf-frexp.c: Likewise.
37105         * lib/printf-parse.c: Likewise.
37106         * lib/vasnprintf.c: Likewise.
37107         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
37108         * m4/intl.m4: Likewise.
37109         * m4/isnanl.m4: Likewise.
37110         * m4/printf.m4: Likewise.
37111         * m4/printf-frexpl.m4: Likewise.
37112         * m4/vasnprintf.m4: Likewise.
37113         * modules/allocsa (Files): Remove m4/longdouble.m4.
37114         * modules/gettext (Files): Likewise.
37115         * modules/relocatable-prog-wrapper (Files): Likewise.
37116         * modules/vasnprintf (Files): Likewise.
37117         * modules/isnanl (Files): Likewise.
37118         (Include): Simplify.
37119         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
37120         (Include): Simplify.
37121         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
37122         (Include): Simplify.
37123         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
37124         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37125         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
37126         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37127         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
37128         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37129         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
37130         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37131         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
37132         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37133         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
37134         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
37135         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
37136         * tests/test-isnanl.c: Likewise.
37137         * tests/test-snprintf-posix.h: Likewise.
37138         * tests/test-sprintf-posix.h: Likewise.
37139         * tests/test-vasnprintf-posix.c: Likewise.
37140         * tests/test-vasnprintf-posix2.c: Likewise.
37141         * tests/test-vasprintf-posix.c: Likewise.
37142
37143 2007-04-06  Bruno Haible  <bruno@clisp.org>
37144
37145         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
37146         * lib/math_.h [__DECC]: Include the overridden include file through
37147         #include_next, outside the double-inclusion guard.
37148         * lib/stdio_.h [__DECC]: Likewise.
37149         * lib/stdlib_.h [__DECC]: Likewise.
37150         * lib/string_.h [__DECC]: Likewise.
37151         * lib/time_.h [__DECC]: Likewise.
37152         * lib/wchar_.h [__DECC]: Likewise.
37153         * lib/wctype_.h [__DECC]: Likewise.
37154         * lib/inttypes_.h [__DECC]: Likewise.
37155         Reported by Albert Chin <china@thewrittenword.com> in
37156         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
37157
37158 2007-04-04  Eric Blake  <ebb9@byu.net>
37159
37160         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
37161         1.5.x.
37162
37163 2007-04-04  Bruno Haible  <bruno@clisp.org>
37164
37165         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
37166         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
37167
37168 2007-04-04  Bruno Haible  <bruno@clisp.org>
37169
37170         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
37171         results for "%010a" of Infinity and NaN.
37172         * tests/test-vasprintf-posix.c (test_function): Likewise.
37173         * tests/test-snprintf-posix.h (test_function): Likewise.
37174         * tests/test-sprintf-posix.h (test_function): Likewise.
37175         * tests/test-fprintf-posix.h (test_function): Remove these tests.
37176         * tests/test-printf-posix.h (test_function): Likewise.
37177         * tests/test-fprintf-posix.out: Update.
37178         Needed for FreeBSD 6.1.
37179
37180 2007-04-04  Bruno Haible  <bruno@clisp.org>
37181
37182         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
37183         directly used by the gnulib modules nor by gnulib-tool.
37184
37185 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
37186
37187         * DEPENDENCIES: Give overall description of version dependency
37188         desirability.  Use more-typical names for apps.
37189         Add shell, coreutils, diffutils, grep, tar, gzip.
37190
37191 2007-04-04  Simon Josefsson  <simon@josefsson.org>
37192
37193         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
37194
37195 2007-04-04  Karl Berry  <karl@gnu.org>
37196
37197         * MODULES.html.sh (func_module): missing '.
37198
37199 2007-04-03  Bruno Haible  <bruno@clisp.org>
37200
37201         * modules/argmatch-tests (Makefile.am): New variable
37202         test_argmatch_LDADD.
37203         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
37204         * modules/array-list-tests (Makefile.am): New variable
37205         test_array_list_LDADD.
37206         * modules/array-oset-tests (Makefile.am): New variable
37207         test_array_oset_LDADD.
37208         * modules/avltree-list-tests (Makefile.am): New variable
37209         test_avltree_list_LDADD.
37210         * modules/avltree-oset-tests (Makefile.am): New variable
37211         test_avltree_oset_LDADD.
37212         * modules/avltreehash-list-tests (Makefile.am): New variable
37213         test_avltreehash_list_LDADD.
37214         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
37215         test_canonicalize_lgpl_LDADD.
37216         * modules/carray-list-tests (Makefile.am): New variable
37217         test_carray_list_LDADD.
37218         * modules/dirname-tests (Makefile.am): New variable
37219         test_dirname_LDADD.
37220         * modules/linked-list-tests (Makefile.am): New variable
37221         test_linked_list_LDADD.
37222         * modules/linkedhash-list-tests (Makefile.am): New variable
37223         test_linkedhash_list_LDADD.
37224         * modules/rbtree-list-tests (Makefile.am): New variable
37225         test_rbtree_list_LDADD.
37226         * modules/rbtree-oset-tests (Makefile.am): New variable
37227         test_rbtree_oset_LDADD.
37228         * modules/rbtreehash-list-tests (Makefile.am): New variable
37229         test_rbtreehash_list_LDADD.
37230         * modules/xvasprintf-tests (Makefile.am): New variable
37231         test_xvasprintf_LDADD.
37232         Reported by Eric Blake.
37233
37234 2007-04-03  Eric Blake  <ebb9@byu.net>
37235
37236         * DEPENDENCIES: Weaken m4 requirements.
37237
37238 2007-04-03  Bruno Haible  <bruno@clisp.org>
37239
37240         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
37241         * modules/isnanl-tests (configure.ac): Likewise.
37242
37243 2007-04-03  Ben Pfaff  <blp@gnu.org>
37244
37245         * modules/iconv_open: Add $(srcdir)/ to source directory
37246         references in Makefile fragments that call gperf, to fix VPATH
37247         builds.
37248
37249 2007-04-03  Bruno Haible  <bruno@clisp.org>
37250
37251         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
37252         * lib/ldexpl.c: Undo last change.
37253
37254 2007-04-03  Bruno Haible  <bruno@clisp.org>
37255
37256         * modules/printf-frexpl (Depends-on): Undo last change.
37257         (Files): Add m4/ldexpl.m4.
37258
37259 2007-04-03  Bruno Haible  <bruno@clisp.org>
37260
37261         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
37262         * modules/isnanl (Link): New section.
37263
37264         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
37265         * modules/frexp (Link): New section.
37266
37267         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
37268         * modules/frexpl (Link): New section.
37269
37270         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
37271         * modules/ldexpl (Link): New section.
37272
37273 2007-04-03  Bruno Haible  <bruno@clisp.org>
37274
37275         * modules/TEMPLATE-EXTENDED: New file.
37276         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
37277
37278 2007-04-03  Bruno Haible  <bruno@clisp.org>
37279
37280         * DEPENDENCIES: New file.
37281         Suggested by Simon Josefsson.
37282
37283 2007-04-03  Bruno Haible  <bruno@clisp.org>
37284
37285         * doc/gnulib.texi: Escape @.
37286
37287 2007-04-03  James Youngman  <jay@gnu.org>
37288         and Paul Eggert  <eggert@cs.ucla.edu>
37289
37290         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
37291         birthtime on all systems that have birthtime, not just those which
37292         use st_birthtimensec rather than st_birthtim.  Putting zero in
37293         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
37294         that the birth time is not available for files on an NFS mount.
37295
37296 2007-04-03  Simon Josefsson  <simon@josefsson.org>
37297
37298         * modules/memxor: Move back from crypto/, suggested by Bruno.
37299         * modules/crypto/hmac-sha1: Fix memxor dependency.
37300
37301         * modules/crypto/gc: Moved from ../.
37302
37303 2007-04-02  Eric Blake  <ebb9@byu.net>
37304
37305         * lib/ldexpl.c (includes): Avoid libm.
37306
37307         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
37308
37309 2007-04-02  Bruno Haible  <bruno@clisp.org>
37310
37311         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
37312         on IRIX.
37313
37314 2007-04-02  Bruno Haible  <bruno@clisp.org>
37315
37316         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
37317         x86 or x86_64 platforms running MacOS X.
37318         Reported by Ryan Schmidt <@ryandesign.com>.
37319
37320 2007-04-02  Bruno Haible  <bruno@clisp.org>
37321
37322         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
37323         i386.
37324
37325 2007-04-01  Simon Josefsson  <simon@josefsson.org>
37326
37327         * modules/crypto/arcfour: Moved from ../.
37328         * modules/crypto/arcfour-tests: Moved from ../.
37329         * modules/crypto/arctwo: Moved from ../.
37330         * modules/crypto/arctwo-tests: Moved from ../.
37331         * modules/crypto/des: Moved from ../.
37332         * modules/crypto/des-tests: Moved from ../.
37333         * modules/crypto/gc-arcfour: Moved from ../.
37334         * modules/crypto/gc-arcfour-tests: Moved from ../.
37335         * modules/crypto/gc-arctwo: Moved from ../.
37336         * modules/crypto/gc-arctwo-tests: Moved from ../.
37337         * modules/crypto/gc-des: Moved from ../.
37338         * modules/crypto/gc-des-tests: Moved from ../.
37339         * modules/crypto/gc-hmac-md5: Moved from ../.
37340         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
37341         * modules/crypto/gc-hmac-sha1: Moved from ../.
37342         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
37343         * modules/crypto/gc-md2: Moved from ../.
37344         * modules/crypto/gc-md2-tests: Moved from ../.
37345         * modules/crypto/gc-md4: Moved from ../.
37346         * modules/crypto/gc-md4-tests: Moved from ../.
37347         * modules/crypto/gc-md5: Moved from ../.
37348         * modules/crypto/gc-md5-tests: Moved from ../.
37349         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
37350         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
37351         * modules/crypto/gc-random: Moved from ../.
37352         * modules/crypto/gc-rijndael: Moved from ../.
37353         * modules/crypto/gc-rijndael-tests: Moved from ../.
37354         * modules/crypto/gc-sha1: Moved from ../.
37355         * modules/crypto/gc-sha1-tests: Moved from ../.
37356         * modules/crypto/gc-tests: Moved from ../.
37357         * modules/crypto/hmac-md5: Moved from ../.
37358         * modules/crypto/hmac-md5-tests: Moved from ../.
37359         * modules/crypto/hmac-sha1: Moved from ../.
37360         * modules/crypto/hmac-sha1-tests: Moved from ../.
37361         * modules/crypto/md2: Moved from ../.
37362         * modules/crypto/md2-tests: Moved from ../.
37363         * modules/crypto/md4: Moved from ../.
37364         * modules/crypto/md4-tests: Moved from ../.
37365         * modules/crypto/md5: Moved from ../.
37366         * modules/crypto/md5-tests: Moved from ../.
37367         * modules/crypto/memxor: Moved from ../.
37368         * modules/crypto/rijndael: Moved from ../.
37369         * modules/crypto/rijndael-tests: Moved from ../.
37370         * modules/crypto/sha1: Moved from ../.
37371
37372 2007-03-30  James Youngman  <jay@gnu.org>
37373
37374         * tests/test-stat-time.c (prepare_test): use chmod() rather than
37375         rename() to change the ctime of a file (because ctime is unaffected
37376         by rename on jfs2 on AIX 5.1).
37377         (main): Start by doing cleanup, in case a previous run failed leaving
37378         test files behind.
37379
37380 2007-03-31  Bruno Haible  <bruno@clisp.org>
37381
37382         Support old proprietary implementations of iconv.
37383         * modules/iconv_open: New file.
37384         * lib/iconv_.h: New file.
37385         * m4/iconv_h.m4: New file.
37386         * lib/iconv_open.c: New file.
37387         * lib/iconv_open-aix.gperf: New file.
37388         * lib/iconv_open-hpux.gperf: New file.
37389         * lib/iconv_open-irix.gperf: New file.
37390         * lib/iconv_open-osf.gperf: New file.
37391         * m4/iconv_open.m4: New file.
37392         * modules/linebreak (Depends-on): Add iconv_open.
37393         * modules/striconv (Depends-on): Likewise.
37394         * modules/striconveh (Depends-on): Likewise.
37395         * modules/unicodeio (Depends-on): Likewise.
37396         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
37397         (iconv_t)(-1).
37398         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
37399         conversion if cd is (iconv_t)(-1).
37400         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
37401         is not possible.
37402
37403 2007-03-31  Bruno Haible  <bruno@clisp.org>
37404
37405         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
37406         work on Solaris either. Protect also second use of "autodetect_jp".
37407
37408 2007-03-31  Bruno Haible  <bruno@clisp.org>
37409
37410         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
37411         the function is not present.
37412
37413 2007-03-31  Bruno Haible  <bruno@clisp.org>
37414
37415         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
37416         the function is not present.
37417
37418 2007-03-31  Bruno Haible  <bruno@clisp.org>
37419
37420         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
37421         a bug in HP-UX iconv_open().
37422
37423 2007-03-31  Bruno Haible  <bruno@clisp.org>
37424
37425         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
37426         (Mathematics <math.h>): New section, add fpieee.
37427         (Input/output <stdio.h>): Add fseterr.
37428         (Mathematics <math.h>): New section, add printf-frexp.
37429         (Container data structures): Add sublist.
37430         (Core language properties): Add fpucw, inline.
37431         (Functions for greatest-width integer types <inttypes.h>): Add
37432         imaxabs, imaxdiv, inttypes.
37433         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
37434         isnanl-nolibm, ldexp.
37435         (Mathematics <math.h>): New section, add printf-frexpl.
37436         (Support for systems lacking POSIX:2001): Add fprintf-posix,
37437         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
37438         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
37439         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
37440         (Unicode string functions): Add unistr/u*-mbtoucr.
37441         (Java): Add javacomp-script, javaexec-script.
37442         (C#): Add csharpcomp-script, csharpexec-script.
37443         (Support for building libraries and executables): Add havelib,
37444         relocatable-*.
37445         (Support for maintaining and releasing projects): Renamed from
37446         'Support for maintaining and release projects'. Add announce-gen.
37447
37448 2007-03-31  Bruno Haible  <bruno@clisp.org>
37449
37450         * README: Talk primarily about git.
37451         (git and CVS): Renamed from CVS.
37452         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
37453         gnulib is available through git.
37454         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
37455
37456 2007-03-30  Bruno Haible  <bruno@clisp.org>
37457
37458         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
37459         * lib/poll_.h: Likewise.
37460         * lib/stat_.h: Likewise.
37461         * lib/sys_time_.h: Likewise.
37462         * lib/sysexit_.h: Likewise.
37463         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
37464         * lib/stdbool_.h: Likewise.
37465         * lib/byteswap_.h: Add double-inclusion guard.
37466
37467 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
37468
37469         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
37470
37471 2007-03-30  Karl Berry  <karl@gnu.org>
37472
37473         * config/srclist-update: double space after USA in the license
37474         substitution, since that's how it's usually (?) written.
37475
37476 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
37477
37478         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
37479         reported by Bruno Haible.
37480
37481 2007-03-29  Bruno Haible  <bruno@clisp.org>
37482
37483         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
37484         a bug in AIX iconv().
37485
37486 2007-03-29  Bruno Haible  <bruno@clisp.org>
37487
37488         * modules/ldexpl-tests: New file.
37489         * tests/test-ldexpl.c: New file.
37490
37491 2007-03-29  Bruno Haible  <bruno@clisp.org>
37492
37493         * lib/ldexpl.c: Include fpucw.h.
37494         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
37495         multiplication.
37496         * modules/ldexpl (Depends-on): Add fpucw.
37497
37498 2007-03-29  Bruno Haible  <bruno@clisp.org>
37499
37500         * modules/ldexpl: New file.
37501         * m4/ldexpl.m4: New file.
37502         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
37503         set.
37504         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
37505         REPLACE_LDEXPL.
37506         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
37507         REPLACE_LDEXPL.
37508         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
37509         gl_FUNC_LDEXPL_WORKS.
37510         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
37511         * modules/mathl (Files): Remove lib/ldexpl.c.
37512         (Depends-on): Add ldexpl.
37513
37514 2007-03-29  Bruno Haible  <bruno@clisp.org>
37515
37516         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
37517
37518 2007-03-29  Bruno Haible  <bruno@clisp.org>
37519
37520         * tests/test-striconveh.c (main): Don't assume that a direct conversion
37521         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
37522         and possibly also HP-UX.
37523         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
37524         work on AIX, IRIX, HP-UX, OSF/1.
37525         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
37526         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
37527         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
37528         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
37529         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
37530         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
37531
37532 2007-03-29  Bruno Haible  <bruno@clisp.org>
37533
37534         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
37535
37536 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
37537
37538         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
37539         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
37540
37541 2007-03-29  Eric Blake  <ebb9@byu.net>
37542
37543         * lib/acl-internal.h: Remove redundant include.
37544         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
37545         Cygwin when a file is locked.
37546
37547 2007-03-29  Bruno Haible  <bruno@clisp.org>
37548
37549         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
37550         file.
37551         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
37552
37553 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
37554
37555         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
37556         try to remove a parent directory if the child couldn't be removed
37557         (except for the first rmdir, which could fail because the child
37558         doesn't exist).  Problem reported by Jeff Blaine in
37559         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
37560
37561 2007-03-28  Bruno Haible  <bruno@clisp.org>
37562
37563         * lib/striconveh.c (utf8conv_carefully): New function.
37564         (mem_cd_iconveh_internal): Invoke it.
37565
37566 2007-03-28  Bruno Haible  <bruno@clisp.org>
37567
37568         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
37569         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
37570         input.
37571         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
37572         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
37573         unistr/u8-uctomb.
37574
37575 2007-03-28  Bruno Haible  <bruno@clisp.org>
37576
37577         * modules/unistr/u8-mbtoucr: New file.
37578         * lib/unistr/u8-mbtoucr.c: New file.
37579         * modules/unistr/u16-mbtoucr: New file.
37580         * lib/unistr/u16-mbtoucr.c: New file.
37581         * modules/unistr/u16-mbtoucr: New file.
37582         * lib/unistr/u16-mbtoucr.c: New file.
37583         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
37584
37585 2007-03-27  Simon Josefsson  <simon@josefsson.org>
37586             Bruno Haible  <bruno@clisp.org>
37587
37588         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
37589         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
37590         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
37591
37592         * m4/stdio_h.m4: Add stubs for vasprintf too.
37593
37594         * modules/stdio: Support vasprintf in sed command.
37595
37596         * modules/vasprintf: Depend on stdio for prototypes.  Remove
37597         vasprintf.h.  Add stdio module indicator.
37598
37599         * lib/stdio_.h: Declare asprintf and vasprintf, based on
37600         vasprintf.h.
37601
37602         * lib/vasprintf.h: File removed.
37603
37604         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
37605         * lib/vasprintf.c: Ditto.
37606         * lib/xvasprintf.c: Ditto.
37607         * tests/test-vasprintf-posix.c: Ditto.
37608         * tests/test-vasprintf.c: Ditto.
37609
37610 2007-03-27  Bruno Haible  <bruno@clisp.org>
37611
37612         Make vasnprintf multithread-safe.
37613         * lib/vasnprintf.c (decimal_point_char): New function.
37614         (VASNPRINTF): Use it.
37615         Suggested by Simon Josefsson.
37616
37617 2007-03-27  Eric Blake  <ebb9@byu.net>
37618
37619         Support sub-second birthtime on cygwin.
37620         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
37621         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
37622         (get_stat_birthtime): Also work with st_birthtim.
37623
37624 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
37625
37626         * lib/stat-time.h (USE_BIRTHTIME): Remove.
37627         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
37628         (get_stat_birthtime_ns): Do not try to use "spare" fields.
37629         (get_stat_birthtime_ns): Simplify compile-time tests.
37630         (get_stat_birthtime): Change the API to look like
37631         get_stat_mtime etc., except return a negative tv_nsec on error.
37632         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37633         Don't check for "spare" fields.
37634         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
37635         or for struct stat.st_birthtime, as these tests aren't used.
37636         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
37637
37638 2007-03-27  Bruno Haible  <bruno@clisp.org>
37639
37640         * lib/stat-time.h: Include <sys/stat.h>.
37641
37642 2007-03-27  James Youngman  <jay@gnu.org>
37643
37644         * lib/stat-time.h (get_stat_birthtime): New function for
37645           retrieving st_birthtime as provided by UFS2 (hence *BSD).
37646         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
37647           and its variants.
37648         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
37649         * modules/stat-time-test: New file.
37650         * tests/test-stat-time.c: New test, devised by Bruno Haible.
37651
37652 2007-03-26  Bruno Haible  <bruno@clisp.org>
37653
37654         Better support of signalling NaNs.
37655         * lib/atanl.c: Include isnanl.h.
37656         (atanl): Perform test for NaN at the beginning of the function and
37657         through a call to isnanl.
37658         * lib/cosl.c: Include isnanl.h.
37659         (cosl): Perform test for NaN at the beginning of the function and
37660         through a call to isnanl.
37661         * lib/ldexpl.c: Include isnanl.h.
37662         (ldexpl): Perform test for NaN through a call to isnanl.
37663         * lib/logl.c: Include isnanl.h.
37664         (logl): Perform test for NaN at the beginning of the function and
37665         through a call to isnanl.
37666         * lib/sinl.c: Include isnanl.h.
37667         (sinl): Perform test for NaN at the beginning of the function and
37668         through a call to isnanl.
37669         * lib/sqrtl.c: Include isnanl.h.
37670         (sqrtl): Perform test for NaN at the beginning of the function and
37671         through a call to isnanl.
37672         * lib/tanl.c: Include isnanl.h.
37673         (tanl): Perform test for NaN at the beginning of the function and
37674         through a call to isnanl.
37675         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
37676         * modules/mathl (Depends-on): Add isnanl.
37677
37678 2007-03-26  Eric Blake  <ebb9@byu.net>
37679
37680         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
37681         regression in logic sense of previous patch.
37682
37683 2007-03-26  Bruno Haible  <bruno@clisp.org>
37684
37685         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
37686         unportable shell command "if ! ...".
37687         Reported by Ralf Wildenhues.
37688
37689 2007-03-25  Bruno Haible  <bruno@clisp.org>
37690
37691         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
37692         <sysexits.h> file, and only add EX_CONFIG.
37693         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
37694         absolute file name and whether it is sufficient. Substitute also
37695         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
37696         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
37697         ABSOLUTE_SYSEXITS_H into sysexits.h.
37698
37699 2007-03-25  Bruno Haible  <bruno@clisp.org>
37700
37701         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
37702         hints is NULL.
37703
37704 2007-03-25  Bruno Haible  <bruno@clisp.org>
37705
37706         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
37707         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
37708
37709 2007-03-25  Bruno Haible  <bruno@clisp.org>
37710
37711         * lib/vasnprintf.c: Include langinfo.h.
37712         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
37713         multithread-safe.
37714         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
37715         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
37716         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37717         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37718         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37719         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37720         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37721         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
37722         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37723         Reported by Simon Josefsson.
37724
37725 2007-03-25  Bruno Haible  <bruno@clisp.org>
37726
37727         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
37728         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
37729         * modules/vasnprintf (Depends-on): Add stdint.
37730
37731 2007-03-25  Bruno Haible  <bruno@clisp.org>
37732
37733         * modules/fpieee: New file.
37734         * m4/fpieee.m4: New file.
37735         * modules/isnan-nolibm (Depends-on): Add fpieee.
37736         * modules/isnanl-nolibm (Depends-on): Add fpieee.
37737         * modules/isnanl (Depends-on): Add fpieee.
37738
37739 2007-03-25  Bruno Haible  <bruno@clisp.org>
37740
37741         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
37742
37743 2007-03-25  Bruno Haible  <bruno@clisp.org>
37744
37745         Avoid test failures on IRIX 6.5.
37746         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
37747         (main): Use it.
37748         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
37749         macros.
37750         (main): Use them.
37751
37752 2007-03-25  Bruno Haible  <bruno@clisp.org>
37753
37754         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
37755         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
37756         exists but doesn't work.
37757         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
37758         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
37759         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
37760         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
37761
37762 2007-03-25  Bruno Haible  <bruno@clisp.org>
37763
37764         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
37765         returns inf. Needed on IRIX 6.5.
37766
37767 2007-03-25  Bruno Haible  <bruno@clisp.org>
37768
37769         * tests/test-frexpl.c: Include isnanl-nolibm.h.
37770         (main): Use isnanl instead of x != x idiom.
37771         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
37772
37773         * tests/test-frexp.c: Include isnan.h.
37774         (main): Use isnan instead of x != x idiom.
37775         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
37776
37777 2007-03-25  Bruno Haible  <bruno@clisp.org>
37778
37779         * tests/test-frexp.c (NaN): New function/macro.
37780         (main): Use it instead of 0.0 / 0.0.
37781         * tests/test-isnan.c (NaN): New function/macro.
37782         (main): Use it instead of 0.0 / 0.0.
37783         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
37784         (test_function): Use it instead of 0.0 / 0.0.
37785         * tests/test-vasprintf-posix.c (NaN): New function/macro.
37786         (test_function): Use it instead of 0.0 / 0.0.
37787         * tests/test-snprintf-posix.h (NaN): New function/macro.
37788         (test_function): Use it instead of 0.0 / 0.0.
37789         * tests/test-sprintf-posix.h (NaN): New function/macro.
37790         (test_function): Use it instead of 0.0 / 0.0.
37791         * tests/test-fprintf-posix.h (NaN): New function/macro.
37792         (test_function): Use it instead of 0.0 / 0.0.
37793         * tests/test-printf-posix.h (NaN): New function/macro.
37794         (test_function): Use it instead of 0.0 / 0.0.
37795
37796         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
37797
37798 2007-03-25  Bruno Haible  <bruno@clisp.org>
37799
37800         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
37801
37802 2007-03-25  Bruno Haible  <bruno@clisp.org>
37803
37804         * lib/regexec.c (merge_state_with_log): Make static.
37805
37806 2007-03-25  Bruno Haible  <bruno@clisp.org>
37807
37808         * lib/trigl.c (kernel_rem_pio2): Make static.
37809
37810 2007-03-25  Bruno Haible  <bruno@clisp.org>
37811
37812         * lib/sincosl.c (sincosl_table): Make static.
37813
37814 2007-03-25  Bruno Haible  <bruno@clisp.org>
37815
37816         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
37817         if the compiler does not support C99.
37818
37819 2007-03-25  Bruno Haible  <bruno@clisp.org>
37820
37821         * modules/time (Makefile.am): Ensure all rule action lines start with a
37822         tab.
37823
37824 2007-03-24  Bruno Haible  <bruno@clisp.org>
37825
37826         * modules/tsearch-tests: New file.
37827         * tests/test-tsearch.sh: New file.
37828         * tests/test-tsearch.c: New file, mostly copied from glibc.
37829
37830         * modules/search-tests: New file.
37831         * tests/test-search.c: New file.
37832
37833         * modules/search: New file.
37834         * lib/search_.h: New file, incorporating lib/tsearch.h.
37835         * m4/search_h.m4: New file.
37836         * lib/tsearch.h: Remove file.
37837         * lib/tsearch.c: Include search.h instead of tsearch.h.
37838         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
37839         HAVE_TSEARCH.
37840         * modules/tsearch (Files): Remove lib/tsearch.h.
37841         (Depends-on): Add search.
37842         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
37843         (Include): Change tsearch.h into search.h.
37844
37845 2007-03-24  Bruno Haible  <bruno@clisp.org>
37846
37847         * modules/fpucw: New file.
37848         * lib/fpucw.h: New file.
37849         * lib/frexp.c: Include fpucw.h.
37850         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37851         (FUNC): Use them.
37852         * lib/printf-frexp.c: Include fpucw.h.
37853         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37854         (FUNC): Use them.
37855         * lib/vasnprintf.c: Include fpucw.h.
37856         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
37857         'long double' calculations.
37858         * tests/test-frexpl.c: Include fpucw.h.
37859         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37860         * tests/test-printf-frexpl.c: Include fpucw.h.
37861         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37862         * modules/frexpl (Depends-on): Add fpucw.
37863         * modules/printf-frexpl (Depends-on): Likewise.
37864         * modules/fprintf-posix (Depends-on): Likewise.
37865         * modules/snprintf-posix (Depends-on): Likewise.
37866         * modules/sprintf-posix (Depends-on): Likewise.
37867         * modules/vasnprintf-posix (Depends-on): Likewise.
37868         * modules/vasprintf-posix (Depends-on): Likewise.
37869         * modules/vfprintf-posix (Depends-on): Likewise.
37870         * modules/vsnprintf-posix (Depends-on): Likewise.
37871         * modules/vsprintf-posix (Depends-on): Likewise.
37872         * modules/frexpl-tests (Depends-on): Likewise.
37873         * modules/printf-frexpl-tests (Depends-on): Likewise.
37874
37875 2007-03-24  Bruno Haible  <bruno@clisp.org>
37876
37877         * lib/float+.h: New file.
37878         * lib/isnan.c: Include float+.h.
37879         (SIZE): New macro.
37880         (FUNC): Compare only SIZE bytes of the value.
37881         * lib/vasnprintf.c: Include float+.h.
37882         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
37883         SIZEOF_LDBL or SIZEOF_DBL bytes.
37884         * modules/isnan-nolibm (Files): Add lib/float+.h.
37885         * modules/isnanl-nolibm (Files): Add lib/float+.h.
37886         * modules/isnanl (Files): Add lib/float+.h.
37887         * modules/vasnprintf (Files): Add lib/float+.h.
37888
37889 2007-03-24  Bruno Haible  <bruno@clisp.org>
37890
37891         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
37892         include isnanl-nolibm.h.
37893
37894 2007-03-24  Bruno Haible  <bruno@clisp.org>
37895
37896         * tests/test-read-file.c (main): Don't produce spurious output for
37897         expected situations. Make the test fail if it encountered unexpected
37898         results.
37899
37900 2007-03-24  Bruno Haible  <bruno@clisp.org>
37901
37902         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
37903         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
37904
37905 2007-03-24  Bruno Haible  <bruno@clisp.org>
37906
37907         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
37908
37909 2007-03-24  Bruno Haible  <bruno@clisp.org>
37910
37911         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
37912         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
37913
37914         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
37915         * modules/utf8-ucs4: Turn into a symbolic link to module
37916         unistr/u8-mbtouc.
37917
37918         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
37919         utf8-ucs4-unsafe.
37920         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
37921         unistr/u8-mbtouc-unsafe.
37922
37923         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
37924         * modules/utf16-ucs4: Turn into a symbolic link to module
37925         unistr/u16-mbtouc.
37926
37927         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
37928         utf16-ucs4-unsafe.
37929         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
37930         unistr/u16-mbtouc-unsafe.
37931
37932         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
37933         * modules/ucs4-utf8: Turn into a symbolic link to module
37934         unistr/u8-ubtomb.
37935
37936         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
37937         * modules/ucs4-utf16: Turn into a symbolic link to module
37938         unistr/u16-ubtomb.
37939
37940 2007-03-24  Bruno Haible  <bruno@clisp.org>
37941
37942         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
37943         Enable the function only if HAVE_INLINE.
37944         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
37945         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37946         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
37947         Enable the function only if HAVE_INLINE.
37948         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
37949         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37950         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
37951         Enable the function only if HAVE_INLINE.
37952         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
37953         Enable the function only if HAVE_INLINE.
37954         * modules/utf8-ucs4: Update.
37955         * modules/utf8-ucs4-unsafe: Update.
37956         * modules/utf16-ucs4: Update.
37957         * modules/utf16-ucs4-unsafe: Update.
37958         * modules/ucs4-utf8: Update.
37959         * modules/ucs4-utf16: Update.
37960
37961 2007-03-24  Bruno Haible  <bruno@clisp.org>
37962
37963         * lib/utf8-ucs4.h: Remove file.
37964         * lib/utf8-ucs4-unsafe.h: Remove file.
37965         * lib/utf16-ucs4.h: Remove file.
37966         * lib/utf16-ucs4-unsafe.h: Remove file.
37967         * lib/ucs4-utf8.h: Remove file.
37968         * lib/ucs4-utf16.h: Remove file.
37969         * lib/unistr.h: Include their previous contents.
37970         * m4/utf-ucs4.m4: Remove file.
37971         * m4/ucs4-utf.m4: Remove file.
37972         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
37973         (Depends-on): Add unistr/base.
37974         (configure.ac): Remove gl_UTF_UCS4.
37975         (Makefile.am): Update.
37976         (Include): Change to unistr.h.
37977         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
37978         (Depends-on): Add unistr/base.
37979         (configure.ac): Remove gl_UTF_UCS4.
37980         (Makefile.am): Update.
37981         (Include): Change to unistr.h.
37982         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
37983         (Depends-on): Add unistr/base.
37984         (configure.ac): Remove gl_UTF_UCS4.
37985         (Makefile.am): Update.
37986         (Include): Change to unistr.h.
37987         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
37988         (Depends-on): Add unistr/base.
37989         (configure.ac): Remove gl_UTF_UCS4.
37990         (Makefile.am): Update.
37991         (Include): Change to unistr.h.
37992         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
37993         (Depends-on): Add unistr/base.
37994         (configure.ac): Remove gl_UCS4_UTF.
37995         (Makefile.am): Update.
37996         (Include): Change to unistr.h.
37997         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
37998         (Depends-on): Add unistr/base.
37999         (configure.ac): Remove gl_UCS4_UTF.
38000         (Makefile.am): Update.
38001         (Include): Change to unistr.h.
38002         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
38003         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
38004         utf8-ucs4-unsafe.h.
38005         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
38006         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
38007         utf16-ucs4-unsafe.h.
38008         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
38009         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
38010         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
38011         * lib/unistr/u8-strchr.c: Likewise.
38012         * lib/unistr/u8-strrchr.c: Likewise.
38013         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
38014         * lib/unistr/u16-strchr.c: Likewise.
38015         * lib/unistr/u16-strrchr.c: Likewise.
38016         * lib/striconveh.c: Update.
38017         * lib/linebreak.c: Update.
38018
38019 2007-03-24  Bruno Haible  <bruno@clisp.org>
38020
38021         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
38022         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
38023
38024 2007-03-22  Bruno Haible  <bruno@clisp.org>
38025
38026         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
38027
38028 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
38029
38030         * MODULES.html.sh (File system functions): New module write-any-file.
38031         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
38032         * m4/write-any-file.m4: New files.
38033
38034 2007-03-23  Eric Blake  <ebb9@byu.net>
38035
38036         * gnulib-tool: Rearrange space-tab sequences, since some editors
38037         like to eat them.
38038
38039 2007-03-23  Eric Blake  <ebb9@byu.net>
38040
38041         * lib/version-etc.c (version_etc_va): Update license wording to
38042         be more concise.  Recommended by Richard Stallman.
38043
38044 2007-03-22  Bruno Haible  <bruno@clisp.org>
38045
38046         * lib/poll.c (MSG_PEEK): New fallback definition.
38047
38048 2007-03-22  Bruno Haible  <bruno@clisp.org>
38049
38050         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
38051         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
38052         (main): Update.
38053         Fixes a compilation error on BeOS.
38054
38055 2007-03-22  Bruno Haible  <bruno@clisp.org>
38056
38057         * modules/frexpl-tests: New file.
38058         * tests/test-frexpl.c: New file.
38059
38060         * modules/frexpl: New file.
38061         * m4/frexpl.m4: New file.
38062         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
38063         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
38064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
38065         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
38066         (Depends-on): Add frexpl. Remove isnanl-nolibm.
38067         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
38068
38069 2007-03-22  Bruno Haible  <bruno@clisp.org>
38070
38071         * lib/frexpl.c: Share code with lib/frexp.c.
38072         * modules/mathl (Files): Add lib/frexp.c.
38073         (Depends-on): Add isnanl-nolibm.
38074
38075 2007-03-22  Bruno Haible  <bruno@clisp.org>
38076
38077         * modules/printf-frexp (Files): Add m4/frexp.m4.
38078         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
38079         only if the found frexp function actually works.
38080
38081 2007-03-22  Bruno Haible  <bruno@clisp.org>
38082
38083         * lib/frexp.c: Remove older implementation that uses divisions.
38084
38085 2007-03-21  Bruno Haible  <bruno@clisp.org>
38086
38087         * modules/frexp-tests: New file.
38088         * tests/test-frexp.c: New file.
38089
38090         * modules/frexp: New file.
38091         * lib/frexp.c: New file.
38092         * m4/frexp.m4: New file.
38093         * lib/math_.h (frexp): New declaration.
38094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
38095         REPLACE_FREXP.
38096         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
38097
38098 2007-03-21  Bruno Haible  <bruno@clisp.org>
38099
38100         * modules/isnanl-tests: New file.
38101         * tests/test-isnanl.c: New file.
38102
38103         * modules/isnanl: New file.
38104         * lib/isnanl.h: New file.
38105         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
38106         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
38107         gl_FUNC_ISNANL_WORKS.
38108         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
38109         New macros.
38110
38111 2007-03-21  Bruno Haible  <bruno@clisp.org>
38112
38113         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
38114         lib/isnanl.h.
38115         (Include): Update.
38116         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
38117         * lib/vasnprintf.c: Update.
38118         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
38119         tests/test-isnanl.h, remove tests/test-isnanl.c.
38120         (Makefile.am): Update.
38121         * tests/test-isnanl-nolibm.c: New file.
38122         * tests/test-isnanl.h: New file.
38123         * tests/test-isnanl.c: Remove file.
38124
38125 2007-03-21  Jim Meyering  <jim@meyering.net>
38126
38127         When trying to open ".", treat ESTALE like EACCES.
38128         * lib/savewd.c (savewd_save): Resort to forking not just upon
38129         failure with EACCES, but also when errno is ESTALE.
38130
38131 2007-03-20  Bruno Haible  <bruno@clisp.org>
38132
38133         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
38134         Needed on AIX 5.1. Reported by Matthew Woehlke.
38135
38136 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
38137
38138         Suggestions by Bruno Haible:
38139         * lib/acl-internal.h: Include "gettext.h" rather than rolling
38140         our own.
38141         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
38142         * modules/acl (Depends-on): Add gettext.
38143
38144 2007-03-19  Bruno Haible  <bruno@clisp.org>
38145
38146         * modules/iconvme: Remove file.
38147         * lib/iconvme.h: Remove file.
38148         * lib/iconvme.c: Remove file.
38149         * m4/iconvme.m4: Remove file.
38150
38151 2007-03-19  Bruno Haible  <bruno@clisp.org>
38152
38153         * doc/relocatable-maint.texi: Break long shell script line.
38154         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
38155
38156 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
38157
38158         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
38159         handle file_has_acl.
38160         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
38161         * lib/acl.c: Move header inclusions and related macro defns into
38162         lib/acl-internal.h.
38163         (S_ISLNK): Remove defn, since that's now done for us.
38164         (file_has_acl): Move to lib/file-has-acl.c.
38165         Call acl_trivial if available.  This is the crucial part of the fix.
38166         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
38167         shared within the library.  Rewrite a bit, partly to make it compatible
38168         with the GNU coding style.
38169         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
38170         Remove unnecessary double-quotes.
38171         Don't test for acl_to_text; the build will catch that.
38172         Replace acl_entries if it doesn't exist and it is needed.
38173         Check for -lsec and acl_trivial (as used on Solaris 10).
38174         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
38175         lib/file-has-acl.c.
38176         (Depends-on): Add sys_stat, for S_ISLNK.
38177
38178 2007-03-19  Ben Pfaff  <blp@gnu.org>
38179
38180         * doc/gnulib.texi: Fix typos.
38181         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
38182
38183 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
38184
38185         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
38186         If size is zero here, buf must be zero.
38187
38188 2007-03-19  Simon Josefsson  <simon@josefsson.org>
38189
38190         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
38191         <bruno@clisp.org>.
38192
38193 2007-03-18  Bruno Haible  <bruno@clisp.org>
38194
38195         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
38196         Suggested by Eric Blake.
38197
38198 2007-03-18  Ben Pfaff  <blp@gnu.org>
38199
38200         * doc/relocatable.texi: Recommend using as prefix a directory
38201         that does not exist and will never be created.  Based on
38202         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
38203         and others.
38204
38205 2007-03-17  Bruno Haible  <bruno@clisp.org>
38206
38207         * lib/fchownat.c: Include lchown.h.
38208
38209 2007-03-17  Bruno Haible  <bruno@clisp.org>
38210
38211         Fix endless loop when the given allocated size was > INT_MAX.
38212         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
38213         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
38214         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
38215         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
38216         * lib/sprintf.c (sprintf): Likewise.
38217
38218 2007-03-17  Bruno Haible  <bruno@clisp.org>
38219
38220         * tests/test-argp-2.sh (func_compare): Output a context diff.
38221
38222 2007-03-17  Bruno Haible  <bruno@clisp.org>
38223
38224         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
38225         locale's decimal-point character.
38226
38227 2007-03-17  Bruno Haible  <bruno@clisp.org>
38228
38229         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
38230         before comparing it. Needed because on some platforms (e.g. x86) a
38231         'long double' occupies less bytes than sizeof (long double).
38232
38233 2007-03-17  Bruno Haible  <bruno@clisp.org>
38234
38235         * tests/test-crc.c (main): Make printf statements 64-bit clean.
38236         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
38237         * tests/test-getaddrinfo.c (simple): Likewise.
38238         * tests/test-read-file.c (main): Likewise.
38239
38240 2007-03-17  Bruno Haible  <bruno@clisp.org>
38241
38242         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
38243
38244 2007-03-17  Bruno Haible  <bruno@clisp.org>
38245
38246         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
38247         unused variable.
38248
38249 2007-03-17  Bruno Haible  <bruno@clisp.org>
38250
38251         * tests/test-c-strcasecmp.c: Include c-strcase.h.
38252         * tests/test-c-strncasecmp.c: Likewise.
38253
38254 2007-03-17  Bruno Haible  <bruno@clisp.org>
38255
38256         * modules/stdlib (Depends-on): Add unistd.
38257         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
38258         Needed for MacOS X 10.3.
38259
38260 2007-03-17  Bruno Haible  <bruno@clisp.org>
38261
38262         * lib/unistr/u-strdup.h: Include <stdlib.h>.
38263
38264 2007-03-17  Bruno Haible  <bruno@clisp.org>
38265
38266         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
38267
38268 2007-03-17  Bruno Haible  <bruno@clisp.org>
38269
38270         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
38271         to reflect files copied from gnulib (with or without modifications).
38272         Suggested by Jim Meyering.
38273
38274 2007-03-17  Eric Blake  <ebb9@byu.net>
38275
38276         * NEWS: Document stdlib change from 2007-02-18.
38277
38278 2007-03-17  Jim Meyering  <jim@meyering.net>
38279
38280         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
38281         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
38282         someone uses a name containing shell meta-characters.
38283         Reported by Alfred M. Szmidt.
38284
38285         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
38286
38287 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
38288
38289         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
38290         and copy gettext configuration files only if configure.ac contains
38291         a use of AM_GNU_GETTEXT_VERSION.
38292
38293 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
38294
38295         * build-aux/bootstrap (gnulib_name): New variable.
38296         (gnulib_tool_options): Use it.
38297
38298 2007-03-13  Simon Josefsson  <simon@josefsson.org>
38299
38300         * tests/test-des.c: Use new namespace.
38301
38302 2007-03-15  Bruno Haible  <bruno@clisp.org>
38303
38304         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
38305         Reported by James Youngman <jay@gnu.org>.
38306
38307 2007-03-15  Bruno Haible  <bruno@clisp.org>
38308
38309         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
38310         declared prototype. Needed with cc on OSF/1 5.1.
38311
38312 2007-03-15  Bruno Haible  <bruno@clisp.org>
38313
38314         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
38315         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
38316         (struct gl_list_implementation): Add dispose_fn argument to the
38317         'create_empty', 'create' methods.
38318         (struct gl_list_impl_base): Add field 'dispose_fn'.
38319         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
38320         argument.
38321         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
38322         dispose_fn argument.
38323         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
38324         dispose_fn on the dropped values.
38325         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
38326         dispose_fn argument.
38327         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
38328         dropped values.
38329         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
38330         (gl_tree_remove_node): Call dispose_fn on the dropped value.
38331         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
38332         (gl_tree_remove_node): Call dispose_fn on the dropped value.
38333         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
38334         argument.
38335         (gl_tree_list_free): Call dispose_fn on the dropped values.
38336         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
38337         the dropped values.
38338         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
38339         Add dispose_fn argument.
38340         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
38341         Call dispose_fn on the dropped values.
38342         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
38343         Add dispose_fn argument.
38344         (gl_sublist_create): Initialize the 'dispose_fn' field.
38345         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
38346         * tests/test-array_list.c (main): Update.
38347         * tests/test-carray_list.c (main): Update.
38348         * tests/test-avltree_list.c (main): Update.
38349         * tests/test-rbtree_list.c (main): Update.
38350         * tests/test-avltreehash_list.c (main): Update.
38351         * tests/test-rbtreehash_list.c (main): Update.
38352         * tests/test-linked_list.c (main): Update.
38353         * tests/test-linkedhash_list.c (main): Update.
38354         * tests/test-array_oset.c (main): Update.
38355
38356 2007-03-15  Bruno Haible  <bruno@clisp.org>
38357
38358         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
38359         (gl_oset_create_empty): Add dispose_fn argument.
38360         (struct gl_oset_implementation): Add dispose_fn argument to
38361         'create_empty' method.
38362         (struct gl_oset_impl_base): Add dispose_fn field.
38363         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
38364         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
38365         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
38366         values.
38367         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
38368         (gl_tree_oset_free): Call dispose_fn on the dropped values.
38369         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
38370         dropped value.
38371         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
38372         dropped value.
38373         * tests/test-array_oset.c (main): Update.
38374         * tests/test-avltree_oset.c (main): Update.
38375         * tests/test-rbtree_oset.c (main): Update.
38376         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
38377
38378 2007-03-13  Bruno Haible  <bruno@clisp.org>
38379
38380         * tests/test-stdbool.c (i): Update after last patch.
38381
38382 2007-03-12  Bruno Haible  <bruno@clisp.org>
38383
38384         * lib/quotearg.c: Include <wctype.h> early, before the definition of
38385         the iswprint macro. Needed on Solaris 2.5.1.
38386
38387 2007-03-12  Bruno Haible  <bruno@clisp.org>
38388
38389         * tests/test-printf-frexp.c (main): Declare x as volatile.
38390
38391 2007-03-12  Simon Josefsson  <simon@josefsson.org>
38392
38393         * doc/gnulib.texi (Build robot for gnulib): New section.
38394
38395 2007-03-12  Jim Meyering  <jim@meyering.net>
38396
38397         * build-aux/bootstrap: New file.
38398         * build-aux/bootstrap.conf: New file, from coreutils.
38399
38400 2007-03-11  Bruno Haible  <bruno@clisp.org>
38401
38402         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
38403
38404 2007-03-12  Simon Josefsson  <simon@josefsson.org>
38405
38406         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
38407         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
38408         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
38409
38410 2007-03-11  Bruno Haible  <bruno@clisp.org>
38411
38412         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
38413         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
38414
38415 2007-03-11  Bruno Haible  <bruno@clisp.org>
38416
38417         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
38418         formula. Needed for SunPRO C 5.0.
38419
38420 2007-03-11  Bruno Haible  <bruno@clisp.org>
38421
38422         * modules/long-options (Depends-on): Add getopt.
38423
38424 2007-03-11  Bruno Haible  <bruno@clisp.org>
38425
38426         * modules/modechange (Depends-on): Add stdbool.
38427
38428 2007-03-11  Bruno Haible  <bruno@clisp.org>
38429
38430         * modules/i-ring (Depends-on): Add stdbool.
38431
38432 2007-03-11  Bruno Haible  <bruno@clisp.org>
38433
38434         * modules/gc-des (Depends-on): Add stdbool.
38435
38436 2007-03-11  Bruno Haible  <bruno@clisp.org>
38437
38438         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
38439
38440 2007-03-11  Bruno Haible  <bruno@clisp.org>
38441
38442         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
38443
38444 2007-03-11  Bruno Haible  <bruno@clisp.org>
38445
38446         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
38447
38448 2007-03-11  Bruno Haible  <bruno@clisp.org>
38449
38450         * lib/vasnprintf.c (sprintf): Undefine.
38451
38452 2007-03-11  Bruno Haible  <bruno@clisp.org>
38453
38454         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
38455         initializers in SunPRO C and Compaq C compilers.
38456
38457 2007-03-11  Bruno Haible  <bruno@clisp.org>
38458
38459         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
38460         decrementing code ANSI C compliant.
38461
38462 2007-03-11  Bruno Haible  <bruno@clisp.org>
38463
38464         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
38465         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
38466
38467 2007-03-11  Bruno Haible  <bruno@clisp.org>
38468
38469         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
38470         <stdbool.h> substitute doesn't pass.
38471
38472 2007-03-11  Bruno Haible  <bruno@clisp.org>
38473
38474         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
38475
38476 2007-03-11  Bruno Haible  <bruno@clisp.org>
38477
38478         * gnulib-tool (func_create_megatestdir): Create also an autobuild
38479         script, for submission to autobuild.josefsson.org.
38480
38481 2007-03-10  Bruno Haible  <bruno@clisp.org>
38482
38483         * modules/canonicalize-lgpl-tests: New file.
38484         * tests/test-canonicalize-lgpl.sh: New file.
38485         * tests/test-canonicalize-lgpl.c: New file.
38486
38487         * modules/c-strcase-tests: New file.
38488         * tests/test-c-strcase.sh: New file.
38489         * tests/test-c-strcasecmp.c: New file.
38490         * tests/test-c-strncasecmp.c: New file.
38491
38492         * modules/atexit-tests: New file.
38493         * tests/test-atexit.sh: New file.
38494         * tests/test-atexit.c: New file.
38495
38496 2007-03-10  Bruno Haible  <bruno@clisp.org>
38497
38498         * tests/test-binary-io.sh: Use temporary filenames that are not so
38499         likely to clash with those of other tests (in a parallel make).
38500         * tests/test-binary-io.c: Likewise.
38501
38502 2007-03-10  Bruno Haible  <bruno@clisp.org>
38503
38504         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
38505         fallback; use #error instead.
38506         Suggested by Simon Josefsson.
38507
38508 2007-03-10  Bruno Haible  <bruno@clisp.org>
38509
38510         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
38511         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
38512         first and the last.
38513
38514 2007-03-10  Bruno Haible  <bruno@clisp.org>
38515
38516         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
38517
38518 2007-03-10  Bruno Haible  <bruno@clisp.org>
38519
38520         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
38521         "make distcheck".
38522         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
38523         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
38524         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
38525
38526 2007-03-10  Bruno Haible  <bruno@clisp.org>
38527
38528         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
38529         variable.
38530         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
38531         variable.
38532
38533 2007-03-09  Eric Blake  <ebb9@byu.net>
38534         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
38535
38536         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
38537         types are not being provided by gnulib.
38538         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
38539         types are supported.
38540
38541 2007-03-10  Bruno Haible  <bruno@clisp.org>
38542
38543         * lib/stdio_.h (__attribute__): New macro.
38544         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
38545         vsprintf): Specify __attribute__ __format__ for GCC.
38546         Suggested by Eric Blake.
38547
38548 2007-03-09  Bruno Haible  <bruno@clisp.org>
38549
38550         * modules/printf-posix-tests: New file.
38551         * tests/test-printf-posix.sh: New file.
38552         * tests/test-printf-posix.c: New file.
38553
38554         * modules/printf-posix: New file.
38555         * lib/printf.c: New file.
38556         * m4/printf-posix-rpl.m4: New file.
38557         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
38558         REPLACE_PRINTF.
38559         * lib/stdio_.h (printf): New declaration.
38560         (format, __format__, ____printf____, ____scanf____, ____strftime____,
38561         ____strfmon____): New macros.
38562         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
38563         REPLACE_PRINTF.
38564
38565 2007-03-09  Bruno Haible  <bruno@clisp.org>
38566
38567         * tests/test-vasnprintf-posix2.sh: New file.
38568         * tests/test-vasnprintf-posix2.c: New file.
38569         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
38570         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
38571         (Makefile.am): Activate test-vasnprintf-posix2.sh.
38572
38573         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
38574         a locale dependent decimal point, rather than always '.'.
38575
38576 2007-03-09  Eric Blake  <ebb9@byu.net>
38577
38578         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
38579         spite of platforms like Tandem/NSK that define it to -1.
38580
38581 2007-03-08  Bruno Haible  <bruno@clisp.org>
38582
38583         * modules/vprintf-posix-tests: New file.
38584         * tests/test-vprintf-posix.sh: New file.
38585         * tests/test-vprintf-posix.c: New file.
38586         * tests/test-printf-posix.h: New file.
38587
38588         * modules/vprintf-posix: New file.
38589         * lib/vprintf.c: New file.
38590         * m4/vprintf-posix.m4: New file.
38591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
38592         REPLACE_VPRINTF.
38593         * lib/stdio_.h (vprintf): New declaration.
38594         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
38595         REPLACE_VPRINTF.
38596
38597 2007-03-08  Bruno Haible  <bruno@clisp.org>
38598
38599         * modules/fprintf-posix-tests: New file.
38600         * tests/test-fprintf-posix.sh: New file.
38601         * tests/test-fprintf-posix.c: New file.
38602
38603         * modules/fprintf-posix: New file.
38604         * lib/fprintf.c: New file.
38605         * m4/fprintf-posix.m4: New file.
38606         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
38607         REPLACE_FPRINTF.
38608         * lib/stdio_.h (fprintf): New declaration.
38609         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
38610         REPLACE_FPRINTF.
38611
38612 2007-03-08  Bruno Haible  <bruno@clisp.org>
38613
38614         * modules/vfprintf-posix-tests: New file.
38615         * tests/test-vfprintf-posix.sh: New file.
38616         * tests/test-vfprintf-posix.c: New file.
38617         * tests/test-fprintf-posix.h: New file.
38618         * tests/test-fprintf-posix.out: New file.
38619
38620         * modules/vfprintf-posix: New file.
38621         * lib/vfprintf.c: New file.
38622         * m4/vfprintf-posix.m4: New file.
38623         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
38624         REPLACE_VFPRINTF.
38625         * lib/stdio_.h (vfprintf): New declaration.
38626         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
38627         REPLACE_VFPRINTF.
38628
38629 2007-03-08  Bruno Haible  <bruno@clisp.org>
38630
38631         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
38632
38633 2007-03-08  Bruno Haible  <bruno@clisp.org>
38634
38635         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
38636         instead of 'expr' invocations.
38637         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38638         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38639         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38640         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38641         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38642         Suggested by Paul Eggert.
38643
38644 2007-03-08  Bruno Haible  <bruno@clisp.org>
38645
38646         * modules/fseterr-tests: New file.
38647         * tests/test-fseterr.c: New file.
38648
38649         * modules/fseterr: New file.
38650         * lib/fseterr.h: New file.
38651         * lib/fseterr.c: New file.
38652
38653 2007-03-08  Bruno Haible  <bruno@clisp.org>
38654
38655         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
38656         * lib/getopt_.h: Likewise.
38657         * lib/mbswidth.h: Likewise.
38658         * lib/setenv.h: Likewise.
38659         * lib/vasnprintf.h: Likewise.
38660         * lib/vasprintf.h: Likewise.
38661         * lib/verror.h: Likewise.
38662         * lib/xsetenv.h: Likewise.
38663         * lib/xvasprintf.h: Likewise.
38664
38665 2007-03-08  Jim Meyering  <jim@meyering.net>
38666
38667         * users.txt: Add parted.
38668
38669         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
38670
38671 2007-03-07  Bruno Haible  <bruno@clisp.org>
38672
38673         * m4/printf.m4: Make the shell script snippets copy&pastable.
38674
38675 2007-03-02  Bruno Haible  <bruno@clisp.org>
38676
38677         * lib/netinet_in_.h: New file.
38678         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
38679         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
38680         * modules/netinet_in (Files): Add lib/netinet_in_.h.
38681         (Depends-on): Add absolute-header.
38682         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
38683         into netinet/in.h.
38684
38685 2007-03-03  Bruno Haible  <bruno@clisp.org>
38686
38687         * lib/sys_select_.h: New file.
38688         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
38689         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
38690         * modules/sys_select (Files): Add lib/sys_select_.h.
38691         (Depends-on): Add absolute-header.
38692         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
38693         into sys/select.h.
38694
38695 2007-03-02  Bruno Haible  <bruno@clisp.org>
38696
38697         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
38698         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
38699         values.
38700         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
38701         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
38702         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
38703         * modules/sys_socket (Depends-on): Add absolute-header.
38704         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
38705         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
38706         (Include): Remove requirement of inclusion of <sys/types.h>.
38707
38708 2007-03-02  Bruno Haible  <bruno@clisp.org>
38709
38710         * lib/byteswap_.h (bswap_32): Fix formula.
38711
38712 2007-03-06  Bruno Haible  <bruno@clisp.org>
38713
38714         * modules/sprintf-posix-tests: New file.
38715         * tests/test-sprintf-posix.c: New file.
38716
38717         * modules/sprintf-posix: New file.
38718         * lib/sprintf.c: New file.
38719         * m4/sprintf-posix.m4: New file.
38720         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
38721         REPLACE_SPRINTF.
38722         * lib/stdio_.h (sprintf): New declaration.
38723         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
38724         REPLACE_SPRINTF.
38725
38726 2007-03-06  Bruno Haible  <bruno@clisp.org>
38727
38728         * modules/vsprintf-posix-tests: New file.
38729         * tests/test-vsprintf-posix.c: New file.
38730         * tests/test-sprintf-posix.h: New file.
38731
38732         * modules/vsprintf-posix: New file.
38733         * lib/vsprintf.c: New file.
38734         * m4/vsprintf-posix.m4: New file.
38735         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
38736         REPLACE_VSPRINTF.
38737         * lib/stdio_.h (vsprintf): New declaration.
38738         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
38739         REPLACE_VSPRINTF.
38740
38741 2007-03-06  Bruno Haible  <bruno@clisp.org>
38742
38743         * modules/vsnprintf (Depend-on): Remove minmax.
38744
38745 2007-03-06  Bruno Haible  <bruno@clisp.org>
38746
38747         * modules/snprintf-posix-tests: New file.
38748         * tests/test-snprintf-posix.c: New file.
38749
38750         * modules/snprintf-posix: New file.
38751         * m4/snprintf-posix.m4: New file.
38752         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
38753         gl_FUNC_SNPRINTF.
38754         (gl_FUNC_SNPRINTF): Invoke it.
38755         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
38756         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
38757         is set.
38758         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
38759
38760 2007-03-06  Bruno Haible  <bruno@clisp.org>
38761
38762         * modules/vsnprintf-posix-tests: New file.
38763         * tests/test-vsnprintf-posix.c: New file.
38764         * tests/test-snprintf-posix.h: New file.
38765
38766         * modules/vsnprintf-posix: New file.
38767         * m4/vsnprintf-posix.m4: New file.
38768         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
38769         gl_FUNC_VSNPRINTF.
38770         (gl_FUNC_VSNPRINTF): Invoke it.
38771         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
38772         * lib/stdio_.h (vsnprintf): Define as a replacement if
38773         REPLACE_VSNPRINTF is set.
38774         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
38775
38776 2007-03-06  Bruno Haible  <bruno@clisp.org>
38777
38778         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
38779         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
38780
38781 2007-03-06  Bruno Haible  <bruno@clisp.org>
38782
38783         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
38784         (asinl): Declare also if HAVE_DECL_ASINL is set.
38785         (atanl): Declare also if HAVE_DECL_ATANL is set.
38786         (ceill): Declare also if HAVE_DECL_CEILL is set.
38787         (cosl): Declare also if HAVE_DECL_COSL is set.
38788         (expl): Declare also if HAVE_DECL_EXPL is set.
38789         (floorl): Declare also if HAVE_DECL_FLOORL is set.
38790         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
38791         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
38792         (logl): Declare also if HAVE_DECL_LOGL is set.
38793         (sinl): Declare also if HAVE_DECL_SINL is set.
38794         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
38795         (tanl): Declare also if HAVE_DECL_TANL is set.
38796         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
38797         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
38798         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
38799         declaration of frexpl, ldexpl.
38800         * modules/printf-frexpl (Depends-on): Add math.
38801         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
38802
38803 2007-03-05  Bruno Haible  <bruno@clisp.org>
38804
38805         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
38806         frexpl and ldexpl are declared.
38807         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
38808
38809 2007-03-05  Bruno Haible  <bruno@clisp.org>
38810
38811         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
38812         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
38813
38814 2007-03-05  Bruno Haible  <bruno@clisp.org>
38815
38816         * lib/stdio_.h: Include <stddef.h>.
38817
38818 2007-03-05  Bruno Haible  <bruno@clisp.org>
38819
38820         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
38821
38822 2007-03-05  Bruno Haible  <bruno@clisp.org>
38823
38824         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
38825         NetBSD 4, from Ralf Wildenhues.
38826
38827 2007-03-04  Bruno Haible  <bruno@clisp.org>
38828
38829         * lib/vasprintf.h: Update #if logic for the case when the functions
38830         exist but are overridden.
38831
38832 2007-03-04  Bruno Haible  <bruno@clisp.org>
38833
38834         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
38835         implementations: glibc-2.4 and MacOS X 10.3.
38836         * tests/test-vasnprintf-posix.c (test_function): Test also the case
38837         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
38838         * tests/test-vasprintf-posix.c (test_function): Likewise.
38839
38840 2007-03-04  Bruno Haible  <bruno@clisp.org>
38841
38842         * modules/vasprintf-posix-tests: New file.
38843         * tests/test-vasprintf-posix.c: New file.
38844
38845         * modules/vasprintf-posix: New file.
38846         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
38847         defined.
38848         * m4/vasprintf-posix.m4: New file.
38849         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
38850         gl_FUNC_VASPRINTF.
38851         (gl_FUNC_VASPRINTF): Invoke it.
38852         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
38853         here.
38854         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
38855
38856 2007-03-04  Bruno Haible  <bruno@clisp.org>
38857
38858         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
38859         REPLACE_GETTIMEOFDAY.
38860         * modules/sys_time (Makefile.am): Likewise.
38861         * m4/sys_time_h.m4: Likewise.
38862         * m4/gettimeofday.m4: Likewise.
38863
38864 2007-03-04  Bruno Haible  <bruno@clisp.org>
38865
38866         * modules/vasnprintf-posix-tests: New file.
38867         * tests/test-vasnprintf-posix.c: New file.
38868
38869         * modules/vasnprintf-posix: New file.
38870         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
38871         printf-frexpl.h.
38872         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
38873         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
38874         REPLACE_VASNPRINTF is defined.
38875         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
38876         gl_FUNC_VASNPRINTF.
38877         (gl_FUNC_VASNPRINTF): Invoke it.
38878         * m4/vasnprintf-posix.m4: New file.
38879         * m4/printf.m4: New file.
38880
38881 2007-03-04  Bruno Haible  <bruno@clisp.org>
38882
38883         Compile progreloc.c only if --enable-relocatable is specified.
38884         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
38885         if --enable-relocatable was specified.
38886         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
38887         lib_SOURCES.
38888
38889 2007-03-04  Jim Meyering  <jim@meyering.net>
38890
38891         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
38892         Use it consistently, rather than enumerating errno constants.
38893
38894 2007-03-04  Bruno Haible  <bruno@clisp.org>
38895
38896         * modules/xvasprintf-tests: New file.
38897         * tests/test-xvasprintf.c: New file.
38898
38899         * modules/vasprintf-tests: New file.
38900         * tests/test-vasprintf.c: New file.
38901
38902         * modules/vasnprintf-tests: New file.
38903         * tests/test-vasnprintf.c: New file.
38904
38905         * modules/vsnprintf-tests: New file.
38906         * tests/test-vsnprintf.c: New file.
38907
38908         * modules/snprintf-tests: New file.
38909         * tests/test-snprintf.c: New file.
38910
38911 2007-03-04  Bruno Haible  <bruno@clisp.org>
38912
38913         Compile relocatable.c only if --enable-relocatable is specified.
38914         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
38915         gl_RELOCATABLE_LIBRARY.
38916         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
38917         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
38918         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
38919         gl_RELOCATABLE_LIBRARY.
38920         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
38921         (Makefile.am): Remove lib_SOURCES.
38922         * modules/relocatable-lib-lgpl (configure.ac): Invoke
38923         gl_RELOCATABLE_LIBRARY.
38924         (Makefile.am): Remove lib_SOURCES.
38925         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
38926         always.
38927         * modules/relocatable-prog-wrapper (configure.ac): Invoke
38928         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
38929
38930 2007-03-04  Bruno Haible  <bruno@clisp.org>
38931
38932         * modules/argmatch-tests: New file.
38933         * tests/test-argmatch.c: New file.
38934
38935         * tests/test-allocsa.c (main): Halve the number of loop runs.
38936
38937         * modules/alloca-opt-tests: New file.
38938         * tests/test-alloca-opt.c: New file.
38939
38940 2007-03-04  Jim Meyering  <jim@meyering.net>
38941
38942         Work around difference between Linux ACLs and Solaris 10 ZFS.
38943         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
38944         for EINVAL.
38945
38946 2007-03-03  Bruno Haible  <bruno@clisp.org>
38947
38948         * modules/relocatable-prog (Depends-on): Add back progreloc's
38949         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
38950
38951 2007-03-03  Bruno Haible  <bruno@clisp.org>
38952
38953         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
38954         * modules/relocatable-lib: New file.
38955
38956 2007-03-03  Bruno Haible  <bruno@clisp.org>
38957
38958         * modules/relocatable-prog: Renamed from modules/relocatable.
38959         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
38960
38961 2007-03-03  Bruno Haible  <bruno@clisp.org>
38962
38963         * modules/relocatable-script (Files): Add doc/relocatable.texi,
38964         m4/relocatable-lib.m4.
38965         (Depends-on): Remove 'relocatable'.
38966         (configure.ac): Add gl_RELOCATABLE_NOP.
38967
38968 2007-03-03  Bruno Haible  <bruno@clisp.org>
38969
38970         * modules/relocatable-prog-wrapper: New file.
38971         * modules/relocatable (Depends-on): Add it. Remove all other
38972         dependencies except progname.
38973         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
38974
38975         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
38976         (gl_FUNC_STRERROR): Nop.
38977         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
38978
38979         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
38980         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
38981
38982         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
38983         (gl_FUNC_READLINK): Update.
38984
38985         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
38986
38987 2007-03-03  Bruno Haible  <bruno@clisp.org>
38988
38989         * lib/xreadlink.c: Include <unistd.h> unconditionally.
38990         * modules/xreadlink (Depends-on): Add unistd.
38991         * modules/xreadlink-with-size (Depends-on): Likewise.
38992
38993 2007-03-03  Bruno Haible  <bruno@clisp.org>
38994
38995         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
38996         extracted from gt_FUNC_SETENV.
38997         (gt_FUNC_SETENV): Remove macro.
38998         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
38999         remove gt_FUNC_SETENV.
39000
39001 2007-03-03  Bruno Haible  <bruno@clisp.org>
39002
39003         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
39004         ENABLE_RELOCATABLE here.
39005         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
39006
39007 2007-03-03  Bruno Haible  <bruno@clisp.org>
39008
39009         * modules/rbtreehash-list-tests (Depends-on): Add progname.
39010         * tests/test-rbtreehash_list.c: Include progname.h.
39011         (main): Call set_program_name.
39012
39013         * modules/rbtree-oset-tests (Depends-on): Add progname.
39014         * tests/test-rbtree_oset.c: Include progname.h.
39015         (main): Call set_program_name.
39016
39017         * modules/rbtree-list-tests (Depends-on): Add progname.
39018         * tests/test-rbtree_list.c: Include progname.h.
39019         (main): Call set_program_name.
39020
39021         * modules/linked-list-tests (Depends-on): Add progname.
39022         * tests/test-linked_list.c: Include progname.h.
39023         (main): Call set_program_name.
39024
39025 2007-03-03  Bruno Haible  <bruno@clisp.org>
39026
39027         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
39028         All uses of __restrict changed to _Restrict_.
39029         * lib/glob_.h (__restrict): Remove macro.
39030
39031 2007-03-02  Bruno Haible  <bruno@clisp.org>
39032
39033         * modules/gettext (configure.ac): Require gettext infrastructure
39034         from version 0.16.1.
39035
39036 2007-03-02  Bruno Haible  <bruno@clisp.org>
39037
39038         * modules/linkedhash-list-tests (Depends-on): Add progname.
39039         * tests/test-linkedhash_list.c: Include progname.h.
39040         (main): Call set_program_name.
39041
39042         * modules/carray-list-tests (Depends-on): Add progname.
39043         * tests/test-carray_list.c: Include progname.h.
39044         (main): Call set_program_name.
39045
39046         * modules/avltreehash-list-tests (Depends-on): Add progname.
39047         * tests/test-avltreehash_list.c: Include progname.h.
39048         (main): Call set_program_name.
39049
39050         * modules/avltree-oset-tests (Depends-on): Add progname.
39051         * tests/test-avltree_oset.c: Include progname.h.
39052         (main): Call set_program_name.
39053
39054         * modules/avltree-list-tests (Depends-on): Add progname.
39055         * tests/test-avltree_list.c: Include progname.h.
39056         (main): Call set_program_name.
39057
39058         * modules/array-oset-tests (Depends-on): Add progname.
39059         * tests/test-array_oset.c: Include progname.h.
39060         (main): Call set_program_name.
39061
39062         * modules/array-list-tests (Depends-on): Add progname.
39063         * tests/test-array_list.c: Include progname.h.
39064         (main): Call set_program_name.
39065
39066         * modules/argp-tests (Depends-on): Add progname.
39067         * tests/test-argp.c: Include argp.h first. Include progname.h.
39068         (main): Call set_program_name.
39069
39070 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
39071
39072         * doc/gnulib-tool.texi (Initial import): Reword description of
39073         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
39074         limited effect even if defined after the first system include.
39075
39076 2007-03-01  Bruno Haible  <bruno@clisp.org>
39077
39078         * build-aux/config.libpath: Update to libtool-1.5.22.
39079         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39080
39081 2007-03-01  Bruno Haible  <bruno@clisp.org>
39082
39083         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
39084         foo_CFLAGS.
39085         Reported by Ralf Wildenhues.
39086
39087 2007-03-01  Bruno Haible  <bruno@clisp.org>
39088
39089         * build-aux/install-reloc: Remove object files left over by some
39090         compilers.
39091         Reported by Ralf Wildenhues.
39092
39093 2007-03-01  Bruno Haible  <bruno@clisp.org>
39094
39095         * build-aux/install-reloc: Break long lines.
39096
39097 2007-03-01  Bruno Haible  <bruno@clisp.org>
39098
39099         * doc/relocatable.texi: Document that it may not work on OpenBSD.
39100         Reported by Ralf Wildenhues.
39101
39102 2007-03-01  Bruno Haible  <bruno@clisp.org>
39103
39104         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
39105         include ordering constraints.
39106
39107 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39108
39109         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
39110         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
39111         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
39112         as another example.
39113         * lib/time_.h: Fix misspelling.
39114         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
39115         Require gl_HEADER_TIME_H_DEFAULTS.
39116         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
39117         * m4/time_r.m4 (gl_TIME_R): Likewise.
39118         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
39119
39120 2007-03-01  Bruno Haible  <bruno@clisp.org>
39121
39122         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
39123         * m4/utimens.m4 (gl_UTIMENS): Likewise.
39124
39125 2007-03-01  Jim Meyering  <jim@meyering.net>
39126
39127         * modules/xreadlink (Maintainer): Add my name.
39128         * modules/xreadlink-with-size (Depends-on): Alphabetize.
39129
39130 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
39131             Bruno Haible  <bruno@clisp.org>
39132
39133         * build-aux/install-reloc: Compile also c-ctype.c.
39134         * build-aux/relocatable.sh.in: New file.
39135         * doc/relocatable.texi: New file.
39136         * doc/relocatable-maint.texi: New file.
39137         * doc/gnulib.texi: Include relocatable-maint.texi.
39138         * lib/progreloc.c: Include unistd.h unconditionally.
39139         * lib/relocwrapper.c: Include unistd.h unconditionally.
39140         Include c-ctype.h.
39141         (add_dotbin): Use c_tolower.
39142         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
39143         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
39144         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
39145         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
39146         to m4/relocatable-lib.m4.
39147         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
39148         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
39149         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
39150         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
39151         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
39152         * modules/relocatable: New file.
39153         * modules/relocatable-lib: New file.
39154         * modules/relocatable-script: New file.
39155
39156 2007-02-28  Bruno Haible  <bruno@clisp.org>
39157
39158         Import --enable-relocatable infrastructure.
39159         * build-aux/config.libpath: New file, from GNU gettext.
39160         * build-aux/install-reloc: New file, from GNU gettext.
39161         * build-aux/reloc-ldflags: New file, from GNU gettext.
39162         * lib/relocatable.h: New file, from GNU gettext.
39163         * lib/relocatable.c: New file, from GNU gettext.
39164         * lib/relocwrapper.c: New file, from GNU gettext.
39165         * m4/relocatable.m4: New file, from GNU gettext.
39166
39167 2007-02-28  Bruno Haible  <bruno@clisp.org>
39168
39169         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
39170
39171         * modules/xreadlink: New file, from GNU gettext with modifications.
39172         * lib/xreadlink.c: New file, from GNU gettext.
39173         * lib/xreadlink.h: Add comments.
39174         (xreadlink): New declaration.
39175
39176         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
39177         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
39178         lib/xreadlink-with-size.c.
39179         (configure.ac): Remove gl_XREADLINK invocation.
39180         (Makefile.am): Augment lib_SOURCES.
39181         * m4/xreadlink.m4: Remove file.
39182         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
39183         (xreadlink_with_size): Renamed from xreadink.
39184         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
39185         * modules/canonicalize (Depends-on): Replace xreadlink with
39186         xreadlink-with-size.
39187         * lib/canonicalize.c (canonicalize_filename_mode): Update.
39188
39189 2007-02-25  Jim Meyering  <jim@meyering.net>
39190
39191         * build-aux/announce-gen: When complaining about excess arguments,
39192         list them.
39193
39194 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
39195
39196         * README: Document signed integer overflow situation more
39197         accurately.
39198
39199 2007-02-25  Bruno Haible  <bruno@clisp.org>
39200
39201         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
39202         'a' or 'A' conversion.
39203
39204 2007-02-25  Bruno Haible  <bruno@clisp.org>
39205
39206         * modules/filename: Renamed from modules/pathname.
39207         (Files): Replace lib/pathname.h with lib/filename.h. Replace
39208         lib/concatpath.c with lib/concat-filename.c.
39209         (Makefile.am): Update.
39210         (Include): Replace pathname.h with filename.h.
39211         * lib/filename.h: Renamed from lib/pathname.h.
39212         (concatenated_filename): Renamed from concatenated_pathname.
39213         * lib/concat-filename.c: Renamed from lib/concatpath.c.
39214         (concatenated_filename): Renamed from concatenated_pathname.
39215         * lib/findprog.c: Include filename.h instead of pathname.h.
39216         (find_in_path): Update.
39217         * lib/javacomp.c: Include filename.h instead of pathname.h.
39218         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
39219         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
39220         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
39221         is_oldgcj_14_13_usable, is_javac_usable): Update.
39222         * lib/javaexec.c: Include filename.h instead of pathname.h.
39223         (execute_java_class): Update.
39224         * modules/findprog: Update.
39225         * modules/javacomp: Update.
39226         * modules/javaexec: Update.
39227         * MODULES.html.sh (File system functions): Add 'filename', remove
39228         'pathname'.
39229
39230 2007-02-25  Bruno Haible  <bruno@clisp.org>
39231
39232         * modules/printf-frexpl-tests: New file.
39233         * tests/test-printf-frexpl.c: New file.
39234
39235         * modules/printf-frexpl: New file.
39236         * lib/printf-frexpl.h: New file.
39237         * lib/printf-frexpl.c: New file.
39238         * m4/printf-frexpl.m4: New file.
39239
39240 2007-02-25  Bruno Haible  <bruno@clisp.org>
39241
39242         * modules/printf-frexp-tests: New file.
39243         * tests/test-printf-frexp.c: New file.
39244
39245         * modules/printf-frexp: New file.
39246         * lib/printf-frexp.h: New file.
39247         * lib/printf-frexp.c: New file.
39248         * m4/printf-frexp.m4: New file.
39249
39250 2007-02-25  Bruno Haible  <bruno@clisp.org>
39251
39252         Assume automake >= 1.10 for the tests.
39253         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
39254         * modules/arctwo-tests: Likewise.
39255         * modules/argp-tests: Likewise.
39256         * modules/avltree-list-tests: Likewise.
39257         * modules/avltree-oset-tests: Likewise.
39258         * modules/avltreehash-list-tests: Likewise.
39259         * modules/carray-list-tests: Likewise.
39260         * modules/crc-tests: Likewise.
39261         * modules/des-tests: Likewise.
39262         * modules/gc-arcfour-tests: Likewise.
39263         * modules/gc-arctwo-tests: Likewise.
39264         * modules/gc-des-tests: Likewise.
39265         * modules/gc-hmac-md5-tests: Likewise.
39266         * modules/gc-hmac-sha1-tests: Likewise.
39267         * modules/gc-md2-tests: Likewise.
39268         * modules/gc-md4-tests: Likewise.
39269         * modules/gc-md5-tests: Likewise.
39270         * modules/gc-pbkdf2-sha1-tests: Likewise.
39271         * modules/gc-rijndael-tests: Likewise.
39272         * modules/gc-sha1-tests: Likewise.
39273         * modules/gc-tests: Likewise.
39274         * modules/getaddrinfo-tests: Likewise.
39275         * modules/hmac-md5-tests: Likewise.
39276         * modules/hmac-sha1-tests: Likewise.
39277         * modules/linked-list-tests: Likewise.
39278         * modules/linkedhash-list-tests: Likewise.
39279         * modules/lock-tests: Likewise.
39280         * modules/md2-tests: Likewise.
39281         * modules/md4-tests: Likewise.
39282         * modules/md5-tests: Likewise.
39283         * modules/rbtree-list-tests: Likewise.
39284         * modules/rbtree-oset-tests: Likewise.
39285         * modules/rbtreehash-list-tests: Likewise.
39286         * modules/read-file-tests: Likewise.
39287         * modules/rijndael-tests: Likewise.
39288         * modules/stdint-tests: Likewise.
39289         * modules/tls-tests: Likewise.
39290
39291 2007-02-24  Bruno Haible  <bruno@clisp.org>
39292
39293         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
39294         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
39295         function; instead check whether isnan with a double argument links.
39296         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
39297         function; instead check whether isnan with a 'long double' argument
39298         links.
39299         Reported by Eric Blake <ebb9@byu.net>.
39300
39301 2007-02-24  Bruno Haible  <bruno@clisp.org>
39302
39303         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
39304         defined.
39305         * lib/isnanl.c: Remove all code. Just include isnan.c.
39306         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
39307
39308 2007-02-25  Jim Meyering  <jim@meyering.net>
39309
39310         Avoid conflicting types for 'unsetenv' on FreeBSD.
39311         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
39312         conflicting with FreeBSD's (5.0 and 6.1) function declaration
39313         in stdlib.h.
39314
39315 2007-02-24  Bruno Haible  <bruno@clisp.org>
39316
39317         * modules/isnanl-nolibm-tests: New file.
39318         * tests/test-isnanl.c: New file.
39319
39320         * modules/isnanl-nolibm: New file.
39321         * lib/isnanl.h: New file.
39322         * lib/isnanl.c: New file.
39323         * m4/isnanl.m4: New file.
39324
39325 2007-02-24  Bruno Haible  <bruno@clisp.org>
39326
39327         * modules/isnan-nolibm-tests: New file.
39328         * tests/test-isnan.c: New file.
39329
39330         * modules/isnan-nolibm: New file.
39331         * lib/isnan.h: New file.
39332         * lib/isnan.c: New file.
39333         * m4/isnan.m4: New file.
39334
39335 2007-02-24  Bruno Haible  <bruno@clisp.org>
39336
39337         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
39338         assume that an exponent fits in 20 bits.
39339
39340 2007-02-24  Jim Meyering  <jim@meyering.net>
39341
39342         * m4/regex.m4: Update the description of the configure-time option,
39343         --without-included-regex, to state accurately what the defaults are,
39344         and perhaps to give people an idea why using this option is risky.
39345
39346 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
39347
39348         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
39349         loops on small arguments.  This attempts to avoid the problem
39350         Bruno Haible reported for AIX 4.3.2 in
39351         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
39352
39353 2007-02-23  Bruno Haible  <bruno@clisp.org>
39354
39355         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
39356         Needed for help2man.
39357
39358 2007-02-23  Karl Berry  <karl@gnu.org>
39359
39360         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
39361         exists, foo.h should be cvs-ignored, not committed.
39362
39363 2007-02-23  Eric Blake  <ebb9@byu.net>
39364
39365         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
39366         * lib/stat-time.h (includes): Likewise.
39367         * lib/utimecmp.c (includes): Likewise.
39368         * lib/utimens.h (includes): Likewise.
39369         * lib/getdate.y (includes): Also include "timespec.h" for use
39370         internal to the module.
39371         * modules/utimens (Depends-on): Revert yesterday's patch.
39372         * modules/nanosleep (Depends-on): Add missing dependency.
39373
39374 2007-02-22  Bruno Haible  <bruno@clisp.org>
39375
39376         * lib/glob.c: Don't include getlogin_r.h.
39377
39378 2007-02-22  Jim Meyering  <jim@meyering.net>
39379
39380         * modules/utimens (Depends-on): Add timespec, required for
39381         utimens.h's inclusion of timespec.h.
39382
39383 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
39384
39385         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
39386         long unreadable paths in GNU/Linux.  Problem reported by Andreas
39387         Schwab in
39388         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
39389         I'll try to think of a better way to fix the Solaris problem.
39390
39391         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
39392         like glibc; on Solaris 10, it fails with errno == EINVAL.
39393         POSIX says the behavior is unspecified if the first argument is NULL,
39394         so play it safe and never pass NULL to the system getcwd.
39395
39396 2007-02-21  Jim Meyering  <jim@meyering.net>
39397
39398         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
39399         of gettimeofday.  It would conflict with the one now always
39400         provided via sys_time_.h.  Reported by Matthew Woehlke, as
39401         an IRIX 6.5 build failure.
39402
39403 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
39404
39405         Minor fixups to port to Solaris 10 with Sun C 5.8.
39406         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
39407         * modules/getcwd (Depends-on): Add dirfd.
39408         * lib/putenv.c (putenv): #undef it.
39409         (rpl_putenv): New decl.
39410         (malloc, free): Include <stdlib.h> rather than prototyping separately.
39411
39412 2007-02-20  Bruno Haible  <bruno@clisp.org>
39413
39414         * modules/stdio-tests: New file.
39415         * tests/test-stdio.c: New file.
39416
39417         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
39418         (Depends-on): Add stdio.
39419         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
39420         (Include): Use <stdio.h> instead of vsnprintf.h.
39421         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
39422         HAVE_DECL_VSNPRINTF.
39423         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
39424
39425         * modules/snprintf (Files): Remove lib/snprintf.h.
39426         (Depends-on): Add stdio.
39427         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
39428         (Include): Use <stdio.h> instead of snprintf.h.
39429         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
39430         HAVE_DECL_SNPRINTF.
39431         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
39432         * lib/getaddrinfo.c: Likewise.
39433
39434         * modules/stdio: New file.
39435         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
39436         * lib/snprintf.h: Remove file.
39437         * lib/vsnprintf.h: Remove file.
39438         * lib/.cppi-disable: Remove snprintf.h.
39439         * m4/stdio_h.m4: New file.
39440         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
39441
39442 2007-02-20  Jim Meyering  <jim@meyering.net>
39443
39444         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
39445         used by e.g., mingw.  From Bruno Haible.
39446
39447 2007-02-19  Bruno Haible  <bruno@clisp.org>
39448
39449         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
39450         warnings.
39451         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39452
39453 2007-02-19  Bruno Haible  <bruno@clisp.org>
39454
39455         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
39456         from mingw users.
39457
39458 2007-02-19  Bruno Haible  <bruno@clisp.org>
39459
39460         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
39461         warnings.
39462         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
39463
39464 2007-02-19  Jim Meyering  <jim@meyering.net>
39465
39466         Don't use FD after a successful "fdopendir (fd)".
39467         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
39468         Reset it by calling dirfd on the just-obtained DIR*.
39469
39470         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
39471         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
39472
39473 2007-02-18  Bruno Haible  <bruno@clisp.org>
39474
39475         * lib/readlink.c: Include <unistd.h>.
39476         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
39477         HAVE_READLINK.
39478         * modules/readlink (Depends-on): Add unistd.
39479         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39480         (Include): Add <unistd.h>.
39481
39482         * lib/getlogin_r.h: Remove file.
39483         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
39484         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
39485         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
39486         HAVE_DECL_GETLOGIN_R.
39487         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
39488         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39489         (Include): Use <unistd.h> instead of getlogin_r.h.
39490
39491         * lib/getcwd.h: Remove file.
39492         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
39493         * lib/xgetcwd.c: Likewise.
39494         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
39495         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
39496         * modules/getcwd (Files): Remove lib/getcwd.h.
39497         (Depends-on): Add unistd.
39498         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39499         (Include): Use <unistd.h> instad of getcwd.h.
39500
39501         * lib/ftruncate.c: Include <unistd.h> first.
39502         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
39503         Set HAVE_FTRUNCATE.
39504         * modules/ftruncate (Depends-on): Add unistd.
39505         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39506
39507         * lib/fchdir.c: Include <unistd.h> first.
39508         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
39509         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
39510         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
39511         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39512         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
39513
39514         * lib/dup2.c: Include <unistd.h> first.
39515         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
39516         HAVE_DUP2.
39517         * modules/dup2 (Depends-on): Add unistd.
39518         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39519
39520         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
39521         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
39522         REPLACE_CHOWN. Don't define chown as a macro here.
39523         * modules/chown (Depends-on): Add unistd.
39524         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39525
39526         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
39527         Add definition for GL_LINK_WARNING.
39528         (chown, dup2): New declarations.
39529         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
39530         link warning.
39531         (ftruncate): New declaration.
39532         (getcwd): New declaration, taken from old getcwd.h.
39533         (getlogin_r): New declaration, taken from old getlogin_r.h.
39534         (readlink): New declaration.
39535         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
39536         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
39537         (gl_PREREQ_UNISTD): Remove macro.
39538         (gl_UNISTD_MODULE_INDICATOR): New macro.
39539         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
39540         many new variables. Don't set UNISTD_H.
39541         * modules/unistd (Description): Change.
39542         (Depends-on): Add link-warning.
39543         (configure.ac): Update.
39544         (Makefile.am): Create unistd.h always. Substitute many new variables
39545         into it.
39546
39547 2007-02-18  Bruno Haible  <bruno@clisp.org>
39548
39549         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
39550         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
39551         HAVE_GETSUBOPT.
39552         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
39553         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
39554         * lib/getsubopt.h: Remove file.
39555         * modules/getsubopt (Files): Remove lib/getsubopt.h.
39556         (Depends-on): Add stdlib.
39557         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39558         (Includes): Use <stdlib.h> instead of getsubopt.h.
39559         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
39560         Set HAVE_GETSUBOPT.
39561         * lib/getsubopt.c: Don't include getsubopt.h.
39562
39563 2007-02-18  Bruno Haible  <bruno@clisp.org>
39564
39565         * modules/fchdir (Depends-on): Add dup2.
39566
39567 2007-02-18  Bruno Haible  <bruno@clisp.org>
39568
39569         * lib/stdlib_.h: Handle glibc's special invocation convention
39570         specially.
39571
39572 2007-02-18  Bruno Haible  <bruno@clisp.org>
39573
39574         * modules/stdlib-tests: New file.
39575         * tests/test-stdlib.c: New file.
39576
39577         * modules/mkstemp (Files): Remove lib/mkstemp.h.
39578         (Depends-on): Add stdlib.
39579         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39580         (Includes): Use <stdlib.h> instead of mkstemp.h.
39581         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
39582         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
39583         * lib/mkstemp.c: Don't include mkstemp.h.
39584         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
39585         * lib/stdlib--.h: Don't include mkstemp.h.
39586
39587         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
39588         (Depends-on): Add stdlib.
39589         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39590         (Includes): Use <stdlib.h> instead of mkdtemp.h.
39591         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
39592         HAVE_MKDTEMP.
39593         * lib/mkdtemp.c: Don't include mkdtemp.h.
39594         * lib/clean-temp.c: Don't include mkdtemp.h.
39595
39596         * modules/exit (Files): Remove lib/exit.h.
39597         (Depends-on): Add stdlib.
39598         (Makefile.am): Remove lib_SOURCES.
39599         (Include): Use <stdlib.h> instead of exit.h.
39600         * lib/argmatch.c: Don't include exit.h.
39601         * lib/execute.c: Likewise.
39602         * lib/pagealign_alloc.c: Likewise.
39603         * lib/pipe.c: Likewise.
39604         * lib/wait-process.c: Likewise.
39605         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
39606         * lib/exitfail.c: Likewise.
39607         * lib/savewd.c: Likewise.
39608         * lib/xsetenv.c: Likewise.
39609
39610         * modules/stdlib: New file.
39611         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
39612         and extra comments about mkstemp().
39613         * lib/exit.h: Remove file.
39614         * lib/mkdtemp.h: Remove file.
39615         * lib/mkstemp.h: Remove file.
39616         * m4/stdlib_h.m4: New file.
39617         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
39618
39619 2007-02-18  Bruno Haible  <bruno@clisp.org>
39620
39621         * modules/math-tests: New file.
39622         * tests/test-math.c: New file.
39623
39624         * modules/math: New file.
39625         * modules/mathl (Files): Remove lib/mathl.h.
39626         (Depends-on): Add math.
39627         (Makefile.am): Don't mention mathl.h.
39628         (Include): Use <math.h> instead of mathl.h.
39629         * lib/math_.h: New file.
39630         * lib/mathl.h: Remove file.
39631         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
39632         mathl.h.
39633         * lib/asinl.c: Likewise.
39634         * lib/atanl.c: Likewise.
39635         * lib/ceill.c: Likewise.
39636         * lib/cosl.c: Likewise.
39637         * lib/expl.c: Likewise.
39638         * lib/floorl.c: Likewise.
39639         * lib/frexpl.c: Likewise.
39640         * lib/ldexpl.c: Likewise.
39641         * lib/logl.c: Likewise.
39642         * lib/sincosl.c: Likewise.
39643         * lib/sinl.c: Likewise.
39644         * lib/sqrtl.c: Likewise.
39645         * lib/tanl.c: Likewise.
39646         * lib/trigl.c: Likewise.
39647         * m4/math_h.m4: New file.
39648         * MODULES.html.sh (Mathematics): Add math.
39649
39650 2007-02-17  Bruno Haible  <bruno@clisp.org>
39651
39652         * modules/wctype-tests: New file.
39653         * tests/test-wctype.c: New file.
39654
39655         * modules/wchar-tests: New file.
39656         * tests/test-wchar.c: New file.
39657
39658         * modules/unistd-tests: New file.
39659         * tests/test-unistd.c: New file.
39660
39661         * modules/time-tests: New file.
39662         * tests/test-time.c: New file.
39663
39664         * modules/sysexits-tests: New file.
39665         * tests/test-sysexits.c: New file.
39666
39667         * modules/sys_time-tests: New file.
39668         * tests/test-sys_time.c: New file.
39669
39670         * modules/sys_stat-tests: New file.
39671         * tests/test-sys_stat.c: New file.
39672
39673         * modules/sys_socket-tests: New file.
39674         * tests/test-sys_socket.c: New file.
39675
39676         * modules/sys_select-tests: New file.
39677         * tests/test-sys_select.c: New file.
39678
39679         * modules/string-tests: New file.
39680         * tests/test-string.c: New file.
39681
39682         * modules/stdbool-tests: New file.
39683         * tests/test-stdbool.c: New file.
39684
39685         * modules/netinet_in-tests: New file.
39686         * tests/test-netinet_in.c: New file.
39687
39688         * modules/inttypes-tests: New file.
39689         * tests/test-inttypes.c: New file.
39690
39691         * modules/fcntl-tests: New file.
39692         * tests/test-fcntl.c: New file.
39693
39694         * modules/byteswap-tests: New file.
39695         * tests/test-byteswap.c: New file.
39696
39697         * modules/arpa_inet-tests: New file.
39698         * tests/test-arpa_inet.c: New file.
39699
39700 2007-02-17  Bruno Haible  <bruno@clisp.org>
39701
39702         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
39703         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
39704         if the corresponding module is not enabled. Emit link warnings if
39705         the function is used nevertheless.
39706         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
39707         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
39708         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
39709         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
39710         * modules/inttypes (Depends-on): Add link-warning.
39711         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39712         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
39713         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
39714         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
39715         * modules/imaxdiv (configure.ac): Likewise.
39716         * modules/strtoimax (configure.ac): Likewise.
39717         * modules/strtoumax (configure.ac): Likewise.
39718
39719 2007-02-17  Bruno Haible  <bruno@clisp.org>
39720
39721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
39722         gl_STRING_MODULE_INDICATOR_DEFAULTS.
39723         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
39724         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
39725
39726 2007-02-17  Bruno Haible  <bruno@clisp.org>
39727
39728         * modules/link-warning: New file.
39729         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
39730         * lib/string_.h (GL_LINK_WARNING): Remove definition.
39731         * modules/string (Depends-on): Add link-warning.
39732         (Makefile.am): Copy the contents of build-aux/link-warning.h into
39733         string.h.
39734         * MODULES.html.sh (Support for building libraries and executables): Add
39735         link-warning.
39736
39737 2007-02-17  Bruno Haible  <bruno@clisp.org>
39738
39739         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
39740         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
39741         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
39742         long lines.
39743
39744 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
39745             Bruno Haible  <bruno@clisp.org>
39746
39747         * modules/tmpfile: New file.
39748         * lib/tmpfile.c: New file.
39749         * m4/tmpfile.m4: New file.
39750         * MODULES.html.sh (func_all_modules): New section "Input/output".
39751
39752 2007-02-15  Bruno Haible  <bruno@clisp.org>
39753
39754         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
39755         (supports_delete_on_close): New function.
39756         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
39757
39758 2007-02-14  Bruno Haible  <bruno@clisp.org>
39759
39760         * modules/mbspcasecmp-tests: New file.
39761         * tests/test-mbspcasecmp.sh: New file.
39762         * tests/test-mbspcasecmp.c: New file.
39763
39764         New module mbspcasecmp.
39765         * modules/mbspcasecmp: New file.
39766         * lib/mbspcasecmp.c: New file.
39767         * lib/string_.h (strncasecmp): Change warning message.
39768         (mbspcasecmp): New declaration.
39769         * m4/mbspcasecmp.m4: New file.
39770         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39771         GNULIB_MBSPCASECMP.
39772         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
39773         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
39774
39775 2007-02-14  Bruno Haible  <bruno@clisp.org>
39776
39777         * modules/mbsncasecmp-tests: New file.
39778         * tests/test-mbsncasecmp.sh: New file.
39779         * tests/test-mbsncasecmp.c: New file.
39780
39781         New module mbsncasecmp.
39782         * modules/mbsncasecmp: New file.
39783         * lib/mbsncasecmp.c: New file.
39784         * lib/string_.h (mbsncasecmp): New declaration.
39785         * m4/mbsncasecmp.m4: New file.
39786         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39787         GNULIB_MBSNCASECMP.
39788         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
39789         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
39790
39791 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39792
39793         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
39794         Verify that it doesn't overlap with our flags.
39795         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
39796         do not have the desired effect in multibyte locales; instead, use
39797         mbscasecmp.
39798         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
39799         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
39800         we don't require GNU fnmatch ourselves (if our users require it, they
39801         should do so explicitly).
39802
39803         Fix regex code so it doesn't rely on strcasecmp.
39804         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
39805         Otherwise, include gnulib's langinfo.h.
39806         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
39807         undesirable behavior in non-C locales.  Instead, rely on localecharset.
39808         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
39809         * modules/regex (FILES): Remove m4/codeset.m4.
39810         (Depends-on): Add localcharset.  Remove strcase.
39811
39812 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39813
39814         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
39815         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
39816
39817 2007-02-13  Bruno Haible  <bruno@clisp.org>
39818
39819         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
39820         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39821
39822 2007-02-12  Bruno Haible  <bruno@clisp.org>
39823
39824         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39825         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
39826         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
39827         time warning rather than a link error.
39828
39829 2007-02-12  Bruno Haible  <bruno@clisp.org>
39830
39831         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
39832         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
39833         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39834
39835 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39836
39837         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
39838         args, not 2.
39839
39840 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39841
39842         New module 'time', so that apps can include <time.h> as per
39843         POSIX and GNU instead of separate include files like time_r.h
39844         and timegm.h.  This implementation tries out a simpler approach
39845         for replacing decls in standard include files (as compared to
39846         the string module), somewhat as an experiment.
39847
39848         * config/srclist.txt: Comment out mktime.c for now.
39849         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
39850         since it doesn't apply any more.  Use generic wording instead.
39851         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
39852         'time'.
39853         * lib/time_.h, m4/time_h.m4, modules/time: New files.
39854         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
39855         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
39856         Don't include <sys/types.h>; no longer needed since we assume C89.
39857         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
39858         * lib/strftime.c: Likewise.
39859         * lib/time_r.c: Likewise.
39860         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
39861         * lib/nanosleep.c: Include <time.h> first, to check interface.
39862         * lib/strptime.c: Likewise.
39863         * lib/time_r.c: Likewise.
39864         * lib/timegm.c: Likewise.
39865         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
39866         needed.
39867         * lib/timegm.c: Don't include timegm.h; no longer needed.
39868         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
39869         time.h now handles any problems in that area.
39870         (struct timespec, nanosleep): Remove; time.h now arranges for these.
39871         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
39872         that time.h defines struct timespec.
39873         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
39874         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
39875         handles that.
39876         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
39877         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
39878         needed.  Set REPLACE_LOCALTIME.
39879         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
39880         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
39881         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
39882         nanosleep; time_h.m4 now does that.  Don't require
39883         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
39884         module handles this now.
39885         * modules/getdate (Depends-on): Remove timespec.  Add time.
39886         * modules/nanosleep (Depends-on): Likewise.
39887         * modules/stat-time (Depends-on): Likewise.
39888         * modules/nanosleep (Include): Include time.h, not timespec.h.
39889         * modules/strptime (Files): Remove lib/strptime.h.
39890         (Depends-on): Add extensions, time.
39891         (Include): Include time.h, not strptime.h.
39892         * modules/time_r (Files): Remove lib/time_r.h.
39893         (Depends-on): Add time.
39894         (Include): Include time.h, not time_r.h.
39895         * modules/timegm: Likewise.
39896         * modules/timespec (Description): Now does timespec-related decls
39897         of our own, instead of struct timespec itself.
39898         (Depends-on): Add time; remove extensions.
39899         (Maintainer): Add self.
39900         * modules/utimecmp (Depends-on): Add time; remove timespec.
39901         * modules/utimens (Depends-on): Likewise.
39902         * modules/xnanosleep (Depends-on): Likewise.
39903
39904 2007-02-11  Bruno Haible  <bruno@clisp.org>
39905
39906         * lib/c-strstr.c: Include allocsa.h.
39907         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39908         * lib/c-strcasestr.c: Include allocsa.h.
39909         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39910         * lib/strcasestr.c: Include allocsa.h.
39911         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39912         * lib/mbsstr.c: Include allocsa.h.
39913         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39914         allocsa/freesa instead of malloc/free.
39915         * lib/mbscasestr.c: Include allocsa.h.
39916         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39917         allocsa/freesa instead of malloc/free.
39918         * modules/c-strstr (Depends-on): Add allocsa.
39919         * modules/c-strcasestr (Depends-on): Likewise.
39920         * modules/strcasestr (Depends-on): Likewise.
39921         * modules/mbsstr (Depends-on): Likewise.
39922         * modules/mbscasestr (Depends-on): Likewise.
39923
39924 2007-02-11  Bruno Haible  <bruno@clisp.org>
39925
39926         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
39927
39928         * modules/mbsspn-tests: New file.
39929         * tests/test-mbsspn.sh: New file.
39930         * tests/test-mbsspn.c: New file.
39931
39932 2007-02-11  Bruno Haible  <bruno@clisp.org>
39933
39934         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
39935
39936         * modules/mbspbrk-tests: New file.
39937         * tests/test-mbspbrk.sh: New file.
39938         * tests/test-mbspbrk.c: New file.
39939
39940 2007-02-11  Bruno Haible  <bruno@clisp.org>
39941
39942         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
39943         unneeded cast.
39944
39945         * modules/mbscspn-tests: New file.
39946         * tests/test-mbscspn.sh: New file.
39947         * tests/test-mbscspn.c: New file.
39948
39949 2007-02-11  Bruno Haible  <bruno@clisp.org>
39950
39951         * modules/mbscasecmp-tests: New file.
39952         * tests/test-mbscasecmp.sh: New file.
39953         * tests/test-mbscasecmp.c: New file.
39954
39955 2007-02-11  Bruno Haible  <bruno@clisp.org>
39956
39957         Ensure O(n) worst-case complexity of mbscasestr.
39958         * lib/mbscasestr.c: Include stdbool.h.
39959         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39960         functions.
39961         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
39962         the bookkeeping indicates that it's worth it.
39963         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
39964
39965         * modules/mbscasestr-tests: New file.
39966         * tests/test-mbscasestr1.c: New file.
39967         * tests/test-mbscasestr2.sh: New file.
39968         * tests/test-mbscasestr2.c: New file.
39969         * tests/test-mbscasestr3.sh: New file.
39970         * tests/test-mbscasestr3.c: New file.
39971         * tests/test-mbscasestr4.sh: New file.
39972         * tests/test-mbscasestr4.c: New file.
39973         * m4/locale-tr.m4: New file.
39974
39975 2007-02-11  Bruno Haible  <bruno@clisp.org>
39976
39977         Ensure O(n) worst-case complexity of mbsstr.
39978         * lib/mbsstr.c: Include stdbool.h.
39979         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39980         functions.
39981         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
39982         bookkeeping indicates that it's worth it.
39983         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
39984
39985         * modules/mbsstr-tests: New file.
39986         * tests/test-mbsstr1.c: New file.
39987         * tests/test-mbsstr2.sh: New file.
39988         * tests/test-mbsstr2.c: New file.
39989         * tests/test-mbsstr3.sh: New file.
39990         * tests/test-mbsstr3.c: New file.
39991         * m4/locale-fr.m4: New file.
39992
39993 2007-02-11  Bruno Haible  <bruno@clisp.org>
39994
39995         * lib/mbsrchr.c (mbsrchr): Fix bug.
39996
39997         * modules/mbsrchr-tests: New file.
39998         * tests/test-mbsrchr.sh: New file.
39999         * tests/test-mbsrchr.c: New file.
40000
40001 2007-02-11  Bruno Haible  <bruno@clisp.org>
40002
40003         * lib/mbschr.c (mbschr): Fix bug.
40004
40005         * modules/mbschr-tests: New file.
40006         * tests/test-mbschr.sh: New file.
40007         * tests/test-mbschr.c: New file.
40008         * m4/locale-zh.m4: New file.
40009
40010 2007-02-11  Bruno Haible  <bruno@clisp.org>
40011
40012         Support for copying multibyte string iterators.
40013         * lib/mbiter.h: Include <string.h>.
40014         (mbiter_multi_copy): New function.
40015         (mbi_copy): New macro.
40016         * lib/mbuiter.h: Include <string.h>.
40017         (mbuiter_multi_copy): New function.
40018         (mbui_copy): New macro.
40019
40020 2007-02-11  Bruno Haible  <bruno@clisp.org>
40021
40022         New module mbslen.
40023         * modules/mbslen: New file.
40024         * lib/mbslen.c: New file.
40025         * lib/string_.h (mbslen): New declaration.
40026         * m4/mbslen.m4: New file.
40027         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40028         GNULIB_MBSLEN.
40029         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
40030         * MODULES.html.sh (Internationalization functions): Add mbslen.
40031
40032 2007-02-11  Bruno Haible  <bruno@clisp.org>
40033
40034         Ensure O(n) worst-case complexity of strcasestr substitute.
40035         * lib/strcasestr.c: Include stdbool.h.
40036         (knuth_morris_pratt): New function.
40037         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
40038         bookkeeping indicates that it's worth it.
40039         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
40040
40041         * modules/strcasestr-tests: New file.
40042         * tests/test-strcasestr.c: New file.
40043
40044 2007-02-11  Bruno Haible  <bruno@clisp.org>
40045
40046         Ensure O(n) worst-case complexity of c_strcasestr.
40047         * lib/c-strcasestr.c: Include stdbool.h, string.h.
40048         (knuth_morris_pratt): New function.
40049         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
40050         the bookkeeping indicates that it's worth it.
40051         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
40052
40053         * modules/c-strcasestr-tests: New file.
40054         * tests/test-c-strcasestr.c: New file.
40055
40056 2007-02-11  Bruno Haible  <bruno@clisp.org>
40057
40058         Ensure O(n) worst-case complexity of c_strstr.
40059         * lib/c-strstr.c: Include stdbool.h, string.h.
40060         (knuth_morris_pratt): New function.
40061         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
40062         bookkeeping indicates that it's worth it.
40063         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
40064
40065         * lib/c-strstr.c: Complete rewrite for maintainability.
40066
40067         * modules/c-strstr-tests: New file.
40068         * tests/test-c-strstr.c: New file.
40069
40070 2007-02-11  Bruno Haible  <bruno@clisp.org>
40071
40072         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
40073         5.2.1 and earlier, whereby \055 was treated just like the range
40074         delimiter '-'.
40075         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
40076
40077 2007-02-08  Bruno Haible  <bruno@clisp.org>
40078
40079         * modules/regex (Depends-on): Add stdbool.
40080         Reported by Dalibor Topic <robilad@kaffe.org>.
40081
40082 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
40083
40084         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
40085         Prefer returning from main to exiting from it.
40086         Remove unnecessary parens after sizeof.
40087
40088 2007-02-05  Bruno Haible  <bruno@clisp.org>
40089
40090         New module mbssep.
40091         * modules/mbssep: New file.
40092         * lib/mbssep.c: New file.
40093         * lib/string_.h (strsep): Add a conditional link warning.
40094         (mbssep): New declaration.
40095         * m4/mbssep.m4: New file.
40096         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40097         GNULIB_MBSSEP.
40098         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
40099         * MODULES.html.sh (Internationalization functions): Add mbssep.
40100
40101 2007-02-05  Bruno Haible  <bruno@clisp.org>
40102
40103         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
40104         Optimize search in case of 1 delimiter.
40105
40106 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
40107
40108         * lib/acl.h: Include sys/types.h before sys/acl.h.
40109
40110 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
40111
40112         Merge upstream fix for glibc bugzilla #3957:
40113
40114         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
40115
40116         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
40117         bit for RE_HAT_LISTS_NOT_NEWLINE.
40118         (build_charclass_op): Remove bogus comment.
40119
40120 2007-02-05  Simon Josefsson  <simon@josefsson.org>
40121
40122         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
40123
40124 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
40125
40126         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
40127         * lib/memmem.c [!defined _LIBC]: Include config.h.
40128
40129 2007-02-04  Bruno Haible  <bruno@clisp.org>
40130
40131         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
40132         warning message.
40133
40134 2007-02-04  Bruno Haible  <bruno@clisp.org>
40135
40136         New module mbstok_r.
40137         * modules/mbstok_r: New file.
40138         * lib/mbstok_r.c: New file.
40139         * lib/string_.h (strtok_r): Change argument names to match the
40140         comments. Add a conditional link warning.
40141         (mbstok_r): New declaration.
40142         * m4/mbstok_r.m4: New file.
40143         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40144         GNULIB_MBSTOK_R.
40145         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
40146         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
40147
40148 2007-02-04  Bruno Haible  <bruno@clisp.org>
40149
40150         New module mbsspn.
40151         * modules/mbsspn: New file.
40152         * lib/mbsspn.c: New file.
40153         * lib/string_.h (strspn): Add a conditional link warning.
40154         (mbsspn): New declaration.
40155         * m4/mbsspn.m4: New file.
40156         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40157         GNULIB_MBSSPN.
40158         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
40159         * MODULES.html.sh (Internationalization functions): Add mbsspn.
40160
40161 2007-02-04  Bruno Haible  <bruno@clisp.org>
40162
40163         New module mbspbrk.
40164         * modules/mbspbrk: New file.
40165         * lib/mbspbrk.c: New file.
40166         * lib/string_.h (strpbrk): Add a conditional link warning.
40167         (mbspbrk): New declaration.
40168         * m4/mbspbrk.m4: New file.
40169         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40170         GNULIB_MBSPBRK.
40171         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
40172         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
40173
40174 2007-02-04  Bruno Haible  <bruno@clisp.org>
40175
40176         New module mbscspn.
40177         * modules/mbscspn: New file.
40178         * lib/mbscspn.c: New file.
40179         * lib/string_.h (strcspn): Add a conditional link warning.
40180         (mbscspn): New declaration.
40181         * m4/mbscspn.m4: New file.
40182         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40183         GNULIB_MBSCSPN.
40184         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
40185         * MODULES.html.sh (Internationalization functions): Add mbscspn.
40186
40187 2007-02-04  Bruno Haible  <bruno@clisp.org>
40188
40189         New module mbscasestr, reduced goal of strcasestr.
40190         * modules/mbscasestr: New file.
40191         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
40192         (mbscasestr): Renamed from strcasestr.
40193         * lib/strcasestr.c: Don't include mbuiter.h.
40194         (strcasestr): Remove support for multibyte locales.
40195         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
40196         Change the conditional link warning.
40197         (mbscasestr): New declaration.
40198         * m4/mbscasestr.m4: New file.
40199         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
40200         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
40201         REPLACE_STRCASESTR.
40202         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
40203         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40204         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
40205         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
40206         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
40207         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
40208         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
40209         (Depends-on): Remove mbuiter.
40210         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
40211
40212 2007-02-04  Bruno Haible  <bruno@clisp.org>
40213
40214         Simplify handling of strncasecmp.
40215         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
40216         the conditional link warning.
40217         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40218         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
40219         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
40220         * modules/strcase (configure.ac): Don't invoke
40221         gl_STRING_MODULE_INDICATOR.
40222         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
40223
40224 2007-02-04  Bruno Haible  <bruno@clisp.org>
40225
40226         New module mbscasecmp, reduced goal of strcasecmp.
40227         * modules/mbscasecmp: New file.
40228         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
40229         (mbscasecmp): Renamed from strcasecmp.
40230         * lib/strcasecmp.c: Don't include mbuiter.h.
40231         (strcasecmp): Remove support for multibyte locales.
40232         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
40233         Change the conditional link warning.
40234         (mbscasecmp): New declaration.
40235         * m4/mbscasecmp.m4: New file.
40236         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
40237         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
40238         REPLACE_STRCASECMP.
40239         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
40240         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40241         GNULIB_MBSCASECMP.
40242         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
40243         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
40244         * modules/strcase (Files): Remove m4/mbrtowc.m4.
40245         (Depends-on): Remove mbuiter.
40246         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
40247
40248 2007-02-04  Bruno Haible  <bruno@clisp.org>
40249
40250         New module mbsstr. Remove module strstr.
40251         * modules/mbsstr: New file.
40252         * modules/strstr: Remove file.
40253         * lib/mbsstr.c: Renamed from lib/strstr.c.
40254         (mbsstr): Renamed from strstr.
40255         * lib/string_.h (strstr): Remove declaration. Change the conditional
40256         link warning.
40257         (mbsstr): New declaration.
40258         * m4/mbsstr.m4: New file.
40259         * m4/strstr.m4: Remove file.
40260         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
40261         REPLACE_STRSTR.
40262         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
40263         Don't initialize GNULIB_STRSTR.
40264         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
40265         substitute GNULIB_STRSTR and REPLACE_STRSTR.
40266         * MODULES.html.sh (Internationalization functions): Add mbsstr.
40267         (Support for systems lacking ANSI C 89): Remove strstr.
40268
40269 2007-02-04  Bruno Haible  <bruno@clisp.org>
40270
40271         New module mbsrchr.
40272         * modules/mbsrchr: New file.
40273         * lib/mbsrchr.c: New file.
40274         * lib/string_.h (strrchr): Add a conditional link warning.
40275         (mbsrchr): New declaration.
40276         * m4/mbsrchr.m4: New file.
40277         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40278         GNULIB_MBSRCHR.
40279         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
40280         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
40281
40282 2007-02-04  Bruno Haible  <bruno@clisp.org>
40283
40284         New module mbschr.
40285         * modules/mbschr: New file.
40286         * lib/mbschr.c: New file.
40287         * lib/string_.h (strchr): Add a conditional link warning.
40288         (mbschr): New declaration.
40289         * m4/mbschr.m4: New file.
40290         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
40291         GNULIB_MBSCHR.
40292         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
40293         * MODULES.html.sh (Internationalization functions): Add mbschr.
40294
40295 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
40296
40297         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
40298
40299         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
40300
40301 2007-02-04  Bruno Haible  <bruno@clisp.org>
40302
40303         New module description section 'configure.ac-early'.
40304         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
40305         (func_get_autoconf_early_snippet): New function.
40306         (func_import, func_create_testdir): Use it. Remove special cases for
40307         modules 'extensions' and 'lock'.
40308         * modules/extensions (configure.ac-early): Require
40309         gl_USE_SYSTEM_EXTENSIONS.
40310         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
40311
40312 2007-02-04  Bruno Haible  <bruno@clisp.org>
40313
40314         Make use of gcj-4.3's -fsource and -ftarget option.
40315         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
40316         and if so try the options -fsource and -ftarget.
40317         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
40318         source_version, ftarget_option, target_version arguments.
40319         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
40320         (is_envjavac_oldgcj_14_14_usable): Renamed from
40321         is_envjavac_gcj_14_14_usable.
40322         (is_envjavac_oldgcj_14_13_usable): Renamed from
40323         is_envjavac_gcj_14_13_usable.
40324         (is_gcj_present): Update.
40325         (is_gcj_43, is_gcj43_usable): New functions.
40326         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
40327         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
40328         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
40329         try the options -fsource and -ftarget.
40330
40331 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
40332
40333         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
40334         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
40335         larger value.
40336
40337 2007-02-03  Jim Meyering  <jim@meyering.net>
40338
40339         Give tools a better chance to allocate space for very large buffers.
40340         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
40341
40342         Make pwd and readlink work also when run with an unreadable parent dir
40343         on systems with openat support.
40344         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
40345         provided getcwd function, even when we have openat support.
40346         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
40347
40348 2007-02-02  Bruno Haible  <bruno@clisp.org>
40349
40350         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
40351         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
40352         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
40353         portability problems if one of these functions is only used on specific
40354         platforms.
40355         Reported by Paul Eggert.
40356
40357 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
40358
40359         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
40360         is causing more trouble than it's curing.
40361         * lib/regex_internal.h (__mempcpy): Remove.
40362         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
40363         (and make the code a tad smaller to boot).
40364         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
40365
40366 2007-02-02  Jim Meyering  <jim@meyering.net>
40367
40368         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
40369         section, not in the Makefile.am: one.
40370
40371 2007-02-02  Eric Blake  <ebb9@byu.net>
40372
40373         * lib/strchrnul.c: Always include config.h first.
40374
40375         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
40376         gnulib strstr is not necessary here.
40377
40378 2007-02-02  Simon Josefsson  <simon@josefsson.org>
40379
40380         * m4/socklen.m4: Fix typo.
40381
40382 2007-02-02  Eric Blake  <ebb9@byu.net>
40383
40384         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
40385         * modules/netinet_in (Makefile.am): Likewise.
40386
40387 2007-02-01  Bruno Haible  <bruno@clisp.org>
40388
40389         * lib/string_.h (GL_LINK_WARNING): New macro.
40390         (strcasecmp, strstr, strcasestr): If provided by the system,
40391         conditionally define as a macro that leads to a warning instead of to
40392         an error.
40393         (strncasecmp): Conditionally define as a macro that leads to a warning.
40394
40395 2007-02-01  Karl Berry  <karl@gnu.org>
40396
40397         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
40398
40399 2007-02-01  Bruno Haible  <bruno@clisp.org>
40400
40401         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
40402         renamings.
40403
40404 2007-02-01  Eric Blake  <ebb9@byu.net>
40405
40406         * modules/regex (Depends-on): Revert dependence on mempcpy.
40407         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
40408         module's definition of mempcpy.
40409         Reported by Paul Eggert.
40410
40411 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
40412
40413         * lib/string_.h: If the gnulib module XYZ is not present, undefine
40414         the symbol XYZ before redefining it.  This fixes a problem with
40415         programs that don't use XYZ, when compiled on systems that define
40416         XYZ to something else.
40417
40418 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
40419
40420         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
40421         occurs when "mkdir -m foo" creates a setgid directory that is (1)
40422         writeable to group or other and (2) is intended to have a special
40423         mode bit that is set or cleared.  In such a case, the directory
40424         should be neither group- nor other-writeable until the special
40425         mode bits are right.
40426
40427 2007-01-31  Eric Blake  <ebb9@byu.net>
40428
40429         * modules/mountlist (Depends-on): Add strstr.
40430
40431         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
40432         bug.
40433         * modules/string (Makefile.am): Remove redundant replacement.
40434         * modules/regex (Depends-on): Add mempcpy.
40435
40436 2007-01-31  Bruno Haible  <bruno@clisp.org>
40437
40438         New module description field 'Link'.
40439         * gnulib-tool (func_usage): Document --extract-link-directive.
40440         (sed_extract_prog): Recognize 'Link' directive.
40441         (func_get_link_directive): New function.
40442         (func_import): Show summary of link directives.
40443         Handle --extract-link-directive option.
40444         * modules/acl (Link): New section.
40445         * modules/clock-time (Link): New section.
40446         * modules/euidaccess (Link): New section.
40447         * modules/gettext (Link): New section.
40448         * modules/iconv (Link): New section.
40449         * modules/lock (Link): New section.
40450         * modules/nanosleep (Link): New section.
40451         * modules/readline (Link): New section.
40452
40453 2007-01-27  Bruno Haible  <bruno@clisp.org>
40454
40455         Enforce the use of gnulib modules for unportable <string.h> functions.
40456         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
40457         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
40458         (gl_HEADER_STRING_H_BODY): Require it.
40459         * lib/string_.h: If the gnulib module XYZ is not present, redefine
40460         the symbol XYZ to one that gives a link error.
40461         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
40462         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
40463         * modules/mempcpy (configure.ac): Likewise.
40464         * modules/memrchr (configure.ac): Likewise.
40465         * modules/stpcpy (configure.ac): Likewise.
40466         * modules/stpncpy (configure.ac): Likewise.
40467         * modules/strcase (configure.ac): Likewise.
40468         * modules/strcasestr (configure.ac): Likewise.
40469         * modules/strchrnul (configure.ac): Likewise.
40470         * modules/strdup (configure.ac): Likewise.
40471         * modules/strndup (configure.ac): Likewise.
40472         * modules/strnlen (configure.ac): Likewise.
40473         * modules/strpbrk (configure.ac): Likewise.
40474         * modules/strsep (configure.ac): Likewise.
40475         * modules/strstr (configure.ac): Likewise.
40476         * modules/strtok_r (configure.ac): Likewise.
40477
40478 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
40479
40480         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
40481
40482 2007-01-30  Jim Meyering  <jim@meyering.net>
40483
40484         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
40485
40486 2007-01-29  Bruno Haible  <bruno@clisp.org>
40487
40488         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
40489         * lib/execute.c: Likewise.
40490         * lib/pipe.c: Likewise.
40491         * lib/printf-args.h: Likewise.
40492         * lib/printf-args.c: Likewise.
40493         * lib/printf-parse.c: Likewise.
40494         * lib/vasnprintf.c: Likewise.
40495
40496 2007-01-29  Eric Blake  <ebb9@byu.net>
40497
40498         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
40499         declaration.
40500
40501 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
40502
40503         * lib/strptime.h (strptime): Use 'restrict' for args where
40504         POSIX requires this.
40505         * lib/strptime.c (strptime): Likewise.
40506         Change license notice from LGPL to GPL, since gnulib-tool will
40507         change this as needed.
40508         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
40509         defined.
40510         Include "strptime.h" first, to check interface.
40511         Do not #undef _LIBC and _NL_CURRENT.
40512         Do not include <stdlib.h>; no longer needed.
40513         Include "time_r.h" and declare ptime_locale_status
40514         only if _LIBC is not defined.
40515         (__P): Remove unused macro.
40516         (match_string): Bring back glibc version, but use it only if _LIBC
40517         is defined.
40518         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
40519         Remove unnecessary assertion and abort() call.
40520         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
40521         * m4/strptime.m4: Fix serial number comment.
40522         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
40523         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
40524         (Depends-on): Add time_r.
40525
40526 2007-01-29  Bruno Haible  <bruno@clisp.org>
40527
40528         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40529         strptime.
40530         * modules/strptime (Depends-on): Add stdbool.
40531         * lib/strptime.h: Include <time.h> always. Add comments.
40532
40533 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40534
40535         * modules/strptime: New file.
40536         * lib/strptime.h: New file.
40537         * lib/strptime.c: New file.
40538         * m4/strptime.m4: New file.
40539
40540 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
40541
40542         * MODULES.html.sh: New module mpsort.
40543         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
40544
40545         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
40546         a circularity problem with HP-UX ia64 reported by Bob Proulx in
40547         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
40548         All uses changed.
40549         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
40550         All uses changed.
40551         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
40552         to _Restrict_.
40553         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
40554         the parameter matches the prototype.
40555
40556 2007-01-28  Jim Meyering  <jim@meyering.net>
40557
40558         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
40559         sys/time.h here, reverting that part of the previous patch:
40560         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
40561
40562 2007-01-28  Bruno Haible  <bruno@clisp.org>
40563
40564         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
40565         value of $(SYS_TIME_H).
40566         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
40567         remove it conditionally, too. [added by Jim Meyering]
40568         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
40569         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40570         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
40571         GETTIMEOFDAY_REPLACEMENT to 1.
40572
40573 2007-01-28  Bruno Haible  <bruno@clisp.org>
40574
40575         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
40576         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
40577         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
40578         Set UNISTD_H instead of UNISTD_H2.
40579         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
40580
40581 2007-01-28  Bruno Haible  <bruno@clisp.org>
40582
40583         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
40584         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
40585
40586 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40587
40588         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
40589         (func_create_testdir): Ensure C locale for `grep' and `tr'
40590         character ranges.
40591         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
40592         ACLOCAL_AMFLAGS parsing state machine.
40593
40594 2007-01-27  Bruno Haible  <bruno@clisp.org>
40595
40596         * modules/unistr/base: Update.
40597
40598 2007-01-27  Bruno Haible  <bruno@clisp.org>
40599
40600         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
40601         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
40602         * modules/unistr/u32-mbtouc-unsafe: Renamed from
40603         modules/unistr/u32-mbtouc.
40604         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
40605         * lib/unistr.h: Update.
40606         * lib/linebreak.c: Update.
40607         * modules/unistr/u32-mbtouc: Renamed from
40608         modules/unistr/u32-mbtouc-safe.
40609         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
40610         * lib/unistr.h: Update.
40611         * lib/unistr/u32-to-u8.c: Update.
40612         * lib/unistr/u32-to-u16.c: Update.
40613
40614 2007-01-27  Bruno Haible  <bruno@clisp.org>
40615
40616         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
40617         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
40618         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
40619         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
40620         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
40621         * modules/unistr/u16-mbtouc-unsafe: Renamed from
40622         modules/unistr/u16-mbtouc.
40623         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
40624         * lib/unistr.h: Update.
40625         * lib/linebreak.c: Update.
40626         * modules/linebreak: Update.
40627         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
40628         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
40629         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
40630         * modules/unistr/u16-mbtouc: Renamed from
40631         modules/unistr/u16-mbtouc-safe.
40632         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
40633         * lib/unistr.h: Update.
40634         * lib/unistr/u16-to-u8.c: Update.
40635         * modules/unistr/u16-to-u8: Update.
40636         * lib/unistr/u16-to-u32.c: Update.
40637         * modules/unistr/u16-to-u32: Update.
40638
40639 2007-01-27  Bruno Haible  <bruno@clisp.org>
40640
40641         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
40642         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
40643         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
40644         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
40645         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
40646         * modules/unistr/u8-mbtouc-unsafe: Renamed from
40647         modules/unistr/u8-mbtouc.
40648         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
40649         * lib/unistr.h: Update.
40650         * lib/striconveh.c: Update.
40651         * modules/striconveh: Update.
40652         * lib/linebreak.c: Update.
40653         * modules/linebreak: Update.
40654         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
40655         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
40656         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
40657         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
40658         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
40659         * lib/unistr.h: Update.
40660         * lib/striconveh.c: Update.
40661         * modules/striconveh: Update.
40662         * lib/unistr/u8-to-u16.c: Update.
40663         * modules/unistr/u8-to-u16: Update.
40664         * lib/unistr/u8-to-u32.c: Update.
40665         * modules/unistr/u8-to-u32: Update.
40666
40667 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40668
40669         Sync from Libtool.
40670         * lib/argz.c: Do not include strings.h nor memory.h, include
40671         string.h unconditionally.  Patch by Simon Josefsson.
40672
40673 2007-01-27  Bruno Haible  <bruno@clisp.org>
40674
40675         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
40676         from gl_HEADER_STRING_H_BODY.
40677         (gl_HEADER_STRING_H_BODY): Require it.
40678         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
40679         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
40680         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
40681         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
40682         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40683         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
40684         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40685         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
40686         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
40687         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40688         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
40689         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
40690         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
40691         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40692         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40693
40694 2007-01-27  Bruno Haible  <bruno@clisp.org>
40695
40696         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
40697         check_PROGRAMS into noinst_PROGRAMS.
40698         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
40699         check_PROGRAMS in this case.
40700         (func_import): Set for_test to false.
40701         (func_create_testdir): Set for_test to true.
40702
40703 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
40704             Bruno Haible  <bruno@clisp.org>
40705
40706         * modules/strcasestr (Files): Remove lib/strcasestr.h.
40707         (Depends-on): Add string.
40708         (Includes): Use <string.h> instead of strcasestr.h.
40709         * modules/string (Makefile.am): Also substitute the value of
40710         REPLACE_STRCASESTR.
40711         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
40712         assume strcasestr is declared in <string.h> not <strings.h>. Also
40713         set REPLACE_STRCASESTR.
40714         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
40715         REPLACE_STRCASESTR.
40716         * lib/strcasestr.h: Remove file.
40717         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
40718         * lib/string_.h (strcasestr): New declaration.
40719
40720 2007-01-27  Bruno Haible  <bruno@clisp.org>
40721
40722         * lib/string_.h: Use 'extern'.
40723
40724 2007-01-27  Jim Meyering  <jim@meyering.net>
40725
40726         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
40727         of set-but-not-used local, "q".
40728
40729         * lib/mempcpy.c: Include <config.h> before <string.h>.
40730         This fixes a compilation error on HP-UX, due to the system's
40731         "restrict"-using mempcpy prototype.
40732
40733 2007-01-26  Bruno Haible  <bruno@clisp.org>
40734
40735         Small optimization.
40736         * lib/javacomp.c: Include c-strstr.h.
40737          (is_envjavac_gcj): Use c_strstr instead of strstr.
40738         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
40739
40740 2007-01-26  Bruno Haible  <bruno@clisp.org>
40741
40742         * MODULES.html.sh (Unicode string functions): Add the new modules.
40743
40744         * modules/uniconv/u32-strconv-to-locale: New file.
40745         * lib/uniconv/u32-strconv-to-locale.c: New file.
40746
40747         * modules/uniconv/u16-strconv-to-locale: New file.
40748         * lib/uniconv/u16-strconv-to-locale.c: New file.
40749
40750         * modules/uniconv/u8-strconv-to-locale: New file.
40751         * lib/uniconv/u8-strconv-to-locale.c: New file.
40752
40753         * modules/uniconv/u32-strconv-from-locale: New file.
40754         * lib/uniconv/u32-strconv-from-locale.c: New file.
40755
40756         * modules/uniconv/u16-strconv-from-locale: New file.
40757         * lib/uniconv/u16-strconv-from-locale.c: New file.
40758
40759         * modules/uniconv/u8-strconv-from-locale: New file.
40760         * lib/uniconv/u8-strconv-from-locale.c: New file.
40761
40762         * modules/uniconv/u32-strconv-to-enc: New file.
40763         * lib/uniconv/u32-strconv-to-enc.c: New file.
40764         * modules/uniconv/u32-strconv-to-enc-tests: New file.
40765         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
40766
40767         * modules/uniconv/u16-strconv-to-enc: New file.
40768         * lib/uniconv/u16-strconv-to-enc.c: New file.
40769         * lib/uniconv/u-strconv-to-enc.h: New file.
40770         * modules/uniconv/u16-strconv-to-enc-tests: New file.
40771         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
40772
40773         * modules/uniconv/u8-strconv-to-enc: New file.
40774         * lib/uniconv/u8-strconv-to-enc.c: New file.
40775         * modules/uniconv/u8-strconv-to-enc-tests: New file.
40776         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
40777
40778         * modules/uniconv/u32-strconv-from-enc: New file.
40779         * lib/uniconv/u32-strconv-from-enc.c: New file.
40780         * modules/uniconv/u32-strconv-from-enc-tests: New file.
40781         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
40782
40783         * modules/uniconv/u16-strconv-from-enc: New file.
40784         * lib/uniconv/u16-strconv-from-enc.c: New file.
40785         * modules/uniconv/u16-strconv-from-enc-tests: New file.
40786         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
40787
40788         * modules/uniconv/u8-strconv-from-enc: New file.
40789         * lib/uniconv/u8-strconv-from-enc.c: New file.
40790         * lib/uniconv/u-strconv-from-enc.h: New file.
40791         * modules/uniconv/u8-strconv-from-enc-tests: New file.
40792         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
40793
40794         * modules/uniconv/u32-conv-from-enc: New file.
40795         * lib/uniconv/u32-conv-from-enc.c: New file.
40796         * modules/uniconv/u32-conv-from-enc-tests: New file.
40797         * tests/uniconv/test-u32-conv-from-enc.c: New file.
40798
40799         * modules/uniconv/u16-conv-from-enc: New file.
40800         * lib/uniconv/u16-conv-from-enc.c: New file.
40801         * lib/uniconv/u-conv-from-enc.h: New file.
40802         * modules/uniconv/u16-conv-from-enc-tests: New file.
40803         * tests/uniconv/test-u16-conv-from-enc.c: New file.
40804
40805         * modules/uniconv/u8-conv-from-enc: New file.
40806         * lib/uniconv/u8-conv-from-enc.c: New file.
40807         * modules/uniconv/u8-conv-from-enc-tests: New file.
40808         * tests/uniconv/test-u8-conv-from-enc.c: New file.
40809
40810         * modules/uniconv/base: New file.
40811         * lib/uniconv.h: New file.
40812
40813 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40814
40815         * doc/gnulib-tool.texi (Initial import): Update to match current
40816         behavior with strdup module.
40817         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
40818         * lib/memmem.h: Remove; all uses removed.  This is now done
40819         by <string.h>.
40820         * lib/mempcpy.h: Likewise.
40821         * lib/memrchr.h: Likewise.
40822         * lib/stpcpy.h: Likewise.
40823         * lib/stpncpy.h: Likewise.
40824         * lib/strcase.h: Likewise.
40825         * lib/strchrnul.h: Likewise.
40826         * lib/strdup.h: Likewise.
40827         * lib/strndup.h: Likewise.
40828         * lib/strnlen.h: Likewise.
40829         * lib/strpbrk.h: Likewise.
40830         * lib/strsep.h: Likewise.
40831         * lib/strstr.h: Likewise.
40832         * lib/strtok_r.h: Likewise.
40833         * lib/string_.h: New file.
40834         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
40835         Rely on <string.h> instead.
40836         * lib/canon-host.c: Likewise.
40837         * lib/chdir-long.c: Likewise.
40838         * lib/concatpath.c: Likewise.
40839         * lib/exclude.c: Likewise.
40840         * lib/fchdir.c: Likewise.
40841         * lib/getaddrinfo.c: Likewise.
40842         * lib/getcwd.c: Likewise.
40843         * lib/getsubopt.c: Likewise.
40844         * lib/glob.c: Likewise.
40845         * lib/hard-locale.c: Likewise.
40846         * lib/iconvme.c: Likewise.
40847         * lib/javacomp.c: Likewise.
40848         * lib/mempcpy.c: Likewise.
40849         * lib/memrchr.c: Likewise.
40850         * lib/regex_internal.h: Likewise.
40851         * lib/stpncpy.c: Likewise.
40852         * lib/strcasecmp.c: Likewise.
40853         * lib/strchrnul.c: Likewise.
40854         * lib/strdup.c: Likewise.
40855         * lib/striconv.c: Likewise.
40856         * lib/striconveh.c: Likewise.
40857         * lib/striconveha.c: Likewise.
40858         * lib/strncasecmp.c: Likewise.
40859         * lib/strndup.c: Likewise.
40860         * lib/strnlen.c: Likewise.
40861         * lib/strsep.c: Likewise.
40862         * lib/strstr.c: Likewise.
40863         * lib/strtok_r.c: Likewise.
40864         * lib/userspec.c: Likewise.
40865         * lib/w32spawn.h: Likewise.
40866         * lib/xstrndup.c: Likewise.
40867         * lib/mountlist.c (strstr): Remove decl.
40868         * m4/string_h.m4: New file.
40869         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
40870         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
40871         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
40872         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
40873         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
40874         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
40875         Set REPLACE_STRCASECMP if necessary.
40876         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
40877         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
40878         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
40879         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
40880         HAVE_DECL_STRDUP if necessary.
40881         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
40882         since gl_FUNC_STRNDUP does that now.
40883         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
40884         Check for decl here...
40885         (gl_PREREQ_STRNLEN): ... not here.
40886         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
40887         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
40888         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
40889         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
40890         necessary.
40891         * modules/string: New file.
40892         * modules/memmem (Files): Remove special-purpose include file.
40893         (Depends-on): Add string.
40894         (Include): Include <string.h>, not the removed file.
40895         * modules/mempcpy: Likewise.
40896         * modules/memrchr: Likewise.
40897         * modules/stpcpy: Likewise.
40898         * modules/stpncpy: Likewise.
40899         * modules/strcase: Likewise.
40900         * modules/strchrnul: Likewise.
40901         * modules/strdup: Likewise.
40902         * modules/strndup: Likewise.
40903         * modules/strnlen: Likewise.
40904         * modules/strpbrk: Likewise.
40905         * modules/strsep: Likewise.
40906         * modules/strstr: Likewise.
40907         * modules/strtok_r: Likewise.
40908         * tests/test-dirname.c: Don't include "strdup.h", since
40909         <string.h> now suffices.
40910         * tests/test-memmem.c: Don't include "memmem.h", since
40911         <string.h> now suffices.
40912
40913 2007-01-25  Bruno Haible  <bruno@clisp.org>
40914
40915         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
40916         *resultp is 0.
40917
40918         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
40919         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
40920         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
40921         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
40922
40923         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
40924         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
40925         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
40926         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
40927         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
40928         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
40929
40930 2007-01-24  Bruno Haible  <bruno@clisp.org>
40931
40932         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
40933         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
40934         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
40935         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
40936         gl_FUNC_FTS_CORE.
40937         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
40938         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
40939         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
40940         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
40941         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
40942         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
40943         gl_FUNC_FCHOWNAT.
40944         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
40945         gl_FUNC_STRFTIME.
40946         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
40947         Reported by Ralf Wildenhues.
40948
40949 2007-01-24  Bruno Haible  <bruno@clisp.org>
40950
40951         Drop AC_REQUIRE calls that are redundant with the module dependencies.
40952         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
40953         gl_GETADDRINFO.
40954         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
40955         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
40956         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
40957
40958 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
40959
40960         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
40961         Don't use 'exit'; just return from 'main'.
40962         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
40963
40964         * lib/fnmatch_.h: Readjust white space and comments to match
40965         glibc, to avoid spurious diffs.
40966
40967 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40968
40969         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
40970         2004-12-01 change by Jakub Jelinek, since this code won't compile
40971         if !LIBC.  Problem reported by Bob Proulx.
40972
40973 2007-01-23  Bruno Haible  <bruno@clisp.org>
40974
40975         * lib/striconveh.c: Include c-strcaseeq.h.
40976         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
40977         * modules/striconveh (Depends-on): Add c-strcaseeq.
40978
40979 2007-01-23  Bruno Haible  <bruno@clisp.org>
40980
40981         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
40982
40983         * modules/c-strcaseeq: New file.
40984         * lib/c-strcaseeq.h: New file.
40985
40986         * modules/streq: New file.
40987         * lib/streq.h: New file.
40988
40989 2007-01-23  Bruno Haible  <bruno@clisp.org>
40990
40991         * modules/striconveha-tests: New file.
40992         * tests/test-striconveha.c: New file.
40993
40994         * lib/striconveha.h: Include <stdbool.h>.
40995         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
40996         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
40997         (mem_iconveha_notranslit): Renamed from mem_iconveha.
40998         (mem_iconveha): New function.
40999         (str_iconveha_notranslit): Renamed from str_iconveha.
41000         (str_iconveha): New function.
41001         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
41002         c-strcase.
41003
41004 2007-01-23  Bruno Haible  <bruno@clisp.org>
41005
41006         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
41007         encodings without forgiving before trying any encoding with handler.
41008         (str_iconveha): Try all encodings without forgiving before trying any
41009         encoding with handler.
41010
41011 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
41012
41013         Import the following changes from libc.
41014
41015         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
41016
41017         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
41018
41019         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
41020
41021         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
41022         normal_bracket label.
41023
41024         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
41025
41026         [BZ #361]
41027         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
41028         to normal_bracket after fetching the next character.
41029
41030 2007-01-22  Bruno Haible  <bruno@clisp.org>
41031
41032         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
41033         argument.
41034         * lib/striconveh.c (iconv_carefully_1): New function.
41035         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
41036         argument.
41037         (str_cd_iconveh): Update.
41038         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
41039         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
41040         * tests/test-striconveh.c (MAGIC): New macro.
41041         (new_offsets): New function.
41042         (main): Test call with and without offsets.
41043
41044 2007-01-22  Bruno Haible  <bruno@clisp.org>
41045
41046         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
41047         * modules/sys_select (Makefile.am): Likewise.
41048         * modules/sys_socket (Makefile.am): Likewise.
41049         * modules/sys_time (Makefile.am): Likewise.
41050
41051 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
41052
41053         * modules/gettimeofday (License): Change from GPL to LGPL, since
41054         gettimeofday is a library function.
41055
41056 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41057
41058         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
41059
41060 2007-01-21  Bruno Haible  <bruno@clisp.org>
41061
41062         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
41063
41064 2007-01-21  Bruno Haible  <bruno@clisp.org>
41065
41066         * modules/striconveha: New file.
41067         * lib/striconveha.h: New file.
41068         * lib/striconveha.c: New file.
41069         * MODULES.html.sh (Internationalization functions): Add striconveha.
41070         * lib/striconv.c (str_iconv): Optimize the case of an empty input
41071         string.
41072         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
41073
41074 2007-01-21  Bruno Haible  <bruno@clisp.org>
41075
41076         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
41077         * lib/striconveh.c (str_iconveh): Likewise.
41078
41079 2007-01-21  Bruno Haible  <bruno@clisp.org>
41080
41081         * lib/striconveh.h (mem_iconveh): New declaration.
41082         * lib/striconveh.c (mem_iconveh): New function.
41083         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
41084
41085 2007-01-21  Bruno Haible  <bruno@clisp.org>
41086
41087         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
41088
41089         * lib/striconveh.h (mem_cd_iconveh): Change specification.
41090         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
41091         original result buffer.
41092         (str_cd_iconveh): Update.
41093         * tests/test-striconveh.c (main): Update.
41094
41095         * lib/striconv.h (mem_cd_iconv): Change specification.
41096         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
41097         result buffer.
41098         (str_cd_iconv): Update.
41099         * tests/test-striconv.c (main): Update.
41100
41101 2007-01-21  Bruno Haible  <bruno@clisp.org>
41102
41103         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
41104
41105 2007-01-20  Jim Meyering  <jim@meyering.net>
41106
41107         * lib/userspec.c (parse_with_separator): If a user or group string
41108         starts with "+", skip the corresponding name-to-ID look-up, since
41109         such a look-up must fail: user and group names may not include "+".
41110
41111 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
41112
41113         * lib/poll.c: Include sys/time.h and time.h unconditionally,
41114         since we now assume the sys_time module.
41115         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
41116         check for sys/time.h; no longer needed.
41117         * modules/poll (Depends-on): Depend on sys_time.
41118
41119 2007-01-18  Bruno Haible  <bruno@clisp.org>
41120
41121         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
41122         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
41123
41124         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
41125         gettimeofday.
41126
41127         * tests/test-gettimeofday.c: Include <time.h>.
41128         (dummy): Remove variable.
41129
41130         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
41131         gl_HEADER_SYS_TIME_H.
41132         (gl_HEADER_SYS_TIME_H): New macro.
41133
41134         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
41135         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41136         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
41137         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
41138         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41139         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
41140         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
41141         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41142         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
41143         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
41144         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41145
41146         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
41147         last change; it caused a compilation error when cross-compiling to
41148         Cygwin.
41149
41150 2007-01-18  Jim Meyering  <jim@meyering.net>
41151
41152         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
41153         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
41154         than the race-prone "test -d sys || mkdir sys".
41155         (configure.ac): Use AC_PROG_MKDIR_P.
41156         * modules/sys_select: Likewise.
41157         * modules/sys_socket: Likewise.
41158         * modules/sys_time: Likewise.
41159
41160 2007-01-18  Eric Blake  <ebb9@byu.net>
41161
41162         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
41163         replace gettimeofday.
41164         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
41165         name, to avoid infinite recursion.
41166
41167 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
41168
41169         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
41170         module sys_time.
41171         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
41172         assume timespec.h defines struct timeval.
41173         * lib/settime.c: Likewise.
41174         * lib/utimens.c: Likewise.
41175         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
41176         since we now assume the gettimeofday module.
41177         * lib/tempname.c (__gen_tempname): Likewise.
41178         * lib/gettimeofday.h: Remove.
41179         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
41180         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
41181         Include <time.h>, for 'time()'.
41182         (localtime_buffer_addr): Also use this workaround if
41183         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
41184         to simplify the uses.  All uses changed.
41185         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
41186         that #undef is inside {}, and 'const' follows type name consistently.
41187         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
41188         (gettimeofday): Do not use the maximum possible value for
41189         tv->tv_usec, since that might break usages other than ls.c.
41190         Instead, we'll leave ls.c alone.  This undoes today's patch
41191         by Bruno.  Add a compile-time warning for 1s-clock resolution;
41192         we've never observed the problem but might as well keep the
41193         canary.
41194         * lib/nanosleep.c: Include timespec.h first, for interface check.
41195         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
41196         now assume the sys_time module.
41197         * lib/tempname.c: Likewise.
41198         * lib/timespec.h: Likewise.
41199         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
41200         needed.
41201         * lib/strftime.c: Likewise.
41202         * lib/timespec.h: Likewise.
41203         * lib/posixtm.c: Include posixtm.h first, for interface check.
41204         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
41205         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
41206         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
41207         * lib/sys_time_.h: New file.
41208         * lib/timespec.h (struct timespec): Use long int, not long.
41209         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
41210         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
41211         Remove obsolescent call to AC_HEADER_TIME.
41212         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
41213         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41214         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
41215         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
41216         Likewise.
41217         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
41218         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
41219         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
41220         into the sys_time module.  Check for gettimeofday just once.
41221         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
41222         for gettimeofday signature to just check the signature.  Merely
41223         compile it, since linking doesn't test signature.  Improve test for
41224         whether gettimeofday.o is actually needed.
41225         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
41226         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
41227         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
41228         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41229         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
41230         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
41231         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
41232         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
41233         than worrying about sys/time.h.
41234         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41235         Don't bother worrying about TIME_WITH_SYS_TIME.
41236         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41237         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
41238         * m4/sys_time_h.m4: New file.
41239         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
41240         Don't include sys/time.h.  Return from main rather than exiting.
41241         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
41242         all uses changed.
41243         * modules/gethrxtime (Depends-on): Add sys_time.
41244         * modules/gettime (Depends-on): Likewise.
41245         * modules/gettimeofday (Depends-on): Likewise.
41246         * modules/nanosleep (Depends-on): Likewise.
41247         * modules/settime (Depends-on): Likewise.
41248         * modules/tempname (Depends-on): Likewise.
41249         * modules/utimens (Depends-on): Likewise.
41250         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
41251         (Include:) Change back to <sys/time.h>.
41252         (Maintainer:) Add self.
41253         * modules/sys_time: New file.
41254         * modules/tempname (Depends-on): Add gettimeofday.
41255         * tests/test-gettimeofday.c: Include <sys/time.h>
41256         rather than gettimeofday.h.
41257
41258 2007-01-17  Bruno Haible  <bruno@clisp.org>
41259
41260         * gnulib-tool (func_get_license): Revert last patch. Instead, let
41261         the license default to GPL.
41262         (func_create_testdir): Don't complain if a module is LGPL and its
41263         tests module depends on GPLed modules.
41264
41265 2007-01-17  Bruno Haible  <bruno@clisp.org>
41266
41267         * lib/gettimeofday.c (gettimeofday): Add code for the case
41268         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
41269         maximum possible value for tv->tv_usec, rather than the minimum one.
41270
41271 2005-10-08  Martin Lambers  <marlam@marlam.de>
41272 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
41273 2007-01-16  Bruno Haible  <bruno@clisp.org>
41274
41275         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
41276         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
41277         gl_FUNC_GETTIMEOFDAY.
41278         (Include): Add gettimeofday.h.
41279         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
41280         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
41281         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
41282         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
41283         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
41284         * lib/gettimeofday.h: New file.
41285         * lib/gettimeofday.c: Include <sys/timeb.h>.
41286         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
41287         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
41288         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
41289         fall back on time().
41290
41291         * tests/test-gettimeofday.c: New file.
41292         * modules/gettimeofday-tests: New file.
41293
41294 2007-01-16  Eric Blake  <ebb9@byu.net>
41295
41296         * modules/fnmatch (Depends-on): Depend on wchar.
41297         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
41298         * m4/fnmatch.m4: Likewise.
41299         * modules/mbchar (Makefile.am): Assume <wchar.h>.
41300         * m4/mbchar.m4: Likewise.
41301         * modules/mbswidth (Depends-on): Depend on wchar.
41302         * lib/mbswidth.c: Assume <wchar.h>.
41303         * m4/mbswidth.m4: Likewise.
41304         * modules/quotearg (Depends-on): Depend on wchar.
41305         * lib/quotearg.c: Assume <wchar.h>.
41306         * m4/quotearg.m4: Likewise.
41307         * modules/regex (Depends-on): Depend on wchar.
41308         * lib/regex_internal.h: Assume <wchar.h>.
41309         * m4/regex.m4: Likewise.
41310         * modules/stdint (Depends-on): Depend on wchar.
41311         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
41312         * m4/stdint.m4: Likewise.
41313         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
41314         * modules/strftime (Depends-on): Depend on wchar.
41315         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
41316         * modules/strtol (Depends-on): Depend on wchar.
41317         * lib/strtol.c: Assume <wchar.h>.
41318         * modules/wcwidth (Depends-on): Depend on wchar.
41319         * lib/wcwidth.h: Assume <wchar.h>.
41320         * m4/wcwidth.m4: Likewise.
41321
41322 2007-01-16  Bruno Haible  <bruno@clisp.org>
41323
41324         * modules/csharpexec-script: New, created from...
41325         * modules/csharpexec: ... this.
41326
41327 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
41328
41329         * modules/javaexec-script: New, created from...
41330         * modules/javaexec: ... this.
41331
41332 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41333
41334         * modules/poll (Dependencies): Add sys_select.
41335
41336 2007-01-15  Jim Meyering  <jim@meyering.net>
41337
41338         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
41339         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
41340         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
41341         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
41342
41343 2007-01-15  Bruno Haible  <bruno@clisp.org>
41344
41345         * modules/striconveh: New file.
41346         * lib/striconveh.h: New file.
41347         * lib/striconveh.c: New file.
41348         * MODULES.html.sh (Internationalization functions): Add striconveh.
41349
41350         * modules/striconveh-tests: New file.
41351         * tests/test-striconveh.c: New file.
41352
41353 2007-01-15  Bruno Haible  <bruno@clisp.org>
41354
41355         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
41356         not from GNU libiconv or GNU libc.
41357
41358 2007-01-15  Bruno Haible  <bruno@clisp.org>
41359
41360         * doc/gnulib-intro.texi (Copyright): Explain the different license
41361         terms for module descriptions, autoconf macros, tests, documentation.
41362
41363 2007-01-14  Bruno Haible  <bruno@clisp.org>
41364
41365         * modules/striconv-tests: New file.
41366         * tests/test-striconv.c: New file.
41367
41368 2007-01-14  Bruno Haible  <bruno@clisp.org>
41369
41370         * modules/iconv-tests: New file.
41371         * tests/test-iconv.c: New file.
41372
41373 2007-01-14  Bruno Haible  <bruno@clisp.org>
41374
41375         * gnulib-tool (func_get_license): For test modules, use the license of
41376         the main module.
41377
41378 2007-01-14  Bruno Haible  <bruno@clisp.org>
41379
41380         * modules/iconv (Include): Clarify that <iconv.h> can only be included
41381         if iconv is found to exist.
41382
41383 2007-01-14  Bruno Haible  <bruno@clisp.org>
41384
41385         * modules/c-ctype-tests: New file.
41386         * tests/test-c-ctype.c: New file.
41387
41388 2007-01-14  Bruno Haible  <bruno@clisp.org>
41389
41390         * modules/binary-io-tests: New file.
41391         * tests/test-binary-io.sh: New file.
41392         * tests/test-binary-io.c: New file.
41393
41394 2007-01-14  Bruno Haible  <bruno@clisp.org>
41395
41396         * modules/array-oset-tests: New file.
41397         * tests/test-array_oset.c: New file.
41398
41399 2007-01-14  Bruno Haible  <bruno@clisp.org>
41400
41401         * modules/array-list-tests: New file.
41402         * tests/test-array_list.c: New file.
41403
41404 2007-01-14  Bruno Haible  <bruno@clisp.org>
41405
41406         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
41407         and make.
41408         Reported by Simon Josefsson in
41409         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
41410
41411 2007-01-14  Bruno Haible  <bruno@clisp.org>
41412
41413         * modules/allocsa-tests: New file.
41414         * tests/test-allocsa.c: New file.
41415
41416 2007-01-14  Bruno Haible  <bruno@clisp.org>
41417
41418         * modules/fchdir (Depends-on): Add absolute-header.
41419         * modules/unistd (Depends-on): Likewise.
41420
41421 2006-12-30  Bruno Haible  <bruno@clisp.org>
41422
41423         * modules/fchdir: New file.
41424         * modules/unistd (Files): Add lib/unistd_.h.
41425         (Makefile.am): Generate unistd.h from unistd_.h.
41426         * lib/fchdir.c: New file.
41427         * lib/dirent_.h: New file.
41428         * lib/unistd_.h: New file.
41429         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
41430         * m4/fchdir.m4: New file.
41431         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
41432         (gl_HEADER_UNISTD): Invoke it.
41433         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
41434         function.
41435         * lib/backupfile.c (opendir, closedir): Undefine.
41436         * lib/chown.c (open, close): Undefine.
41437         * lib/clean-temp.c (open, close): Undefine.
41438         * lib/copy-file.c (open, close): Undefine.
41439         * lib/execute.c (open, close): Undefine.
41440         * lib/fsusage.c (open, close): Undefine.
41441         * lib/gc-gnulib.c (open, close): Undefine.
41442         * lib/getcwd.c (opendir, closedir): Undefine.
41443         * lib/glob.c (opendir, closedir): Undefine.
41444         * lib/javacomp.c (open, close): Undefine.
41445         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
41446         * lib/openat-proc.c (open, close): Undefine.
41447         * lib/pagealign_alloc.c (open, close): Undefine.
41448         * lib/pipe.c (open, close): Undefine.
41449         * lib/progreloc.c (open, close): Undefine.
41450         * lib/savedir.c (opendir, closedir): Undefine.
41451         * lib/utime.c (open, close): Undefine.
41452         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
41453
41454 2007-01-10  Bruno Haible  <bruno@clisp.org>
41455
41456         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
41457
41458 2007-01-12  Eric Blake  <ebb9@byu.net>
41459
41460         Provide a robust <wchar.h>.  Further simplifications are now
41461         possible in other modules, but not included here.
41462         * modules/wchar: New module.
41463         * m4/wchar.m4: New file.
41464         * lib/wchar_.h: Likewise.
41465         * modules/mbchar (Depends-on): Depend on wchar, as the first use
41466         of the new module.
41467         * MODULES.html.sh (Extended multibyte and wide character utilities):
41468         New section.
41469
41470 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
41471
41472         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
41473         to a reasonable default for memory allocation.
41474         (xreadlink): Don't allocate a huge buffer, to work around a buggy
41475         file system that reports garbage st_size values for symlinks.
41476         Problem reported by Liyang Hu.
41477
41478 2007-01-11  Simon Josefsson  <simon@josefsson.org>
41479
41480         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
41481         Emacs .#* auto-save files).
41482
41483 2007-01-11  Bruno Haible  <bruno@clisp.org>
41484
41485         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
41486         directory.
41487
41488 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
41489
41490         Use @...@ consistently in lib/wctype_.h.
41491         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
41492         on it being set to 1 or 0.
41493         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
41494         go back to AC_SUBSTing it.
41495         * modules/wctype (Makefile.am): Undo previous change.
41496
41497 2007-01-10  Eric Blake  <ebb9@byu.net>
41498
41499         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
41500         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
41501         * modules/wctype (Makefile.am): Likewise.
41502         Reported by Chris McGuire.
41503
41504 2007-01-10  Jim Meyering  <jim@meyering.net>
41505
41506         fts.c: a small readability/maintainability improvement
41507         * lib/fts.c (fts_read): Make this code slightly more readable and
41508         maintainable by hoisting the "sp->fts_cur = p" assignments to
41509         immediately follow the statements that set P.  Derived from
41510         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
41511
41512 2007-01-10  Eric Blake  <ebb9@byu.net>
41513
41514         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
41515         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
41516         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41517         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
41518         Reported by Chris McGuire.
41519
41520 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41521
41522         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
41523         in sed script.
41524
41525 2007-01-09  Bruno Haible  <bruno@clisp.org>
41526
41527         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
41528         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
41529         variables.
41530         (func_module): Use them.
41531
41532 2007-01-09  Bruno Haible  <bruno@clisp.org>
41533
41534         * modules/unistr/base: New file.
41535         * lib/unistr.h: New file.
41536
41537         * modules/unistr/u8-to-u16: New file.
41538         * lib/unistr/u8-to-u16.c: New file.
41539
41540         * modules/unistr/u8-to-u32: New file.
41541         * lib/unistr/u8-to-u32.c: New file.
41542
41543         * modules/unistr/u16-to-u8: New file.
41544         * lib/unistr/u16-to-u8.c: New file.
41545
41546         * modules/unistr/u16-to-u32: New file.
41547         * lib/unistr/u16-to-u32.c: New file.
41548
41549         * modules/unistr/u32-to-u8: New file.
41550         * lib/unistr/u32-to-u8.c: New file.
41551
41552         * modules/unistr/u32-to-u16: New file.
41553         * lib/unistr/u32-to-u16.c: New file.
41554
41555         * modules/unistr/u8-check: New file.
41556         * modules/unistr/u16-check: New file.
41557         * modules/unistr/u32-check: New file.
41558         * lib/unistr/u8-check.c: New file.
41559         * lib/unistr/u16-check.c: New file.
41560         * lib/unistr/u32-check.c: New file.
41561
41562         * modules/unistr/u8-chr: New file.
41563         * modules/unistr/u16-chr: New file.
41564         * modules/unistr/u32-chr: New file.
41565         * lib/unistr/u8-chr.c: New file.
41566         * lib/unistr/u16-chr.c: New file.
41567         * lib/unistr/u32-chr.c: New file.
41568
41569         * modules/unistr/u8-cmp: New file.
41570         * modules/unistr/u16-cmp: New file.
41571         * modules/unistr/u32-cmp: New file.
41572         * lib/unistr/u8-cmp.c: New file.
41573         * lib/unistr/u16-cmp.c: New file.
41574         * lib/unistr/u32-cmp.c: New file.
41575
41576         * modules/unistr/u8-cpy: New file.
41577         * modules/unistr/u16-cpy: New file.
41578         * modules/unistr/u32-cpy: New file.
41579         * lib/unistr/u8-cpy.c: New file.
41580         * lib/unistr/u16-cpy.c: New file.
41581         * lib/unistr/u32-cpy.c: New file.
41582         * lib/unistr/u-cpy.h: New file.
41583
41584         * modules/unistr/u8-cpy-alloc: New file.
41585         * modules/unistr/u16-cpy-alloc: New file.
41586         * modules/unistr/u32-cpy-alloc: New file.
41587         * lib/unistr/u8-cpy-alloc.c: New file.
41588         * lib/unistr/u16-cpy-alloc.c: New file.
41589         * lib/unistr/u32-cpy-alloc.c: New file.
41590         * lib/unistr/u-cpy-alloc.h: New file.
41591
41592         * modules/unistr/u8-endswith: New file.
41593         * modules/unistr/u16-endswith: New file.
41594         * modules/unistr/u32-endswith: New file.
41595         * lib/unistr/u8-endswith.c: New file.
41596         * lib/unistr/u16-endswith.c: New file.
41597         * lib/unistr/u32-endswith.c: New file.
41598         * lib/unistr/u-endswith.h: New file.
41599
41600         * modules/unistr/u8-mblen: New file.
41601         * modules/unistr/u16-mblen: New file.
41602         * modules/unistr/u32-mblen: New file.
41603         * lib/unistr/u8-mblen.c: New file.
41604         * lib/unistr/u16-mblen.c: New file.
41605         * lib/unistr/u32-mblen.c: New file.
41606
41607         * modules/unistr/u8-mbtouc: New file.
41608         * modules/unistr/u16-mbtouc: New file.
41609         * modules/unistr/u32-mbtouc: New file.
41610         * lib/unistr/u8-mbtouc.c: New file.
41611         * lib/unistr/u16-mbtouc.c: New file.
41612         * lib/unistr/u32-mbtouc.c: New file.
41613
41614         * modules/unistr/u8-mbtouc-safe: New file.
41615         * modules/unistr/u16-mbtouc-safe: New file.
41616         * modules/unistr/u32-mbtouc-safe: New file.
41617         * lib/unistr/u8-mbtouc-safe.c: New file.
41618         * lib/unistr/u16-mbtouc-safe.c: New file.
41619         * lib/unistr/u32-mbtouc-safe.c: New file.
41620
41621         * modules/unistr/u8-move: New file.
41622         * modules/unistr/u16-move: New file.
41623         * modules/unistr/u32-move: New file.
41624         * lib/unistr/u8-move.c: New file.
41625         * lib/unistr/u16-move.c: New file.
41626         * lib/unistr/u32-move.c: New file.
41627         * lib/unistr/u-move.h: New file.
41628
41629         * modules/unistr/u8-next: New file.
41630         * modules/unistr/u16-next: New file.
41631         * modules/unistr/u32-next: New file.
41632         * lib/unistr/u8-next.c: New file.
41633         * lib/unistr/u16-next.c: New file.
41634         * lib/unistr/u32-next.c: New file.
41635
41636         * modules/unistr/u8-prev: New file.
41637         * modules/unistr/u16-prev: New file.
41638         * modules/unistr/u32-prev: New file.
41639         * lib/unistr/u8-prev.c: New file.
41640         * lib/unistr/u16-prev.c: New file.
41641         * lib/unistr/u32-prev.c: New file.
41642
41643         * modules/unistr/u8-set: New file.
41644         * modules/unistr/u16-set: New file.
41645         * modules/unistr/u32-set: New file.
41646         * lib/unistr/u8-set.c: New file.
41647         * lib/unistr/u16-set.c: New file.
41648         * lib/unistr/u32-set.c: New file.
41649         * lib/unistr/u-set.h: New file.
41650
41651         * modules/unistr/u8-startswith: New file.
41652         * modules/unistr/u16-startswith: New file.
41653         * modules/unistr/u32-startswith: New file.
41654         * lib/unistr/u8-startswith.c: New file.
41655         * lib/unistr/u16-startswith.c: New file.
41656         * lib/unistr/u32-startswith.c: New file.
41657         * lib/unistr/u-startswith.h: New file.
41658
41659         * modules/unistr/u8-stpcpy: New file.
41660         * modules/unistr/u16-stpcpy: New file.
41661         * modules/unistr/u32-stpcpy: New file.
41662         * lib/unistr/u8-stpcpy.c: New file.
41663         * lib/unistr/u16-stpcpy.c: New file.
41664         * lib/unistr/u32-stpcpy.c: New file.
41665         * lib/unistr/u-stpcpy.h: New file.
41666
41667         * modules/unistr/u8-stpncpy: New file.
41668         * modules/unistr/u16-stpncpy: New file.
41669         * modules/unistr/u32-stpncpy: New file.
41670         * lib/unistr/u8-stpncpy.c: New file.
41671         * lib/unistr/u16-stpncpy.c: New file.
41672         * lib/unistr/u32-stpncpy.c: New file.
41673         * lib/unistr/u-stpncpy.h: New file.
41674
41675         * modules/unistr/u8-strcat: New file.
41676         * modules/unistr/u16-strcat: New file.
41677         * modules/unistr/u32-strcat: New file.
41678         * lib/unistr/u8-strcat.c: New file.
41679         * lib/unistr/u16-strcat.c: New file.
41680         * lib/unistr/u32-strcat.c: New file.
41681         * lib/unistr/u-strcat.h: New file.
41682
41683         * modules/unistr/u8-strchr: New file.
41684         * modules/unistr/u16-strchr: New file.
41685         * modules/unistr/u32-strchr: New file.
41686         * lib/unistr/u8-strchr.c: New file.
41687         * lib/unistr/u16-strchr.c: New file.
41688         * lib/unistr/u32-strchr.c: New file.
41689
41690         * modules/unistr/u8-strcmp: New file.
41691         * modules/unistr/u16-strcmp: New file.
41692         * modules/unistr/u32-strcmp: New file.
41693         * lib/unistr/u8-strcmp.c: New file.
41694         * lib/unistr/u16-strcmp.c: New file.
41695         * lib/unistr/u32-strcmp.c: New file.
41696
41697         * modules/unistr/u8-strcpy: New file.
41698         * modules/unistr/u16-strcpy: New file.
41699         * modules/unistr/u32-strcpy: New file.
41700         * lib/unistr/u8-strcpy.c: New file.
41701         * lib/unistr/u16-strcpy.c: New file.
41702         * lib/unistr/u32-strcpy.c: New file.
41703         * lib/unistr/u-strcpy.h: New file.
41704
41705         * modules/unistr/u8-strcspn: New file.
41706         * modules/unistr/u16-strcspn: New file.
41707         * modules/unistr/u32-strcspn: New file.
41708         * lib/unistr/u8-strcspn.c: New file.
41709         * lib/unistr/u16-strcspn.c: New file.
41710         * lib/unistr/u32-strcspn.c: New file.
41711         * lib/unistr/u-strcspn.h: New file.
41712
41713         * modules/unistr/u8-strdup: New file.
41714         * modules/unistr/u16-strdup: New file.
41715         * modules/unistr/u32-strdup: New file.
41716         * lib/unistr/u8-strdup.c: New file.
41717         * lib/unistr/u16-strdup.c: New file.
41718         * lib/unistr/u32-strdup.c: New file.
41719         * lib/unistr/u-strdup.h: New file.
41720
41721         * modules/unistr/u8-strlen: New file.
41722         * modules/unistr/u16-strlen: New file.
41723         * modules/unistr/u32-strlen: New file.
41724         * lib/unistr/u8-strlen.c: New file.
41725         * lib/unistr/u16-strlen.c: New file.
41726         * lib/unistr/u32-strlen.c: New file.
41727         * lib/unistr/u-strlen.h: New file.
41728
41729         * modules/unistr/u8-strmblen: New file.
41730         * modules/unistr/u16-strmblen: New file.
41731         * modules/unistr/u32-strmblen: New file.
41732         * lib/unistr/u8-strmblen.c: New file.
41733         * lib/unistr/u16-strmblen.c: New file.
41734         * lib/unistr/u32-strmblen.c: New file.
41735
41736         * modules/unistr/u8-strmbtouc: New file.
41737         * modules/unistr/u16-strmbtouc: New file.
41738         * modules/unistr/u32-strmbtouc: New file.
41739         * lib/unistr/u8-strmbtouc.c: New file.
41740         * lib/unistr/u16-strmbtouc.c: New file.
41741         * lib/unistr/u32-strmbtouc.c: New file.
41742
41743         * modules/unistr/u8-strncat: New file.
41744         * modules/unistr/u16-strncat: New file.
41745         * modules/unistr/u32-strncat: New file.
41746         * lib/unistr/u8-strncat.c: New file.
41747         * lib/unistr/u16-strncat.c: New file.
41748         * lib/unistr/u32-strncat.c: New file.
41749         * lib/unistr/u-strncat.h: New file.
41750
41751         * modules/unistr/u8-strncmp: New file.
41752         * modules/unistr/u16-strncmp: New file.
41753         * modules/unistr/u32-strncmp: New file.
41754         * lib/unistr/u8-strncmp.c: New file.
41755         * lib/unistr/u16-strncmp.c: New file.
41756         * lib/unistr/u32-strncmp.c: New file.
41757
41758         * modules/unistr/u8-strncpy: New file.
41759         * modules/unistr/u16-strncpy: New file.
41760         * modules/unistr/u32-strncpy: New file.
41761         * lib/unistr/u8-strncpy.c: New file.
41762         * lib/unistr/u16-strncpy.c: New file.
41763         * lib/unistr/u32-strncpy.c: New file.
41764         * lib/unistr/u-strncpy.h: New file.
41765
41766         * modules/unistr/u8-strnlen: New file.
41767         * modules/unistr/u16-strnlen: New file.
41768         * modules/unistr/u32-strnlen: New file.
41769         * lib/unistr/u8-strnlen.c: New file.
41770         * lib/unistr/u16-strnlen.c: New file.
41771         * lib/unistr/u32-strnlen.c: New file.
41772         * lib/unistr/u-strnlen.h: New file.
41773
41774         * modules/unistr/u8-strpbrk: New file.
41775         * modules/unistr/u16-strpbrk: New file.
41776         * modules/unistr/u32-strpbrk: New file.
41777         * lib/unistr/u8-strpbrk.c: New file.
41778         * lib/unistr/u16-strpbrk.c: New file.
41779         * lib/unistr/u32-strpbrk.c: New file.
41780         * lib/unistr/u-strpbrk.h: New file.
41781
41782         * modules/unistr/u8-strrchr: New file.
41783         * modules/unistr/u16-strrchr: New file.
41784         * modules/unistr/u32-strrchr: New file.
41785         * lib/unistr/u8-strrchr.c: New file.
41786         * lib/unistr/u16-strrchr.c: New file.
41787         * lib/unistr/u32-strrchr.c: New file.
41788
41789         * modules/unistr/u8-strspn: New file.
41790         * modules/unistr/u16-strspn: New file.
41791         * modules/unistr/u32-strspn: New file.
41792         * lib/unistr/u8-strspn.c: New file.
41793         * lib/unistr/u16-strspn.c: New file.
41794         * lib/unistr/u32-strspn.c: New file.
41795         * lib/unistr/u-strspn.h: New file.
41796
41797         * modules/unistr/u8-strstr: New file.
41798         * modules/unistr/u16-strstr: New file.
41799         * modules/unistr/u32-strstr: New file.
41800         * lib/unistr/u8-strstr.c: New file.
41801         * lib/unistr/u16-strstr.c: New file.
41802         * lib/unistr/u32-strstr.c: New file.
41803         * lib/unistr/u-strstr.h: New file.
41804
41805         * modules/unistr/u8-strtok: New file.
41806         * modules/unistr/u16-strtok: New file.
41807         * modules/unistr/u32-strtok: New file.
41808         * lib/unistr/u8-strtok.c: New file.
41809         * lib/unistr/u16-strtok.c: New file.
41810         * lib/unistr/u32-strtok.c: New file.
41811         * lib/unistr/u-strtok.h: New file.
41812
41813         * modules/unistr/u8-uctomb: New file.
41814         * modules/unistr/u16-uctomb: New file.
41815         * modules/unistr/u32-uctomb: New file.
41816         * lib/unistr/u8-uctomb.c: New file.
41817         * lib/unistr/u16-uctomb.c: New file.
41818         * lib/unistr/u32-uctomb.c: New file.
41819
41820         * MODULES.html.sh (Unicode string functions): Add the new modules.
41821
41822 2007-01-08  Bruno Haible  <bruno@clisp.org>
41823
41824         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
41825         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
41826         subdirectories.
41827
41828 2007-01-08  Karl Berry  <karl@gnu.org>
41829
41830         * doc/error.texi: mention that main() fns must set program_name
41831         when progname is used.
41832
41833 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
41834
41835         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
41836         WCTYPE_H is empty, for the benefit of builds from non-distclean
41837         directories.  Problem reported by Eric Blake in
41838         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
41839
41840 2007-01-08  Bruno Haible  <bruno@clisp.org>
41841
41842         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
41843         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
41844         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
41845         PROVIDE_CANONICALIZE_FILENAME_MODE.
41846         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
41847
41848 2007-01-08  Bruno Haible  <bruno@clisp.org>
41849
41850         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
41851         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
41852         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
41853         * lib/fts.c: Likewise.
41854         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
41855
41856 2006-12-25  Bruno Haible  <bruno@clisp.org>
41857
41858         * modules/utf8-ucs4-safe: New file.
41859         * lib/utf8-ucs4-safe.h: New file.
41860         * lib/unistr/utf8-ucs4-safe.c: New file.
41861
41862         * modules/utf16-ucs4-safe: New file.
41863         * lib/utf16-ucs4-safe.h: New file.
41864         * lib/unistr/utf16-ucs4-safe.c: New file.
41865
41866         * MODULES.html.sh (Unicode string functions): Add the new modules.
41867
41868 2007-01-08  Bruno Haible  <bruno@clisp.org>
41869
41870         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
41871         (Depends-on): Add unitypes.
41872         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41873         (u8_mbtouc_aux): Move out to separate file.
41874         (u8_mbtouc): Use ucs4_t, uint8_t types.
41875         * lib/unistr/utf8-ucs4.c: New file.
41876
41877         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
41878         (Depends-on): Add unitypes.
41879         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41880         (u16_mbtouc_aux): Move out to separate file.
41881         (u16_mbtouc): Use ucs4_t, uint16_t types.
41882         * lib/unistr/utf16-ucs4.c: New file.
41883
41884         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
41885         (Depends-on): Add unitypes.
41886         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
41887         (u8_uctomb_aux): Move out to separate file.
41888         (u8_uctomb): Use ucs4_t, uint8_t types.
41889         * lib/unistr/ucs4-utf8.c: New file.
41890
41891         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
41892         (Depends-on): Add unitypes.
41893         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
41894         (u16_uctomb_aux): Move out to separate file.
41895         (u16_uctomb): Use ucs4_t, uint16_t types.
41896         * lib/unistr/ucs4-utf16.c: New file.
41897
41898 2006-12-25  Bruno Haible  <bruno@clisp.org>
41899
41900         * modules/unitypes: New file.
41901         * lib/unitypes.h: New file.
41902         * MODULES.html.sh (func_all_modules): New section "Unicode string
41903         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
41904         this section. Add unitypes.
41905
41906 2007-01-08  Bruno Haible  <bruno@clisp.org>
41907
41908         Avoid variable names that conflict with those from libtool.
41909         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
41910         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
41911         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
41912         library_names_spec to acl_library_names_spec, hardcode_* to
41913         acl_hardcode_*.
41914         Reported by Ralf Wildenhues.
41915
41916 2007-01-08  Bruno Haible  <bruno@clisp.org>
41917
41918         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
41919         definition.
41920         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
41921         definition.
41922         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
41923         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
41924         definition.
41925         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
41926         definition.
41927         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
41928         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
41929         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
41930         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
41931         definition.
41932         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
41933         definition.
41934         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
41935         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
41936         GC_USE_<algorithm>.
41937         * lib/gc-libgcrypt.c: Likewise.
41938         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
41939         * modules/gc-arctwo (configure.ac): Likewise.
41940         * modules/gc-des (configure.ac): Likewise.
41941         * modules/gc-hmac-md5 (configure.ac): Likewise.
41942         * modules/gc-hmac-sha1 (configure.ac): Likewise.
41943         * modules/gc-md2 (configure.ac): Likewise.
41944         * modules/gc-md4 (configure.ac): Likewise.
41945         * modules/gc-md5 (configure.ac): Likewise.
41946         * modules/gc-random (configure.ac): Likewise.
41947         * modules/gc-rijndael (configure.ac): Likewise.
41948         * modules/gc-sha1 (configure.ac): Likewise.
41949
41950 2007-01-08  Bruno Haible  <bruno@clisp.org>
41951
41952         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
41953         macro definition.
41954         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
41955         definition.
41956         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
41957         definition.
41958         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
41959         * modules/fcntl-safer (configure.ac): Likewise.
41960         * modules/fopen-safer (configure.ac): Likewise.
41961         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
41962         GNULIB_FWRITEERROR macro definition.
41963
41964 2007-01-08  Bruno Haible  <bruno@clisp.org>
41965
41966         * m4/gnulib-common.m4: New file.
41967         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
41968         (func_get_filelist): Add m4/gnulib-common.m4.
41969
41970 2007-01-08  Bruno Haible  <bruno@clisp.org>
41971
41972         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
41973         command.
41974
41975 2007-01-08  Jim Meyering  <jim@meyering.net>
41976
41977         Use a more robust test for a "can't happen" condition.
41978         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
41979         narrowed the st_size value.  Presuming the "can't happen" condition
41980         is true, that narrowing could conceivably convert an invalid st_size
41981         value into a valid one.  Instead, use a change based on Matthew
41982         Woehlke's original patch.
41983
41984         Slight readability improvement: use an assert-like macro
41985         in place of literal "abort ()" uses.
41986         * lib/fts.c (fts_assert): Define.
41987         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
41988         Use this macro instead of a bare 'abort'.
41989
41990 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
41991
41992         Don't worry about using IRIX 5.3's wctype.h broken definitions;
41993         simply work around them.
41994         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
41995         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
41996         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
41997         declaring.
41998         Don't bother to define as macros, since the standard doesn't require it.
41999         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
42000         longer worry about IRIX 5.3.
42001         (HAVE_WCTYPE_CTMP_BUG): Remove.
42002
42003 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
42004
42005         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
42006         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
42007         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42008         Problems reported by Georg Schwarz for IRIX 5.3.
42009
42010         * gnulib-tool (autoconf_minversion): Take the maximum version number
42011         found, not the minimum.  Problem reported by James Youngman.
42012
42013 2007-01-03  Karl Berry  <karl@gnu.org>
42014
42015         * doc/error.texi: new file, explaining interaction with progname.
42016         * doc/gnulib.texi: include it.  Update copyright.
42017
42018 2007-01-03  Simon Josefsson  <simon@josefsson.org>
42019
42020         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
42021         AC_CANONICAL_HOST, to improve autobuild outputs.
42022
42023 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
42024             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
42025
42026         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
42027         sockets, server sockets, and other file descriptors.  Count errors
42028         to compute the return value.  Reorder the code a bit to be easier
42029         to follow.  Don't set event bits that were not requested (except
42030         POLLERR and POLLHUP).
42031
42032 2007-01-01  Bruno Haible  <bruno@clisp.org>
42033
42034         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
42035
42036 2007-01-03  Jim Meyering  <jim@meyering.net>
42037
42038         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
42039
42040 2007-01-02  Bruno Haible  <bruno@clisp.org>
42041
42042         * modules/settime (Include): Require timespec.h.
42043         * modules/nanosleep (Include): Likewise.
42044
42045 2007-01-01  Bruno Haible  <bruno@clisp.org>
42046
42047         * gnulib-tool (func_emit_copyright_notice): Bump year.
42048         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
42049
42050 2007-01-01  Bruno Haible  <bruno@clisp.org>
42051
42052         Improve support for OpenBSD.
42053         * build-aux/config.rpath (libname_spec): Export.
42054         (library_names_spec): New variable. Export.
42055         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
42056         library_names_spec from the config.rpath output. Locate shared library
42057         through the name pattern in library_names_spec.
42058
42059 2007-01-01  Eric Blake  <ebb9@byu.net>
42060
42061         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
42062
42063 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
42064
42065         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
42066         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
42067         assume the C locale, and avoid an "eval" that could cause trouble.
42068         Problem with SORT reported by Bob Proulx.
42069
42070         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
42071         Define.  Trivial patch from Henning Nielsen Lund, originally
42072         sent to bug-grep@gnu.org today.
42073
42074 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
42075
42076         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
42077         struct stat.  Problem reported by Henning Nielsen Lund.
42078         * lib/acl.c: Include acl.h first, to check interface.  Don't
42079         bother to include sys/types.h and sys/stat.h again.
42080
42081 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
42082
42083         Import the following change from libc; problem reported by
42084         Sven Verdoolaege.
42085
42086         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
42087
42088         [BZ #1373]
42089         * lib/argp.h: Remove __NTH for __argp_usage inline function.
42090
42091 2006-12-28  Jim Meyering  <jim@meyering.net>
42092
42093         * build-aux/announce-gen: Do not assume that the package
42094         builds any of tar.gz, tar.bz2, and .xdelta files.
42095         Suggestion from Simon Josefsson.
42096
42097 2006-12-28  Simon Josefsson  <simon@josefsson.org>
42098
42099         * modules/announce-gen: New file.
42100
42101 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
42102
42103         * lib/mbchar.h: Just include <wctype.h>; the wctype module
42104         handles its gotchas now.
42105         * lib/mbswidth.c: Likewise.
42106         * lib/wcwidth.h: Likewise.
42107         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
42108         and iswcntrl; the wctype module does this stuff now.
42109         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
42110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
42111         * modules/mbchar (Depends-on): Add wctype.
42112         * modules/mbswidth (Depends-on): Likewise.
42113         * modules/wcwidth (Depends-on): Likewise.
42114
42115 2006-12-27  Eric Blake  <ebb9@byu.net>
42116
42117         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
42118         module uses more than what <wctype.h> is required to provide.
42119
42120 2006-12-26  Eric Blake  <ebb9@byu.net>
42121
42122         * gnulib-tool (sed_extract_prog): Avoid space-tab.
42123
42124 2006-12-26  Eric Blake  <ebb9@byu.net>
42125
42126         * modules/absolute-header: New module.
42127         * modules/fcntl (Depends-on): Depend on it.
42128         * modules/inttypes (Depends-on): Likewise.
42129         * modules/stdint (Depends-on): Likewise.
42130         * modules/sys_stat (Depends-on): Likewise.
42131         * modules/wctype (Depends-on): Likewise.
42132         * MODULES.html.sh (Support for building libraries and
42133         executables): Document it.
42134
42135 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
42136
42137         * gnulib-tool (SED): Remove, undoing previous change.
42138         The problem was that it broke coreutils on Solaris, because
42139         "sed --posix" leaked into a makefile.
42140         (sed): New alias, if 'alias' and GNU sed.
42141
42142 2006-12-24  Jim Meyering  <jim@meyering.net>
42143
42144         Work around an fchownat bug in glibc-2.4:
42145         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
42146         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
42147         in spite of the -P option.
42148         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
42149         New macros.
42150         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
42151         * modules/openat (Files): Add lib/fchownat.c.
42152         * lib/openat.c (fchownat): Don't define here.  Move to...
42153         * lib/fchownat.c: ...this new file.
42154
42155 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
42156
42157         Fix bug reported by Bruno Haible in
42158         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
42159         where quotearg.c didn't compile on Mac OS X 10.2 because it
42160         lacks <wchar.h> and wint_t.
42161         * lib/wctype_.h (__wctype_wint_t): New type.
42162         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
42163         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
42164         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
42165         Arg is now of type __wctype_wint_t, not wint_t.
42166         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
42167         substitute HAVE_WINT_T.
42168         * modules/wctype (Files): Add m4/wint_t.m4.
42169         (wctype.h): Substitute HAVE_WINT_T.
42170
42171 2006-12-23  Bruno Haible  <bruno@clisp.org>
42172
42173         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
42174
42175 2006-12-23  Bruno Haible  <bruno@clisp.org>
42176
42177         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
42178         S_ISLNK.
42179         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
42180         mingw.
42181
42182 2006-12-22  Bruno Haible  <bruno@clisp.org>
42183
42184         * lib/copy-file.c: Include acl.h.
42185         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
42186         Close the file descriptors only after being done with copy_acl.
42187         * modules/copy-file (Depends-on): Add acl.
42188
42189 2006-12-22  Bruno Haible  <bruno@clisp.org>
42190
42191         * gnulib-tool (SED): New variable.
42192         Use $SED instead of sed everywhere.
42193
42194 2006-12-22  Bruno Haible  <bruno@clisp.org>
42195
42196         * modules/no-c++: New file.
42197         * m4/no-c++.m4: New file.
42198         * MODULES.html.sh (Support for building libraries and executables):
42199         Add no-c++.
42200
42201 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
42202
42203         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
42204         Include <limits.h>, and use its INT_MAX to rewrite the
42205         j loop so that it does not overflow 'int'.  Problem reported by
42206         Ralf Wildenhues in
42207         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
42208         Play it safe by shifting left by 1 rather than multiplying by 2,
42209         as GCC is less likely to optimize this away when the value
42210         is signed (when it assumes overflow leads to undefined behavior).
42211         Also, don't assume time_t uses two's complement.
42212
42213 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
42214
42215         * MODULES.html.sh: New module wctype.
42216         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
42217         * lib/fnmatch.c: Don't bother to include <wchar.h> before
42218         <wctype.h>, since the new wctype module should fix this.
42219         * lib/quotearg.c: Include <wctype.h> unconditionally, since
42220         the wctype module should arrange for it.
42221         * lib/regex_internal.h: Likewise.
42222         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
42223         since the wctype module should handle this now.
42224         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
42225         * modules/fnmatch (Depends-on): Add wctype.
42226         * modules/quotearg (Depends-on): Likewise.
42227         * modules/regex (Depends-on): Likewise.
42228
42229 2006-12-19  Bruno Haible  <bruno@clisp.org>
42230
42231         * lib/strdup.h [C++]: Wrap definitions in extern "C".
42232         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
42233
42234 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42235
42236         * modules/savewd (Depends-on): Fix dependency on fcntl.
42237
42238 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42239
42240         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
42241         conforms to C99, rather than relying on the user's environment
42242         setting of STDINT_H.
42243
42244 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42245         and Eric Blake  <ebb9@byu.net>
42246
42247         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
42248         This is more consistent with the other defines here.
42249         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
42250         Port to z/OS.  Problem reported by Paul Gilmartin.
42251         Change local vars to use gl_ prefix rather than ac_.
42252         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
42253         with other defines.
42254         * modules/double-slash-root: New module.
42255         * modules/dirname (Files): Remove m4/double-slash-root.m4.
42256         (Depends-on): Add double-slash-root.
42257         * MODULES.html.sh (File system functions): Mention new module.
42258
42259 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
42260
42261         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
42262         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
42263         This is for the benefit of gzip, which doesn't do i18n.
42264
42265 2006-12-12  Jim Meyering  <jim@meyering.net>
42266
42267         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
42268         Reported by Andreas Schwab <schwab@suse.de>.
42269
42270 2006-12-12  Bruno Haible  <bruno@clisp.org>
42271
42272         Merge these changes.
42273         2006-09-05  Bruno Haible  <bruno@clisp.org>
42274         * lib/iconvme.c (iconv_string): No need to save and restore errno when
42275         iconv_alloc succeeded.
42276         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
42277         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
42278         test for " && dest " at the end - dest is always != NULL there. Call
42279         iconv with 4xNULL arguments initially, to reset the state. Call iconv
42280         with 2xNULL arguments, also to flush the state storage. Handle the
42281         IRIX iconv behaviour. Realloc the final result, to throw away unused
42282         memory.
42283
42284 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
42285
42286         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
42287         and fchmodat unconditionally, since glibc 2.4 has them.
42288         Problem reported by Arkadiusz Miskiewicz.
42289
42290 2006-12-10  Bruno Haible  <bruno@clisp.org>
42291
42292         * gnulib-tool (func_import): Show the include files only for those
42293         modules that are copied and specified.
42294         Reported by Karl Berry.
42295
42296 2006-12-08  Jim Meyering  <jim@meyering.net>
42297
42298         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
42299         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
42300
42301         * build-aux/announce-gen: Add two new options, both optional:
42302         --bootstrap-tools=TOOL_LIST
42303               a comma-separated list of tools, e.g.,
42304               autoconf,automake,bison,gnulib
42305         --gnulib-snapshot-date=DATE
42306               if gnulib is in the bootstrap tool list,
42307               then report this as the snapshot date.
42308               If not specified, use the current date/time.
42309               If you specify a date here, be sure it's UTC.
42310
42311 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42312
42313         * tests/test-argp-2.sh: Fix test to match actual output.
42314         (func_compare): Fix sed script to be portable.
42315
42316 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
42317
42318         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
42319         workaround for this case.  It is not autoconfigured now; offhand
42320         it's hard to see how to autoconfigure it.
42321
42322 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
42323
42324         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
42325         a directory that is about to be chowned.  Such a directory's
42326         initial file permissions should permit the owner only and this
42327         should not be changed until after the chown, since the group and
42328         other bits would be incorrect if they granted permission before
42329         the chown.
42330
42331         Fix porting problem for iswctype reported by Georg Schwarz in:
42332         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
42333         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
42334         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
42335         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
42336         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
42337
42338 2006-12-03  Jim Meyering  <jim@meyering.net>
42339
42340         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
42341         p->fts_statp may not yet be defined.
42342         (fts_read): Instead, set it in the caller, once p->fts_statp is
42343         sure to be defined, and corresponds to a top-level directory.
42344         This bug made du -x fail.  Here's the coreutils test case:
42345         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
42346         Reported by Mike Frysinger.
42347
42348 2006-12-01  Jim Meyering  <jim@meyering.net>
42349
42350         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
42351         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
42352         Reported by Simon Josefsson.
42353
42354 2006-11-30  Jim Meyering  <jim@meyering.net>
42355
42356         * m4/warning.m4: Use the all-permissive copyright notice
42357         recommended by RMS (rather than LGPL).
42358         * m4/vararrays.m4: Likewise.
42359         * m4/flexmember.m4: Likewise.
42360
42361 2006-11-29  Bruno Haible  <bruno@clisp.org>
42362
42363         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
42364         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
42365         using +=.
42366         Reported by Simon Josefsson <simon@josefsson.org>.
42367
42368 2006-11-28  James Youngman <jay@gnu.org>
42369
42370         * README: Advise users that they might find the bug-gnulib@gnu.org
42371         and autotools-announce@gnu.org mailing lists useful.
42372
42373 2006-11-28  Bruno Haible  <bruno@clisp.org>
42374
42375         * m4/ptrdiff_max.m4: Remove file.
42376
42377 2006-11-21  Bruno Haible  <bruno@clisp.org>
42378
42379         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
42380         _AC_COMPUTE_INT.
42381         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
42382         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
42383         _AC_COMPUTE_INT.
42384         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
42385         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
42386         _AC_COMPUTE_INT.
42387         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
42388
42389 2006-11-28  Jim Meyering  <jim@meyering.net>
42390
42391         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
42392         warning from "gcc -Wshadow" about shadowing the builtin.
42393
42394 2006-11-27  Bruno Haible  <bruno@clisp.org>
42395
42396         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
42397         _AC_COMPUTE_INT.
42398         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
42399
42400 2006-11-27  Bruno Haible  <bruno@clisp.org>
42401             Paul Eggert  <eggert@cs.ucla.edu>
42402
42403         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
42404
42405 2006-11-26  Bruno Haible  <bruno@clisp.org>
42406
42407         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
42408         noinst_LTLIBRARIES.
42409
42410 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
42411             Bruno Haible  <bruno@clisp.org>
42412
42413         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
42414         if compiling with "gcc -ansi".
42415
42416 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
42417
42418         Fix some incompatibilities with gcc -ansi -pedantic.
42419         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
42420         if compiling pedantically with GCC, unless it's C99 or later.
42421         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
42422         it mishandles gcc -ansi -pedantic as well.
42423         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
42424         if gcc -pedantic.
42425         * lib/regexec.c (check_node_accept_bytes): Don't use auto
42426         initializers for struct if -pedantic, unless it's C99 or later.
42427
42428 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
42429
42430         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
42431         Don't close an fd more than once. Identical atimes indicate
42432         success, not failure.
42433
42434 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
42435
42436         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
42437
42438 2006-11-23  Jim Meyering  <jim@meyering.net>
42439
42440         * build-aux/announce-gen: New file.  From coreutils.
42441
42442 2006-11-22  Jim Meyering  <jim@meyering.net>
42443
42444         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
42445         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
42446         (fts_read): Use a temporary to narrow the overused st_size member
42447         before using it in a switch statement.  Reported by Matthew Woehlke.
42448
42449         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
42450         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
42451
42452 2006-11-20  Bruno Haible  <bruno@clisp.org>
42453
42454         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
42455         changequote instead of pairs of brackets.
42456         Reported by Andreas Schwab <schwab@suse.de>.
42457
42458 2006-11-21  Jim Meyering  <jim@meyering.net>
42459
42460         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
42461         so as to remain compatible with older compilers.
42462         Patch from Michael Deutschmann.
42463
42464 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42465
42466         * MODULES.html.sh (File system functions): Add openat.
42467
42468         * lib/openat.h (rpl_fstatat): New macro, if
42469         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
42470         (fstatat): Define to rpl_fstatat under the same conditions,
42471         unless COMPILING_FSTATAT.
42472         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
42473         seems to have the bug.
42474         * lib/fstatat.c: New file.
42475         * modules/openat (Files): Add it.
42476
42477 2006-11-20  Bruno Haible  <bruno@clisp.org>
42478
42479         * Makefile: New file.
42480
42481 2006-11-20  Jim Meyering  <jim@meyering.net>
42482
42483         The beginnings of syntax-related checks for gnulib.
42484         * lib/Makefile: New file.
42485         * lib/t-idcache: New script.  Ensure that the two halves of
42486         idcache.c stay in sync.
42487
42488         * lib/idcache.c: Adjust comments in user- and group- portions to
42489         be more accurate, and to be consistent with one another.
42490
42491 2006-11-20  Jim Meyering  <jim@meyering.net>
42492
42493         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
42494         continue using the flexible array member (thus, this module performs
42495         half as many malloc calls), with the addition that...
42496         (getgroup, getuser): Consistently record a non-match via an empty
42497         "name" string, and map an empty string match to a NULL return value.
42498         * modules/idcache (Depends-on): Re-add flexmember.
42499
42500         * lib/idcache.c (getuser): Remove all uses of the register keyword.
42501         (getuidbyname, getgroup, getgidbyname): Likewise.
42502
42503         Use cleaner syntax: NULL rather than 0.
42504         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
42505
42506 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42507
42508         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
42509         It mishandled the case where the group was missing.
42510         Problem reported by Greg Schafer.
42511         * modules/idcache: Likewise.
42512
42513 2006-11-18  Jim Meyering  <jim@meyering.net>
42514
42515         * check-module (%exempt_header): Add exception for some
42516         conditionally-included headers.
42517
42518         * modules/i-ring (Depends-on): Add verify.
42519         (License): Change to LGPL.
42520
42521 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42522
42523         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
42524         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
42525         and inttostr.h.  Use snprintf rather than uinttostr, so that
42526         LGPLed code doesn't depend on GPLed.
42527
42528 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
42529
42530         * modules/inline (License): Change from GPL to LGPL.
42531
42532 2006-11-17  Jim Meyering  <jim@meyering.net>
42533
42534         * modules/d-type (License): Switch to LGPL.
42535
42536 2006-11-15  Bruno Haible  <bruno@clisp.org>
42537
42538         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
42539
42540 2006-11-15  Eric Blake  <ebb9@byu.net>
42541
42542         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
42543         the module dependency.
42544
42545 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42546             Bruno Haible  <bruno@clisp.org>
42547
42548         * gnulib-tool (func_create_testdir): Add license consistency check.
42549
42550 2006-11-15  Eric Blake  <ebb9@byu.net>
42551
42552         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
42553         random "(cached)" in configure output.
42554
42555 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42556
42557         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
42558         test for conforming inttypes.h is both announced and cached.
42559
42560         * MODULES.html.sh (seen_modules, seen_files): New variables.
42561         (func_module): Rewrite to use a few less gnulib-tool and sed
42562         invocations.  Avoid a couple of quadratic algorithms for ...
42563         (missed_modules, missed_files): ... these, with ...
42564         (func_append, func_tmpdir): ... these new functions, from
42565         gnulib-tool.  Analogously, install traps for cleanup.
42566
42567         * tests/test-gc.c (main): Remove unused variables.
42568         * tests/test-read-file.c: Include stdlib.h, for 'free'.
42569
42570 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
42571
42572         * modules/inttostr (License): Change to LGPL.
42573
42574 2006-11-14  Eric Blake  <ebb9@byu.net>
42575
42576         * modules/tempname (License): Change to LGPL.
42577
42578 2006-11-14  Eric Blake  <ebb9@byu.net>
42579
42580         * doc/functions.texi (Function Portability): *printf functions on
42581         Cygwin now understand all POSIX size specifiers.
42582
42583 2006-11-14  Bruno Haible  <bruno@clisp.org>
42584
42585         * modules/c-ctype (License): Change to LGPL.
42586
42587 2006-11-12  Bruno Haible  <bruno@clisp.org>
42588
42589         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
42590         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
42591         for GNOME libraries, for which the include files are installed in
42592         subdirectories of $prefix/include.
42593
42594 2006-11-12  Bruno Haible  <bruno@clisp.org>
42595
42596         * m4/lib-link.m4: Require at least autoconf-2.54.
42597         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
42598         name to underscores for the --with option.
42599
42600 2006-11-13  Bruno Haible  <bruno@clisp.org>
42601
42602         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
42603         the tests directory.
42604         Reported by Ralf Wildenhues.
42605
42606 2006-11-13  Bruno Haible  <bruno@clisp.org>
42607
42608         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
42609         (func_emit_initmacro_end): Undo the override here.
42610         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
42611         Works around the famous automake error in coreutils.
42612
42613 2006-11-13  Eric Blake  <ebb9@byu.net>
42614
42615         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
42616         element, not its node.
42617
42618 2006-11-12  Bruno Haible  <bruno@clisp.org>
42619
42620         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
42621         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
42622
42623 2006-11-12  Bruno Haible  <bruno@clisp.org>
42624
42625         * gnulib-tool: New option --local-symlink.
42626         (func_usage): Document it.
42627         (lsymbolic): New variable.
42628         (func_import, func_create_testdir): If --symlink was not specified,
42629         test whether --local-symlink was specified and the file comes from
42630         the local_gnulib_dir.
42631
42632 2006-11-12  Bruno Haible  <bruno@clisp.org>
42633
42634         * gnulib-tool (func_ln): New function.
42635         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
42636
42637 2006-11-12  Bruno Haible  <bruno@clisp.org>
42638
42639         Finish support for source files in subdirectories.
42640         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
42641         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
42642         AUTOMAKE_OPTIONS.
42643         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
42644
42645 2006-11-12  Bruno Haible  <bruno@clisp.org>
42646
42647         * gnulib-tool (func_get_automake_snippet): Synthesize also an
42648         EXTRA_lib_SOURCES augmentation.
42649         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
42650
42651 2006-11-12  Jim Meyering  <jim@meyering.net>
42652
42653         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
42654         file descriptors.  This also averts a failure on systems with
42655         native openat support when a traversed directory lacks "x" access.
42656         * lib/fts_.h: Include "i-ring.h"
42657         (struct FTS) [fts_fd_ring]: New member.
42658         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
42659         (FCHDIR): Add parentheses.
42660         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
42661         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
42662         When descending, rather than simply closing the previous
42663         fts_cwd_fd value, push that file descriptor onto the ring.
42664         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
42665         (fts_open): Initialize the new fd_ring member.
42666         (fts_close): Clear the ring.
42667         (fts_safe_changedir): When possible, use our new fd_ring to skip
42668         the diropen and fstat and dev/ino comparison that would normally
42669         accompany a virtual `chdir ("..")'.
42670
42671         * modules/fts (Depends-on): Add i-ring.
42672         * modules/i-ring: New module.
42673         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
42674         * m4/i-ring.m4: New file.
42675
42676 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42677
42678         * gnulib-tool (func_create_testdir): Fix replacement of
42679         `build-aux' in configure.ac.  Run autotools in gltests
42680         subdirectory.
42681         (func_create_testdir, func_create_megatestdir, test): There is
42682         no need for '--force' in most autotool invocations in a new
42683         tree.  Actually fail the whole test if any of the tools, or the
42684         configure or make stages fail.
42685
42686         Sync from Automake.
42687         * build-aux/gnupload: Revert last change.  Add pointer to upload
42688         instructions of the GNU Maintenance Instructions.
42689         Suggestion by Karl Berry.
42690
42691 2006-11-10  Jim Meyering  <jim@meyering.net>
42692
42693         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
42694
42695 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42696
42697         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
42698         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
42699         (bind_textdomain_codeset) [! ENABLE_NLS]:
42700         Evaluate all the arguments.  That way, callers get compatible behavior
42701         if the arguments have side effects.  Also, it avoids some GCC
42702         diagnostics in some cases; Joel E. Denny reported problems when Bison
42703         was configured with --enable-gcc-warnigs.
42704
42705 2006-11-10  Jim Meyering  <jim@meyering.net>
42706
42707         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
42708         relevant options in CFLAGS (like -O, -fno-inline) are taken into
42709         account.
42710
42711 2006-11-10  Jim Meyering  <jim@meyering.net>
42712
42713         * modules/inline: New file/module.
42714         * modules/xalloc (Files): Remove m4/inline.m4.
42715         (Depends-on): Add inline, instead.
42716         * modules/oset: Likewise.
42717         * modules/list: Likewise.
42718
42719 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
42720
42721         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
42722         Problem reported by Matthew Woehlke.
42723
42724 2006-11-09  Bruno Haible  <bruno@clisp.org>
42725
42726         * lib/tempname.c (gen_tempname): Remove variant that invokes
42727         __gen_tempname.
42728         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
42729         __gen_tempname.
42730
42731 2006-11-08  Bruno Haible  <bruno@clisp.org>
42732
42733         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
42734         to 'yes' instead of 'cross-compiling'.
42735
42736 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
42737
42738         * lib/quotearg.h (quotearg_free): New decl.
42739         * lib/quotearg.c (quotearg_free): New function.
42740         (slot0, nslots, slotvec0, slotvec):
42741         Now file-scope so that quotearg_free can get at them.
42742
42743 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42744
42745         Sync from Automake.
42746         * build-aux/gnupload: Add missing 'gnu' to example URL.
42747         Report by Karl Berry.
42748
42749 2006-11-08  Bruno Haible  <bruno@clisp.org>
42750
42751         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
42752         Suggested by Paul Eggert.
42753
42754 2006-11-08  Jim Meyering  <jim@meyering.net>
42755
42756         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
42757         It's already included if !_LIBC.
42758         (fts_safe_changedir): Add a comment.
42759
42760 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42761
42762         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
42763         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
42764         Matthew Woehlke.
42765
42766         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
42767         definitions up, to avoid colliding with change below.
42768         (static_inline) [HAVE_INLINE]: New macro.
42769         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
42770         Provide extern decls when !HAVE_INLINE.  Do not define unless
42771         static_inline is defined, either by us or by xmalloc.c.  Use
42772         static_inline rather than static inline.
42773         (XCALLOC): Optimize sizeof(T) = 1 case.
42774         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
42775
42776 2006-11-07  Bruno Haible  <bruno@clisp.org>
42777
42778         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
42779         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
42780         AC_C_INLINE.
42781         * modules/xalloc (Files): Add m4/inline.m4.
42782
42783 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42784
42785         * README: Fix typo.
42786         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
42787         (Miscellanous Notes): ...from this.
42788
42789 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42790
42791         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
42792         Mention that offsetof should be used instead of sizeof.
42793         From Bruno Haible.
42794
42795 2006-11-07  Bruno Haible  <bruno@clisp.org>
42796
42797         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
42798
42799 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42800
42801         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42802         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
42803         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42804         (gl_tree_add_before, gl_tree_add_after):
42805         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
42806         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
42807         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42808         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
42809         (gl_linked_add_after, gl_linked_add_at): Likewise.
42810         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
42811         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42812         (gl_tree_add_before, gl_tree_add_after): Likewise.
42813         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
42814         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
42815         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42816
42817 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42818
42819         * lib/gl_oset.h: Use C comment style, not C++ comment style.
42820
42821 2006-11-06  Bruno Haible  <bruno@clisp.org>
42822
42823         * m4/inline.m4: New file.
42824         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
42825         * modules/list (Files): Add m4/inline.m4.
42826         * modules/oset (Files): Likewise.
42827
42828 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42829
42830         * lib/idcache.c: Include <stddef.h>, for offsetof.
42831         (struct userid.name): Change from char * to a flexible array member.
42832         All uses changed.
42833         * modules/idcache (Depends-on): Add flexmember.
42834
42835         * MODULES.html.sh (Core language properties): New module flexmember.
42836         * modules/flexmember, m4/flexmember.m4: New files.
42837
42838         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
42839         inline functions that are identical with the old xnmalloc_inline,
42840         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
42841         that we can avoid some unnecessary integer multiplications and
42842         divisions in the common case where the element size is known at
42843         compile time.
42844         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
42845         needed.
42846         (xnboundedmalloc): Remove.
42847         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
42848         arguments, for consistency with rest of this header.
42849         (xcharalloc): Rewrite using XNMALLOC.
42850         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
42851         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
42852         versions have been moved to lib/xalloc.h and renamed to be the
42853         non-*_inline versions.
42854         (xmalloc, xrealloc): Implement without reference to the xnmalloc
42855         and xnrealloc functions, since those functions are now inline and
42856         now call us.
42857         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
42858         renaming described above.
42859         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
42860         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
42861         captures the dependency in AC_C_INLINE.
42862
42863         New module canonicalize-lgpl, proposed by Charles Wilson in
42864         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
42865         with a few small changes afterwards.
42866         * MODULES.html.sh (File system functions): New module
42867         canonicalize-lgpl.
42868         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
42869         and canonicalize_file_name.
42870         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
42871         * modules/canonicalize-lgpl: New files.
42872
42873 2006-11-05  Bruno Haible  <bruno@clisp.org>
42874
42875         * gnulib-tool (func_import, func_create_testdir): Create directories
42876         also for files in subdirectories of lib/.
42877
42878 2006-11-05  Bruno Haible  <bruno@clisp.org>
42879
42880         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
42881         ANSI C compliant.
42882
42883 2006-11-03  Bruno Haible  <bruno@clisp.org>
42884
42885         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42886         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
42887         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
42888         (xnboundedmalloc): New inline function.
42889         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
42890         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
42891         xmalloc.
42892         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
42893         xmalloc.
42894         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
42895         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
42896         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
42897         xmalloc.
42898         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42899         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
42900         xmalloc.
42901         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
42902         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42903         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
42904         xmalloc.
42905         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42906         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
42907         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42908         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
42909         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
42910         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
42911         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
42912
42913 2006-11-03  Bruno Haible  <bruno@clisp.org>
42914
42915         * lib/c-ctype.h [C++]: Define functions without name mangling.
42916         * lib/fwriteerror.h [C++]: Likewise.
42917         * lib/gcd.h [C++]: Likewise.
42918         * lib/linebreak.h [C++]: Likewise.
42919
42920 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
42921
42922         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
42923         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
42924         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
42925         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42926         Check for functions and headers just once.
42927         Check for declaration of canonicalize_file_name.
42928         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
42929
42930 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42931
42932         * gnulib-tool (func_import): Fix typo in actioncmd.
42933
42934 2006-11-02  Bruno Haible  <bruno@clisp.org>
42935
42936         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
42937         newline sequence in the Makefile.am snippet as a space, like "make"
42938         does.
42939         Reported by Roger Persson <perrog@gmail.com>.
42940
42941 2006-11-01  Bruno Haible  <bruno@clisp.org>
42942
42943         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
42944         already declared in <string.h>.
42945         * lib/strcase.h (strncasecmp): Don't declare it if yes.
42946
42947 2006-11-01  Bruno Haible  <bruno@clisp.org>
42948
42949         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
42950         * lib/strcase.h: Include <string.h>.
42951         (strcasecmp): Define to rpl_strcasecmp here.
42952
42953 2006-11-01  Bruno Haible  <bruno@clisp.org>
42954
42955         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
42956
42957 2006-11-01  Eric Blake  <ebb9@byu.net>
42958
42959         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
42960
42961         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
42962
42963 2006-10-29  Bruno Haible  <bruno@clisp.org>
42964
42965         Make it compile in C++ mode.
42966         * lib/full-write.c (full_rw): Add a cast.
42967
42968 2006-11-01  Bruno Haible  <bruno@clisp.org>
42969
42970         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
42971         be POSIX compliant.
42972         Reported by Roger Persson <perrog@gmail.com>.
42973
42974 2006-11-01  Eric Blake  <ebb9@byu.net>
42975
42976         * lib/getopt_.h: Fix comments.
42977
42978 2006-10-31  Eric Blake  <ebb9@byu.net>
42979
42980         * modules/tmpdir (Depends-on): Add sys_stat.
42981         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
42982         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
42983         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
42984         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
42985         tempname.
42986
42987 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
42988
42989         Avoid some C++ diagnostics reported by Bruno Haible.
42990         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
42991         xmalloc.
42992         (quotearg_alloc): Use xcharalloc rather than xmalloc.
42993         (struct slotvec): Move to top level.
42994         (quotearg_n_options): Rewrite to avoid xmalloc.
42995         * lib/xalloc.h (xcharalloc): New function.
42996         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
42997         [defined __cplusplus]: Add function template that provides result
42998         type propagation.  This part of the change is from Bruno Haible.
42999
43000 2006-10-29  Bruno Haible  <bruno@clisp.org>
43001
43002         Make it compile in C++ mode.
43003         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
43004         * lib/strnlen1.c (strnlen1): Cast memchr result.
43005         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
43006         * lib/clean-temp.c (string_equals, string_hash): Add casts.
43007         (create_temp_dir): Rename local variable 'template'.
43008         (compile_csharp_using_sscli): Add cast.
43009         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
43010         * lib/findprog.c (find_in_path): Likewise.
43011         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
43012         * lib/wait-process.c (register_slave_subprocess): Likewise.
43013
43014 2006-10-22  Bruno Haible  <bruno@clisp.org>
43015
43016         * modules/tsearch: New file.
43017         * lib/tsearch.h: New file.
43018         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
43019         * m4/tsearch.m4: New file.
43020         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
43021
43022 2006-10-29  Eric Blake  <ebb9@byu.net>
43023
43024         * lib/arcfour.c: Assume config.h.
43025         * lib/arctwo.c: Likewise.
43026         * lib/base64.c: Likewise.
43027         * lib/check-version.c: Likewise.
43028         * lib/crc.c: Likewise.
43029         * lib/des.c: Likewise.
43030         * lib/gc-gnulib.c: Likewise.
43031         * lib/gc-libgcrypt.c: Likewise.
43032         * lib/gc-pbkdf2-sha1.c: Likewise.
43033         * lib/getaddrinfo.c: Likewise.
43034         * lib/getdelim.c: Likewise.
43035         * lib/getline.c: Likewise.
43036         * lib/hmac-md5.c: Likewise.
43037         * lib/hmac-sha1.c: Likewise.
43038         * lib/iconvme.c: Likewise.
43039         * lib/md2.c: Likewise.
43040         * lib/md4.c: Likewise.
43041         * lib/memxor.c: Likewise.
43042         * lib/read-file.c: Likewise.
43043         * lib/readline.c: Likewise.
43044         * lib/rijndael-alg-fst.c: Likewise.
43045         * lib/rijndael-api-fst.c: Likewise.
43046         * lib/xgetdomainname.c: Likewise.
43047
43048 2006-10-28  Eric Blake  <ebb9@byu.net>
43049
43050         * lib/xstrndup.c: Assume config.h.
43051
43052 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
43053
43054         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
43055         stat-macros.h is now for our own macros, whereas stat_h is for
43056         macros in the <sys/stat.h> name space.
43057         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
43058         (STAT_MACROS_H): Remove.
43059         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
43060         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
43061         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
43062         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
43063         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
43064         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
43065         Move these macros to ...
43066         * lib/stat_.h: here.  Don't include stat-macros.h.
43067         * lib/canonicalize.c: Don't include stat-macros.h.
43068         * lib/chown.c: Likewise.
43069         * lib/euidaccess.c: Likewise.
43070         * lib/file-type.c: Likewise.
43071         * lib/filemode.c: Likewise.
43072         * lib/glob.c: Likewise.
43073         * lib/isapipe.c: Likewise.
43074         * lib/lchown.c: Likewise.
43075         * lib/lstat.c: Likewise.
43076         * lib/mkdir-p.c: Likewise.
43077         * lib/rmdir.c: Likewise.
43078         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
43079         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
43080         unless mkdir isn't declared, to speed up 'configure'.
43081         Always create sys/stat.h, since it's unlikely any real sys/stat.h
43082         would define all the S_* symbols.
43083         * modules/canonicalize (Depends-on):
43084         Depend on sys_stat, not stat-macros.
43085         * modules/chown: Likewise.
43086         * modules/euidaccess: Likewise.
43087         * modules/filemode: Likewise.
43088         * modules/file-type: Likewise.
43089         * modules/glob: Likewise.
43090         * modules/isapipe: Likewise.
43091         * modules/lchown: Likewise.
43092         * modules/lstat: Likewise.
43093         * modules/mkancesdirs: Likewise.
43094         * modules/rmdir: Likewise.
43095         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
43096         * modules/modechange: Likewise.
43097         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
43098         (configure.ac): Remove gl_STAT_MACROS.
43099         * modules/sys_stat (Depends-on): Remove stat-macros.
43100
43101 2006-10-27  Bruno Haible  <bruno@clisp.org>
43102
43103         * m4/signed.m4: Remove file.
43104         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
43105         invocation.
43106         * modules/vasnprintf (Files): Remove m4/signed.m4.
43107
43108 2006-10-27  Bruno Haible  <bruno@clisp.org>
43109
43110         Update to GNU gettext 0.16.
43111         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
43112         m4/inttypes-h.m4, m4/signed.m4.
43113         * m4/gettext.m4: Update to GNU gettext 0.16.
43114         * m4/intl.m4: New file, from GNU gettext.
43115         * m4/intldir.m4: New file, from GNU gettext.
43116         * config/srclist.txt: Update
43117
43118 2006-10-27  Eric Blake  <ebb9@byu.net>
43119
43120         * MODULES.html.sh: Document tempname.
43121         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
43122         dependencies.
43123         (Files): Move lib/tempname.c...
43124         * modules/tempname: ...to this new module.
43125         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
43126         (gl_PREREQ_TEMPNAME): Move...
43127         * m4/tempname.m4: ...to this new file.
43128         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
43129         * modules/sys_stat (Depends-on): Add stat-macros.
43130         * lib/stat_.h (includes): Pick up stat macros.
43131         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
43132         if stat macros are broken.
43133         * lib/tempname.c (includes): No need to include "stat-macros.h".
43134         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
43135         (direxists, __path_search) [!_LIBC]: Don't compile these in
43136         gnulib; the tmpdir module covers that.
43137         * lib/tempname.h: New file.
43138
43139 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
43140
43141         * COPYING: Explain how gnulib-tool converts licence headers.
43142         Almost all wording by Eric Blake.
43143
43144 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
43145
43146         * lib/mbchar.h (is_basic_table): Make read-only.
43147         * lib/mbchar.c (is_basic_table): Likewise.
43148         Reported by John Darrington.
43149
43150 2006-10-25  Bruno Haible  <bruno@clisp.org>
43151
43152         * lib/progname.h (set_program_name): Undefine before defining.
43153
43154 2006-10-25  Bruno Haible  <bruno@clisp.org>
43155
43156         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
43157         false for non-gcc C++ compilers.
43158         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
43159
43160 2006-10-24  Bruno Haible  <bruno@clisp.org>
43161
43162         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
43163         iconv implementations like Irix iconv.
43164
43165 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43166
43167         * modules/vararrays: New file.
43168         * m4/vararrays.m4: New file, taken from diffutils.
43169         * MODULES.html.sh: New module vararrays.
43170
43171 2006-10-24  Karl Berry  <karl@gnu.org>
43172
43173         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
43174         Don't call GNU Unix.
43175
43176 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43177
43178         * users.txt: Add Libtool.
43179
43180         Sync from Libtool:
43181
43182         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43183
43184         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
43185         to gnulib's policy of including config.h unconditionally.
43186
43187 2006-10-24  Bruno Haible  <bruno@clisp.org>
43188
43189         * modules/wcwidth (Files): Add m4/wint_t.m4.
43190         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
43191         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
43192
43193 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43194
43195         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
43196         to pacify GCC with some -W flags enabled.  Problem reported by
43197         Bruno Haible.
43198
43199 2006-10-24  Jim Meyering  <jim@meyering.net>
43200
43201         * MODULES.html.sh: Remove uinttostr.  It's not a module.
43202         Reported by Karl Berry.
43203
43204 2006-10-23  Bruno Haible  <bruno@clisp.org>
43205
43206         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
43207
43208 2006-10-24  Bruno Haible  <bruno@clisp.org>
43209
43210         * lib/gl_list.h: Use C comment style, not C++ comment style.
43211
43212 2006-10-23  Eric Blake  <ebb9@byu.net>
43213
43214         * lib/getaddrinfo.c (includes): Add missing include.
43215
43216 2006-10-23  Bruno Haible  <bruno@clisp.org>
43217             Paul Eggert  <eggert@cs.ucla.edu>
43218
43219         Ability to rename obstack_free.
43220         * lib/obstack.h (__obstack_free): New macro. Declare instead of
43221         obstack_free.
43222         (obstack_free): Invoke the __obstack_free macro.
43223         * lib/obstack.c (obstack_free): Use __obstack_free macro.
43224
43225 2006-10-23  Bruno Haible  <bruno@clisp.org>
43226             Paul Eggert  <eggert@cs.ucla.edu>
43227
43228         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
43229         __argc, __argv from the declaration. (They are defined as macros on
43230         mingw.)
43231
43232 2006-10-22  Bruno Haible  <bruno@clisp.org>
43233
43234         * doc/gnulib-intro.texi: New file.
43235         * doc/gnulib.texi: Include it.
43236
43237 2006-10-21  Bruno Haible  <bruno@clisp.org>
43238
43239         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
43240         "Introduction", "Miscellanous Notes", "Particular Modules".
43241
43242 2006-10-21  Bruno Haible  <bruno@clisp.org>
43243
43244         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43245         Change mostlyclean-local rule to avoid sh syntax error from bash
43246         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
43247
43248 2006-10-23  Jim Meyering  <jim@meyering.net>
43249
43250         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
43251         in place of snprintf.
43252
43253         * modules/inttostr (Files): Add lib/uinttostr.c.
43254         * lib/uinttostr.c (inttostr): New file/function.
43255         * lib/inttostr.h (uinttostr): Declare.
43256         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
43257         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
43258         Add uinttostr.
43259         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
43260
43261 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
43262
43263         * lib/canonicalize.c (ELOOP): Define if not already defined.
43264         Problem reported by Bruno Haible in
43265         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
43266
43267 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
43268
43269         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
43270         Problem reported by Perry Smith and Ville Laurikari.
43271
43272         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
43273         uses.
43274
43275 2006-10-19  Bruno Haible  <bruno@clisp.org>
43276
43277         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
43278         for mingw.
43279
43280 2006-10-19  Bruno Haible  <bruno@clisp.org>
43281
43282         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
43283         Needed for mingw.
43284
43285 2006-10-19  Bruno Haible  <bruno@clisp.org>
43286
43287         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
43288
43289 2006-10-19  Bruno Haible  <bruno@clisp.org>
43290
43291         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
43292         it.
43293
43294 2006-10-19  Bruno Haible  <bruno@clisp.org>
43295
43296         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
43297         invocation.
43298
43299 2006-10-19  Bruno Haible  <bruno@clisp.org>
43300
43301         * gnulib-tool (func_create_testdir): Don't include ftruncate and
43302         mountlist by default.
43303
43304 2006-10-16  Bruno Haible  <bruno@clisp.org>
43305
43306         * lib/c-strstr.c: Include c-strstr.h.
43307
43308 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
43309
43310         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
43311         in a slash.
43312
43313 2006-10-18  Bruno Haible  <bruno@clisp.org>
43314
43315         * lib/lock.h [C++]: Wrap definitions in extern "C".
43316
43317 2006-10-18  Bruno Haible  <bruno@clisp.org>
43318
43319         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
43320         gl_LIBOBJS list.
43321
43322 2006-10-18  Bruno Haible  <bruno@clisp.org>
43323
43324         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
43325
43326 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
43327
43328         * lib/xstrtol.h: Include gettext.h.
43329         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
43330         Problem reported by Eric Blake.
43331         * modules/xstrtol (Depends-on): Add gettext-h.
43332
43333 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
43334
43335         * lib/strftime.c (advance): New macro.
43336         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
43337         incomplete type, so you can't add 0 to it.  Problem and patch
43338         reported by Eelco Dolstra for dietlibc.
43339
43340 2006-10-18  Jim Meyering  <jim@meyering.net>
43341
43342         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
43343         type for a local, and rename it: s/up/user_proc/.
43344
43345 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
43346
43347         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
43348         READ_UTMP_USER_PROCESS.
43349         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
43350
43351 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
43352
43353         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
43354         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
43355
43356 2006-10-17  Eric Blake  <ebb9@byu.net>
43357
43358         * lib/sigprocmask.c (sigprocmask): Fix typo.
43359
43360         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
43361
43362         * modules/clean-temp (Makefile.am): Don't add to make output...
43363         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
43364         config.h.
43365
43366 2006-10-17  Bruno Haible  <bruno@clisp.org>
43367
43368         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
43369         differently if DEFAULT_TEXT_DOMAIN is set.
43370
43371 2006-10-16  Bruno Haible  <bruno@clisp.org>
43372
43373         * lib/clean-temp.c: Include fwriteerror.h.
43374
43375 2006-10-16  Bruno Haible  <bruno@clisp.org>
43376
43377         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
43378
43379 2006-10-16  Bruno Haible  <bruno@clisp.org>
43380
43381         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
43382         * lib/sigprocmask.h: Include <sys/types.h>.
43383         (sigset_t): Use the system's definition if present.
43384
43385 2006-10-17  Eric Blake  <ebb9@byu.net>
43386
43387         * lib/xvasprintf.c (includes): Assume config.h.
43388         * lib/xasprintf.c (includes): Likewise.
43389
43390 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43391
43392         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
43393         at least as wide as intmax_t.
43394
43395 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
43396
43397         (Imported from Automake.)
43398         * build-aux/gnupload: Update to version 1.1 of directive file.
43399
43400 2006-10-16  Eric Blake  <ebb9@byu.net>
43401
43402         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
43403         match Automake 1.10a.
43404
43405 2006-10-14  Bruno Haible  <bruno@clisp.org>
43406
43407         * modules/sigprocmask: New file.
43408         * lib/sigprocmask.h: New file.
43409         * lib/sigprocmask.c: New file.
43410         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
43411         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
43412         request sigprocmask.o.
43413         (gl_PREREQ_SIGPROCMASK): New macro.
43414         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
43415         (Depends-on): Add sigprocmask.
43416         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
43417         gt_SIGNALBLOCKING. Test for 'raise' only once.
43418         * lib/fatal-signal.c: Include sigprocmask.h.
43419         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
43420         unblock_fatal_signals): Define always.
43421         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43422         sigprocmask.
43423
43424 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
43425
43426         Sync from Automake.
43427         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
43428         which incorrectly sets the mode of an existing destination
43429         directory.  In some cases the unpatched install-sh could do the
43430         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
43431         system.  We hope this is rare in practice, but it's clearly worth
43432         fixing.  Problem reported by Alex Unleashed in
43433         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
43434         Also, don't bother to check for -m bugs unless we're using -m;
43435         suggested by Stepan Kasal.
43436
43437 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43438
43439         Sync from Automake.
43440         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
43441         `-c' flag, so they appear at the same position as in %FASTDEP%
43442         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
43443         which ignores unknown options only after the first non-option.
43444         Bug report against M4 by Nelson H. F. Beebe.
43445
43446 2006-10-13  Jim Meyering  <jim@meyering.net>
43447
43448         Fix a bug in yesterday's change.
43449         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
43450         p->fts_statp->st_dev would be used uninitialized.
43451         Ensures that we always call fts_stat on the very first entry.
43452         Miklos Szeredi reported that find -xdev stopped working.
43453
43454 2006-10-12  Bruno Haible  <bruno@clisp.org>
43455
43456         * gnulib-tool (func_get_automake_snippet): Append an automatically
43457         computed EXTRA_DIST augmentation.
43458         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
43459         * modules/alloca-opt (Makefile.am): Likewise.
43460         * modules/allocsa (Makefile.am): Likewise.
43461         * modules/arcfour (Makefile.am): Likewise.
43462         * modules/arctwo (Makefile.am): Likewise.
43463         * modules/argmatch (Makefile.am): Likewise.
43464         * modules/argz (Makefile.am): Likewise.
43465         * modules/atexit (Makefile.am): Likewise.
43466         * modules/backupfile (Makefile.am): Likewise.
43467         * modules/byteswap (Makefile.am): Likewise.
43468         * modules/c-strtod (Makefile.am): Likewise.
43469         * modules/c-strtold (Makefile.am): Likewise.
43470         * modules/calloc (Makefile.am): Likewise.
43471         * modules/canon-host (Makefile.am): Likewise.
43472         * modules/canonicalize (Makefile.am): Likewise.
43473         * modules/chdir-long (Makefile.am): Likewise.
43474         * modules/chdir-safer (Makefile.am): Likewise.
43475         * modules/check-version (Makefile.am): Likewise.
43476         * modules/chown (Makefile.am): Likewise.
43477         * modules/cloexec (Makefile.am): Likewise.
43478         * modules/close-stream (Makefile.am): Likewise.
43479         * modules/closeout (Makefile.am): Likewise.
43480         * modules/crc (Makefile.am): Likewise.
43481         * modules/csharpexec (Makefile.am): Likewise.
43482         * modules/cycle-check (Makefile.am): Likewise.
43483         * modules/des (Makefile.am): Likewise.
43484         * modules/dev-ino (Makefile.am): Likewise.
43485         * modules/dirfd (Makefile.am): Likewise.
43486         * modules/dirname (Makefile.am): Likewise.
43487         * modules/dup2 (Makefile.am): Likewise.
43488         * modules/eealloc (Makefile.am): Likewise.
43489         * modules/error (Makefile.am): Likewise.
43490         * modules/euidaccess (Makefile.am): Likewise.
43491         * modules/exclude (Makefile.am): Likewise.
43492         * modules/exitfail (Makefile.am): Likewise.
43493         * modules/fcntl-safer (Makefile.am): Likewise.
43494         * modules/fcntl (Makefile.am): Likewise.
43495         * modules/file-type (Makefile.am): Likewise.
43496         * modules/fileblocks (Makefile.am): Likewise.
43497         * modules/filemode (Makefile.am): Likewise.
43498         * modules/filenamecat (Makefile.am): Likewise.
43499         * modules/fnmatch (Makefile.am): Likewise.
43500         * modules/fopen-safer (Makefile.am): Likewise.
43501         * modules/fpending (Makefile.am): Likewise.
43502         * modules/fprintftime (Makefile.am): Likewise.
43503         * modules/free (Makefile.am): Likewise.
43504         * modules/fsusage (Makefile.am): Likewise.
43505         * modules/ftruncate (Makefile.am): Likewise.
43506         * modules/fts (Makefile.am): Likewise.
43507         * modules/gc-arcfour (Makefile.am): Likewise.
43508         * modules/gc-des (Makefile.am): Likewise.
43509         * modules/gc-hmac-md5 (Makefile.am): Likewise.
43510         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
43511         * modules/gc-md4 (Makefile.am): Likewise.
43512         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
43513         * modules/gc-sha1 (Makefile.am): Likewise.
43514         * modules/gc (Makefile.am): Likewise.
43515         * modules/getaddrinfo (Makefile.am): Likewise.
43516         * modules/getcwd (Makefile.am): Likewise.
43517         * modules/getdelim (Makefile.am): Likewise.
43518         * modules/getdomainname (Makefile.am): Likewise.
43519         * modules/getgroups (Makefile.am): Likewise.
43520         * modules/gethostname (Makefile.am): Likewise.
43521         * modules/gethrxtime (Makefile.am): Likewise.
43522         * modules/getline (Makefile.am): Likewise.
43523         * modules/getloadavg (Makefile.am): Likewise.
43524         * modules/getlogin_r (Makefile.am): Likewise.
43525         * modules/getndelim2 (Makefile.am): Likewise.
43526         * modules/getopt (Makefile.am): Likewise.
43527         * modules/getpagesize (Makefile.am): Likewise.
43528         * modules/getpass-gnu (Makefile.am): Likewise.
43529         * modules/getpass (Makefile.am): Likewise.
43530         * modules/getsubopt (Makefile.am): Likewise.
43531         * modules/gettime (Makefile.am): Likewise.
43532         * modules/gettimeofday (Makefile.am): Likewise.
43533         * modules/getugroups (Makefile.am): Likewise.
43534         * modules/getusershell (Makefile.am): Likewise.
43535         * modules/glob (Makefile.am): Likewise.
43536         * modules/group-member (Makefile.am): Likewise.
43537         * modules/hard-locale (Makefile.am): Likewise.
43538         * modules/hash (Makefile.am): Likewise.
43539         * modules/hmac-md5 (Makefile.am): Likewise.
43540         * modules/hmac-sha1 (Makefile.am): Likewise.
43541         * modules/human (Makefile.am): Likewise.
43542         * modules/idcache (Makefile.am): Likewise.
43543         * modules/imaxabs (Makefile.am): Likewise.
43544         * modules/imaxdiv (Makefile.am): Likewise.
43545         * modules/inet_ntop (Makefile.am): Likewise.
43546         * modules/inet_pton (Makefile.am): Likewise.
43547         * modules/intprops (Makefile.am): Likewise.
43548         * modules/inttostr (Makefile.am): Likewise.
43549         * modules/inttypes (Makefile.am): Likewise.
43550         * modules/isapipe (Makefile.am): Likewise.
43551         * modules/javaversion (Makefile.am): Likewise.
43552         * modules/lchmod (Makefile.am): Likewise.
43553         * modules/lchown (Makefile.am): Likewise.
43554         * modules/localcharset (Makefile.am): Likewise.
43555         * modules/long-options (Makefile.am): Likewise.
43556         * modules/lstat (Makefile.am): Likewise.
43557         * modules/malloc (Makefile.am): Likewise.
43558         * modules/mathl (Makefile.am): Likewise.
43559         * modules/mbchar (Makefile.am): Likewise.
43560         * modules/md2 (Makefile.am): Likewise.
43561         * modules/md4 (Makefile.am): Likewise.
43562         * modules/md5 (Makefile.am): Likewise.
43563         * modules/memcasecmp (Makefile.am): Likewise.
43564         * modules/memchr (Makefile.am): Likewise.
43565         * modules/memcmp (Makefile.am): Likewise.
43566         * modules/memcoll (Makefile.am): Likewise.
43567         * modules/memcpy (Makefile.am): Likewise.
43568         * modules/memmem (Makefile.am): Likewise.
43569         * modules/memmove (Makefile.am): Likewise.
43570         * modules/mempcpy (Makefile.am): Likewise.
43571         * modules/memrchr (Makefile.am): Likewise.
43572         * modules/memset (Makefile.am): Likewise.
43573         * modules/memxor (Makefile.am): Likewise.
43574         * modules/mkancesdirs (Makefile.am): Likewise.
43575         * modules/mkdir-p (Makefile.am): Likewise.
43576         * modules/mkdir (Makefile.am): Likewise.
43577         * modules/mkdtemp (Makefile.am): Likewise.
43578         * modules/mkstemp (Makefile.am): Likewise.
43579         * modules/mktime (Makefile.am): Likewise.
43580         * modules/modechange (Makefile.am): Likewise.
43581         * modules/mountlist (Makefile.am): Likewise.
43582         * modules/nanosleep (Makefile.am): Likewise.
43583         * modules/obstack (Makefile.am): Likewise.
43584         * modules/openat (Makefile.am): Likewise.
43585         * modules/pagealign_alloc (Makefile.am): Likewise.
43586         * modules/pathmax (Makefile.am): Likewise.
43587         * modules/physmem (Makefile.am): Likewise.
43588         * modules/poll (Makefile.am): Likewise.
43589         * modules/posixtm (Makefile.am): Likewise.
43590         * modules/posixver (Makefile.am): Likewise.
43591         * modules/putenv (Makefile.am): Likewise.
43592         * modules/quote (Makefile.am): Likewise.
43593         * modules/quotearg (Makefile.am): Likewise.
43594         * modules/raise (Makefile.am): Likewise.
43595         * modules/read-file (Makefile.am): Likewise.
43596         * modules/readline (Makefile.am): Likewise.
43597         * modules/readlink (Makefile.am): Likewise.
43598         * modules/readtokens (Makefile.am): Likewise.
43599         * modules/readutmp (Makefile.am): Likewise.
43600         * modules/realloc (Makefile.am): Likewise.
43601         * modules/regex (Makefile.am): Likewise.
43602         * modules/rename-dest-slash (Makefile.am): Likewise.
43603         * modules/rename (Makefile.am): Likewise.
43604         * modules/rijndael (Makefile.am): Likewise.
43605         * modules/rmdir (Makefile.am): Likewise.
43606         * modules/rpmatch (Makefile.am): Likewise.
43607         * modules/safe-read (Makefile.am): Likewise.
43608         * modules/safe-write (Makefile.am): Likewise.
43609         * modules/same-inode (Makefile.am): Likewise.
43610         * modules/same (Makefile.am): Likewise.
43611         * modules/save-cwd (Makefile.am): Likewise.
43612         * modules/savedir (Makefile.am): Likewise.
43613         * modules/setenv (Makefile.am): Likewise.
43614         * modules/settime (Makefile.am): Likewise.
43615         * modules/sha1 (Makefile.am): Likewise.
43616         * modules/sig2str (Makefile.am): Likewise.
43617         * modules/snprintf (Makefile.am): Likewise.
43618         * modules/stat-macros (Makefile.am): Likewise.
43619         * modules/stat-time (Makefile.am): Likewise.
43620         * modules/stdbool (Makefile.am): Likewise.
43621         * modules/stdint (Makefile.am): Likewise.
43622         * modules/stdlib-safer (Makefile.am): Likewise.
43623         * modules/stpcpy (Makefile.am): Likewise.
43624         * modules/stpncpy (Makefile.am): Likewise.
43625         * modules/strcase (Makefile.am): Likewise.
43626         * modules/strcasestr (Makefile.am): Likewise.
43627         * modules/strchrnul (Makefile.am): Likewise.
43628         * modules/strcspn (Makefile.am): Likewise.
43629         * modules/strdup (Makefile.am): Likewise.
43630         * modules/strerror (Makefile.am): Likewise.
43631         * modules/strftime (Makefile.am): Likewise.
43632         * modules/strndup (Makefile.am): Likewise.
43633         * modules/strnlen (Makefile.am): Likewise.
43634         * modules/strpbrk (Makefile.am): Likewise.
43635         * modules/strsep (Makefile.am): Likewise.
43636         * modules/strstr (Makefile.am): Likewise.
43637         * modules/strtod (Makefile.am): Likewise.
43638         * modules/strtoimax (Makefile.am): Likewise.
43639         * modules/strtok_r (Makefile.am): Likewise.
43640         * modules/strtol (Makefile.am): Likewise.
43641         * modules/strtoll (Makefile.am): Likewise.
43642         * modules/strtoul (Makefile.am): Likewise.
43643         * modules/strtoull (Makefile.am): Likewise.
43644         * modules/strtoumax (Makefile.am): Likewise.
43645         * modules/strverscmp (Makefile.am): Likewise.
43646         * modules/sys_socket (Makefile.am): Likewise.
43647         * modules/sys_stat (Makefile.am): Likewise.
43648         * modules/sysexits (Makefile.am): Likewise.
43649         * modules/time_r (Makefile.am): Likewise.
43650         * modules/timegm (Makefile.am): Likewise.
43651         * modules/timespec (Makefile.am): Likewise.
43652         * modules/tmpfile-safer (Makefile.am): Likewise.
43653         * modules/trim (Makefile.am): Likewise.
43654         * modules/unistd-safer (Makefile.am): Likewise.
43655         * modules/unlinkdir (Makefile.am): Likewise.
43656         * modules/unlocked-io (Makefile.am): Likewise.
43657         * modules/userspec (Makefile.am): Likewise.
43658         * modules/utime (Makefile.am): Likewise.
43659         * modules/utimecmp (Makefile.am): Likewise.
43660         * modules/utimens (Makefile.am): Likewise.
43661         * modules/vasnprintf (Makefile.am): Likewise.
43662         * modules/vasprintf (Makefile.am): Likewise.
43663         * modules/vsnprintf (Makefile.am): Likewise.
43664         * modules/xalloc (Makefile.am): Likewise.
43665         * modules/xgetcwd (Makefile.am): Likewise.
43666         * modules/xnanosleep (Makefile.am): Likewise.
43667         * modules/xreadlink (Makefile.am): Likewise.
43668         * modules/xstrtod (Makefile.am): Likewise.
43669         * modules/xstrtol (Makefile.am): Likewise.
43670         * modules/xstrtold (Makefile.am): Likewise.
43671         * modules/yesno (Makefile.am): Likewise.
43672         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
43673
43674 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43675
43676         * modules/error (Makefile.am): Distribute files through
43677         EXTRA_DIST, not lib_SOURCES.
43678
43679 2006-10-12  Eric Blake  <ebb9@byu.net>
43680
43681         * modules/error (Makefile.am): Distribute files in /lib.
43682         * modules/obstack (Makefile.am): Likewise.
43683
43684 2006-10-12  Bruno Haible  <bruno@clisp.org>
43685
43686         * modules/acl (Makefile.am): Distribute all files in lib/ through
43687         EXTRA_DIST.
43688         * modules/arcfour (Makefile.am): Likewise.
43689         * modules/arctwo (Makefile.am): Likewise.
43690         * modules/argmatch (Makefile.am): Likewise.
43691         * modules/argz (Makefile.am): Likewise.
43692         * modules/atexit (Makefile.am): Likewise.
43693         * modules/backupfile (Makefile.am): Likewise.
43694         * modules/c-strtod (Makefile.am): Likewise.
43695         * modules/c-strtold (Makefile.am): Likewise.
43696         * modules/calloc (Makefile.am): Likewise.
43697         * modules/canon-host (Makefile.am): Likewise.
43698         * modules/canonicalize (Makefile.am): Likewise.
43699         * modules/chdir-long (Makefile.am): Likewise.
43700         * modules/chdir-safer (Makefile.am): Likewise.
43701         * modules/check-version (Makefile.am): Likewise.
43702         * modules/chown (Makefile.am): Likewise.
43703         * modules/cloexec (Makefile.am): Likewise.
43704         * modules/close-stream (Makefile.am): Likewise.
43705         * modules/closeout (Makefile.am): Likewise.
43706         * modules/crc (Makefile.am): Likewise.
43707         * modules/cycle-check (Makefile.am): Likewise.
43708         * modules/des (Makefile.am): Likewise.
43709         * modules/dirfd (Makefile.am): Likewise.
43710         * modules/dirname (Makefile.am): Likewise.
43711         * modules/dup2 (Makefile.am): Likewise.
43712         * modules/euidaccess (Makefile.am): Likewise.
43713         * modules/exclude (Makefile.am): Likewise.
43714         * modules/exitfail (Makefile.am): Likewise.
43715         * modules/fcntl-safer (Makefile.am): Likewise.
43716         * modules/file-type (Makefile.am): Likewise.
43717         * modules/fileblocks (Makefile.am): Likewise.
43718         * modules/filemode (Makefile.am): Likewise.
43719         * modules/filenamecat (Makefile.am): Likewise.
43720         * modules/fnmatch (Makefile.am): Likewise.
43721         * modules/fopen-safer (Makefile.am): Likewise.
43722         * modules/fpending (Makefile.am): Likewise.
43723         * modules/fprintftime (Makefile.am): Likewise.
43724         * modules/free (Makefile.am): Likewise.
43725         * modules/fsusage (Makefile.am): Likewise.
43726         * modules/ftruncate (Makefile.am): Likewise.
43727         * modules/fts (Makefile.am): Likewise.
43728         * modules/gc (Makefile.am): Likewise.
43729         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
43730         * modules/getaddrinfo (Makefile.am): Likewise.
43731         * modules/getcwd (Makefile.am): Likewise.
43732         * modules/getdelim (Makefile.am): Likewise.
43733         * modules/getdomainname (Makefile.am): Likewise.
43734         * modules/getgroups (Makefile.am): Likewise.
43735         * modules/gethostname (Makefile.am): Likewise.
43736         * modules/gethrxtime (Makefile.am): Likewise.
43737         * modules/getline (Makefile.am): Likewise.
43738         * modules/getloadavg (Makefile.am): Likewise.
43739         * modules/getlogin_r (Makefile.am): Likewise.
43740         * modules/getopt (Makefile.am): Likewise.
43741         * modules/getpass (Makefile.am): Likewise.
43742         * modules/getpass-gnu (Makefile.am): Likewise.
43743         * modules/getsubopt (Makefile.am): Likewise.
43744         * modules/gettime (Makefile.am): Likewise.
43745         * modules/gettimeofday (Makefile.am): Likewise.
43746         * modules/getugroups (Makefile.am): Likewise.
43747         * modules/getusershell (Makefile.am): Likewise.
43748         * modules/glob (Makefile.am): Likewise.
43749         * modules/group-member (Makefile.am): Likewise.
43750         * modules/hard-locale (Makefile.am): Likewise.
43751         * modules/hash (Makefile.am): Likewise.
43752         * modules/hmac-md5 (Makefile.am): Likewise.
43753         * modules/hmac-sha1 (Makefile.am): Likewise.
43754         * modules/human (Makefile.am): Likewise.
43755         * modules/idcache (Makefile.am): Likewise.
43756         * modules/imaxabs (Makefile.am): Likewise.
43757         * modules/imaxdiv (Makefile.am): Likewise.
43758         * modules/inet_ntop (Makefile.am): Likewise.
43759         * modules/inet_pton (Makefile.am): Likewise.
43760         * modules/inttostr (Makefile.am): Likewise.
43761         * modules/isapipe (Makefile.am): Likewise.
43762         * modules/lchown (Makefile.am): Likewise.
43763         * modules/long-options (Makefile.am): Likewise.
43764         * modules/lstat (Makefile.am): Likewise.
43765         * modules/malloc (Makefile.am): Likewise.
43766         * modules/mathl (Makefile.am): Likewise.
43767         * modules/mbchar (Makefile.am): Likewise.
43768         * modules/md2 (Makefile.am): Likewise.
43769         * modules/md4 (Makefile.am): Likewise.
43770         * modules/md5 (Makefile.am): Likewise.
43771         * modules/memcasecmp (Makefile.am): Likewise.
43772         * modules/memchr (Makefile.am): Likewise.
43773         * modules/memcmp (Makefile.am): Likewise.
43774         * modules/memcoll (Makefile.am): Likewise.
43775         * modules/memcpy (Makefile.am): Likewise.
43776         * modules/memmem (Makefile.am): Likewise.
43777         * modules/memmove (Makefile.am): Likewise.
43778         * modules/mempcpy (Makefile.am): Likewise.
43779         * modules/memrchr (Makefile.am): Likewise.
43780         * modules/memset (Makefile.am): Likewise.
43781         * modules/memxor (Makefile.am): Likewise.
43782         * modules/mkancesdirs (Makefile.am): Likewise.
43783         * modules/mkdir (Makefile.am): Likewise.
43784         * modules/mkdir-p (Makefile.am): Likewise.
43785         * modules/mkdtemp (Makefile.am): Likewise.
43786         * modules/mkstemp (Makefile.am): Likewise.
43787         * modules/mktime (Makefile.am): Likewise.
43788         * modules/modechange (Makefile.am): Likewise.
43789         * modules/mountlist (Makefile.am): Likewise.
43790         * modules/nanosleep (Makefile.am): Likewise.
43791         * modules/openat (Makefile.am): Likewise.
43792         * modules/pagealign_alloc (Makefile.am): Likewise.
43793         * modules/physmem (Makefile.am): Likewise.
43794         * modules/poll (Makefile.am): Likewise.
43795         * modules/posixtm (Makefile.am): Likewise.
43796         * modules/posixver (Makefile.am): Likewise.
43797         * modules/putenv (Makefile.am): Likewise.
43798         * modules/quote (Makefile.am): Likewise.
43799         * modules/quotearg (Makefile.am): Likewise.
43800         * modules/raise (Makefile.am): Likewise.
43801         * modules/read-file (Makefile.am): Likewise.
43802         * modules/readline (Makefile.am): Likewise.
43803         * modules/readlink (Makefile.am): Likewise.
43804         * modules/readtokens (Makefile.am): Likewise.
43805         * modules/readutmp (Makefile.am): Likewise.
43806         * modules/realloc (Makefile.am): Likewise.
43807         * modules/regex (Makefile.am): Likewise.
43808         * modules/rename (Makefile.am): Likewise.
43809         * modules/rename-dest-slash (Makefile.am): Likewise.
43810         * modules/rijndael (Makefile.am): Likewise.
43811         * modules/rmdir (Makefile.am): Likewise.
43812         * modules/rpmatch (Makefile.am): Likewise.
43813         * modules/safe-read (Makefile.am): Likewise.
43814         * modules/safe-write (Makefile.am): Likewise.
43815         * modules/same (Makefile.am): Likewise.
43816         * modules/save-cwd (Makefile.am): Likewise.
43817         * modules/savedir (Makefile.am): Likewise.
43818         * modules/setenv (Makefile.am): Likewise.
43819         * modules/settime (Makefile.am): Likewise.
43820         * modules/sha1 (Makefile.am): Likewise.
43821         * modules/sig2str (Makefile.am): Likewise.
43822         * modules/snprintf (Makefile.am): Likewise.
43823         * modules/stdlib-safer (Makefile.am): Likewise.
43824         * modules/stpcpy (Makefile.am): Likewise.
43825         * modules/stpncpy (Makefile.am): Likewise.
43826         * modules/strcase (Makefile.am): Likewise.
43827         * modules/strcasestr (Makefile.am): Likewise.
43828         * modules/strchrnul (Makefile.am): Likewise.
43829         * modules/strcspn (Makefile.am): Likewise.
43830         * modules/strdup (Makefile.am): Likewise.
43831         * modules/strerror (Makefile.am): Likewise.
43832         * modules/strftime (Makefile.am): Likewise.
43833         * modules/strndup (Makefile.am): Likewise.
43834         * modules/strnlen (Makefile.am): Likewise.
43835         * modules/strpbrk (Makefile.am): Likewise.
43836         * modules/strsep (Makefile.am): Likewise.
43837         * modules/strstr (Makefile.am): Likewise.
43838         * modules/strtod (Makefile.am): Likewise.
43839         * modules/strtoimax (Makefile.am): Likewise.
43840         * modules/strtok_r (Makefile.am): Likewise.
43841         * modules/strtol (Makefile.am): Likewise.
43842         * modules/strtoll (Makefile.am): Likewise.
43843         * modules/strtoul (Makefile.am): Likewise.
43844         * modules/strtoull (Makefile.am): Likewise.
43845         * modules/strtoumax (Makefile.am): Likewise.
43846         * modules/strverscmp (Makefile.am): Likewise.
43847         * modules/time_r (Makefile.am): Likewise.
43848         * modules/timegm (Makefile.am): Likewise.
43849         * modules/tmpfile-safer (Makefile.am): Likewise.
43850         * modules/unistd-safer (Makefile.am): Likewise.
43851         * modules/unlinkdir (Makefile.am): Likewise.
43852         * modules/userspec (Makefile.am): Likewise.
43853         * modules/utime (Makefile.am): Likewise.
43854         * modules/utimecmp (Makefile.am): Likewise.
43855         * modules/utimens (Makefile.am): Likewise.
43856         * modules/vasnprintf (Makefile.am): Likewise.
43857         * modules/vasprintf (Makefile.am): Likewise.
43858         * modules/vsnprintf (Makefile.am): Likewise.
43859         * modules/xalloc (Makefile.am): Likewise.
43860         * modules/xgetcwd (Makefile.am): Likewise.
43861         * modules/xnanosleep (Makefile.am): Likewise.
43862         * modules/xreadlink (Makefile.am): Likewise.
43863         * modules/xstrtod (Makefile.am): Likewise.
43864         * modules/xstrtol (Makefile.am): Likewise.
43865         * modules/xstrtold (Makefile.am): Likewise.
43866         * modules/yesno (Makefile.am): Likewise.
43867
43868 2006-10-12  Jim Meyering  <jim@meyering.net>
43869
43870         * m4/getloadavg.m4: Revert the change below.
43871
43872         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
43873         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
43874         fail with a symlink, which is what coreutils' ./bootstrap now
43875         creates by default.
43876
43877 2006-10-12  Bruno Haible  <bruno@clisp.org>
43878
43879         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
43880         mingw.
43881         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
43882         MSVC and mingw explicitly.
43883
43884 2006-10-11  Simon Josefsson  <jas@extundo.com>
43885             Bruno Haible  <bruno@clisp.org>
43886
43887         Add support for multiple gnulib-tool invocations in the scope of a
43888         single configure.ac file.
43889         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
43890         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
43891         with the same contents as the _LIBADD variable.
43892         (func_emit_initmacro_start, func_emit_initmacro_end,
43893         func_emit_initmacro_done): New functions.
43894         (func_import, func_create_testdir): Invoke them. Allow the identifiers
43895         gl_LIBOBJS and gl_LTLIBOBJS.
43896
43897 2006-10-11  Bruno Haible  <bruno@clisp.org>
43898
43899         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
43900         (func_create_testdir): Don't create po/Makefile.am, don't invoke
43901         autoreconf. Instead, invoke autopoint explicitly but move back the
43902         *.m4 files from gnulib.
43903
43904 2006-10-11  Bruno Haible  <bruno@clisp.org>
43905
43906         * gnulib-tool (func_usage): Make module names after --create-testdir
43907         optional.
43908         (func_create_testdir): If no module was specified, use nearly all
43909         modules.
43910
43911 2006-10-12  Jim Meyering  <jim@meyering.net>
43912
43913         Big performance improvement for fts-based tools that use FTS_NOSTAT.
43914         Avoid spurious inode-mismatch problems on non-POSIX file systems.
43915         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
43916         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
43917         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
43918         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
43919         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
43920         (fts_set_stat_required): New function.
43921         (fts_open): Defer the calls to fts_stat, if possible or requested.
43922         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
43923         into fts_stat itself.
43924         (fts_read): Perform any required (deferred) fts_stat call.
43925         (fts_build): Likewise, for the directory we're about to open and read.
43926         In the readdir loop, carefully decide whether each entry will require
43927         an eventual call to fts_stat, using dirent.d_type info if available.
43928         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
43929         a command line argument into this function.  Update all callers.
43930         Map a return value of FTS_DOT to FTS_D for a command line argument.
43931         * modules/fts (Depends-on): Add d-type.  Alphabetize.
43932         Thanks to Miklos Szeredi for his tenacity and for the initial
43933         bug report about "find" failing on a FUSE-based file system.
43934
43935         * lib/fts.c (fts_open): Use consistent indentation.
43936
43937 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43938
43939         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
43940         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
43941         reported by Jim Meyering.  All uses of cache variables renamed
43942         to match Autoconf's.
43943         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
43944         the other one.
43945
43946         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43947         Fix misspelling in diagnostic.
43948
43949 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43950
43951         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
43952         defined.  Problem reported by Matthew Woehlke.
43953
43954         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
43955         Add support for Tandem NonStop R series.
43956         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
43957         Use new macro.
43958
43959         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
43960         (has_trailing_slash): Omit size arg; all callers changed.
43961         Omit 'inline', since it doesn't help performance and we'd
43962         need to configure it.
43963         Don't count //, ///, etc. as having a trailing slash.
43964         As a side effect, this removes a C99ism reported by Matthew Woehlke.
43965         (rpl_rename_dest_slash): On failure, use rename's errno rather
43966         than (in some cases) an incorrect or junk errno.
43967         Simplify code by removing need to compute length; this does
43968         cause it to make two passes instead of one over the file name,
43969         but it's worth it.
43970
43971         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
43972         change, since Autoconf's version may no longer be appropriate now
43973         that we are using CVS Autoconf's version.  Add support for Tandem.
43974
43975 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43976             Bruno Haible  <bruno@clisp.org>
43977
43978         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
43979         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
43980         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
43981         gl_AC_TYPE_LONG_LONG.
43982
43983         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
43984         instead of HAVE_LONG_LONG.
43985         * lib/printf-args.c (printf_fetchargs): Likewise.
43986         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
43987         * lib/vasnprintf.c (VASNPRINTF): Likewise.
43988         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
43989         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
43990         gl_AC_TYPE_LONG_LONG.
43991
43992 2006-10-11  Bruno Haible  <bruno@clisp.org>
43993
43994         * m4/longlong.m4: Add comments.
43995         * m4/ulonglong.m4: Likewise.
43996
43997 2006-10-10  Bruno Haible  <bruno@clisp.org>
43998
43999         Make it possible to #define stpcpy, strdup to aliases.
44000         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
44001         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
44002
44003 2006-10-10  Bruno Haible  <bruno@clisp.org>
44004
44005         Make it possible to #define gcd to an alias.
44006         * lib/gcd.c: Include config.h.
44007
44008 2006-10-10  Bruno Haible  <bruno@clisp.org>
44009
44010         Make it possible to #define c_isascii to an alias.
44011         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
44012         defined. Undefine the macros before defining them, to avoid gcc
44013         warnings.
44014         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
44015         define NO_C_CTYPE_MACROS early.
44016
44017 2006-10-10  Bruno Haible  <bruno@clisp.org>
44018
44019         Make it possible to #define set_program_name to an alias.
44020         * lib/progname.c: Don't undefine set_program_name; instead, undefine
44021         ENABLE_RELOCATABLE early.
44022
44023 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
44024
44025         Port to Tandem NSK OSS, which has 64-bit signed int but at most
44026         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
44027         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
44028         More generally, don't assume that 64-bit signed int is available
44029         if unsigned int is, and vice versa.
44030         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
44031         unsigned symbols, not on their signed counterparts.
44032         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
44033         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
44034         (UINT64_C, UINTMAX_C):
44035         Likewise.
44036         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
44037         unsigned counterparts.
44038         (Have_long_long, Unsigned): New macros.
44039         (Int): Renamed from INT.
44040         (strtoimax): Use the new macros.
44041         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
44042         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
44043         * modules/inttypes (inttypes.h): Substitute
44044         HAVE_UNSIGNED_LONG_LONG_INT.
44045         * modules/stdint (stdint.h): Likewise.
44046         (Files): Add m4/ulonglong.m4.
44047
44048 2006-10-10  Bruno Haible  <bruno@clisp.org>
44049
44050         Fix a gcc -Wshadow warning.
44051         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
44052         to 'bucket'.
44053         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
44054         gl_linked_indexof_from_to): Likewise.
44055         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
44056         Likewise.
44057         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
44058         Likewise.
44059         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
44060         Reported by Eric Blake.
44061
44062 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
44063
44064         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
44065         for NetBSD.  Problem reported by Bruno Haible.
44066
44067 2006-10-09  Jim Meyering  <jim@meyering.net>
44068
44069         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
44070         Patch from Bruno Haible.
44071
44072 2006-10-09  Jim Meyering  <jim@meyering.net>
44073
44074         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
44075         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
44076         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
44077
44078 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
44079
44080         Don't include <config.h> twice; this doesn't work in some cases,
44081         e.g., when config.h has "#define intmax_t long long int" and
44082         we include <config.h>, <inttypes.h>, <config.h> in that order.
44083         Problem reported by Matthew Woehlke in:
44084         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
44085         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
44086         * lib/fts-cycle.c: Don't include config.h.
44087         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
44088         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
44089         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
44090         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
44091         inttypes.h.
44092         * lib/xstrtoumax.c: Likewise.
44093         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
44094         __strtol and the like, so that this module is more like its siblings.
44095         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
44096         Remove; no longer needed now that we assume gnulib inttypes.h.
44097
44098 2006-10-08  Bruno Haible  <bruno@clisp.org>
44099
44100         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
44101         option.
44102
44103 2006-10-07  Jim Meyering  <jim@meyering.net>
44104
44105         * modules/inttypes (inttypes.h): Revert what seems to have been
44106         an inadvertent part of today's change: use "|", not "/" in the
44107         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
44108
44109 2006-10-07  Bruno Haible  <bruno@clisp.org>
44110
44111         * modules/sublist: New file.
44112
44113 2006-10-07  Bruno Haible  <bruno@clisp.org>
44114
44115         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
44116         * modules/argz (argz.h): Likewise.
44117         * modules/arpa_inet (arpa/inet.h): Likewise.
44118         * modules/byteswap (byteswap.h): Likewise.
44119         * modules/configmake (configmake.h): Likewise.
44120         * modules/fcntl (fcntl.h): Likewise.
44121         * modules/fnmatch (fnmatch.h): Likewise.
44122         * modules/getopt (getopt.h): Likewise.
44123         * modules/glob (glob.h): Likewise.
44124         * modules/inttypes (inttypes.h): Likewise.
44125         * modules/netinet_in (netinet/in.h): Likewise.
44126         * modules/poll (poll.h): Likewise.
44127         * modules/stdbool (stdbool.h): Likewise.
44128         * modules/stdint (stdint.h): Likewise.
44129         * modules/sys_select (sys/select.h): Likewise.
44130         * modules/sys_socket (sys/socket.h): Likewise.
44131         * modules/sys_stat (sys/stat.h): Likewise.
44132         * modules/sysexits (sysexits.h): Likewise.
44133         * modules/unistd (unistd.h): Likewise.
44134         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44135         Add a "DO NOT EDIT" comment to the generated file.
44136         (func_import): Likewise for gnulib-comp.m4.
44137
44138 2006-10-07  Bruno Haible  <bruno@clisp.org>
44139
44140         * lib/gl_sublist.h: New file.
44141         * lib/gl_sublist.c: New file.
44142
44143 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
44144
44145         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
44146         name (relative to the original working directory) and the file
44147         name component (relative to the temporary working directory).  All
44148         callers changed.
44149         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
44150         * lib/mkdir-p.c (make_dir_parents): Likewise.
44151         * lib/mkdir-p.h (make_dir_parents): Likewise.
44152
44153 2006-10-06  Eric Blake  <ebb9@byu.net>
44154
44155         Define several macros for use by the clean-temp module.
44156         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
44157         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
44158         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
44159
44160         * lib/clean-temp.h (close_stream_temp): New declaration.
44161         * lib/clean-temp.c (includes): Pull in headers according to what
44162         other modules are in use.
44163         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
44164
44165 2006-10-06  Bruno Haible  <bruno@clisp.org>
44166
44167         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
44168         instead of fopen, fwriteerror.
44169
44170 2006-10-06  Bruno Haible  <bruno@clisp.org>
44171
44172         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
44173         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
44174         int.
44175         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
44176         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
44177         Return an error indicator.
44178         Suggested by Eric Blake.
44179
44180 2006-10-06  Bruno Haible  <bruno@clisp.org>
44181
44182         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
44183         Reported by Eric Blake.
44184
44185 2006-10-06  Bruno Haible  <bruno@clisp.org>
44186
44187         * modules/closeout (Description): Mention stderr too.
44188
44189 2006-10-06  Bruno Haible  <bruno@clisp.org>
44190         and Paul Eggert  <eggert@cs.ucla.edu>
44191
44192         * lib/closeout.c (close_stdout): Also close stderr.
44193         * lib/closeout.h: Update comment.
44194
44195 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
44196
44197         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
44198         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
44199         * lib/dirchownmod.c: Include lchown.h.
44200         * lib/lchown.c: Don't include files that lchown.h now includes.
44201         Don't declare chown, since lchown.h now does that.
44202         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
44203         (lchown): Define to rpl_chown if lchown is declared but
44204         does not exist.  Declare using a prototype if lchown is not
44205         declared.  Add a copyright notice.
44206         * lib/mkstemp.h: Include <unistd.h>.
44207         * lib/openat.c: Include lchown.h.
44208
44209         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
44210         we now test for that separately.
44211         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
44212         rather than O_NOFOLLOW, when testing whether it's possible to
44213         avoid a race condition reliably.
44214         * lib/savewd.c (savewd_chdir): Likewise.
44215
44216         Remove macros that are no longer needed now that stdint.h is
44217         reliable.
44218         * lib/fsusage.c (UINTMAX_MAX): Remove.
44219         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
44220         * lib/utimecmp.c (SIZE_MAX): Remove.
44221
44222         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
44223
44224         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
44225         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
44226         O_NOATIME works.
44227
44228 2006-10-05  Bruno Haible  <bruno@clisp.org>
44229
44230         * lib/gl_list.h (gl_sortedlist_search_from_to,
44231         gl_sortedlist_indexof_from_to): New declarations.
44232         (gl_list_implementation): New fields sortedlist_search_from_to,
44233         sortedlist_indexof_from_to.
44234         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
44235         inline functions.
44236         * lib/gl_list.c (gl_sortedlist_search_from_to,
44237         gl_sortedlist_indexof_from_to): New functions.
44238         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
44239         function.
44240         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
44241         (gl_array_sortedlist_search_from_to): New function.
44242         (gl_array_list_implementation): Update.
44243         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
44244         function.
44245         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
44246         (gl_carray_sortedlist_search_from_to): New function.
44247         (gl_carray_list_implementation): Update.
44248         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
44249         gl_linked_sortedlist_indexof_from_to): New functions.
44250         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
44251         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
44252         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
44253         gl_tree_sortedlist_indexof_from_to): New functions.
44254         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
44255         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
44256         Update.
44257         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
44258         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
44259         Update.
44260
44261 2006-10-05  Bruno Haible  <bruno@clisp.org>
44262
44263         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
44264         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
44265         (struct gl_list_implementation): Add fields search_from_to,
44266         indexof_from_to. Remove fields search, indexof.
44267         (gl_list_search): Use the search_from_to method.
44268         (gl_list_search_from, gl_list_search_from_to): New functions.
44269         (gl_list_indexof): Use the indexof_from_to method.
44270         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
44271         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
44272         (gl_list_search_from, gl_list_search_from_to): New functions.
44273         (gl_list_indexof): Use the indexof_from_to method.
44274         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
44275         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
44276         gl_array_indexof. Add start_index, end_index arguments.
44277         (gl_array_search_from_to): Renamed from gl_array_search. Add
44278         start_index, end_index arguments.
44279         (gl_array_remove, gl_array_list_implementation): Update.
44280         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
44281         gl_carray_indexof. Add start_index, end_index arguments.
44282         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
44283         start_index, end_index arguments.
44284         (gl_carray_remove, gl_carray_list_implementation): Update.
44285         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
44286         gl_linked_search. Add start_index, end_index arguments.
44287         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
44288         start_index, end_index arguments.
44289         (gl_linked_remove): Update.
44290         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
44291         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
44292         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
44293         field to 'size_t'.
44294         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
44295         gl_tree_search. Add start_index, end_index arguments.
44296         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
44297         start_index, end_index arguments.
44298         (gl_tree_remove): Update.
44299         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
44300         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
44301         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
44302         function.
44303         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
44304         gl_tree_search. Add start_index, end_index arguments.
44305         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
44306         start_index, end_index arguments.
44307         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
44308         Update.
44309         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
44310
44311 2006-10-05  Bruno Haible  <bruno@clisp.org>
44312
44313         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
44314
44315         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
44316         fwriteerror_temp): New declarations.
44317         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
44318         (descriptors): New variable.
44319         (cleanup): First, close the descriptors.
44320         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
44321         fclose_temp, fwriteerror_temp): New functions.
44322
44323 2006-10-04  Jim Meyering  <jim@meyering.net>
44324
44325         * lib/fts.c (fts_open): Tiny comment change.
44326
44327 2006-10-04  Bruno Haible  <bruno@clisp.org>
44328
44329         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
44330         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
44331         gl_LOCK_BODY.
44332         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
44333         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
44334         gl_LOCK_EARLY_BODY.
44335         (gl_LOCK): Require gl_LOCK_BODY.
44336
44337 2006-10-04  Bruno Haible  <bruno@clisp.org>
44338
44339         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
44340         (gl_oset_search_atleast): New declaration.
44341         (struct gl_oset_implementation): Add field 'search_atleast'.
44342         (gl_oset_search_atleast): New inline function.
44343         * lib/gl_oset.c (gl_oset_search_atleast): New function.
44344         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
44345         (gl_array_oset_implementation): Update.
44346         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
44347         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
44348         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
44349
44350 2006-10-04  Bruno Haible  <bruno@clisp.org>
44351
44352         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
44353
44354 2006-10-03  Bruno Haible  <bruno@clisp.org>
44355
44356         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
44357         from gl_avltreehash_list_implementation.
44358
44359 2006-10-03  Bruno Haible  <bruno@clisp.org>
44360
44361         * lib/gl_oset.c (gl_oset_add): Fix return type.
44362
44363 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
44364
44365         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
44366
44367 2006-10-02  Eric Blake  <ebb9@byu.net>
44368
44369         * modules/strnlen (Depends-on): Add extensions.
44370
44371 2006-10-02  Eric Blake  <ebb9@byu.net>
44372
44373         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
44374         definition in 2.60+.
44375
44376 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
44377
44378         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
44379         checks.
44380
44381 2006-10-02  Bruno Haible  <bruno@clisp.org>
44382
44383         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
44384         to the AUTOMAKE_OPTIONS.
44385         Reported by Jim Meyering.
44386
44387 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
44388
44389         Work around bug in Solaris 10 /proc file system:
44390         /proc/self/fd/NNN/.. isn't the parent directory of
44391         the directory whose file descriptor is NNN.  This needs to
44392         be worked around at run time, not compile time, since a
44393         program might be built on Solaris 8, where things work, and
44394         run on Solaris 10.
44395         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
44396         to use the following interface instead:
44397         (OPENAT_BUFFER_SIZE): New macro.
44398         (openat_proc_name): New function.
44399         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
44400         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
44401         Likewise.
44402         * lib/openat-proc.c: New file.
44403         * modules/openat (Files): Add lib/openat-proc.c.
44404         (Depends-on): Add same-inode, stdbool.
44405         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
44406
44407 2006-09-29  Bruno Haible  <bruno@clisp.org>
44408
44409         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
44410         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
44411         argument. Set stdout_closed before testing for ferror, not after.
44412         (fwriteerror, fwriteerror_no_ebadf): New functions.
44413
44414 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44415
44416         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
44417
44418 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
44419
44420         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
44421         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
44422
44423 2006-09-28  Jim Meyering  <jim@meyering.net>
44424
44425         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
44426         Include <unistd.h>.
44427
44428 2006-09-28  Bruno Haible  <bruno@clisp.org>
44429
44430         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
44431         * modules/linkedhash-list (Depends-on): Likewise.
44432         * modules/rbtreehash-list (Depends-on): Likewise.
44433
44434 2006-09-28  Bruno Haible  <bruno@clisp.org>
44435
44436         * lib/strndup.h: Simplify the redefinition of strndup.
44437         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
44438         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
44439
44440 2006-09-28  Bruno Haible  <bruno@clisp.org>
44441
44442         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
44443         * lib/gl_linkedhash_list.c: Likewise.
44444         * lib/gl_rbtreehash_list.c: Likewise.
44445
44446 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
44447
44448         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
44449         getaddrinfo.
44450
44451         * lib/__fpending.h: Don't include <stdio_ext.h> unless
44452         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
44453         it causes <stdio_ext.h> to cause a compile-time error.
44454         Problem reported by Nelson H. F. Beebe.
44455         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
44456         of HAVE_DECL___PENDING.
44457
44458         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
44459         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
44460         declaration.
44461
44462 2006-09-27  Jim Meyering  <jim@meyering.net>
44463
44464         This file could end up with a definition for a function
44465         named __strndup, rather than rpl_strndup on a system with
44466         incomplete weak_alias support.
44467         * lib/strndup.c (strndup): Rename from __strndup.
44468         Remove #defines that used to map __strndup to strndup.
44469         Don't use K&R prototypes.
44470         Remove LIBC-related code, since this file is not sync'd with glibc.
44471         * lib/strndup.h: Revamp, accordingly.
44472         * m4/strndup.m4: Modernize.
44473
44474 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
44475
44476         * modules/savewd (Depends-on): Add 'raise'.
44477         * lib/savewd.c: Include <signal.h>, for 'raise'.
44478
44479 2006-09-26  Jim Meyering  <jim@meyering.net>
44480
44481         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
44482         when we detect Darwin 8.7.0's acl_get_file bug.
44483         Rearrange to perform the new (below) run-test while $LIBS
44484         contains any acl-related library.  Set USE_ACL at the end.
44485         (gl_ACL_GET_FILE): New function.
44486
44487 2006-09-26  Eric Blake  <ebb9@byu.net>
44488
44489         * lib/verror.c: Include <config.h> unconditionally.
44490
44491 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
44492
44493         * modules/clock-time (Maintainer): Add self.
44494         * modules/getlogin_r (Depends-on): Add extensions.
44495
44496 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44497
44498         * modules/clock-time: New module.
44499         * modules/nanosleep (Depends-on): Add clock-time.
44500         * modules/gethrxtime (Depends-on): Likewise.
44501         * modules/gettime (Depends-on): Likewise.
44502         * modules/settime (Depends-on): Likewise.
44503
44504         * modules/fts-lgpl: Depend on openat.
44505         * modules/mkancesdirs: Depend on savewd.
44506         * modules/mkdir-p: Likewise.
44507
44508 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44509
44510         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
44511
44512         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
44513         `gl_have_arbitrary_file_name_length_limit' to
44514         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
44515         actually works between configure runs.
44516
44517 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44518             Bruno Haible  <bruno@clisp.org>
44519
44520         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
44521
44522 2006-09-25  Jim Meyering  <jim@meyering.net>
44523
44524         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
44525         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
44526
44527 2006-09-25  Eric Blake  <ebb9@byu.net>
44528
44529         * gnulib-tool (func_import, func_create_testdir): Fix typos in
44530         exec's in 2006-09-18 patch when shuffling fds.
44531
44532 2006-09-25  Bruno Haible  <bruno@clisp.org>
44533
44534         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
44535         Reported by Jim Meyering.
44536
44537 2006-09-24  Jim Meyering  <jim@meyering.net>
44538
44539         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
44540         compare a pointer against a literal "0".  That caused failures with
44541         at least HP-UX's hpcc.
44542
44543 2006-09-22  Simon Josefsson  <jas@extundo.com>
44544
44545         * modules/gc-sha1:
44546         * modules/gc-md4:
44547         * modules/gc-hmac-sha1:
44548         * modules/gc-hmac-md5:
44549         * modules/gc-des:
44550         * modules/gc-arcfour: Distribute more files.
44551
44552 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44553
44554         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
44555         (gl_linked_iterator_from_to): Initialize struct completely.
44556         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
44557         (gl_tree_iterator_from_to): Likewise
44558         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
44559         * lib/gl_array_list.c [lint] (gl_array_iterator)
44560         (gl_array_iterator_from_to): Likewise.
44561         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
44562         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
44563         (gl_carray_iterator_from_to): Likewise.
44564
44565         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
44566         * lib/md4.c (md4_process_block): Remove unused variable.
44567         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
44568         parentheses for clarity.
44569
44570 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44571
44572         * modules/bison-i18n (Depends-on): Add gettext.
44573
44574 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44575
44576         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
44577         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
44578         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
44579         also add missing comma that caused broken test.
44580         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
44581         stdlib.h, for `abort'.
44582         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
44583         variables.
44584         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
44585         include unistd.h if present, for `rmdir'.
44586         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
44587         variables.
44588         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
44589         in the process include standard headers for prototypes.
44590         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
44591         gets declared on GNU/Linux.
44592         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
44593         unistd.h, for `rmdir'.
44594         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
44595
44596         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
44597         always true.
44598         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
44599
44600         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
44601
44602 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44603
44604         * gnulib-tool (func_version): Create output all at once.  This
44605         may help avoid triggering unnecessary SIGPIPEs, and at any
44606         rate it doesn't hurt.
44607
44608 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44609             Bruno Haible  <bruno@clisp.org>
44610
44611         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
44612         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44613         * m4/signed.m4 (bh_C_SIGNED): Likewise.
44614
44615         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
44616         (gl_FUNC_VASPRINTF): Invoke it.
44617
44618 2006-09-22  Bruno Haible  <bruno@clisp.org>
44619
44620         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
44621         getloadavg.c as first argument.
44622
44623 2006-09-22  Bruno Haible  <bruno@clisp.org>
44624
44625         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
44626         at the beginning of the gl_INIT macro.
44627         * modules/getloadavg (configure.ac): Pass $gl_source_base to
44628         gl_GETLOADAVG.
44629
44630 2006-09-22  Bruno Haible  <bruno@clisp.org>
44631
44632         * gnulib-tool (func_create_megatestdir): Don't include the config-h
44633         module.
44634         Suggested by Ralf Wildenhues.
44635
44636 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
44637
44638         Import this patch from libc:
44639
44640         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
44641
44642         * lib/regex_internal.c (re_string_reconstruct): Handle
44643         offset < pstr->valid_raw_len && pstr->offsets_needed case.
44644         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
44645         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
44646         re_string_context_at.
44647
44648         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
44649         now requires it.
44650         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
44651         gl_REGEX now does it for us.
44652         (gl_REGEX): Add test taken from
44653         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
44654
44655         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
44656         Check that large offsets work.  Modernize Autoconf usages.
44657         Prefer "yes" to mean a good thing rather than a bad.
44658         Don't put "#define mkstemp" in config.h, as this might interfere
44659         with standard system headers that "#define mkstemp mkstemp64".
44660
44661         * modules/mkstemp (Depends-on): Add extensions, so that
44662         mkstemp is visible on some platforms.
44663         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
44664         (Include): Change to "mkstemp.h" from <stdlib.h>.
44665         (Files): Add mkstemp.h.
44666
44667         * lib/mkstemp.h: New file, since some standard headers
44668         #define mkstemp.
44669         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
44670         Include "mkstemp.h".
44671         Make the _LIBC code resemble glibc original more,
44672         e.g., use K&R style.
44673         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
44674         (mkstemp): Remove, since mkstemp.h does this for us.
44675         * lib/stdlib--.h: Include mkstemp.h.
44676
44677         Import this patch from libc:
44678
44679         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44680
44681         * lib/tempname.c (__gen_tempname): Change attempts_min
44682         into a macro.  Use preprocessor to decide how to initialize
44683         attempts [Coverity CID 67].
44684
44685 2006-09-20  Bruno Haible  <bruno@clisp.org>
44686
44687         * lib/mkdtemp.c: Import from libc.
44688         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
44689                 * sysdeps/posix/tempname.c (__gen_tempname): Change
44690                 attempts_min into a macro.  Use preprocessor to decide how to
44691                 initialize attempts [Coverity CID 67].
44692         2001-11-27  Paul Eggert  <eggert@twinsun.com>
44693                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
44694                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
44695
44696 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44697
44698         * gnulib-tool (func_exit): New function, to allow to pass the
44699         exit status portably through the trap.  Use everywhere.
44700         (--help, --version): Signal a write error.
44701         (trap): catch SIGPIPE, for write errors.
44702         Exit at the end of the trap, with the correct exit status.
44703
44704 2006-09-19  Karl Berry  <karl@gnu.org>
44705
44706         * doc/gnulib.texi: note about the license texinfo files.
44707
44708 2006-09-19  Eric Blake  <ebb9@byu.net>
44709
44710         * gnulib-tool: Avoid space-tab.
44711
44712 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44713
44714         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
44715         that prevented coreutils 6.1 from building.  Problem reported
44716         by Petter Reinholdtsen.
44717
44718 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
44719
44720         * gnulib-tool (avoidlist): Fix typo that broke options like
44721         --avoid=lock that are used by coreutils bootstrap.
44722
44723 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
44724
44725         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
44726         more systematically.
44727
44728 2006-09-18  Jim Meyering  <jim@meyering.net>
44729
44730         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
44731
44732 2006-09-18  Bruno Haible  <bruno@clisp.org>
44733
44734         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
44735
44736 2006-09-18  Bruno Haible  <bruno@clisp.org>
44737
44738         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
44739         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
44740         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
44741         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
44742         * m4/gettext.m4: Require autoconf >= 2.52.
44743         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
44744         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
44745         of gl_cv_header_inttypes_h.
44746
44747 2006-09-18  Bruno Haible  <bruno@clisp.org>
44748
44749         * lib/javaversion.c: Include configmake.h.
44750
44751 2006-09-18  Bruno Haible  <bruno@clisp.org>
44752
44753         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
44754         avoid that the while loops be executed in a subshell.
44755
44756 2006-09-18  Bruno Haible  <bruno@clisp.org>
44757
44758         * MODULES.html.sh (func_module): Break long lines.
44759         Suggested by Bruce Korb <bkorb@gnu.org>.
44760
44761 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44762
44763         Speed up by a factor of 1.12.
44764         * gnulib-tool (nl): New variable.
44765         (func_import): Rewrite include directive extraction to only read each
44766         directive once.
44767
44768 2006-09-17  Bruno Haible  <bruno@clisp.org>
44769
44770         * modules/javaversion (Makefile.am): Remove DEFS setting.
44771         (Depends-on): Add configmake, for PKGDATADIR definition.
44772
44773 2006-09-17  Bruno Haible  <bruno@clisp.org>
44774
44775         * gnulib-tool (func_create_testdir): Rewrite all files at once.
44776
44777 2006-09-17  Bruno Haible  <bruno@clisp.org>
44778
44779         * gnulib-tool (func_append): New function, stolen from libtool.m4.
44780         (func_modules_transitive_closure, func_modules_add_dummy,
44781         func_modules_to_filelist, func_import, func_create_testdir,
44782         func_create_megatestdir, ...): Use it wherever possible.
44783         Suggested by Ralf Wildenhues.
44784
44785 2006-09-16  Karl Berry  <karl@gnu.org>
44786
44787         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
44788         to avoid sectioning errors.
44789         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
44790         [ifinfo]: blank line after @center-ed titles.
44791         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
44792         Spell FSF address consistently with others.
44793         (These changes approved by rms.)
44794
44795 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44796
44797         Speed up by a factor of 1.61.
44798         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
44799         already checked module names again.
44800
44801 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44802
44803         Speed up by a factor of 1.13.
44804         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
44805         for new_files, and the input to func_add_or_update.
44806
44807 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44808
44809         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
44810         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
44811
44812 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44813
44814         * modules/mkancesdirs (Depends-on): Add fcntl.
44815         * modules/savewd: New file.
44816         * MODULES.html.sh (File system functions): Add savewd.
44817
44818         * modules/configmake (Makefile.am): Add support for the
44819         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
44820
44821 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44822
44823         * m4/savewd.m4: New file.
44824
44825 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44826
44827         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
44828         (dirchownmod): New arg FD.  All callers changed.
44829         Use FD rather than opening the directory ourself, as opening is
44830         now the caller's responsibility.
44831         * lib/dirchownmod.h: Likewise.
44832         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
44833         hosts that require <sys/types.h> before <sys/stat.h>.  Include
44834         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
44835         (test_dir): Remove.
44836         (mkancesdirs): Return length of prefix of FILE that has already
44837         been made, or -2 if there is a child doing the work.  Redo
44838         algorithm so that it is O(N) rather than O(N**2).  Optimize away
44839         ".", and treat ".." specially since it might stray back into
44840         already-created areas.  Use a subprocess if necessary.  New arg
44841         WD; all users changed.  MAKE_DIR function should now return 1
44842         if it creates a directory that is not readable.  Return -2 if
44843         a child process is spun off.
44844         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
44845         Adjust signature to match code.
44846         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
44847         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
44848         all users changed.
44849         * lib/savewd.c, lib/savewd.h: New files.
44850
44851 2006-09-15  Jim Meyering  <jim@meyering.net>
44852
44853         * modules/rename-dest-slash: New module.
44854         * MODULES.html.sh (posix_compat): Add it here.
44855
44856         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
44857
44858 2006-09-15  Jim Meyering  <jim@meyering.net>
44859
44860         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
44861         file.
44862
44863         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
44864
44865 2006-09-15  Jim Meyering  <jim@meyering.net>
44866
44867         * lib/rename-dest-slash.c (has_trailing_slash): Use
44868         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
44869         (rpl_rename_dest_slash): Perform the cheaper trailing slash
44870         test before testing whether SRC is a directory.
44871         Suggestions from Bruno Haible.
44872
44873         Avoid a warning about an unused variable.
44874         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
44875         into the #ifdef block where it's used.
44876
44877         * lib/rename-dest-slash.c: New file.
44878
44879 2006-09-14  Bruno Haible  <bruno@clisp.org>
44880
44881         * lib/allocsa.c: Include <config.h> unconditionally.
44882         * lib/asnprintf.c: Likewise.
44883         * lib/asprintf.c: Likewise.
44884         * lib/c-strcasecmp.c: Likewise.
44885         * lib/c-strcasestr.c: Likewise.
44886         * lib/c-strncasecmp.c: Likewise.
44887         * lib/c-strstr.c: Likewise.
44888         * lib/classpath.c: Likewise.
44889         * lib/clean-temp.c: Likewise.
44890         * lib/concatpath.c: Likewise.
44891         * lib/copy-file.c: Likewise.
44892         * lib/csharpcomp.c: Likewise.
44893         * lib/csharpexec.c: Likewise.
44894         * lib/execute.c: Likewise.
44895         * lib/fatal-signal.c: Likewise.
44896         * lib/findprog.c: Likewise.
44897         * lib/fwriteerror.c: Likewise.
44898         * lib/gl_array_list.c: Likewise.
44899         * lib/gl_array_oset.c: Likewise.
44900         * lib/gl_avltree_list.c: Likewise.
44901         * lib/gl_avltree_oset.c: Likewise.
44902         * lib/gl_avltreehash_list.c: Likewise.
44903         * lib/gl_carray_list.c: Likewise.
44904         * lib/gl_linked_list.c: Likewise.
44905         * lib/gl_linkedhash_list.c: Likewise.
44906         * lib/gl_list.c: Likewise.
44907         * lib/gl_oset.c: Likewise.
44908         * lib/gl_rbtree_list.c: Likewise.
44909         * lib/gl_rbtree_oset.c: Likewise.
44910         * lib/gl_rbtreehash_list.c: Likewise.
44911         * lib/imaxabs.c: Likewise.
44912         * lib/imaxdiv.c: Likewise.
44913         * lib/javacomp.c: Likewise.
44914         * lib/javaexec.c: Likewise.
44915         * lib/javaversion.c: Likewise.
44916         * lib/linebreak.c: Likewise.
44917         * lib/localcharset.c: Likewise.
44918         * lib/lock.c: Likewise.
44919         * lib/mbchar.c: Likewise.
44920         * lib/mbswidth.c: Likewise.
44921         * lib/mkdtemp.c: Likewise.
44922         * lib/pipe.c: Likewise.
44923         * lib/printf-args.c: Likewise.
44924         * lib/printf-parse.c: Likewise.
44925         * lib/progname.c: Likewise.
44926         * lib/progreloc.c: Likewise.
44927         * lib/readlink.c: Likewise.
44928         * lib/sh-quote.c: Likewise.
44929         * lib/stpcpy.c: Likewise.
44930         * lib/stpncpy.c: Likewise.
44931         * lib/strcasecmp.c: Likewise.
44932         * lib/strcasestr.c: Likewise.
44933         * lib/strcspn.c: Likewise.
44934         * lib/striconv.c: Likewise.
44935         * lib/strncasecmp.c: Likewise.
44936         * lib/strnlen1.c: Likewise.
44937         * lib/strstr.c: Likewise.
44938         * lib/strtok_r.c: Likewise.
44939         * lib/tls.c: Likewise.
44940         * lib/tmpdir.c: Likewise.
44941         * lib/unicodeio.c: Likewise.
44942         * lib/unsetenv.c: Likewise.
44943         * lib/vasnprintf.c: Likewise.
44944         * lib/vasprintf.c: Likewise.
44945         * lib/wait-process.c: Likewise.
44946         * lib/xallocsa.c: Likewise.
44947         * lib/xsetenv.c: Likewise.
44948         * lib/xstriconv.c: Likewise.
44949
44950 2006-09-13  Simon Josefsson  <jas@extundo.com>
44951
44952         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
44953         that internally, suggested by Ralf Wildenhues
44954         <Ralf.Wildenhues@gmx.de>.
44955
44956 2006-09-13  Simon Josefsson  <jas@extundo.com>
44957
44958         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
44959         @LIBOBJS@.
44960         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44961
44962 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
44963
44964         * lib/_fpending.c: Include <config.h> unconditionally, since we no
44965         longer worry about uses that don't define HAVE_CONFIG_H.
44966         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
44967         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
44968         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
44969         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
44970         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
44971         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
44972         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
44973         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
44974         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
44975         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
44976         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
44977         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
44978         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
44979         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
44980         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
44981         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
44982         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
44983         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
44984         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
44985         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
44986         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
44987         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
44988         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
44989         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
44990         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
44991         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
44992         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
44993         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
44994         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
44995         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
44996         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
44997         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
44998         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
44999         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
45000         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
45001         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
45002         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
45003         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
45004         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
45005         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
45006         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
45007         Likewise.
45008
45009 2006-09-13  Eric Blake  <ebb9@byu.net>
45010
45011         * lib/getopt.c: Fix typo in last commit.
45012
45013 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45014
45015         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
45016         dgettext.
45017
45018 2006-09-12  Jim Meyering  <jim@meyering.net>
45019
45020         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
45021         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
45022         Reported by Nelson H. F. Beebe.
45023
45024 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45025
45026         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
45027         program_invocation_name and program_invocation_short_name are
45028         initialized.
45029         * lib/argp-namefrob.h: Move declarations of program_invocation_name
45030         and program_invocation_short_name to argp.h, so they are visible
45031         to user programs.
45032         * lib/argp.h: Likewise
45033
45034 2006-09-10  Bruno Haible  <bruno@clisp.org>
45035
45036         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
45037         m4/inttypes_h.m4, m4/uintmax_t.m4.
45038
45039 2006-09-10  Bruno Haible  <bruno@clisp.org>
45040
45041         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
45042         gl_AC_TYPE_UINTMAX_T.
45043
45044 2006-09-10  Bruno Haible  <bruno@clisp.org>
45045
45046         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
45047
45048 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
45049
45050         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
45051         convention.  Text proposed by Bruno Haible.
45052         (struct argp_option): Document the use of N_() wrappers.
45053
45054         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
45055         '\v', and translate the two parts separately, instead of feeding
45056         the whole string to gettext.  This allows to exclude
45057         '\v' from the strings visible to the translator by writing doc
45058         strings as N_("..") "\v" N_("..").
45059
45060 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
45061
45062         * config/srclist.txt: Undo latest change; the bug was fixed.
45063
45064 2006-09-09  Bruno Haible  <bruno@clisp.org>
45065
45066         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
45067         assignments if building a library without libtool.
45068         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
45069         in func_emit_lib_Makefile_am.
45070         (func_import): When building a static library libfoo.a, arrange to
45071         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
45072         (func_create_testdir): Likewise.
45073         * modules/gc (configure.ac, Makefile.am): If building statically,
45074         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
45075         * modules/iconvme (configure.ac, Makefile.am): Likewise.
45076         * modules/striconv (configure.ac, Makefile.am): Likewise.
45077         Based on a suggestion by Ralf Wildenhues.
45078
45079 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45080
45081         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
45082         Check for unistd.h too, since Autoconf doesn't assume POSIX.
45083         Also:
45084
45085         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45086         Add year_2050_test to catch glibc bug 2821
45087         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
45088
45089         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45090         Prefer #ifdef to #if.
45091
45092         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
45093         Return from 'main' instead of calling 'exit'.
45094
45095 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45096
45097         * lib/mktime.c (guess_time_tm): Fix bug where mktime
45098         returned the maximum time_t value rather than (time_t) -1.
45099         Problem originally reported by William Bardwell
45100         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
45101
45102         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
45103         Moved to here ...
45104         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
45105         ... from here.
45106
45107 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
45108
45109         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
45110         2821 is fixed.
45111
45112 2006-09-08  Jim Meyering  <jim@meyering.net>
45113
45114         Don't make generated files read-only.  That would bother too many
45115         people.  However, do retain the ability to work when targets are
45116         read-only: remove the destination and temporary files before writing
45117         them (when generated via sed or echo), or by using the -f option for
45118         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
45119         * modules/alloca-opt, modules/argz, modules/arpa_inet:
45120         * modules/byteswap, modules/configmake, modules/fcntl:
45121         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
45122         * modules/localcharset, modules/netinet_in, modules/poll:
45123         * modules/stdbool, modules/stdint, modules/sys_select:
45124         * modules/sys_socket, modules/sys_stat, modules/sysexits:
45125
45126 2006-09-08  Jim Meyering  <jim@meyering.net>
45127
45128         Avoid new build failure on FreeBSD 6.0.
45129         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
45130         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
45131         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
45132
45133 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45134
45135         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
45136
45137 2006-09-07  Jim Meyering  <jim@meyering.net>
45138
45139         Fix global typo in last change: use chmod u-w, not chmod u-x.
45140         Spotted by Paul Eggert and Bruce Korb.
45141         * modules/alloca-opt, modules/argz, modules/arpa_inet:
45142         * modules/byteswap, modules/configmake, modules/fcntl:
45143         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
45144         * modules/localcharset, modules/netinet_in, modules/poll:
45145         * modules/stdbool, modules/stdint, modules/sys_select:
45146         * modules/sys_socket, modules/sys_stat, modules/sysexits:
45147
45148 2006-09-06  Jim Meyering  <jim@meyering.net>
45149
45150         Make generated files be read-only.
45151         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
45152         Ensure that each generated file is now read-only.
45153         * modules/argz: Likewise.
45154         * modules/arpa_inet: Likewise.
45155         * modules/byteswap: Likewise.
45156         * modules/configmake: Likewise.
45157         * modules/fcntl: Likewise.
45158         * modules/fnmatch: Likewise.
45159         * modules/getopt: Likewise.
45160         * modules/glob: Likewise.
45161         * modules/inttypes: Likewise.
45162         * modules/netinet_in: Likewise.
45163         * modules/poll: Likewise.
45164         * modules/stdbool: Likewise.
45165         * modules/stdint: Likewise.
45166         * modules/sys_select: Likewise.
45167         * modules/sys_socket: Likewise.
45168         * modules/sys_stat: Likewise.
45169         * modules/sysexits: Likewise.
45170         * modules/localcharset: Same as above, but continue using temporary
45171         file named "t-$@" (why different?) rather than the "$@-t" used
45172         everywhere else.
45173
45174         * modules/sysexits (Makefile.am): Replace literal occurrences
45175         of "sysexit.h" more readable, and more consistent, "$@".
45176
45177 2006-09-06  Bruno Haible  <bruno@clisp.org>
45178
45179         * modules/striconv: New file.
45180         * modules/xstriconv: New file.
45181         * MODULES.html.sh (Internationalization functions): Add striconv,
45182         xstriconv.
45183
45184 2006-09-06  Bruno Haible  <bruno@clisp.org>
45185
45186         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
45187         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
45188         not using libtool correctly.
45189
45190 2006-09-06  Bruno Haible  <bruno@clisp.org>
45191
45192         * lib/striconv.h: New file.
45193         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
45194         iconvstring.c.
45195         * lib/xstriconv.h: New file.
45196         * lib/xstriconv.c: New file.
45197
45198 2006-09-06  Bruno Haible  <bruno@clisp.org>
45199
45200         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
45201         lib_..._LDFLAGS.
45202
45203 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45204
45205         * lib/argz_.h: Sync from Libtool.
45206
45207         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
45208                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
45209
45210         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
45211
45212 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
45213
45214         * modules/trim: New file.
45215
45216 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
45217
45218         * lib/trim.h: New file.
45219         * lib/trim.c: New file.
45220
45221 2006-09-05  Bruno Haible  <bruno@clisp.org>
45222
45223         * MODULES.html.sh (String handling): Add trim.
45224
45225 2006-09-04  Karl Berry  <karl@gnu.org>
45226
45227         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
45228         until next release.
45229
45230 2006-09-03  Bruno Haible  <bruno@clisp.org>
45231
45232         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
45233         correctly.
45234
45235 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45236
45237         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
45238         not gl_GETLOADAVG.  Omit unneeded semicolons.
45239         Problems reported by Ralf Wildenhues in
45240         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
45241         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
45242         at the end, which is the usual gnulib style.
45243
45244         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
45245         of doing all the work ourselves.
45246         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
45247         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
45248
45249 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45250
45251         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
45252         Problem reported by Ralf Wildenhues in
45253         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
45254
45255         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
45256         HAVE_STRUCT_STATFS_F_FSTYPENAME.
45257
45258 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
45259
45260         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
45261         yesterday's patch by changing test -n to test -z.
45262
45263 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45264
45265         * modules/getloadavg (Files): Add m4/getloadavg.m4.
45266         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
45267         the former is now obsolescent.
45268
45269         * modules/chdir-long (Depends-on): Add fcntl.
45270
45271 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45272
45273         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
45274         obsolescent, and programs should use gnulib instead.
45275         * m4/getloadavg.m4: New file, with contents taken from Autoconf
45276         but with prefixes changed.
45277
45278 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
45279
45280         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
45281         or stdbool.h, because they might not exist while configuring.
45282
45283         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
45284         Don't include unistd.h or limits.h; not needed, since chdir-long.h
45285         does that for us.
45286         (O_DIRECTORY): Remove.
45287
45288 2006-08-31  Eric Blake  <ebb9@byu.net>
45289
45290         * gnulib-tool: Don't let emacs change spaces to TAB.
45291
45292 2006-08-31  Bruno Haible  <bruno@clisp.org>
45293
45294         * gnulib-tool: When calling func_import more than once, do it in a
45295         subshell.
45296         Reported by Eric Blake <ebb9@byu.net>.
45297
45298 2006-08-31  Bruno Haible  <bruno@clisp.org>
45299
45300         * gnulib-tool (nl): Remove variable.
45301         (sed_transform_lib_file): Use more robust test for config-h module.
45302         (func_import): Fix typo in 2006-08-25 patch.
45303
45304 2006-08-31  Bruno Haible  <bruno@clisp.org>
45305
45306         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
45307         specified, augment Makefile.am variables instead of assigning them.
45308
45309 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
45310
45311         Work around a bug in both the Linux and SunOS 64-bit kernels:
45312         nanosleep mishandles sleeps for longer than 2**31 seconds.
45313         Problem reported by Frank v Waveren in
45314         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
45315         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
45316         Check for nanosleep bug.
45317         (LIB_NANOSLEEP): Append clock_gettime library if needed.
45318
45319 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
45320
45321         Work around a bug in both the Linux and SunOS 64-bit kernels:
45322         nanosleep mishandles sleeps for longer than 2**31 seconds.
45323         Problem reported by Frank v Waveren in
45324         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
45325         * lib/nanosleep.c (BILLION): New constant.
45326         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
45327         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
45328         implementation.
45329
45330 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
45331
45332         * modules/nanosleep (Depends-on): Add gettime.
45333
45334 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
45335         and Simon Josefsson  <jas@extundo.com>
45336         and Oskar Liljeblad  <oskar@osk.mine.nu>
45337
45338         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
45339         * gnulib-tool (func_import): New license type 'unmodifiable license
45340         text'.
45341         * modules/fdl: Use it.  Longer description.
45342         * module/gpl, module/lgpl: New files.
45343
45344 2006-08-30  Jim Meyering  <jim@meyering.net>
45345
45346         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
45347         shadowing the parameter.
45348
45349 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45350
45351         Sync from Libtool:
45352
45353         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45354
45355         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
45356         sharing with gnulib.  Report by Eric Blake.
45357
45358 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
45359
45360         * modules/isapipe: New file.
45361         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
45362
45363 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
45364
45365         * modules/configmake (Makefile.am): Add a comment, and omit
45366         the CONFIGMAKE_ prefix from generated macro names.  Suggested
45367         by Bruno Haible.
45368
45369 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
45370
45371         * m4/isapipe.m4: New file.
45372
45373 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
45374
45375         * lib/isapipe.c, lib/isapipe.h: New files.
45376
45377 2006-08-29  Jim Meyering  <jim@meyering.net>
45378
45379         * modules/configmake (Makefile.am): Make configmake.h depend on
45380         Makefile.  Otherwise, a stale configmake.h could hang around.
45381
45382 2006-08-29  Eric Blake  <ebb9@byu.net>
45383
45384         * lib/error.c (error_at_line, print_errno_message): Match libc, after
45385         resolution of upstream bug 3044.
45386
45387 2006-08-29  Bruno Haible  <bruno@clisp.org>
45388
45389         * modules/localcharset (Depends-on): Add configmake.
45390         (Makefile.am): Remove setting of LIBDIR through DEFS.
45391
45392 2006-08-29  Bruno Haible  <bruno@clisp.org>
45393
45394         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
45395         defined.
45396
45397 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
45398
45399         * modules/fcntl: New file.
45400         * modules/chdir-safer (Depends-on): Add fcntl.
45401         * modules/fts: Likewise.
45402         * modules/mkdir-p: Likewise.
45403
45404         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
45405         This undoes the most recent change, since we're now addressing the
45406         problem in a different way.
45407
45408         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
45409         into output, since the output might be called Makefile.am even
45410         if $makefile_name is something different.
45411         (func_import): Use $makefile_am rather than
45412         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
45413         empty.
45414
45415         * modules/inttypes (Files): Add m4/inttypes-h.m4.
45416
45417 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
45418
45419         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
45420         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
45421         recent change to stdint.m4, since we're now addressing the problem in a
45422         different way.
45423
45424 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
45425
45426         * m4/fcntl_h.m4: New file.
45427
45428 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
45429
45430         * lib/fcntl_.h: New file.
45431         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
45432         the fcntl module.
45433         * lib/dirchownmod.c: Likewise.
45434         * lib/fts.c: Likewise.
45435
45436         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
45437         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
45438         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
45439         just before including <inttypes.h>, to avoid circular inclusion.
45440
45441 2006-08-28  Jim Meyering  <jim@meyering.net>
45442
45443         * doc/visibility.texi: Actually read and correct the grammar of the
45444         sentence affected by yesterday's change.
45445
45446 2006-08-28  Eric Blake  <ebb9@byu.net>
45447
45448         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
45449         needs wrapper.
45450
45451 2006-08-28  Eric Blake  <ebb9@byu.net>
45452
45453         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
45454
45455 2006-08-28  Eric Blake  <ebb9@byu.net>
45456
45457         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
45458
45459 2006-08-28  Bruno Haible  <bruno@clisp.org>
45460
45461         * modules/c-strstr: New file, from GNU gettext.
45462         * MODULES.html.sh (String handling): Add c-strstr.
45463
45464 2006-08-28  Bruno Haible  <bruno@clisp.org>
45465
45466         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
45467         macros.
45468         Reported by Eric Blake.
45469
45470 2006-08-28  Bruno Haible  <bruno@clisp.org>
45471
45472         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
45473         (VASNPRINTF): Return a string of length > INT_MAX without failing.
45474         * lib/vasprintf.c: Include errno.h, limits.h.
45475         (EOVERFLOW): New fallback definition.
45476         (vasprintf): Test here whether the string length is > INT_MAX.
45477         * lib/vsnprintf.c: Include errno.h, limits.h.
45478         (EOVERFLOW): New fallback definition.
45479         (vsnprintf): Fix bug when generated string was too long for the buffer.
45480         Test here whether the string length is > INT_MAX.
45481
45482 2006-08-28  Bruno Haible  <bruno@clisp.org>
45483
45484         * lib/inttypes_.h (SCNX*): Remove definitions.
45485         Reported by Eric Blake.
45486
45487 2006-08-28  Bruno Haible  <bruno@clisp.org>
45488
45489         * lib/c-strstr.h: New file, from GNU gettext.
45490         * lib/c-strstr.c: New file, from GNU gettext.
45491
45492 2006-08-28  Bruno Haible  <bruno@clisp.org>
45493
45494         * gnulib-tool: Reorder some statements.
45495
45496 2006-08-28  Bruno Haible  <bruno@clisp.org>
45497
45498         * gnulib-tool: New option --makefile-name.
45499         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
45500         $makefile_name.
45501         (func_import): Write $makefile_name to the cache file, and read it from
45502         there unless explicitly specified. Use $makefile_name as file name
45503         instead of Makefile.am. Adjust the recommendations accordingly.
45504
45505 2006-08-28  Bruno Haible  <bruno@clisp.org>
45506
45507         * gnulib-tool (func_verify_module): Check against misapplying patch.
45508
45509 2006-08-28  Bruno Haible  <bruno@clisp.org>
45510
45511         * gnulib-tool (func_relativize, func_relconcat): New functions.
45512         Give an error if --local-dir is given with --update.
45513         Remove trailing slashes from $local_gnulib_dir.
45514         (func_import): Store the relativized $local_gnulib_dir in
45515         gnulib-cache.m4, and read it from there if not specified explicitly.
45516
45517 2006-08-28  Bruno Haible  <bruno@clisp.org>
45518
45519         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
45520         is the current directory. Respect also $local_gnulib_dir.
45521
45522 2006-08-28  Bruno Haible  <bruno@clisp.org>
45523             Simon Josefsson  <jas@extundo.com>
45524
45525         BeOS portability.
45526         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
45527
45528 2006-08-27  Jim Meyering  <jim@meyering.net>
45529
45530         * doc/visibility.texi: Remove duplicate word: "pointer".
45531
45532 2006-08-26  Bruno Haible  <bruno@clisp.org>
45533
45534         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
45535         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
45536         (Makefile.am): Create inttypes.h from inttypes_.h.
45537         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
45538
45539         * modules/imaxabs: New file.
45540
45541         * modules/imaxdiv: New file.
45542
45543 2006-08-26  Bruno Haible  <bruno@clisp.org>
45544
45545         * m4/inttypes.m4: New file.
45546         * m4/_inttypes_h.m4: Remove file.
45547         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
45548         PRI_MACROS_BROKEN.
45549         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
45550
45551         * m4/imaxabs.m4: New file.
45552
45553         * m4/imaxdiv.m4: New file.
45554
45555 2006-08-26  Bruno Haible  <bruno@clisp.org>
45556
45557         * lib/inttypes_.h: New file.
45558         * lib/inttypes.h: Remove file.
45559         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
45560
45561         * lib/imaxabs.c: New file.
45562
45563         * lib/imaxdiv.c: New file.
45564
45565 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45566
45567         New config-h module, so that "make" output needn't be cluttered
45568         by -DHAVE_CONFIG_H.
45569         * MODULES.html.sh (Support for building libraries and executables):
45570         Add config-h.
45571         * modules/config-h: New file.
45572         * gnulib-tool (nl, sed_transform_lib_file): New vars.
45573         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
45574         the config-h module is used.
45575
45576         New configmake module, so that "make" output needn't be cluttered
45577         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
45578         * MODULES.html.sh (Support for building libraries and executables):
45579         Add configmake.
45580         * modules/configmake: New file.
45581
45582 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
45583
45584         * m4/config-h.m4: New file.
45585
45586 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45587
45588         * config/srclist.txt: Add elisp-comp.
45589
45590 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
45591
45592         * MODULES.html.sh (Support for building libraries and executables):
45593         Add elisp-comp.
45594         * build-aux/elisp-comp: New file.
45595         * modules/elisp-comp: New file.
45596
45597 2006-08-24  Bruno Haible  <bruno@clisp.org>
45598
45599         * gnulib-tool (func_create_testdir): Use non-default values of
45600         sourcebase and m4base.
45601
45602 2006-08-24  Bruno Haible  <bruno@clisp.org>
45603
45604         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
45605         HTML structure.
45606
45607 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
45608
45609         * modules/openat (Depends-on): Add lchown.
45610
45611 2006-08-23  Bruno Haible  <bruno@clisp.org>
45612
45613         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
45614         of gl_LOCK_EARLY instead of gl_LOCK.
45615
45616 2006-08-23  Bruno Haible  <bruno@clisp.org>
45617
45618         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
45619         on OSF/1 to no.
45620         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
45621
45622 2006-08-23  Bruno Haible  <bruno@clisp.org>
45623
45624         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
45625         as unusable.
45626
45627         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
45628         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
45629         (gl_LOCK): New macro.
45630
45631 2006-08-22  Simon Josefsson  <jas@extundo.com>
45632
45633         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
45634         to md5 module.
45635
45636 2006-08-22  Simon Josefsson  <jas@extundo.com>
45637
45638         * MODULES.html.sh: Add "Support for maintaining and release
45639         projects".
45640
45641         * build-aux/gnupload: New file, from coreutils.
45642
45643 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45644
45645         Avoid the need for AC_LIBSOURCES in m4 macros.
45646         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
45647         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
45648         * modules/check-version (EXTRA_DIST): Add check-version.h.
45649         * modules/crc (EXTRA_DIST): Add crc.h.
45650         * modules/des (EXTRA_DIST): Add des.h.
45651         * modules/gc (EXTRA_DIST): Add gc.h.
45652         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
45653         * modules/getline (EXTRA_DIST): Add getline.h.
45654         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
45655         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
45656         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
45657         * modules/md2 (EXTRA_DIST): Add md2.h.
45658         * modules/md4 (EXTRA_DIST): Add md4.h.
45659         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
45660         * modules/read-file (EXTRA_DIST): Add read-file.h.
45661         * modules/readline (EXTRA_DIST): Add readline.h.
45662         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
45663         rijndael-api-fst.h.
45664
45665 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45666
45667         * m4/rijndael.m4 (gl_ARCFOUR):
45668         * m4/arctwo.m4 (gl_ARCTWO):
45669         * m4/check-version.m4 (gl_CHECK_VERSION):
45670         * m4/crc.m4 (gl_CRC):
45671         * m4/des.m4 (gl_DES):
45672         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
45673         * m4/gc.m4 (gl_GC):
45674         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
45675         * m4/getline.m4 (gl_FUNC_GETLINE):
45676         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
45677         * m4/hmac-md5.m4 (gl_HMAC_MD5):
45678         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
45679         * m4/md2.m4 (gl_MD2):
45680         * m4/md4.m4 (gl_MD4):
45681         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
45682         * m4/read-file.m4 (gl_FUNC_READ_FILE):
45683         * m4/readline.m4 (gl_FUNC_READLINE):
45684         * m4/rijndael.m4 (gl_RIJNDAEL):
45685         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45686         to get the necessary .h files and whatnot.
45687
45688 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
45689
45690         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
45691         gnulib rather than the other way around.
45692         * config/srclistvars.sh (COREUTILS): Remove.
45693
45694 2006-08-22  Jim Meyering  <jim@meyering.net>
45695
45696         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
45697
45698         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
45699
45700 2006-08-22  Eric Blake  <ebb9@byu.net>
45701
45702         * modules/regexprops-generic: New file.
45703         * MODULES.html.sh (Support for building documentation): List it.
45704
45705 2006-08-22  Eric Blake  <ebb9@byu.net>
45706
45707         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
45708         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45709         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
45710         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
45711
45712 2006-08-22  Bruno Haible  <bruno@clisp.org>
45713
45714         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
45715         and lib_LTLIBRARIES like the other lib_* variables.
45716
45717 2006-08-22  Bruno Haible  <bruno@clisp.org>
45718
45719         * build-aux/x-to-1.in: New file, from GNU gettext.
45720
45721 2006-08-22  Bruno Haible  <bruno@clisp.org>
45722
45723         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
45724         <utmpx.h> exists.
45725
45726 2006-08-22  Bruno Haible  <bruno@clisp.org>
45727
45728         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
45729         <utmpx.h> exists.
45730
45731 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45732
45733         BeOS portability.
45734         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
45735         exist.
45736         Problem reported by Bruno Haible.
45737
45738 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45739
45740         Avoid the need for AC_LIBSOURCES in m4 macros.
45741         * modules/acl (EXTRA_DIST): Add acl.h.
45742         * modules/argmatch (Files): Add m4/argmatch.m4.
45743         (configure.ac): Add gl_ARGMATCH.
45744         (EXTRA_DIST): Renamed from lib_SOURCES, for
45745         consistency with the other modules.  Remove argmatch.c.
45746         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
45747         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
45748         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
45749         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
45750         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
45751         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
45752         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
45753         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
45754         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
45755         * modules/closeout (EXTRA_DIST): Add closeout.h.
45756         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
45757         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
45758         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
45759         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
45760         dirname.h; remove basename.c and stripslash.c.
45761         * modules/exclude (EXTRA_DIST): Add exclude.h.
45762         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
45763         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
45764         * modules/file-type (EXTRA_DIST): Add file-type.h.
45765         * modules/filemode (EXTRA_DIST): Add filemode.h.
45766         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
45767         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45768         * modules/fpending (EXTRA_DIST): Add __fpending.h.
45769         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
45770         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
45771         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
45772         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
45773         * modules/getdate (EXTRA_DIST): Add getdate.c.
45774         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
45775         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
45776         * modules/getpass (EXTRA_DIST): Add getpass.h.
45777         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
45778         * modules/group-member (EXTRA_DIST): Add group-member.h.
45779         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
45780         * modules/hash (EXTRA_DIST): Add hash.h.
45781         * modules/human (EXTRA_DIST): Add human.h.
45782         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
45783         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
45784         * modules/lchown (EXTRA_DIST): Add lchown.h.
45785         * modules/long-options (EXTRA_DIST): Add long-options.h.
45786         * modules/lstat (EXTRA_DIST): Add lstat.h.
45787         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
45788         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
45789         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
45790         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
45791         * modules/memxor (EXTRA_DIST): Add memxor.h.
45792         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
45793         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
45794         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
45795         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
45796         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
45797         * modules/physmem (EXTRA_DIST): Add physmem.h.
45798         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
45799         * modules/posixver (EXTRA_DIST): Add posixver.h.
45800         * modules/quote (EXTRA_DIST): Add quote.h.
45801         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
45802         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
45803         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
45804         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
45805         regex_internal.h regexec.c.
45806         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
45807         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
45808         * modules/same (EXTRA_DIST): Add same.h.
45809         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
45810         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
45811         * modules/savedir (EXTRA_DIST): Add savedir.h.
45812         * modules/sha1 (EXTRA_DIST): Add sha1.h.
45813         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
45814         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
45815         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
45816         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
45817         * modules/strdup (EXTRA_DIST): Add strdup.h.
45818         * modules/strftime (EXTRA_DIST): Add strftime.h.
45819         * modules/strndup (EXTRA_DIST): Add strndup.h.
45820         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
45821         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
45822         * modules/time_r (EXTRA_DIST): Add time_r.h.
45823         * modules/timespec (EXTRA_DIST): Add timespec.h.
45824         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45825         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
45826         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
45827         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
45828         * modules/userspec (EXTRA_DIST): Add userspec.h.
45829         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
45830         * modules/utimens (EXTRA_DIST): Add utimens.h.
45831         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
45832         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
45833         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
45834         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
45835         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
45836         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
45837         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
45838         * modules/yesno (EXTRA_DIST): Add yesno.h.
45839
45840 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45841
45842         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
45843
45844         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
45845         * m4/dev-ino.m4, same-inode.m4: Remove.
45846
45847         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
45848         * m4/acl.m4 (AC_FUNC_ACL):
45849         * m4/backupfile.m4 (gl_BACKUPFILE):
45850         * m4/c-strtod.m4 (gl_C99_STRTOLD):
45851         * m4/canon-host.m4 (gl_CANON_HOST):
45852         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45853         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
45854         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
45855         * m4/cloexec.m4 (gl_CLOEXEC):
45856         * m4/close-stream.m4 (gl_CLOSE_STREAM):
45857         * m4/closeout.m4 (gl_CLOSEOUT):
45858         * m4/dirfd.m4 (gl_FUNC_DIRFD):
45859         * m4/dirname.m4 (gl_DIRNAME):
45860         * m4/exclude.m4 (gl_EXCLUDE):
45861         * m4/exitfail.m4 (gl_EXITFAIL):
45862         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
45863         * m4/file-type.m4 (gl_FILE_TYPE):
45864         * m4/filemode.m4 (gl_FILEMODE):
45865         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
45866         * m4/fpending.m4 (gl_FUNC_FPENDING):
45867         * m4/fprintftime.m4 (gl_FPRINTFTIME):
45868         * m4/fts.m4 (gl_FUNC_FTS):
45869         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
45870         * m4/getdate.m4 (gl_GETDATE):
45871         * m4/gethrxtime.m4 (gl_GETHRXTIME):
45872         * m4/getpagesize.m4 (gl_GETPAGESIZE):
45873         * m4/getpass.m4 (gl_FUNC_GETPASS):
45874         * m4/gettime.m4 (gl_GETTIME):
45875         * m4/getugroups.m4 (gl_GETUGROUPS):
45876         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
45877         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
45878         * m4/hard-locale.m4 (gl_HARD_LOCALE):
45879         * m4/hash.m4 (gl_HASH):
45880         * m4/idcache.m4 (gl_IDCACHE):
45881         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
45882         * m4/lchown.m4 (gl_FUNC_LCHOWN):
45883         * m4/long-options.m4 (gl_LONG_OPTIONS):
45884         * m4/lstat.m4 (gl_FUNC_LSTAT):
45885         * m4/md5.m4 (gl_MD5):
45886         * m4/memcasecmp.m4 (gl_MEMCASECMP):
45887         * m4/memcoll.m4 (gl_MEMCOLL):
45888         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
45889         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
45890         * m4/memxor.m4 (gl_MEMXOR):
45891         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
45892         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
45893         * m4/modechange.m4 (gl_MODECHANGE):
45894         * m4/mountlist.m4 (gl_MOUNTLIST):
45895         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45896         * m4/openat.m4 (gl_FUNC_OPENAT):
45897         * m4/pathmax.m4 (gl_PATHMAX):
45898         * m4/physmem.m4 (gl_PHYSMEM):
45899         * m4/posixtm.m4 (gl_POSIXTM):
45900         * m4/posixver.m4 (gl_POSIXVER):
45901         * m4/quote.m4 (gl_QUOTE):
45902         * m4/quotearg.m4 (gl_QUOTEARG):
45903         * m4/readtokens.m4 (gl_READTOKENS):
45904         * m4/readutmp.m4 (gl_READUTMP):
45905         * m4/regex.m4 (gl_REGEX):
45906         * m4/safe-read.m4 (gl_SAFE_READ):
45907         * m4/safe-write.m4 (gl_SAFE_WRITE):
45908         * m4/same.m4 (gl_SAME):
45909         * m4/save-cwd.m4 (gl_SAVE_CWD):
45910         * m4/savedir.m4 (gl_SAVEDIR):
45911         * m4/settime.m4 (gl_SETTIME):
45912         * m4/sha1.m4 (gl_SHA1):
45913         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
45914         * m4/stat-macros.m4 (gl_STAT_MACROS):
45915         * m4/stat-time.m4 (gl_STAT_TIME):
45916         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
45917         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
45918         * m4/strdup.m4 (gl_FUNC_STRDUP):
45919         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
45920         * m4/strndup.m4 (gl_FUNC_STRNDUP):
45921         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
45922         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
45923         * m4/time_r.m4 (gl_TIME_R):
45924         * m4/timespec.m4 (gl_TIMESPEC):
45925         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
45926         * m4/unlinkdir.m4 (gl_UNLINKDIR):
45927         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
45928         * m4/userspec.m4 (gl_USERSPEC):
45929         * m4/utimecmp.m4 (gl_UTIMECMP):
45930         * m4/utimens.m4 (gl_UTIMENS):
45931         * m4/xalloc.m4 (gl_XALLOC):
45932         * m4/xgetcwd.m4 (gl_XGETCWD):
45933         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
45934         * m4/xreadlink.m4 (gl_XREADLINK):
45935         * m4/xstrtod.m4 (gl_XSTRTOD):
45936         * m4/yesno.m4 (gl_YESNO):
45937         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45938         to get the necessary .h files and whatnot.
45939
45940 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
45941             Bruno Haible  <bruno@clisp.org>
45942
45943         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
45944         /bin/sh understanding of '!' conditional negation.
45945
45946 2006-08-21  Jim Meyering  <jim@meyering.net>
45947
45948         * modules/openat (Depends-on): Really alphabetize.
45949
45950         * modules/acl (Depends-on): Add error and quote.
45951
45952         * check-module (find_included_lib_files): Add at-func.c to the
45953         ok-to-include-more-than-once white list.
45954
45955         * modules/openat (Depends-on): Add lstat.  Alphabetize.
45956
45957 2006-08-21  Bruno Haible  <bruno@clisp.org>
45958
45959         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45960         Emit a pkgdata_DATA variable only if some snippets add contents to it.
45961         Reported by Martin Lambers <marlam@marlam.de>.
45962
45963 2006-08-21  Bruno Haible  <bruno@clisp.org>
45964
45965         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
45966         specify an installation location, don't emit a noinst_LIBRARIES or
45967         noinst_LTLIBRARIES assignment.
45968
45969 2006-08-21  Bruno Haible  <bruno@clisp.org>
45970
45971         BeOS portability.
45972         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
45973         BeOS has mbrtowc() but no <wctype.h>.
45974
45975 2006-08-21  Bruno Haible  <bruno@clisp.org>
45976
45977         BeOS portability.
45978         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
45979         exist.
45980
45981 2006-08-21  Bruno Haible  <bruno@clisp.org>
45982
45983         BeOS portability.
45984         * lib/mbchar.h: Include <wctype.h> only if it exists.
45985
45986 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45987
45988         Remove files that are no longer needed by their respective modules.
45989         * m4/obstack.m4: Remove.
45990         * m4/strerror_r.m4: Remove.
45991         * m4/uint32_t.m4: Remove.
45992         * m4/uintptr_t.m4: Remove.
45993         * m4/ullong_max.m4: Remove.
45994         * m4/xstrtoimax.m4: Remove.
45995         * m4/xstrtoumax.m4: Remove.
45996
45997         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
45998         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
45999         dependencies now capture this.
46000
46001         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
46002         Do not use AC_LIBSOURCES, since gnulib modules now do this.
46003         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
46004         * m4/human.m4 (gl_HUMAN): Likewise.
46005         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
46006         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
46007
46008         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
46009
46010         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
46011         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
46012         stdint.
46013         * m4/human.m4 (gl_HUMAN): Likewise.
46014         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
46015         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
46016         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
46017         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
46018         * m4/xstrtol (gl_XSTRTOL): Likewise.
46019
46020         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
46021         AC_TYPE_LONG_LONG_INT.
46022         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
46023         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
46024         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
46025         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
46026
46027         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
46028         on stdbool.
46029
46030         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
46031         (gl_PREREQ_XSTRTOUL): Remove.
46032
46033         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
46034
46035         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
46036         mode.
46037
46038 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46039
46040         Add and change modules to make it easier for coreutils to use
46041         gnulib-tool.
46042         * modules/backupfile (Files): Remove m4/d-ino.m4.
46043         (Depends-on): Add d-ino.
46044         * modules/cycle-check (Depends-on): Add stdint.
46045         (lib_SOURCES): Add cycle-check.h.
46046         * modules/d-ino: New module.
46047         * modules/d-type: New module.
46048         * modules/error (Files): Remove m4/strerror_r.m4.
46049         * modules/filemode (Files): Add m4/st_dm_mode.m4.
46050         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
46051         m4/inttypes_h.m4, m4/uintmax_t.m4.
46052         (Depends-on): Add stdint.
46053         (lib_SOURCES): Add fsusage.h.
46054         * modules/getcwd (Files): Remove d-ino.m4.
46055         (Depends-on): Add d-ino.
46056         * modules/getndelim2 (Depends-on): Add stdint.
46057         * modules/glob (Files): Remove m4/d-type.m4.
46058         (Depends-on): Add d-type.
46059         * modules/host-os: New module.
46060         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
46061         m4/inttypes_h.m4, m4/uintmax_t.m4.
46062         * Depends-on: Add stdint.
46063         (lib_SOURCES): Add human.h.
46064         * modules/inttostr (Files): Remove m4/intmax_t.m4,
46065         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
46066         m4/uintmax_t.m4, m4/ulonglong.m4.
46067         (Depends-on): Add stdint.
46068         (EXTRA_DIST): Add inttostr.h.
46069         * modules/lchmod: New module.
46070         * modules/link-follow: New module.
46071         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
46072         (Depends-on): Add lchmod.
46073         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
46074         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
46075         (Depends-on): Add stdint.
46076         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
46077         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
46078         (Depends-on): Add stdint.
46079         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
46080         * modules/perl: New module.
46081         * modules/regex (Depends-on): Add stdint.
46082         * modules/rmdir-errno: New module.
46083         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
46084         m4/intmax_t.m4.
46085         (Depends-on): Add stdint.
46086         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
46087         m4/uintmax_t.m4.
46088         (Depends-on): Add stdint.
46089         * modules/unlink-busy: New module.
46090         * modules/utimecmp (Depends-on): Add stdint.
46091         * modules/uptime: New module.
46092         * modules/winsz-ioctl: New module.
46093         * modules/winsz-termios: New module.
46094         * modules/xnanosleep (Depends-on): Add nanosleep.
46095         * modules/ullong_max: Remove.
46096         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
46097         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
46098         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
46099         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
46100         (Depends-on): Add inttypes.
46101         (lib_SOURCES): Add xstrtol.h.
46102         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
46103         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
46104         * MODULES.html.sh: Move 'assert' into the assert section.
46105         Move 'dummy' into the linking section.
46106         Remove ullong_max.
46107         Add section for compatibility checks for POSIX:2001 functions,
46108         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
46109         winsz-ioctl, and winsz-termios into it.
46110         Add lchmod.
46111         Add top-level Misc section and put host-os, perl, and uptime
46112         into it.
46113
46114 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
46115
46116         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
46117         now assume the stdint module.  Do not include inttypes.h.
46118         * lib/fsusage.h: Likewise.
46119         * lib/getndelim2.c: Likewise.
46120         * lib/human.h: Likewise.
46121         * lib/inttostr.h: Likewise.
46122         * lib/obstack.c: Likewise.
46123         * lib/regex_internal.h: Likewise.
46124         * lib/tempname.c: Likewise.
46125         * lib/utimecmp.c: Likewise.
46126         * lib/xstrtol.h: Likewise.
46127
46128         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
46129
46130         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
46131         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
46132         * lib/xtime.h: Likewise.
46133
46134 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46135
46136         * modules/openat (Files): Add lib/fchmodat.c.
46137         Fixes problem reported by Jay Youngman.
46138
46139 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46140
46141         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
46142         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
46143
46144 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
46145             Bruno Haible  <bruno@clisp.org>
46146
46147         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
46148         and is a script that invokes bison. Tighten the code. Add comments.
46149
46150 2006-08-18  Jim Meyering  <jim@meyering.net>
46151
46152         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
46153         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
46154         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
46155         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
46156
46157 2006-08-18  Bruno Haible  <bruno@clisp.org>
46158
46159         * modules/bison-i18n: New file.
46160         * MODULES.html.sh (Internationalization functions): Add it.
46161
46162 2006-08-18  Bruno Haible  <bruno@clisp.org>
46163
46164         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
46165         sys/statvfs.h. When getmntinfo was found, check its declaration and
46166         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
46167
46168 2006-08-18  Bruno Haible  <bruno@clisp.org>
46169
46170         * m4/bison-i18n.m4: New file, from bison.
46171
46172 2006-08-18  Bruno Haible  <bruno@clisp.org>
46173
46174         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
46175         (ME_DUMMY): Treat "kernfs" as a dummy.
46176         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
46177
46178 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46179
46180         Update from coreutils.
46181
46182         2006-08-15  Jim Meyering  <jim@meyering.net>
46183
46184         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
46185
46186         2006-01-17  Jim Meyering  <jim@meyering.net>
46187
46188         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
46189
46190         2006-01-11  Jim Meyering  <jim@meyering.net>
46191
46192         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
46193         Check for the lchmod function.
46194
46195 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46196
46197         Update from coreutils.
46198
46199         * lib/__fpending.h: Add copyright notice.
46200         * lib/fprintftime.h: Likewise.
46201         * lib/savedir.c: Use (C) in copyright notice.
46202         * lib/savedir.h: Likewise.
46203
46204         2006-08-15  Jim Meyering  <jim@meyering.net>
46205
46206         * lib/at-func.c: New file, with the logic of all emulated at-functions.
46207         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
46208         in support of the EXPECTED_ERRNO macro.
46209         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
46210         definitions.  Instead, define the appropriate symbols and include
46211         "at-func.c".
46212         * lib/mkdirat.c (mkdirat): Likewise.
46213         * lib/fchmodat.c (fchmodat): Likewise.
46214         (ENOSYS): Remove definition.
46215         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
46216         it.  Don't include "unistd--.h" -- it wasn't ever used.
46217
46218         2006-01-17  Jim Meyering  <jim@meyering.net>
46219
46220         Rewrite fts.c not to change the current working directory,
46221         by using openat, fstatat, fdopendir, etc..
46222
46223         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
46224         (HAVE_OPENAT_SUPPORT): Define.
46225         [_LIBC] (fchdir): Don't undef or define; no longer used.
46226         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
46227         Now, this `function' always succeeds, and consumes its file descriptor
46228         parameter -- so callers must not close such FDs.  Update callers.
46229         (diropen_fd, opendirat, cwd_advance_fd): New functions.
46230         (diropen): Add parameter, SP.  Adjust all callers.
46231         Implement using diropen_fd, rather than open.
46232         (fts_open): Initialize new member, fts_cwd_fd.
46233         Remove fts_rft-setting code.
46234         (fts_close): Close fts_cwd_fd, if necessary.
46235         (__opendir2): Define in terms of opendir or opendirat,
46236         depending on whether the FST_NOCHDIR flag is set.
46237         (fts_build): Since fts_safe_changedir consumes its FD, and since
46238         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
46239         and close the dup'd file descriptor upon failure.
46240         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
46241         (fts_safe_changedir): Tweak semantics to reflect that this function
46242         now calls cwd_advance_fd and hence consumes its FD argument.
46243         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
46244         [struct FTS] (fts_rft): Remove now-unused member.
46245         [struct FTS] (fts_cycle.state): Improve comment.
46246
46247         * lib/openat.c (openat_needs_fchdir): New function.
46248         * lib/openat.h (openat_needs_fchdir): Declare it.
46249
46250 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
46251
46252         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
46253         Problem and fix reported by Pádraig Brady in
46254         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
46255
46256 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46257
46258         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
46259
46260 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46261
46262         * lib/memcoll.c (memcoll): Optimize for the common case where the
46263         arguments are bytewise equal.
46264
46265 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46266
46267         * doc/regexprops-generic.texi: Add a copyright notice.
46268
46269 2006-08-15  Bruno Haible  <bruno@clisp.org>
46270
46271         * modules/tmpdir (License): Change to LGPL.
46272
46273 2006-08-15  Bruno Haible  <bruno@clisp.org>
46274
46275         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
46276         module.
46277
46278 2006-08-14  Simon Josefsson  <jas@extundo.com>
46279
46280         * config/srclist.txt: Add gnupload.
46281
46282 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46283
46284         Change copyright notice from LGPL 2 to GPL 2, since that's the
46285         standard form used in the gnulib repository.
46286         * tests/test-lock.c: Likewise.
46287         * tests/test-stdint.c: Likewise.
46288         * tests/test-tls.c: Likewise.
46289
46290         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
46291         prelude-manager.  User shorter URLs for GNU projects, without '?'.
46292         Add copyright notice.
46293
46294         * check-module: Add copyright notice.  Output a copyright
46295         notice if "--version" is specified.
46296         * modules/COPYING: New file.
46297         * tests/test-getaddrinfo.c: Add copyright notice.
46298         * tests/test-verify.c: Likewise.
46299
46300 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46301
46302         Change copyright notice from LGPL 2 to GPL 2, since that's the
46303         standard form used in the gnulib repository.
46304         * lib/lock.c: LGPL -> GPL.
46305         * lib/lock.h: Likewise.
46306         * lib/strnlen1.c: Likewise.
46307         * lib/strnlen1.h: Likewise.
46308         * lib/tls.c: Likewise.
46309         * lib/tls.h: Likewise.
46310         * lib/tmpdir.c: Likewise.
46311
46312         * lib/TODO: Remove; this belongs only in coreutils.
46313
46314 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46315
46316         Add copyright notices to long-enough files that lack them, since
46317         otherwise the files aren't clearly free.  Use the same notice that
46318         getdate.texi already uses.
46319         * doc/alloca-opt.texi: Add copyright notice.
46320         * doc/alloca.texi: Likewise.
46321         * doc/ctime.texi: Likewise.
46322         * doc/functions.texi: Likewise.
46323         * doc/gcd.texi: Likewise.
46324         * doc/gnulib-tool.texi: Likewise.
46325         * doc/inet_ntoa.texi: Likewise.
46326         * doc/visibility.texi: Likewise.
46327
46328         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
46329         * doc/quote.texi: Add copyright notice.
46330
46331         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
46332         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
46333         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
46334         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
46335         is now obsolete, and give a pointer to the Sun list.
46336         Add copyright notice.
46337
46338 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46339
46340         * config/srclistvars.sh: Add copyright notice.
46341
46342 2006-08-14  Eric Blake  <ebb9@byu.net>
46343
46344         Import the following change from libc:
46345
46346         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
46347
46348         Upstream bug 2997.
46349         * lib/misc/error.c: Add space between program name and message if file
46350         name is missing.
46351
46352 2006-08-12  Karl Berry  <karl@gnu.org>
46353
46354         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
46355         remove, these originate in gnulib now.
46356
46357 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46358
46359         * doc/Makefile (standards.info standards.html standards.dvi):
46360         Also depend on make-stds.texi.
46361
46362 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
46363
46364         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
46365         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
46366
46367         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
46368         in wchar_t.  Problem reported by Eric Blake.
46369
46370         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
46371         LEN is smaller than SIZE.  Suggested by Bruno Haible.
46372         Also, help the compiler to keep LEN in a register.
46373
46374 2006-08-11  Eric Blake  <ebb9@byu.net>
46375
46376         * users.txt: Sort.  Add tar.
46377
46378 2006-08-11  Bruno Haible  <bruno@clisp.org>
46379
46380         * users.txt: New file.
46381
46382 2006-08-11  Bruno Haible  <bruno@clisp.org>
46383
46384         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
46385         before <wchar.h>. Needed for OSF/1 and BSD/OS.
46386
46387 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
46388
46389         * modules/snprintf (Depends-on): Remove minmax.
46390         (Maintainer): Add self and Bruno.
46391
46392 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
46393
46394         * lib/.cppi-disable: Add snprintf.h, socket_.h.
46395         * lib/snprintf.c: Include <errno.h> and <limits.h>.
46396         (EOVERFLOW): Define if the system does not.
46397         Do not include "minmax.h"; it wasn't used.
46398         (snprintf): Don't assume size_t promotes to an unsigned type.
46399         Fix bug when generated string was too long for the buffer: the
46400         buffer's contents are supposed to be the initial prefix of the
46401         output.  Don't assume vasnprintf returns EOVERFLOW if the size
46402         exceeds INT_MAX; do the check ourselves.
46403
46404         Import the following changes from libc:
46405
46406         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
46407
46408         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
46409         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
46410         set wc to the byte which couldn't be converted.
46411         (re_string_reconstruct): Don't clear valid_raw_len before calling
46412         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
46413         tip_context using re_string_context_at.
46414
46415         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
46416
46417         * lib/posix/regex.h: g++ still cannot handled [restrict].
46418
46419         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
46420
46421         * lib/posix/regex.h: Remove special handling for VMS.
46422
46423 2006-08-10  Jim Meyering  <jim@meyering.net>
46424
46425         * modules/same-inode: New module.
46426         * modules/dev-ino: New module.
46427         * modules/cycle-check: Depend on these modules, rather than simply
46428         including their .h files.
46429         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
46430         required via m4/cycle-check.m4.
46431         * modules/same: Depend on new same-inode module, rather than
46432         including same-inode.h.
46433         * modules/chdir-safer: New file.
46434
46435         * modules/chown (Depends-on): Add stat-macros.
46436
46437 2006-08-10  Jim Meyering  <jim@meyering.net>
46438
46439         * m4/cycle-check.m4: New file.
46440         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
46441         * m4/dev-ino.m4, m4/same-inode.m4: New files.
46442
46443 2006-08-10  Eric Blake  <ebb9@byu.net>
46444
46445         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
46446         in from original proposal.
46447
46448 2006-08-10  Eric Blake  <ebb9@byu.net>
46449         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
46450
46451         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
46452         namespace.
46453
46454 2006-08-10  Bruno Haible  <bruno@clisp.org>
46455
46456         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
46457         as well.
46458
46459 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46460
46461         Sync from coreutils.
46462
46463         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
46464
46465         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
46466         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
46467
46468 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46469
46470         * modules/restrict: Remove; no longer needed now that we assume
46471         Autoconf 2.59 or later.
46472         * MODULES.html.sh: Remove 'restrict'.
46473         * modules/argp (Depends-on): Remove 'restrict'.
46474         * modules/base64 (Depends-on): Likewise.
46475         * modules/gc (Depends-on): Likewise.
46476         * modules/getaddrinfo (Depends-on): Likewise.
46477         * modules/glob (Depends-on): Likewise.
46478         * modules/inet_ntop (Depends-on): Likewise.
46479         * modules/inet_pton (Depends-on): Likewise.
46480         * modules/memxor (Depends-on): Likewise.
46481         * modules/regex (Depends-on): Likewise.
46482         * modules/strtok_r (Depends-on): Likewise.
46483         * modules/time_r (Depends-on): Likewise.
46484
46485 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46486
46487         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
46488         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
46489         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46490         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
46491         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
46492         * m4/memxor.m4 (gl_MEMXOR): Likewise.
46493         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
46494         gl_C_RESTRICT replaced by AC_C_RESTRICT.
46495
46496         Merge from coreutils.
46497         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
46498         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
46499         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
46500         * m4/time_r.m4 (gl_TIME_R): Likewise.
46501
46502 2006-08-09  Karl Berry  <karl@gnu.org>
46503
46504         * config/srclist.txt: no more gettext-tools, per Bruno.
46505
46506 2006-08-08  Eric Blake  <ebb9@byu.net>
46507
46508         * modules/verror: New module.
46509         * MODULES.html.sh: Document it.
46510
46511 2006-08-08  Eric Blake  <ebb9@byu.net>
46512
46513         * lib/verror.h, lib/verror.c: New files.
46514
46515 2006-08-08  Eric Blake  <ebb9@byu.net>
46516
46517         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
46518         verror_at_line output complies with GNU Coding Standards even when
46519         file is NULL.
46520
46521 2006-08-07  Bruno Haible  <bruno@clisp.org>
46522
46523         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
46524         versions of AIX.
46525         Reported by Ralf Wildenhues.
46526
46527 2006-08-07  Bruno Haible  <bruno@clisp.org>
46528
46529         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
46530         in an AC_DEFUN. Needed so that the autoconf snippets can use
46531         AC_REQUIRE.
46532
46533 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46534
46535         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46536         Initialize pkgdata_DATA.
46537         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
46538         overriding it.
46539
46540 2006-08-06  Eric Blake  <ebb9@byu.net>
46541
46542         * lib/error.h: Fold in some upstream changes from glibc.
46543         * lib/error.c: Likewise.
46544
46545 2006-08-04  Bruno Haible  <bruno@clisp.org>
46546
46547         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46548         Make the mostlyclean-local rule depend on mostlyclean-generic.
46549         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
46550
46551 2006-07-31  Bruno Haible  <bruno@clisp.org>
46552
46553         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
46554         <stdlib.h>, <string.h>.
46555
46556 2006-07-30  Bruno Haible  <bruno@clisp.org>
46557
46558         * modules/readlink (License): Change to LGPL.
46559
46560 2006-07-30  Bruno Haible  <bruno@clisp.org>
46561
46562         * modules/javaversion (Makefile.am): Distribute javaversion.java and
46563         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
46564         set PKGDATADIR to point to it.
46565
46566 2006-07-30  Bruno Haible  <bruno@clisp.org>
46567
46568         * modules/csharpexec (configure.ac): Comment out macro invocation.
46569         * modules/javaexec (configure.ac): Likewise.
46570         * modules/javacomp-script (configure.ac): Likewise.
46571
46572         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
46573
46574 2006-07-30  Bruno Haible  <bruno@clisp.org>
46575
46576         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
46577         linked-list.
46578
46579 2006-07-30  Bruno Haible  <bruno@clisp.org>
46580
46581         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
46582
46583 2006-07-30  Bruno Haible  <bruno@clisp.org>
46584
46585         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46586         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
46587         get removed.
46588
46589 2006-07-29  Bruno Haible  <bruno@clisp.org>
46590
46591         Make it possible for gnulib-tool to work with locally modified or
46592         augmented gnulib repositories.
46593         * gnulib-tool (func_usage): Document --local-dir option.
46594         (local_gnulib_dir): New variable.
46595         Handle --local-dir option.
46596         (func_lookup_file): New function.
46597         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
46598         (func_get_description, func_get_filelist, func_get_description,
46599         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
46600         func_get_automake_snippet, func_get_include_directive,
46601         func_get_license, func_get_maintainer): Use func_lookup_file.
46602         (func_import, func_create_testdir): Use func_lookup_file.
46603
46604 2006-07-29  Bruno Haible  <bruno@clisp.org>
46605
46606         * modules/setenv (Depends-on): Add unistd.
46607
46608 2006-07-29  Bruno Haible  <bruno@clisp.org>
46609
46610         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
46611
46612 2006-07-29  Bruno Haible  <bruno@clisp.org>
46613
46614         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
46615
46616 2006-07-29  Bruno Haible  <bruno@clisp.org>
46617
46618         * gnulib-tool (import, update): If there is no Makefile.am, look at
46619         aclocal.m4, instead of bailing out.
46620
46621 2006-07-29  Bruno Haible  <bruno@clisp.org>
46622
46623         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
46624         Categorize the options by when they are useful.
46625
46626 2006-07-29  Bruno Haible  <bruno@clisp.org>
46627
46628         * gnulib-tool (func_usage): Document option --no-libtool.
46629         Handle option --no-libtool.
46630         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
46631         for changed semantics of $libtool variable.
46632         (func_import): Likewise. If libtool is not used, show this through
46633         an option --no-libtool.
46634         (func_create_testdir): Update.
46635
46636 2006-07-29  Bruno Haible  <bruno@clisp.org>
46637
46638         * gnulib-tool (func_import): Extend error message about missing
46639         --doc-base.
46640
46641 2006-07-29  Bruno Haible  <bruno@clisp.org>
46642
46643         * gnulib-tool (func_import): Don't create the $docbase directory if
46644         there is no file to store there.
46645
46646 2006-07-29  Bruno Haible  <bruno@clisp.org>
46647
46648         * gnulib-tool (autoconf_minversion): If a --dir option is given and
46649         relevant, look for configure.ac there, not in the current directory.
46650         Also use a simple search for AC_PREREQ, not "autoconf --trace".
46651
46652 2006-07-29  Bruno Haible  <bruno@clisp.org>
46653
46654         * gnulib-tool (SORT): New variable.
46655         (func_usage): Undocument --assume-autoconf option.
46656         Remove --assume-autoconf option handling.
46657         (autoconf_minversion): Determine from the contents of configure.ac.
46658         (func_import): Remove autoconf_minversion handling.
46659         Suggested by Eric Blake.
46660
46661 2006-07-29  Bruno Haible  <bruno@clisp.org>
46662
46663         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
46664
46665 2006-07-29  Bruno Haible  <bruno@clisp.org>
46666
46667         * config/srclist.txt (*setenv.[ch]): Remove rules.
46668
46669 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46670
46671         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
46672
46673 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46674
46675         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
46676         arpa/inet.h.
46677
46678 2006-07-28  Simon Josefsson  <jas@extundo.com>
46679
46680         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
46681         * modules/inet_pton (Depends-on): Likewise.
46682
46683 2006-07-28  Simon Josefsson  <jas@extundo.com>
46684
46685         * m4/netinet_in_h.m4: New file.
46686
46687 2006-07-28  Simon Josefsson  <jas@extundo.com>
46688
46689         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
46690         #include's.
46691
46692 2006-07-28  Simon Josefsson  <jas@extundo.com>
46693
46694         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
46695         #include's.
46696
46697 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
46698
46699         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
46700         setgid on directories only if they set these bits.
46701         * lib/modechange.h: Remove obsolete comment about masks.
46702
46703 2006-07-28  Eric Blake  <ebb9@byu.net>
46704
46705         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
46706         macro expansion.
46707
46708 2006-07-28  Bruno Haible  <bruno@clisp.org>
46709
46710         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
46711
46712 2006-07-28  Bruno Haible  <bruno@clisp.org>
46713
46714         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
46715
46716 2006-07-28  Bruno Haible  <bruno@clisp.org>
46717
46718         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
46719         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
46720         Define fallbacks.
46721         Avoids link error on FreeBSD 4.x.
46722         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46723
46724         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
46725         encoding.
46726         * lib/mbswidth.c (iswcntrl): Likewise.
46727
46728 2006-07-27  Bruno Haible  <bruno@clisp.org>
46729
46730         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
46731         test.
46732
46733 2006-07-27  Bruno Haible  <bruno@clisp.org>
46734
46735         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
46736         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
46737         defined.
46738
46739 2006-07-26  Eric Blake  <ebb9@byu.net>
46740
46741         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
46742
46743 2006-07-26  Eric Blake  <ebb9@byu.net>
46744
46745         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
46746         like mingw that lack mkstemp.
46747         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
46748         avoid compilation warning on mingw.
46749
46750 2006-07-26  Bruno Haible  <bruno@clisp.org>
46751
46752         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
46753         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
46754         INT_FAST*_MIN, INTPTR_MIN.
46755
46756 2006-07-25  Bruno Haible  <bruno@clisp.org>
46757
46758         * modules/version-etc (Depends-on): Add stdarg.
46759
46760 2006-07-25  Bruno Haible  <bruno@clisp.org>
46761
46762         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
46763         complex commands.
46764
46765 2006-07-25  Bruno Haible  <bruno@clisp.org>
46766
46767         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
46768         defined in <stdarg.h> or config.h.
46769
46770 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46771
46772         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
46773         (gl_STDIO_SAFER): Remove.
46774
46775 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
46776
46777         * MODULES.html.sh (File stream based Input/Output):
46778         Add fopen-safer, tmpfile-safer; remove stdio-safer.
46779         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
46780         * modules/fopen-safer, modules/tmpfile-safer: New files.
46781         * modules/stdio-safer: Remove.
46782
46783 2006-07-24  Bruno Haible  <bruno@clisp.org>
46784
46785         * modules/tmpdir: New file.
46786         * MODULES.html.sh (File system functions): Add it.
46787
46788 2006-07-24  Bruno Haible  <bruno@clisp.org>
46789
46790         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
46791         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
46792
46793 2006-07-24  Bruno Haible  <bruno@clisp.org>
46794
46795         * modules/clean-temp: New file.
46796
46797 2006-07-24  Bruno Haible  <bruno@clisp.org>
46798
46799         * m4/tmpdir.m4: New file, from GNU gettext.
46800
46801 2006-07-24  Bruno Haible  <bruno@clisp.org>
46802
46803         * lib/tmpdir.h: New file, from GNU gettext.
46804         * lib/tmpdir.c: New file, from GNU gettext.
46805
46806 2006-07-24  Bruno Haible  <bruno@clisp.org>
46807
46808         * lib/clean-temp.h: New file, from GNU gettext.
46809         * lib/clean-temp.c: New file, from GNU gettext.
46810
46811 2006-07-23  Eric Blake  <ebb9@byu.net>
46812
46813         * modules/stdio-safer (Files): Add tmpfile-safer.c.
46814         (Depends-on): Add binary-io.
46815
46816 2006-07-23  Eric Blake  <ebb9@byu.net>
46817
46818         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
46819
46820 2006-07-23  Eric Blake  <ebb9@byu.net>
46821
46822         * lib/tmpfile-safer.c: New file.
46823         * lib/stdio-safer.h (fopen_safer): Add prototype.
46824         * lib/stdio--.h (tmpfile): Make safer.
46825
46826 2006-07-23  Bruno Haible  <bruno@clisp.org>
46827
46828         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
46829         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
46830         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
46831         gl_linked_remove_at): Use it.
46832
46833 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46834         and Simon Josefsson <jas@extundo.com>
46835
46836         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
46837
46838         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
46839
46840 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46841
46842         * modules/close-stream: New file.
46843         * modules/closeout (Description): Make it clear that it exits
46844         with a diagnostic on error.
46845         (Depends-on): Add close-stream.  Remove fpending, stdbool.
46846         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
46847
46848 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46849
46850         * m4/close-stream.m4: New file.
46851
46852 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46853
46854         * lib/close-stream.c, lib/close-stream.h: New files.
46855
46856 2006-07-22  Bruno Haible  <bruno@clisp.org>
46857
46858         Merge from GNU gettext 0.15.
46859
46860         2006-05-01  Bruno Haible  <bruno@clisp.org>
46861
46862                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
46863
46864         2006-07-22  Bruno Haible  <bruno@clisp.org>
46865
46866                 * modules/javaversion: New file.
46867                 * MODULES.html.sh (Java): Add javaversion.
46868
46869         2006-03-12  Bruno Haible  <bruno@clisp.org>
46870
46871                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
46872
46873         2005-12-04  Bruno Haible  <bruno@clisp.org>
46874
46875                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
46876                 (untested).
46877
46878         2006-06-21  Bruno Haible  <bruno@clisp.org>
46879
46880                 Avoid warnings from recent versions of mcs.
46881                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
46882                 -o, -L, -r any more. Use options documented since mcs-1.0
46883                 instead. Similarly for -g.
46884
46885         2005-12-04  Bruno Haible  <bruno@clisp.org>
46886
46887                 * build-aux/csharpcomp.sh.in: Suffix for resources is
46888                 .resources, not .resource.
46889
46890         2005-07-09  Bruno Haible  <bruno@clisp.org>
46891
46892                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
46893                 add a .dll suffix.
46894                 Reported by Mark Junker <mjscod@gmx.de>.
46895
46896         2006-07-22  Bruno Haible  <bruno@clisp.org>
46897
46898                 * modules/gettext: Upgrade to gettext-0.15.
46899                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
46900                 m4/visibility.m4.
46901                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
46902
46903 2006-07-22  Bruno Haible  <bruno@clisp.org>
46904
46905         Merge from GNU gettext 0.15.
46906
46907         2006-03-25  Bruno Haible  <bruno@clisp.org>
46908
46909                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
46910
46911         2006-07-21  Bruno Haible  <bruno@clisp.org>
46912
46913                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
46914                 "1.1".
46915
46916         2006-05-09  Bruno Haible  <bruno@clisp.org>
46917
46918                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
46919                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
46920                 for the conftestver execution.
46921
46922         2006-05-01  Bruno Haible  <bruno@clisp.org>
46923
46924                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
46925                 optional target-version argument. Verify that the compiler
46926                 groks source of the specified source-version, or add -source
46927                 option as necessary. Verify that the compiler produces
46928                 bytecode in the specified target-version, or add -target and
46929                 -source options as necessary. Make the result of the test
46930                 available as variable CONF_JAVAC. Also log error output in
46931                 config.log.
46932
46933         2006-03-11  Bruno Haible  <bruno@clisp.org>
46934
46935                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
46936
46937         2006-05-09  Bruno Haible  <bruno@clisp.org>
46938
46939                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
46940                 CLASSPATH_SEPARATOR to a semicolon.
46941
46942         2006-03-12  Bruno Haible  <bruno@clisp.org>
46943
46944                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
46945                 available as variable CONF_JAVA, for subsequent autoconf
46946                 tests. Also log error output in config.log.
46947
46948         2006-07-19  Bruno Haible  <bruno@clisp.org>
46949
46950                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
46951                 that getline works on glibc2 systems. Needed to avoid trouble
46952                 in relocatable.c.
46953                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
46954
46955         2005-12-04  Bruno Haible  <bruno@clisp.org>
46956
46957                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
46958                 launcher (untested).
46959
46960         2005-12-04  Bruno Haible  <bruno@clisp.org>
46961
46962                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
46963
46964         2006-07-22  Bruno Haible  <bruno@clisp.org>
46965
46966                 * gettext.m4: Update from GNU gettext-0.15.
46967                 * nls.m4: Likewise.
46968                 * po.m4: Likewise.
46969                 * inttypes-pri.m4: Likewise.
46970                 * inttypes-h.m4: Renamed from inttypes.m4.
46971                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
46972
46973 2006-07-22  Bruno Haible  <bruno@clisp.org>
46974
46975         Merge from GNU gettext 0.15.
46976
46977         2005-07-05  Bruno Haible  <bruno@clisp.org>
46978
46979                 * printf-args.c (printf_fetchargs): Work around broken
46980                 definition of wint_t on mingw.
46981
46982         2005-02-12  Bruno Haible  <bruno@clisp.org>
46983
46984                 * xallocsa.h: Add extern "C" for C++.
46985
46986         2006-05-17  Bruno Haible  <bruno@clisp.org>
46987
46988                 Cygwin portability.
46989                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
46990
46991         2006-04-30  Bruno Haible  <bruno@clisp.org>
46992
46993                 * progreloc.c: Include <mach-o/dyld.h> if available.
46994                 (find_executable): Use _NSGetExecutablePath when possible.
46995
46996         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
46997
46998                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
46999                 function.
47000
47001         2005-12-29  Bruno Haible  <bruno@clisp.org>
47002
47003                 * progreloc.c (set_program_name_and_installdir): Fix
47004                 compilation error.
47005
47006         2005-12-04  Bruno Haible  <bruno@clisp.org>
47007
47008                 Cygwin portability.
47009                 * progreloc.c: Include <windows.h> also on Cygwin.
47010                 (find_executable): Add support for Cygwin.
47011                 (set_program_name_and_installdir): Handle also platforms with
47012                 nonempty EXEEXT.
47013
47014         2006-07-11  Bruno Haible  <bruno@clisp.org>
47015
47016                 * javacomp.c: Fix a comment.
47017                 Reported by Jim Meyering.
47018
47019         2006-04-30  Bruno Haible  <bruno@clisp.org>
47020
47021                 * javacomp.h (compile_java_class): Add source_version,
47022                 target_version arguments.
47023                 * javacomp.c: Rewritten to choose only a compiler that
47024                 respects the specified source_version and target_version.
47025
47026         2006-06-27  Bruno Haible  <bruno@clisp.org>
47027
47028                 Assume correct S_ISDIR macro.
47029                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
47030
47031         2006-07-22  Bruno Haible  <bruno@clisp.org>
47032
47033                 * javaversion.h: New file, from GNU gettext.
47034                 * javaversion.c: New file, from GNU gettext.
47035                 * javaversion.java: New file, from GNU gettext.
47036                 * javaversion.class: New file, from GNU gettext.
47037
47038         2006-05-17  Bruno Haible  <bruno@clisp.org>
47039
47040                 Cygwin portability.
47041                 * javaexec.c (execute_java_class): Test for jview program
47042                 also on Cygwin.
47043
47044         2006-04-09  Bruno Haible  <bruno@clisp.org>
47045
47046                 * fatal-signal.c: Don't include string.h.
47047                 (at_fatal_signal): Use a copying loop instead of memcpy.
47048
47049         2005-12-04  Bruno Haible  <bruno@clisp.org>
47050
47051                 * csharpexec.c: Add support for 'clix' launcher (untested).
47052                 (execute_csharp_using_sscli): New function.
47053                 (execute_csharp_program): Call it.
47054
47055         2006-06-21  Bruno Haible  <bruno@clisp.org>
47056
47057                 Avoid warnings from recent versions of mcs.
47058                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
47059                 -o, -L, -r any more. Use options documented since mcs-1.0
47060                 instead. Similarly for -g.
47061
47062         2005-07-09  Bruno Haible  <bruno@clisp.org>
47063
47064                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
47065                 add a .dll suffix.
47066                 Reported by Mark Junker <mjscod@gmx.de>.
47067
47068         2006-06-17  Bruno Haible  <bruno@clisp.org>
47069
47070                 * config.charset: Update for NetBSD 3.0.
47071
47072         2006-05-17  Bruno Haible  <bruno@clisp.org>
47073
47074                 Cygwin portability.
47075                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
47076
47077         2006-05-16  Bruno Haible  <bruno@clisp.org>
47078
47079                 * localcharset.c [CYGWIN]: Include <windows.h>.
47080                 (get_charset_aliases): For Cygwin, return the same CPxxx
47081                 aliases list as under WIN32.
47082                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
47083                 the environment variables. Fall back to GetACP().
47084
47085         2006-04-05  Bruno Haible  <bruno@clisp.org>
47086
47087                 * config.charset: Update Juan Manuel Guerrero's address.
47088
47089         2005-02-12  Bruno Haible  <bruno@clisp.org>
47090
47091                 * allocsa.h: Add extern "C" for C++.
47092
47093         2005-02-10  Bruno Haible  <bruno@clisp.org>
47094
47095                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
47096                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
47097
47098         2006-07-22  Bruno Haible  <bruno@clisp.org>
47099
47100                 * gettext.h: Update to GNU gettext-0.15.
47101
47102 2006-07-22  Bruno Haible  <bruno@clisp.org>
47103
47104         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
47105         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
47106         lib-prefix.m4, longdouble.m4, ssize_t.m4.
47107
47108 2006-07-21  Eric Blake  <ebb9@byu.net>
47109
47110         * modules/stdlib-safer: New file.
47111         * MODULES.html.sh (File stream based Input/Output): Add
47112         stdlib-safer.
47113
47114 2006-07-21  Eric Blake  <ebb9@byu.net>
47115
47116         * lib/stdlib-safer.h: New file from coreutils, required by
47117         stdlib--.h.
47118
47119 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
47120
47121         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
47122
47123 2006-07-20  Bruno Haible  <bruno@clisp.org>
47124
47125         * gnulib-tool: Recognize new option --assume-autoconf.
47126         (autoconf_minversion): New variable.
47127         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
47128
47129 2006-07-20  Bruno Haible  <bruno@clisp.org>
47130
47131         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
47132
47133 2006-07-19  Derek R. Price  <derek@ximbiot.com>
47134
47135         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
47136         Reindent and repaginate.
47137
47138 2006-07-19  Derek Price  <derek@ximbiot.com>
47139
47140         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
47141         Correct grammar.
47142
47143 2006-07-17  Bruno Haible  <bruno@clisp.org>
47144
47145         * modules/list: New file.
47146         * modules/array-list: New file.
47147         * modules/carray-list, modules/carray-list-tests: New files.
47148         * modules/linked-list, modules/linked-list-tests: New files.
47149         * modules/avltree-list, modules/avltree-list-tests: New files.
47150         * modules/rbtree-list, modules/rbtree-list-tests: New files.
47151         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
47152         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
47153         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
47154         * modules/oset: New file.
47155         * modules/array-oset: New file.
47156         * modules/avltree-oset, modules/avltree-oset-tests: New files.
47157         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
47158         * tests/test-carray_list.c: New file.
47159         * tests/test-linked_list.c: New file.
47160         * tests/test-avltree_list.c: New file.
47161         * tests/test-rbtree_list.c: New file.
47162         * tests/test-linkedhash_list.c: New file.
47163         * tests/test-avltreehash_list.c: New file.
47164         * tests/test-rbtreehash_list.c: New file.
47165         * tests/test-avltree_oset.c: New file.
47166         * tests/test-rbtree_oset.c: New file.
47167         * MODULES.html.sh (Container data structures): New section.
47168
47169 2006-07-17  Bruno Haible  <bruno@clisp.org>
47170
47171         * m4/gl_list.m4: New file.
47172
47173 2006-07-17  Bruno Haible  <bruno@clisp.org>
47174
47175         * lib/gl_list.h: New file.
47176         * lib/gl_list.c: New file.
47177         * lib/gl_array_list.h: New file.
47178         * lib/gl_array_list.c: New file.
47179         * lib/gl_carray_list.h: New file.
47180         * lib/gl_carray_list.c: New file.
47181         * lib/gl_linked_list.h: New file.
47182         * lib/gl_linked_list.c: New file.
47183         * lib/gl_anylinked_list1.h: New file.
47184         * lib/gl_anylinked_list2.h: New file.
47185         * lib/gl_avltree_list.h: New file.
47186         * lib/gl_avltree_list.c: New file.
47187         * lib/gl_anyavltree_list1.h: New file.
47188         * lib/gl_anyavltree_list2.h: New file.
47189         * lib/gl_rbtree_list.h: New file.
47190         * lib/gl_rbtree_list.c: New file.
47191         * lib/gl_anyrbtree_list1.h: New file.
47192         * lib/gl_anyrbtree_list2.h: New file.
47193         * lib/gl_anytree_list1.h: New file.
47194         * lib/gl_anytree_list2.h: New file.
47195         * lib/gl_linkedhash_list.h: New file.
47196         * lib/gl_linkedhash_list.c: New file.
47197         * lib/gl_anyhash_list1.h: New file.
47198         * lib/gl_anyhash_list2.h: New file.
47199         * lib/gl_avltreehash_list.h: New file.
47200         * lib/gl_avltreehash_list.c: New file.
47201         * lib/gl_rbtreehash_list.h: New file.
47202         * lib/gl_rbtreehash_list.c: New file.
47203         * lib/gl_anytreehash_list1.h: New file.
47204         * lib/gl_anytreehash_list2.h: New file.
47205
47206         * lib/gl_oset.h: New file.
47207         * lib/gl_oset.c: New file.
47208         * lib/gl_array_oset.h: New file.
47209         * lib/gl_array_oset.c: New file.
47210         * lib/gl_avltree_oset.h: New file.
47211         * lib/gl_avltree_oset.c: New file.
47212         * lib/gl_rbtree_oset.h: New file.
47213         * lib/gl_rbtree_oset.c: New file.
47214         * lib/gl_anytree_oset.h: New file.
47215
47216 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
47217
47218         * m4/mkancesdirs.m4: New file.
47219         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
47220         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
47221         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
47222         it.
47223
47224 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
47225
47226         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
47227         * lib/mkancesdirs.h: New files.
47228         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
47229         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
47230         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
47231         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
47232         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
47233         callers changed.  Revamp internals significantly, by not
47234         attempting to create directories that are temporarily more
47235         permissive than the final results.  Do not attempt to use
47236         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
47237         This removes some race conditions, fixes some bugs, and simplifies
47238         things.  Use new dirchownmod function to do owner and mode changes.
47239         * lib/mkdir-p.h: Likewise.
47240         * lib/modechange.c (octal_to_mode): New function.
47241         (struct mode_change): New member mentioned.
47242         (make_node_op_equals): New arg mentioned.  All callers changed.
47243         (mode_compile): Keep track of which mode bits the user has explicitly
47244         mentioned.
47245         (mode_adjust): New arg DIR, so that we implement the X op correctly.
47246         New arg PMODE_BITS, to keep track of which mode bits the user
47247         mentioned; it treats S_ISUID and S_ISGID speciall.
47248         All callers changed.
47249         * lib/modechange.h: Likewise.
47250
47251 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
47252
47253         * MODULES.html.sh: Add mkancestors.
47254         * modules/mkancesdirs: New module.
47255         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
47256         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
47257         The chdir-safer and afs files are now orphans; I'll remove them
47258         unless someone speaks up.
47259         Add lib/dirchownmod.c, lib/dirchownmod.h.
47260         (Depends-on): Remove alloca, chown, save-cwd, dirname.
47261         Add lchown, mkancesdirs.
47262         (Maintainer): Add self.
47263
47264 2006-07-15  Karl Berry  <karl@gnu.org>
47265
47266         * gnulib-tool: help message wording/arrangement.
47267
47268 2006-07-14  Simon Josefsson  <jas@extundo.com>
47269
47270         * doc/gnulib.texi (Libtool and Windows): New section.
47271
47272 2006-07-12  Simon Josefsson  <jas@extundo.com>
47273
47274         * modules/gendocs (License): Fix license, approved by Karl.
47275
47276 2006-07-12  Eric Blake  <ebb9@byu.net>
47277
47278         * MODULES.html.sh: Add gendocs.
47279
47280 2006-07-11  Eric Blake  <ebb9@byu.net>
47281
47282         * modules/fdl: New module, to install doc/fdl.texi.
47283         * MODULES.html.sh: Add new section for documentation modules.
47284         * gnulib-tool: Avoid space-tab.
47285         (--doc-base): New option, to manage files from doc.
47286
47287 2006-07-11  Eric Blake  <ebb9@byu.net>
47288
47289         * m4/absolute-header.m4: Fix comments to match recent change.
47290
47291 2006-07-11  Eric Blake  <ebb9@byu.net>
47292
47293         * gnulib-tool: List --doc-base before --tests-base.
47294
47295 2006-07-11  Derek R. Price  <derek@ximbiot.com>
47296
47297         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
47298
47299 2006-07-11  Bruno Haible  <bruno@clisp.org>
47300
47301         * README: Mention where to put documentation.
47302
47303 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47304
47305         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
47306
47307 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
47308
47309         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
47310         to stdint.m4.
47311
47312 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
47313
47314         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
47315         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
47316         "no/such/file/stdint.h" when there is no such file, so that
47317         the resulting C code can be parsed by dodgy compilers.
47318         Problems reported by Bob Proulx.
47319
47320 2006-07-10  Derek R. Price  <derek@ximbiot.com>
47321
47322         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
47323         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
47324         macros into the GNU _D_EXACT_NAMLEN.
47325         * lib/savedir.c:  Likewise.
47326         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
47327
47328 2006-07-10  Derek R. Price  <derek@ximbiot.com>
47329         and Paul Eggert  <eggert@cs.ucla.edu>
47330
47331         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
47332         * m4/savedir.m4:
47333         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
47334         macros into the GNU _D_EXACT_NAMLEN.
47335
47336 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47337
47338         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
47339         around the absolute name, to work around a problem with the HP-UX
47340         11.23 native C compiler, reported by Bob Proulx.
47341
47342 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47343
47344         * doc/maintain.texi, make-stds.texi: Sync from
47345         <http://savannah.gnu.org/projects/gnustandards>.
47346
47347 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47348
47349         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
47350
47351 2006-07-09  Jim Meyering  <jim@meyering.net>
47352
47353         * m4/glob.m4: Remove a doubled word in a comment.
47354
47355 2006-07-09  Jim Meyering  <jim@meyering.net>
47356
47357         * lib/argp-pv.c: Remove a doubled word in a comment.
47358         * lib/check-version.c (check_version): Likewise.
47359         * lib/javacomp.c (compile_java_class): Likewise.
47360
47361 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
47362
47363         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
47364         for the benefit of people using Autoconf 2.60.  If you want to
47365         support older Autoconf versions you can copy m4/onceonly_2_57.m4
47366         (or m4/onceonly.m4, if pre-2.57) manually.
47367
47368 2006-07-08  Jim Meyering  <jim@meyering.net>
47369
47370         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
47371         comment.
47372         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
47373         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
47374         comment.
47375
47376 2006-07-08  Jim Meyering  <jim@meyering.net>
47377
47378         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
47379
47380 2006-07-07  Simon Josefsson  <jas@extundo.com>
47381
47382         * tests/test-crc.c: Change expected crc value, the test vector
47383         were probably computed using the old broken crc.c?
47384
47385 2006-07-06  Simon Josefsson  <jas@extundo.com>
47386
47387         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
47388         now the canonical place for the M4 file).
47389
47390         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
47391         from the sys_socket dependency now.
47392
47393         * modules/inet_pton (Files): Ditto.
47394
47395         * modules/inet_ntop (Files): Ditto.
47396
47397 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
47398
47399         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
47400         not gl_PREREQ_GETUSERSHELL.
47401
47402 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47403
47404         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
47405         with only one argument, for Autoconf 2.60.
47406         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
47407         expand to nothing, so add a shell command to avoid syntax error.
47408         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
47409
47410 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47411
47412         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
47413
47414 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
47415
47416         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
47417         no longer needed.  Check for isblank decl.
47418         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
47419         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
47420         of existence.
47421
47422 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
47423
47424         * lib/getloadavg.c: Use __VMS, not VMS.
47425         * lib/getopt.c: Likewise.
47426         * lib/getpagesize.h: Likewise.
47427         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
47428         and probably does not work.
47429
47430 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
47431
47432         * lib/.cppi-disable: Add wcwidth.
47433         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
47434         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
47435         (ISGRAPH): Remove.  All uses changed to isgraph.
47436         (FOLD) [!defined _LIBC]: Remove special case.
47437         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
47438         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
47439         HAVE_ISBLANK.
47440         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
47441         case.
47442
47443 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47444
47445         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
47446         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
47447         brackets.  Other minor changes to suppress some compiler
47448         warnings.
47449
47450 2006-07-06  Derek R. Price  <derek@ximbiot.com>
47451         and Paul Eggert  <eggert@cs.ucla.edu>
47452
47453         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
47454         of invoking obsolescent AC_HEADER_DIRENT macro.
47455         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
47456         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
47457         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
47458         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
47459         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
47460         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47461         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
47462         * m4/readdir.m4: Remove; no longer needed.
47463
47464 2006-07-06  Derek R. Price  <derek@ximbiot.com>
47465         and Paul Eggert  <eggert@cs.ucla.edu>
47466
47467         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
47468         Don't worry about this obsolete case any more.
47469         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
47470         directories.
47471         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
47472         worry about this obsolete case any more.
47473         * lib/fts.c: Likewise.
47474         * lib/getcwd.c: Likewise.
47475         * lib/glob.h: Likewise.
47476         * lib/savedir.c: Likewise.
47477
47478 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
47479
47480         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
47481         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
47482         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
47483         needed.
47484         All uses removed.
47485         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47486         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
47487         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
47488         needed.
47489         * m4/getdate.m4 (gl_GETDATE): Likewise.
47490         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
47491         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
47492         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
47493         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47494         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
47495         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
47496         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
47497         needed.
47498
47499 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
47500
47501         * lib/memcasecmp.c: Include <limits.h>.
47502         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
47503         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
47504         Don't assume isdigit succeeds only on '0' through '9'.
47505
47506 2006-07-05  Eric Blake  <ebb9@byu.net>
47507
47508         * modules/getaddrinfo (Depends-on): Add snprintf.
47509
47510 2006-07-05  Eric Blake  <ebb9@byu.net>
47511
47512         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
47513         to avoid 'header present but could not be compiled' on cygwin.
47514
47515 2006-07-05  Eric Blake  <ebb9@byu.net>
47516
47517         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
47518         missing from netdb.h.
47519         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
47520
47521 2006-07-05  Derek R. Price  <derek@ximbiot.com>
47522
47523         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
47524         no longer needed.
47525         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
47526         * m4/getdate.m4 (gl_GETDATE): Likewise.
47527         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
47528         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
47529         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
47530         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
47531         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
47532
47533 2006-07-05  Derek R. Price  <derek@ximbiot.com>
47534
47535         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
47536         All uses of is_space replaced by isspace.
47537         * lib/exit.h: Don't talk about STDC_HEADERS.
47538         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
47539         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
47540         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
47541         replaced by isprint etc.
47542         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
47543         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
47544         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
47545         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
47546         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
47547         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
47548
47549 2006-07-05  Bruno Haible  <bruno@clisp.org>
47550
47551         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
47552         the function exists, before testing against AIX.
47553         Reported by Martin Lambers <marlam@marlam.de>.
47554
47555 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
47556
47557         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
47558         From Mark D. Baushke.
47559
47560 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
47561
47562         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
47563         to the absolute name, not just one, to bypass Sun C 5.8's
47564         "warning: #include of /usr/include/... may be non-portable".
47565
47566 2006-07-04  Eric Blake  <ebb9@byu.net>
47567
47568         * modules/dirname-tests: New test module.
47569         * tests/test-dirname.c: New file, replacing dirname.c
47570         TEST_DIRNAME section that was recently deleted.
47571
47572 2006-07-04  Bruno Haible  <bruno@clisp.org>
47573
47574         Assume ANSI C header files and <ctype.h> functions.
47575         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
47576         (mbsnwidth): Use isprint, iscntrl instead.
47577
47578 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47579
47580         Merge from coreutils.
47581         * MODULES.html.sh: Add xstrtold.
47582         * modules/xstrtold: New file.
47583         * modules/cycle-check (Files): Add lib/same-inode.h.
47584         * modules/dirname (Files): Add m4/double-slash-root.m4.
47585         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
47586         * modules/mkdir-p (Files): Add lib/same-inode.h.
47587         * modules/same (Files): Add lib/same-inode.h.
47588
47589 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47590
47591         * m4/absolute-header.m4: Renamed from full-header-path.m4.
47592         This is to keep the terminology clean; POSIX talks about
47593         "absolute pathnames", not "full pathnames", but the GNU
47594         Coding Standards say to use "path" for something else;
47595         so use "absolute" to keep both sides happy.
47596         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
47597         Set gl_absolute_header, not gl_full_header_path.
47598         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
47599         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
47600         All uses changed.
47601
47602         Merge from coreutils.
47603
47604         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47605
47606         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
47607         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
47608         want to require the building of c-strtod.o.
47609         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
47610         needs -lm directly.
47611         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
47612
47613         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47614
47615         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
47616         --as-needed option if available.  Problem reported by Albert Chin in
47617         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
47618         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
47619         cc merely issues a bunch of annoying warnings for --as-needed
47620         (this problem was reported by Bob Proulx).  Also, try linking with
47621         -lm to detect a bug in binutils 2.16 (this problem was reported
47622         by Ralf Wildenhues).
47623
47624         2006-06-18  Jim Meyering  <jim@meyering.net>
47625
47626         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
47627         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
47628         macro.
47629         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
47630         also check for glibc-2.4's abort-inducing bug.
47631
47632         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
47633         Low-probability clean-up should be to use rmdir to get rid of
47634         the just-created directory, not unlink.
47635
47636         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
47637         configure fail, and request a bug report to inform us about it.
47638         Add a comment that, barring reports to the contrary, in 2007 we'll
47639         assume ftruncate is universally available.
47640
47641         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47642
47643         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
47644
47645         2006-03-12  Jim Meyering  <jim@meyering.net>
47646
47647         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
47648         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
47649         * m4/same.m4 (gl_SAME): Likewise.
47650         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
47651
47652         2006-03-11  Eric Blake  <ebb9@byu.net>
47653
47654         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
47655         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
47656         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
47657         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
47658
47659 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
47660
47661         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
47662         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
47663         reported by Mark D. Baushke, one in
47664         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
47665
47666         Merge from coreutils.
47667
47668         * lib/.cppi-disable: Add stdint_.h.
47669         * lib/.cvsignore: Add stdint.h.
47670
47671         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
47672
47673         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
47674         both double and long double versions.
47675         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
47676         * lib/xstrtold.c: New file.
47677         * lib/xstrtod.h (xstrtold): New decl.
47678
47679         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
47680
47681         * lib/filemode.c (setst): Remove.
47682         (strmode): Rewrite to avoid setst.  This makes the code shorter,
47683         (arguably) clearer, and the generated code is a bit smaller on my
47684         Debian GNU/Linux stable x86 host.
47685
47686         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47687
47688         * lib/filemode.c: Include "filemode.h" first, to test the interface.
47689         Assume that filemode.h includes sys/types.h and sys/stat.h.
47690         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
47691         (ftypelet): Reorder to put common cases first, for efficiency.
47692         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
47693         to do 'M'.
47694         (strmode): Renamed from mode_string, and now stores 12 bytes instead
47695         of 10, for compatibility with FreeBSD.  All callers changed.
47696         (filemodestring): Now stores 12 bytes instead of 10, and sets file
47697         types that can't be deduced solely from st_mode.  First arg is now a
47698         const pointer.
47699         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
47700         (strmode): Renamed from mode_string.
47701         (filemodestring): New decl.
47702         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
47703         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
47704         needed.
47705         (S_ISPORT, S_ISWHT): New macros, if not already defined.
47706
47707         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47708
47709         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
47710         fsusage.h now does that.  Include fsusage.h first, to test interface.
47711         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
47712         at most one method (the old code could have generated decls that
47713         didn't conform to C89, not that this was ever exercised).
47714         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
47715
47716         2006-03-19  Jim Meyering  <jim@meyering.net>
47717
47718         Work even in a chroot where d_ino values for entries in "/"
47719         don't match the stat.st_ino values for the same names.
47720         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
47721         number, iterate through all entries again, using lstat instead.
47722         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
47723         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
47724
47725         * lib/getcwd.c (__getcwd): Clarify a comment.
47726         Use memcpy in place of a call to strcpy.
47727
47728         2006-03-12  Jim Meyering  <jim@meyering.net>
47729
47730         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
47731         matches that of the current directory (which we're about to chdir ".."
47732         out of), then save the dev-ino of the parent, instead.
47733
47734         * lib/same-inode.h (SAME_INODE): New file/macro.
47735         * lib/chdir-safer.c (SAME_INODE): Remove definition.
47736         Include "same-inode.h", instead.
47737         * lib/same.c: Likewise.
47738         * lib/cycle-check.h: Include "same-inode.h".
47739         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
47740         * lib/cycle-check.c (SAME_INODE): Remove definition.
47741         * lib/root-dev-ino.h: Include "same-inode.h".
47742
47743         2006-03-11  Eric Blake  <ebb9@byu.net>
47744
47745         * lib/same.c (same_name): s/base_name/last_component/
47746         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
47747         * lib/filenamecat.c (file_name_concat): Likewise.
47748
47749         2006-03-11  Eric Blake  <ebb9@byu.net>,
47750                     Paul Eggert  <eggert@cs.ucla.edu>
47751
47752         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
47753         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
47754         drive prefix.
47755         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
47756         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
47757         (last_component): New method.
47758         * lib/dirname.c (dir_len): Determine when drive letters need a
47759         subsequent slash.  Preserve // when it is special.
47760         (dir_name): Don't append dot when drive letter is absolute.
47761         [TEST_DIRNAME]: Move into a full-blown gnulib test.
47762         * lib/basename.c (base_name): New semantics - malloc the result.
47763         Preserve // when it is special.  Preserve relative files that look
47764         like drive letters.
47765         (base_len): Preserve // when it is special.
47766         (last_component): New method, similar to old base_name semantics.
47767         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
47768         base_name.  Strip redundant slashes from ///.
47769
47770 2006-07-03  Jim Meyering  <jim@meyering.net>
47771
47772         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
47773         macro is used before the first cycle_check call.
47774
47775 2006-07-03  Eric Blake  <ebb9@byu.net>
47776
47777         * modules/dirname (Depends-on): Add xstrndup.
47778
47779 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47780
47781         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
47782         test cases, so that config.log is a bit easier to follow.
47783
47784 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47785
47786         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
47787         both are 64 bits, since this seems to be the tradition, and this
47788         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
47789         we ever run into a host that prefers long long to long in this
47790         case, we'll need another configure-time test.  Problem reported by
47791         Jim Meyering.
47792
47793 2006-07-02  Eric Blake  <ebb9@byu.net>
47794
47795         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
47796
47797 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47798
47799         * modules/inttypes (Depends-on): No longer depends on stdint.
47800         * modules/stdint (Description): Say more about assumptions.
47801         Say that the fast types might differ.  Say macros are used.
47802         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
47803         (Makefile.am): Revise list of substituted symbols to match
47804         new stdint.m4.
47805         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
47806         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
47807         * tests/test-stdint.c (verify_same_types)
47808         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
47809         the code conforms to C99/C89.
47810         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
47811         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
47812
47813 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47814
47815         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
47816         but fix a bug, by requiring at least 64 bits.
47817         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47818         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
47819         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
47820         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
47821
47822         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
47823         changes.  Make 2.59 a prerequisite.  Check and substitute for
47824         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
47825         inttypes.h.  Do not use special include files; just use the
47826         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
47827         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
47828         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
47829         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
47830         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
47831         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
47832         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
47833         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
47834         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
47835         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
47836         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
47837         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
47838         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
47839         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
47840         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
47841         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
47842         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
47843         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
47844         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
47845         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
47846         WINT_MAX.  Check for C99 conformance more strictly, by detecting
47847         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
47848         not check for things that C99 does not require, e.g., int8_t.  If
47849         a test isn't needed unless <stdint.h> isn't working, and is
47850         unlikely to be needed for any other reason, then don't do it
47851         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
47852         size_t, since we assume C89 freestanding at least.  Do not check
47853         for sig_atomic_t, wchar_t, or wint_t, since the code now does
47854         the right thing even if the types are not defined.  Instead use:
47855         (gl_STDINT_TYPE_PROPERTIES): New macro.
47856         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
47857         testing whether <sys/types.h> clashes, as Autoconf does this for
47858         us now.  All uses removed.
47859         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
47860         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
47861         (gl_CHECK_TYPE_SAME):
47862         Remove; no longer needed.
47863         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
47864         exists, since we'll return 0 anyway in that case.
47865         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
47866
47867 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47868
47869         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
47870         possible collision with system files.
47871         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
47872         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
47873         WCHAR_MIN and WCHAR_MAX in this case.
47874         (<stddef.h>): Do not include; no longer needed.
47875         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
47876         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
47877         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
47878         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
47879         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
47880         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
47881         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
47882         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
47883         !defined(__c99))]: Include in this case too, since it's harmless
47884         now.
47885         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
47886         dangerous to do so.
47887         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
47888         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
47889         (_STDINT_MIN, _STDINT_MAX): New macros.
47890         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
47891         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
47892         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
47893         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
47894         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
47895         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
47896         macros, not typedefs; this simplifies things quite a bit.
47897         Use long int for all types narrower than int64_t.
47898         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
47899         Define in terms of long long int or int64_t or long int,
47900         not int64_t or int32_t.  This saves some compile-time testing.
47901         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
47902         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
47903         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
47904         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
47905         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
47906         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
47907         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
47908         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
47909         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
47910         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
47911         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47912         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47913         undef any previous version and define our own version, for
47914         simplicity and consistency with the new macros for types.
47915         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47916         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47917         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
47918         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
47919         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
47920         @WINT_T_SUFFIX@ to keep things simple here.
47921         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
47922         Simplify by assuming typical 8/16/32/64 host, since we're
47923         already doing that elsewhere anyway.
47924         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
47925         and assume long long int is 64 bits if available.  This
47926         speeds up 'configure'.
47927
47928 2006-07-01  Eric Blake  <ebb9@byu.net>
47929
47930         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
47931         Reported by Andreas Buening.
47932
47933 2006-07-01  Eric Blake  <ebb9@byu.net>
47934
47935         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
47936
47937 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47938
47939         * lib/getaddrinfo.c: fixed typo
47940
47941 2006-06-29  Jim Meyering  <jim@meyering.net>
47942
47943         * modules/strftime (Maintainer): Add my name, since with the
47944         FPRINTFTIME changes strftime.c has forked from glibc.
47945
47946 2006-06-29  Eric Blake  <ebb9@byu.net>
47947
47948         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
47949
47950 2006-06-29  Eric Blake  <ebb9@byu.net>
47951
47952         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
47953
47954 2006-06-29  Eric Blake  <ebb9@byu.net>
47955
47956         * lib/stat_.h: New file.
47957
47958 2006-06-29  Eric Blake  <ebb9@byu.net>
47959
47960         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
47961         unused static function.
47962
47963 2006-06-29  Eric Blake  <ebb9@byu.net>
47964
47965         * doc/functions.texi (Function Portability): Document missing lstat
47966         on mingw.
47967
47968 2006-06-29  Eric Blake  <ebb9@byu.net>
47969
47970         * MODULES.html.sh: Add sys_stat.
47971         * modules/sys_stat: New module.
47972         * modules/mkstemp (Depends-on): Add sys_stat.
47973
47974 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47975
47976         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
47977
47978 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47979
47980         * m4/c-bs-a.m4: Removed.
47981
47982 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47983
47984         * lib/strftime.c: Assume strftime() exists.
47985
47986 2006-06-29  Derek Price  <derek@ximbiot.com>
47987
47988         * modules/c-bs-a: Removed - \a is C89.
47989         * MODULES.html.sh: Remove c-bs-a.
47990
47991 2006-06-29  Bruno Haible  <bruno@clisp.org>
47992
47993         * modules/wcwidth (License): Change to LGPL.
47994
47995 2006-06-28  Simon Josefsson  <jas@extundo.com>
47996
47997         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
47998         on _WIN32.
47999
48000         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
48001         getnameinfo.
48002
48003 2006-06-28  Simon Josefsson  <jas@extundo.com>
48004
48005         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
48006
48007 2006-06-28  Simon Josefsson  <jas@extundo.com>
48008
48009         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
48010         functions there.  It will succeed on Windows XP, but on Windows
48011         2000 and (presumably) earlier, it will fail, and use the internal
48012         re-implementation.
48013         (use_win32_p): New function.
48014         (getaddrinfo): Use strtoul on servname, to support numeric ports.
48015         Support AI_NUMERICSERV to disable getservbyname.
48016         (getnameinfo): New function, only supports
48017         NI_NUMERICHOST|NI_NUMERICSERV for now.
48018
48019         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
48020         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
48021         getnameinfo.
48022
48023 2006-06-28  Eric Blake  <ebb9@byu.net>
48024
48025         * modules/wcwidth: New file.
48026         * modules/mbchar (Depends-on): Add wcwidth.
48027         * modules/mbswidth (Depends-on): Add wcwidth.
48028         * MODULES.html.sh: Add wcwidth.
48029
48030 2006-06-28  Eric Blake  <ebb9@byu.net>
48031
48032         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
48033         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
48034
48035 2006-06-28  Eric Blake  <ebb9@byu.net>
48036
48037         * lib/xvasprintf.h: Fix comments.
48038
48039 2006-06-28  Eric Blake  <ebb9@byu.net>
48040
48041         * lib/mbchar.h (wcwidth): Include wcwidth.h.
48042         * lib/mbswidth.c (wcwidth): Move from here...
48043         * lib/wcwidth.h: ...to this new file.
48044
48045 2006-06-28  Derek R. Price  <derek@ximbiot.com>
48046
48047         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
48048
48049         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
48050         it's obsolete.
48051         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
48052
48053 2006-06-28  Derek R. Price  <derek@ximbiot.com>
48054
48055         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
48056         Autoconf 2.60 says this stuff was obsolete.
48057
48058 2006-06-28  Bruno Haible  <bruno@clisp.org>
48059
48060         * modules/wcwidth (Files): Add m4/wchar_t.m4.
48061
48062 2006-06-28  Bruno Haible  <bruno@clisp.org>
48063
48064         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
48065         gt_TYPE_WCHAR_T.
48066
48067 2006-06-28  Bruno Haible  <bruno@clisp.org>
48068
48069         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
48070         declaration for wcwidth.
48071         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
48072
48073 2006-06-28  Bruno Haible  <bruno@clisp.org>
48074
48075         * lib/mkdtemp.c [MINGW]: Include <io.h>.
48076         (mkdir): Define using _mkdir.
48077
48078 2006-06-28  Bruno Haible  <bruno@clisp.org>
48079
48080         * lib/getaddrinfo.h: Fix POSIX URL.
48081         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
48082         _WIN32.
48083         (use_win32_p): Make static.
48084         (getaddrinfo): Reject service name if it is empty or does not consist
48085         solely of decimal digits, or if its value is > 65535.
48086         (getnameinfo): Remove useless casts.
48087
48088 2006-06-27  Simon Josefsson  <jas@extundo.com>
48089
48090         * modules/sys_select: New file, suggested by Bruno Haible, Paul
48091         Eggert and Martin Lambers.
48092
48093 2006-06-27  Simon Josefsson  <jas@extundo.com>
48094
48095         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
48096         Eggert and Martin Lambers.
48097
48098 2006-06-27  Bruno Haible  <bruno@clisp.org>
48099
48100         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
48101         result to 0, not to empty.
48102         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
48103
48104 2006-06-27  Bruno Haible  <bruno@clisp.org>
48105
48106         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
48107
48108 2006-06-26  Simon Josefsson  <jas@extundo.com>
48109
48110         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
48111         present.
48112
48113 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
48114
48115         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
48116         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
48117         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
48118
48119 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
48120
48121         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
48122
48123 2006-06-26  Bruno Haible  <bruno@clisp.org>
48124
48125         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
48126
48127 2006-06-26  Bruno Haible  <bruno@clisp.org>
48128
48129         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
48130
48131 2006-06-26  Bruno Haible  <bruno@clisp.org>
48132
48133         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
48134         SGI C compiler in pre-C99 mode.
48135         Suggested by Mark D. Baushke and Larry Jones.
48136
48137 2006-06-26  Bruno Haible  <bruno@clisp.org>
48138
48139         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
48140         WCHAR_MAX.
48141         Reported by Mark D. Baushke and Larry Jones.
48142
48143 2006-06-26  Bruno Haible  <bruno@clisp.org>
48144
48145         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
48146         in pre-C99 mode.
48147         Suggested by Mark D. Baushke and Larry Jones.
48148
48149 2006-06-23  Simon Josefsson  <jas@extundo.com>
48150             Bruno Haible  <bruno@clisp.org>
48151
48152         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
48153         Emit mostlyclean-local rule.
48154         (func_emit_tests_Makefile_am): Likewise.
48155         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
48156
48157 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
48158
48159         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
48160
48161 2006-06-23  Bruno Haible  <bruno@clisp.org>
48162
48163         * tests/test-stdint.c: Update to match ISO C 99 Technical
48164         Corrigendum 1.
48165
48166 2006-06-23  Bruno Haible  <bruno@clisp.org>
48167
48168         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
48169
48170 2006-06-23  Bruno Haible  <bruno@clisp.org>
48171
48172         * lib/stdint_.h: Treat IRIX like OpenBSD.
48173
48174 2006-06-23  Bruno Haible  <bruno@clisp.org>
48175
48176         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
48177         ISO C 99 Technical Corrigendum 1.
48178
48179 2006-06-22  Simon Josefsson  <jas@extundo.com>
48180
48181         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
48182         MinGW.
48183
48184 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
48185
48186         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
48187         needed.  Some compiler complained about some of them.  Problem reported
48188         by Larry Jones in
48189         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
48190
48191 2006-06-21  Simon Josefsson  <jas@extundo.com>
48192
48193         * tests/test-getaddrinfo.c: New file.
48194
48195         * modules/getaddrinfo-tests: New file.
48196
48197         * MODULES.html.sh: Add inet_pton.
48198
48199         * modules/inet_pton: New file.
48200
48201 2006-06-21  Simon Josefsson  <jas@extundo.com>
48202
48203         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
48204         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
48205         of using the (limited) gnulib implementation on Windows XP.
48206
48207         * m4/inet_pton.m4: New file.
48208
48209 2006-06-21  Simon Josefsson  <jas@extundo.com>
48210
48211         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
48212         variable.
48213
48214         * lib/socket_.h: Don't define WINVER.
48215
48216         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
48217         slightly modified to work in gnulib.
48218
48219 2006-06-21  Simon Josefsson  <jas@extundo.com>
48220
48221         * doc/gnulib.texi (Windows sockets): Add.
48222
48223 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
48224
48225         * lib/read-file.c (fread_file): Start with buffer allocation of
48226         0 bytes rather than 1 byte; this simplifies the code.
48227         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
48228         code to free buffer and save/restore errno.
48229         (internal_read_file): Remove unused local.
48230
48231 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
48232
48233         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
48234         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
48235         Problem reported by Denis Excoffier in
48236         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
48237
48238 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48239
48240         * modules/sys_socket, modules/socklen: Include sys/types since
48241         FreeBSD 4.x's sys/socket.h needs it.
48242
48243 2006-06-19  Simon Josefsson  <jas@extundo.com>
48244
48245         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
48246
48247 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
48248
48249         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
48250
48251 2006-06-19  Bruno Haible  <bruno@clisp.org>
48252
48253         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
48254         and FULL_PATH_INTTYPES_H in angle brackets.
48255         Reported by Mark D. Baushke <mdb@gnu.org>.
48256
48257 2006-06-17  Eric Blake  <ebb9@byu.net>
48258
48259         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
48260         errno.
48261
48262 2006-06-17  Bruno Haible  <bruno@clisp.org>
48263
48264         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
48265         <sys/inttypes.h>.
48266
48267 2006-06-17  Bruno Haible  <bruno@clisp.org>
48268
48269         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
48270         whether errno is declared. Assume <errno.h> declares errno.
48271
48272 2006-06-17  Bruno Haible  <bruno@clisp.org>
48273
48274         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
48275
48276 2006-06-17  Bruno Haible  <bruno@clisp.org>
48277
48278         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
48279         problem on Solaris 2.5.1.
48280
48281 2006-06-16  Eric Blake  <ebb9@byu.net>
48282
48283         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
48284         * lib/unicodeio.c [!defined errno]: Likewise.
48285         * lib/strtol.c [!defined errno]: Likewise.
48286         * lib/strtod.c [!defined errno]: Likewise.
48287
48288 2006-06-15  Eric Blake  <ebb9@byu.net>
48289
48290         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
48291
48292 2006-06-15  Eric Blake  <ebb9@byu.net>
48293
48294         * config/srclist.txt (ssize_t.m4): Lose sync.
48295
48296 2006-06-15  Bruno Haible  <bruno@clisp.org>
48297
48298         * modules/stdint (Files): Include m4/full-header-path.m4,
48299         m4/size_max.m4, m4/wchar_t.m4.
48300         (Makefile.am): Many more substitutions.
48301         * modules/stdint-tests: New file.
48302         * tests/test-stdint.c: New file.
48303
48304 2006-06-15  Bruno Haible  <bruno@clisp.org>
48305
48306         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
48307         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
48308         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
48309         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
48310         gl_CHECK_TYPE_SAME): New macros.
48311
48312 2006-06-15  Bruno Haible  <bruno@clisp.org>
48313
48314         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
48315
48316 2006-06-15  Bruno Haible  <bruno@clisp.org>
48317
48318         * lib/stdint_.h: Rewritten to be fully auto-configured.
48319         Fixes bug on HP-UX/IA64.
48320
48321 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
48322
48323         * lib/getdate.y (__attribute__): Don't define if already defined.
48324         Problem reported by Larry Jones.
48325         * lib/utimens.c (__attribute__): Likewise.
48326
48327 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
48328
48329         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
48330         reported by Andreas Schwab.
48331
48332 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48333             Bruno Haible  <bruno@clisp.org>
48334
48335         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
48336         check for the declaration of strnlen and a run test that exposes the
48337         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
48338         rpl_strndup.
48339
48340 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48341             Bruno Haible  <bruno@clisp.org>
48342
48343         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
48344
48345 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48346
48347         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
48348         compile test, for Tru64 4.0D.
48349
48350 2006-05-28  Karl Berry  <karl@gnu.org>
48351
48352         * config/srclist.txt (printf-args.c): lose sync.
48353
48354 2006-05-26  Martin Lambers  <marlam@marlam.de>
48355
48356         * lib/getpass.c: Updates the test for the native W32 API, and adds
48357         missing includes, thus fixing compilation warnings.
48358
48359 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48360
48361         * lib/exclude.c (exclude_fnmatch): New function.
48362         (excluded_file_name): Call exclude_fnmatch.
48363         * lib/exclude.h (excluded_file_name): New prototype
48364
48365 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
48366
48367         * lib/tempname.c (small_open, large_open): New macros.
48368         (__open, __open64) [!_LIBC]: Remove.
48369         (__gen_tempname): Use small_open and large_open instead of __open
48370         and __open64.  This fixes a portability bug on HP-UX 11.11i
48371         reported by Simon Wing-Tang in
48372         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
48373
48374 2006-05-24  Bruno Haible  <bruno@clisp.org>
48375
48376         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
48377         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
48378         Reported by Thorsten Maerz <torte@netztorte.de> via
48379         Aaron Stone <aaron@serendipity.cx>.
48380
48381 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
48382
48383         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
48384         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
48385         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
48386         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
48387         not really conditional on the cache.
48388         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
48389
48390 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
48391
48392         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
48393         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
48394         (my_usleep): Don't mishandle maximum value.
48395
48396 2006-05-19  Jim Meyering  <jim@meyering.net>
48397
48398         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
48399
48400 2006-05-17  Bruno Haible  <bruno@clisp.org>
48401
48402         Cygwin portability.
48403         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
48404
48405 2006-05-17  Bruno Haible  <bruno@clisp.org>
48406
48407         * lib/stdint_.h: Fix recognition of Cygwin.
48408
48409 2006-05-15  Bruno Haible  <bruno@clisp.org>
48410
48411         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
48412         on libtool patch by Ralf Wildenhues.
48413
48414 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48415
48416         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
48417         test for C99 conformance; (bool) 0.5 is an integer constant
48418         expression, but (bool) -0.5 is not.  Problem reported by Fedor
48419         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
48420
48421 2006-05-11  Simon Josefsson  <jas@extundo.com>
48422
48423         * m4/xvasprintf.m4: Fix obvious typo.
48424
48425 2006-05-11  Jim Meyering  <jim@meyering.net>
48426
48427         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
48428         James Lemley.
48429
48430 2006-05-10  Simon Josefsson  <jas@extundo.com>
48431
48432         * lib/md4.c: Typo fix, update copyright years.
48433         (K1, K2): Don't use L because it turn computations into 64-bit on
48434         64-bit platforms.
48435
48436 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
48437
48438         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
48439         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
48440         unwanted sign propagation, e.g., on hosts with 64-bit int.
48441         There still are some problems with reeelly weird theoretical hosts
48442         (e.g., 33-bit int) but it's not worth worrying about now.
48443         * lib/sha1.c (rol): Likewise.
48444         (K1, K2, K3, K4): Remove unnecessary L suffix.
48445
48446 2006-05-10  Bruno Haible  <bruno@clisp.org>
48447
48448         * lib/des.c: Cast to avoid warnings.
48449
48450 2006-05-09  Bruno Haible  <bruno@clisp.org>
48451
48452         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
48453         (Depends-on): Depend also on xsize, stdarg.
48454         (configure.ac): Add gl_XVASPRINTF.
48455
48456 2006-05-09  Bruno Haible  <bruno@clisp.org>
48457
48458         * m4/xvasprintf.m4: New file.
48459
48460 2006-05-09  Bruno Haible  <bruno@clisp.org>
48461
48462         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
48463         (EOVERFLOW): Define fallback value.
48464         (xstrcat): New function.
48465         (xvasprintf): Recognize the special case of a string concatenation.
48466
48467 2006-05-08  Eric Blake  <ebb9@byu.net>
48468
48469         * gnulib-tool (func_version): Base copyright year on CVS date.
48470         (func_emit_copyright_notice): New function.
48471         (func_emit_lib_Makefile_am): Use it.
48472         (func_emit_tests_Makefile_am): Likewise.
48473         (func_import): Likewise.
48474
48475 2006-05-08  Bruno Haible  <bruno@clisp.org>
48476
48477         * modules/stdarg: New file.
48478         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
48479
48480 2006-05-08  Bruno Haible  <bruno@clisp.org>
48481
48482         * m4/stdarg.m4: New file, from GNU gettext.
48483
48484 2006-05-08  Bruno Haible  <bruno@clisp.org>
48485
48486         * config/srclist.txt (build-aux/config.rpath): different from latest
48487         release.
48488
48489 2006-05-08  Bruno Haible  <bruno@clisp.org>
48490
48491         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
48492
48493 2006-05-05  Jim Meyering  <jim@meyering.net>
48494
48495         * m4/warning.m4: New file, derived from bison's file by the same name.
48496
48497 2006-05-03  Bruno Haible  <bruno@clisp.org>
48498
48499         * lib/stdint_.h: Shorter URL.
48500         * lib/inttypes.h: Likewise.
48501
48502 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48503
48504         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
48505
48506 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48507
48508         * lib/verify.h: Document the internals better.  Most of this change
48509         was written by Bruno Haible.
48510
48511 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48512
48513         * doc/verify.texi: New file, partly based on a proposal by
48514         Bruno Haible.
48515
48516 2006-05-02  Bruno Haible  <bruno@clisp.org>
48517
48518         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
48519         test from here...
48520         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
48521
48522 2006-04-29  Bruno Haible  <bruno@clisp.org>
48523
48524         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
48525         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
48526
48527 2006-04-29  Bruno Haible  <bruno@clisp.org>
48528
48529         * gnulib-tool: Make --update option actually work.
48530
48531 2006-04-29  Bruno Haible  <bruno@clisp.org>
48532
48533         * doc/gcd.texi: New file.
48534         * doc/gnulib.texi: Include it.
48535
48536 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
48537
48538         * lib/getdate.y (get_date): When adding relative date, start with the
48539         initial time, not with the result of the first mktime call.
48540
48541 2006-04-25  Bruno Haible  <bruno@clisp.org>
48542
48543         * gnulib-tool (func_import): Output the include directives in three
48544         blocks, sorted separately.
48545         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48546
48547 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
48548
48549         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
48550         to define main with arguments, for C++.  Reported by Eric Blake.
48551         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
48552         Prefer 'int main ()' to 'int main (void)', for C++.
48553         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48554         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
48555         for 'main', for C99 and C++.
48556
48557 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
48558
48559         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
48560         Don't assume that exit status -1 is valid.
48561         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48562         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
48563         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
48564         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
48565         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
48566         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
48567         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
48568         functions can be used without declaring them, or that you can
48569         exit with status -1.
48570         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
48571
48572 2006-04-24  Karl Berry  <karl@gnu.org>
48573
48574         * config/srclist.txt (longdouble.m4): sync lost.
48575
48576 2006-04-24  Eric Blake  <ebb9@byu.net>
48577
48578         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
48579
48580 2006-04-24  Bruno Haible  <bruno@clisp.org>
48581
48582         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
48583         poll() implementation in AIX.
48584         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48585
48586 2006-04-24  Bruno Haible  <bruno@clisp.org>
48587
48588         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
48589         assigned exactly once.
48590
48591 2006-04-23  Claudio Fontana  <claudio@gnu.org>
48592             Bruno Haible  <bruno@clisp.org>
48593
48594         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
48595         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
48596         for AM_CPPFLAGS.
48597
48598 2006-04-23  Bruno Haible  <bruno@clisp.org>
48599
48600         * modules/copy-file: Depend on unistd.
48601         * modules/execute: Likewise.
48602         * modules/fatal-signal: Likewise.
48603         * modules/findprog: Likewise.
48604         * modules/mkdtemp : Likewise.
48605         * modules/pipe: Likewise.
48606         * modules/wait-process: Likewise.
48607
48608 2006-04-23  Bruno Haible  <bruno@clisp.org>
48609
48610         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
48611         condition was already detected.
48612         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48613
48614 2006-04-23  Bruno Haible  <bruno@clisp.org>
48615
48616         * lib/copy-file.c: Include <unistd.h> unconditionally.
48617         * lib/execute.c: Likewise.
48618         * lib/fatal-signal.c: Likewise.
48619         * lib/findprog.c: Likewise.
48620         * lib/mkdtemp.c: Likewise.
48621         * lib/pipe.h: Likewise.
48622         * lib/pipe.c: Likewise.
48623         * lib/wait-process.h: Likewise.
48624
48625 2006-04-23  Bruno Haible  <bruno@clisp.org>
48626
48627         * gnulib-tool (func_usage): Fix --import description. Document
48628         --update.
48629         (func_import): Create temporary file in a temporary directory, if
48630         --dry-run is specified. Silence errors from 'grep' when there are no
48631         m4 files in $m4dir.
48632         (func_create_testdir): Silence errors from 'grep' when there are no
48633         m4 files in $m4dir.
48634         Reported by Karl Berry <karl@freefriends.org>.
48635
48636 2006-04-20  Bruno Haible  <bruno@clisp.org>
48637
48638         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
48639         one argument, so that the code will be portable to Autoconf 2.60.
48640         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
48641         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48642         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
48643
48644 2006-04-19  Derek Price  <derek@ximbiot.com>
48645             Eric Blake  <ebb9@byu.net>
48646
48647         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
48648         rather than "/full/path.h".  Update comment to match.  Shorten &
48649         generalize m4_translit call via AS_TR_CPP.
48650
48651 2006-04-19  Derek Price  <derek@ximbiot.com>
48652             Eric Blake  <ebb9@byu.net>
48653
48654         * lib/inttypes.h: Correct grammar in comment.
48655
48656 2006-04-18  Derek Price  <derek@ximbiot.com>
48657             Paul Eggert  <eggert@cs.ucla.edu>
48658
48659         * modules/inttypes: New file.
48660         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
48661
48662 2006-04-18  Derek Price  <derek@ximbiot.com>
48663             Paul Eggert  <eggert@cs.ucla.edu>
48664
48665         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
48666         New files.
48667
48668 2006-04-18  Derek Price  <derek@ximbiot.com>
48669             Paul Eggert  <eggert@cs.ucla.edu>
48670
48671         * lib/inttypes.h: New file.
48672         * lib/strtoimax.c: Assume <inttypes.h>.
48673
48674 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
48675
48676         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
48677         isn't mounted.  Problem reported by Kir Kolyshkin.
48678
48679 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48680
48681         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
48682         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
48683         Derek R. Price.
48684         * lib/regex.h (RE_DUP_MAX): Update comment to match current
48685         implementation.
48686
48687 2006-04-12  Eric Blake  <ebb9@byu.net>
48688
48689         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
48690         is now done automatically by the corresponding Autoconf macro.
48691
48692 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
48693
48694         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
48695         time_r.h.
48696
48697 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48698
48699         Merge regex changes from libc, removing some of our
48700         POSIX-conformance changes that were rejected and redoing them in a
48701         less-intrusive way.
48702
48703         * lib/regcomp.c (re_compile_internal, init_dfa):
48704         Length arg is now size_t, not Idx.  All uses changed.
48705         (peek_token): Forward decl now says internal_function.
48706         (__re_error_msgid, __re_error_msgid_idx):
48707         Now static rather than extern with attribute_hidden.
48708         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
48709         For some reason libc prefers K&R style defns for external functions.
48710         (regerror) [!defined _LIBC]: Likewise.
48711         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
48712         (seek_collating_symbol_entry, lookup_collation_sequence_value):
48713         (build_range_exp, build_collating_symbol):
48714         Use K&R-style defn.
48715         (re_compile_fastmap): Use '\0' to memset, not 0.
48716         (utf8_sb_map): Make the calculations more obvious.
48717         (init_dfa, parse_bracket_exp, build_charclass_op):
48718         Call calloc and cast result, as glibc does.
48719         (init_word_char, fetch_token, peek_token, peek_token_bracket):
48720         (build_range_exp, build_collating_symbol):
48721         Now internal functions.
48722
48723         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
48724
48725         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
48726         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
48727         Don't depend on VMS; depend on __VMS instead, for POSIX
48728         namespace cleanness.
48729         (regoff_t): Define to ssize_t, not long int.
48730
48731         Remove the REG_ macros named below.  Instead, make the old names
48732         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
48733         __USE_GNU_REGEX.
48734         (REG_BACKSLASH_ESCAPE_IN_LISTS):
48735         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
48736         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
48737         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
48738         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
48739         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
48740         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
48741         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
48742         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
48743         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
48744         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
48745         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
48746         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
48747         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
48748         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
48749         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
48750         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
48751         (REG_NREGS):
48752         Remove.  All uses replaced by the old RE_* names.
48753         (RE_BACKSLASH_ESCAPE_IN_LISTS):
48754         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
48755         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
48756         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
48757         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
48758         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
48759         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
48760         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
48761         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
48762         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
48763         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
48764         Don't bother having these macros be independent of each others'
48765         values, since they no longer exist in the POSIX name space.
48766
48767         Rename the following member names back to their old names,
48768         unless !__USE_GNU_REGEX.  All uses changed back.
48769         (buffer): Renamed from re_buffer.
48770         (allocated): Renamed from re_allocated.
48771         (used): Renamed from re_used.
48772         (syntax): Renamed from re_syntax.
48773         (fastmap): Renamed from re_fastmap.
48774         (translate): Renamed from re_translate.
48775         (can_be_null): Renamed from re_can_be_null.
48776         (regs_allocated): Renamed from re_regs_allocated.
48777         (fastmap_accurate): Renamed from re_fastmap_accurate.
48778         (no_sub): Renamed from re_no_sub.
48779         (not_bol): Renamed from re_not_bol.
48780         (not_eol): Renamed from re_not_eol.
48781         (newline_anchor): Renamed from re_newline_anchor.
48782         (num_regs): Renamed from rm_num_regs.
48783         (start): Renamed from rm_start.
48784         (end): Renamed from rm_end.
48785
48786         (free_state): Move up a bit.
48787
48788         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
48789         #define to be empty.
48790         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
48791         when that is what is intended.
48792         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
48793         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
48794         (MAX): New macro.
48795         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
48796         All uses changed back to re_malloc, etc.  It's now the caller's
48797         responsibility to check for overflow; all callers changed.
48798         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
48799         (re_x2nrealloc): Remove.
48800         (free_state): Remove decl.
48801
48802         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
48803         (re_set_registers, re_exec):
48804         Use K&R-style defn.
48805
48806         2006-01-31  Roland McGrath  <roland@redhat.com>
48807
48808         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
48809         Reported by Mike Frysinger <vapier@gentoo.org>.
48810
48811         2006-01-15  Andreas Jaeger  <aj@suse.de>
48812
48813         [BZ #1950]
48814         * lib/regex_internal.c (re_string_reconstruct): Adjust for
48815         build_wcs_upper_buffer change.
48816         (build_wcs_upper_buffer): Change return type.
48817
48818         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
48819
48820         * lib/regex_internal.h: Include <stdint.h> if available.
48821
48822         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
48823
48824         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
48825
48826         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
48827
48828         * lib/regcomp.c: Adjust for changed secondary hash function.
48829
48830         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
48831
48832         * lib/regex.h: Pretty printing.
48833         Clean up namespace a bit.
48834
48835         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
48836
48837         * lib/regexec.c (update_cur_sifted_state, check_arrival,
48838         check_arrival_add_next_nodes): Avoid using uninitialized variable.
48839
48840         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48841                     Ulrich Drepper  <drepper@redhat.com>
48842
48843         [BZ #1302]
48844         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
48845         changed.
48846         (bitset_word_t): Renamed from bitset_word.  All uses changed.
48847
48848         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
48849
48850         [BZ #281]
48851         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
48852         * lib/regcomp.c: Remove unnecessary uses of
48853         unsigned RE_TRANSLATE_TYPE.
48854         * lib/regex_internal.h: Likewise.
48855         * lib/regex_internal.c: Likewise.
48856         * lib/regexec.c: Likewise.
48857         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
48858
48859         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
48860
48861         * lib/regexec.c (find_recover_state): Remove unnecessary
48862         initialization.
48863         (transit_state_bkref): Make DFA a const pointer.
48864         (get_subexp): Likewise.
48865         (check_arrival): Likewise.
48866         (update_cur_sifted_state): Likewise.
48867         (re_search_internal): Likewise.
48868         (prune_impossible_nodes): Likewise.
48869         (acquire_init_state_context): Likewise.
48870         (proceed_next_node): Likewise.
48871         (set_regs): Likewise.
48872         (free_fail_stack_return): Likewise.
48873         (check_arrival_expand_ecl): Mark DFA parameter as const.
48874         (check_arrival_expand_ecl_sub): Likewise.
48875         (check_subexp_limits): Likewise.
48876         (sub_epsilon_src_nodes):  Likewise.
48877         (add_epsilon_src_nodes):  Likewise.
48878         (merge_state_array): Likewise.
48879         (update_regs): Likewise.
48880         (build_trtable): Likewise.
48881         (sift_states_backward): Mark MCTX parameter as const.
48882         (build_sifted_states): Likewise.
48883         (update_cur_sifted_state): Likewise.
48884         (sift_states_mkref): Likewise.
48885         (check_arrival_expand_ecl): Mark eclosure as const.
48886         (check_dst_limits_calc_pos_1): Likewise.
48887         * lib/regex_internal.h (re_match_context_t): Make dfa a const
48888         pointer.
48889
48890         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
48891
48892         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
48893         (transit_state_sb): Likewise.
48894         (transit_state_mb): Likewise.
48895         (sift_states_iter_mb): Likewise.
48896         (check_arrival_add_next_nodes): Likewise.
48897         (check_node_accept_bytes): Change first parameter to pointer-to-const.
48898         [_LIBC] (re_search_2_stub): Use mempcpy.
48899
48900         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
48901         mbrtowc for very simple UTF-8 case.
48902
48903         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
48904         a pointer-to-const.
48905         (re_acquire_state_context): Likewise.
48906         * lib/regex_internal.h: Adjust prototypes.
48907
48908         * lib/regex.c: Prevent using C++ compilers.
48909
48910         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
48911         (re_acquire_state_context): Likewise.
48912
48913 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48914
48915         * modules/regex (Depends-on): Add ssize_t.
48916
48917 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48918
48919         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
48920         translation table.
48921
48922 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48923
48924         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
48925
48926 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
48927             Bruno Haible  <bruno@clisp.org>
48928
48929         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
48930         <sys/types.h> and <inttypes.h>.
48931
48932 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48933
48934         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
48935         `__error_t_defined', so argp.h will not typedef the former.
48936
48937 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48938
48939         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
48940         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
48941         glibc names.  Even if glibc is changed to conform to POSIX, the
48942         traditional names will be available anyway, since regex depends on
48943         the extensions module.  Also, fix a longstanding typo in the
48944         implementation of Spencer ERE test #75 from grep 2.3.  Problems
48945         reported by Emanuele Giaquinta.  Also, change sense of cached
48946         variable, so that the message makes sense.
48947
48948 2006-03-24  Simon Josefsson  <jas@extundo.com>
48949
48950         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
48951         including some doc fixes.
48952         (base64_encode_alloc): Fix +1 bug on allocation failures.
48953
48954 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48955
48956         * lib/base64.c (base64_encode): Do not read past end of array with
48957         unsanitized input on systems with CHAR_BIT > 8.
48958
48959 2006-03-24  Eric Blake  <ebb9@byu.net>
48960
48961         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
48962
48963 2006-03-22  Karl Berry  <karl@gnu.org>
48964
48965         * config/srclist.txt (*setenv.[ch]): get from coreutils.
48966         * config/srclistvars.sh (COREUTILS): new var.
48967
48968 2006-03-17  Jim Meyering  <jim@meyering.net>
48969
48970         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
48971         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
48972
48973 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48974
48975         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
48976         no longer needs it.  Instead, check that regoff_t is as least
48977         as wide as ptrdiff_t.
48978
48979         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
48980         so that our regex.h stays compatible with the installed regex.
48981         This is helpful for installers who configure --without-included-regex.
48982         Problem reported by Emanuele Giaquinta.
48983
48984 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48985
48986         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
48987         Typedef to long int, not to off_, as POSIX will likely change
48988         in that direction.
48989
48990 2006-03-15  Eric Blake  <ebb9@byu.net>
48991
48992         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
48993
48994 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48995
48996         * lib/argp-help.c (validate_uparams): Fix typo
48997         * lib/argp-parse.c (argp_default_options): Consistently begin help
48998         messages with a lowercase letter.
48999
49000 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
49001
49002         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
49003         overrun buffers and shouldn't be used (much as gets shouldn't be
49004         used).
49005         * lib/time_r.c (asctime_r, ctime_r): Likewise.
49006
49007 2006-03-08  Simon Josefsson  <jas@extundo.com>
49008
49009         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
49010         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49011
49012 2006-03-08  Simon Josefsson  <jas@extundo.com>
49013
49014         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
49015         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49016
49017 2006-03-08  Simon Josefsson  <jas@extundo.com>
49018
49019         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
49020         signal that configure disabled the device.
49021
49022 2006-03-08  Simon Josefsson  <jas@extundo.com>
49023
49024         * build-aux/maint.mk: Fix refresh-po, to handle no translated
49025         languages.
49026
49027 2006-03-07  Simon Josefsson  <jas@extundo.com>
49028
49029         * modules/getopt (Depends-on): Add unistd.
49030
49031         * modules/unistd: New file.
49032
49033 2006-03-07  Simon Josefsson  <jas@extundo.com>
49034
49035         * modules/gc-random: New file.
49036
49037 2006-03-07  Simon Josefsson  <jas@extundo.com>
49038
49039         * m4/unistd_h.m4: New file.
49040
49041 2006-03-07  Simon Josefsson  <jas@extundo.com>
49042
49043         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
49044         test to be side-effect free by storing the result in the cache
49045         variable gl_cv_lib_readline, and moving the assignment of
49046         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
49047         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49048
49049 2006-03-07  Simon Josefsson  <jas@extundo.com>
49050
49051         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
49052         error on missing devices (the functions will return an error).
49053
49054         * m4/gc.m4: Move random stuff to gc-random.m4
49055
49056 2006-03-07  Simon Josefsson  <jas@extundo.com>
49057
49058         * lib/unistd_.h: New file.
49059
49060 2006-03-07  Simon Josefsson  <jas@extundo.com>
49061
49062         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
49063
49064 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
49065
49066         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
49067         Problem reported by Juan Manuel Guerrero.
49068
49069 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
49070
49071         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
49072         the unistd module.
49073         * lib/getlogin_r.c: Likewise.
49074         * lib/getlogin_r.h: Likewise.
49075         * lib/glob.c: Likewise.
49076         * lib/pagealign_alloc.c: Likewise.
49077         * lib/unistd_.h: Remove; no longer needed.
49078
49079 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
49080
49081         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49082         Add unistd.
49083         * modules/c-stack (Depends-on): Add unistd.
49084         * modules/getlogin_r: Likewise.
49085         * modules/glob: Likewise.
49086         * modules/pagealign_alloc: Likewise.
49087         * modules/unistd (Files): Remove lib/unistd_.h.
49088         (EXTRA_DIST): Remove.
49089         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
49090         need unistd_.h.
49091         (MOSTLYCLEANFILES): Remove unistd.h-t.
49092
49093 2006-03-03  Simon Josefsson  <jas@extundo.com>
49094
49095         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
49096
49097 2006-03-03  Simon Josefsson  <jas@extundo.com>
49098
49099         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
49100         libidn and bison.
49101
49102 2006-03-03  Simon Josefsson  <jas@extundo.com>
49103
49104         * build-aux/maint.mk: Add indent target.
49105
49106 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
49107
49108         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
49109         our replacement poll.h in any case, to avoid a differing
49110         declaration from a system header.  Seen on AIX.
49111
49112 2006-03-01  Simon Josefsson  <jas@extundo.com>
49113
49114         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
49115         <kasal@ucw.cz>.
49116
49117 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49118
49119         * modules/gettime (Depends-on): Add extensions module.
49120         * modules/nanosleep (Depends-on): Likewise.
49121         * modules/settime (Depends-on): Likewise.
49122
49123 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49124
49125         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
49126         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
49127         pedantically.
49128         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
49129         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
49130
49131         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
49132         not "==".  Reported by Ralf Wildenhues.
49133
49134 2006-03-01  Karl Berry  <karl@gnu.org>
49135
49136         * doc/Copyright/request-*: new files, synced from gnuorg.
49137
49138 2006-03-01  Karl Berry  <karl@gnu.org>
49139
49140         * config/srclist.txt (Copyright/*): new entries.
49141
49142 2006-02-28  Simon Josefsson  <jas@extundo.com>
49143
49144         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
49145
49146 2006-02-27  Simon Josefsson  <jas@extundo.com>
49147
49148         * lib/base64.h: Indent #define's.  From Jim Meyering
49149         <jim@meyering.net>.
49150
49151 2006-02-27  Jim Meyering  <jim@meyering.net>
49152
49153         Revert the change of 2006-02-24, so these files can continue
49154         to be sync'd from gettext.
49155         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
49156         of `config.h'.
49157
49158 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
49159
49160         * modules/intprops: New file.
49161         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
49162         Add intprops.
49163         * modules/getloadavg (Files): Remove lib/intprops.h.
49164         (Depends-on): Add intprops.
49165         * modules/human: Likewise.
49166         * modules/inttostr: Likewise.
49167         * modules/openat: Likewise.
49168         * modules/sig2str: Likewise.
49169         * modules/userspec: Likewise.
49170         * modules/utimecmp: Likewise.
49171         * modules/xnanosleep: Likewise.
49172         * modules/xstrtol: Likewise.
49173
49174 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
49175
49176         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
49177         * modules/lock-tests (TESTS): Use $(EXEEXT).
49178         * modules/tls-tests: Likewise.
49179         * modules/argp-tests: Likewise.
49180         (check_PROGRAMS): New var, replacing...
49181         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
49182
49183 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49184
49185         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
49186         `config.h'.
49187
49188 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
49189
49190         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
49191
49192 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49193
49194         Sync from coreutils.
49195         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
49196         gl_CHDIR_SAFER.
49197
49198 2006-02-22  Jim Meyering  <jim@meyering.net>
49199
49200         Sync from coreutils.
49201         * m4/chdir-safer.m4: New file.
49202
49203 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
49204
49205         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
49206         AT_FDCWD exceeds INT_MAX.
49207         * lib/openat.h (AT_FDCWD): Likewise.
49208
49209 2006-02-17  Eric Blake  <address@hidden>
49210
49211         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
49212
49213 2006-02-16  Simon Josefsson  <jas@extundo.com>
49214
49215         * modules/getaddrinfo (Depends-on): Add sys_socket.
49216
49217 2006-02-15  Simon Josefsson  <jas@extundo.com>
49218
49219         * build-aux/maint.mk: Add dsyntax-check rule.
49220
49221 2006-02-15  Eric Blake  <ebb9@byu.net>
49222
49223         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
49224         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
49225         'present but cannot compile' warnings on cygwin.
49226         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
49227         use ws2tcpip.h if sys/socket.h works.
49228         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
49229         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
49230
49231 2006-02-14  Simon Josefsson  <jas@extundo.com>
49232
49233         * modules/maintainer-makefile (Files): Rename.
49234
49235         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
49236         and (the local) Makefile.cfg to maint-cfg.mk.
49237
49238         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
49239         to the latter.
49240
49241         * modules/maintainer-makefile: New module.
49242
49243         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
49244         severaly stripped to make it possible to build it up from scratch
49245         with reliable tests.
49246
49247         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
49248         fixes to permit overriding the default actions when configure and
49249         makefile are not available.
49250
49251 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
49252
49253         Sync from coreutils.
49254         * modules/lstat (Depends-on): Don't depend on xalloc.
49255         (License): Change from GPL to LGPL, since this is now simply a
49256         replacement for a libc function.
49257
49258 2006-02-14  Jim Meyering  <jim@meyering.net>
49259
49260         Sync from coreutils.
49261
49262         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
49263         failure on deficient systems, and simplify gnulib lgpl dependencies.
49264         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
49265         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
49266
49267         * lib/xalloc-die.c: Remove unused definition of N_.
49268
49269 2006-02-14  Jim Meyering  <jim@meyering.net>
49270
49271         Sync from coreutils.
49272         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
49273         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
49274         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
49275         double-quote uses of that variable, to accommodate the rare case in
49276         which getmntent is available in none of the libraries checked.  This
49277         happens at least on FreeBSD 5.0.
49278
49279 2006-02-13  Simon Josefsson  <jas@extundo.com>
49280
49281         * gnulib-tool (Usage): Fix --import, from
49282         karl@freefriends.org (Karl Berry).
49283
49284 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
49285
49286         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
49287
49288 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
49289
49290         * lib/argp-namefrob.h: Restore changes accidentally lost during the
49291         "autoupdate" on 2005-12-12.
49292
49293 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
49294
49295         * modules/closeout (Depends-on): Remove atexit.
49296
49297 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
49298
49299         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
49300         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
49301
49302 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
49303
49304         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
49305         __EXTENSIONS__ if this causes compilation to fail.  Problem
49306         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
49307         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
49308
49309 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
49310
49311         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
49312         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
49313         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
49314         All uses changed.
49315
49316 2006-01-26  Simon Josefsson  <jas@extundo.com>
49317
49318         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
49319         prototype is visible on mingw32.
49320
49321         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
49322         for mingw32.
49323
49324         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
49325         mingw32).
49326
49327 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
49328
49329         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
49330         attempt to open for write; this always fails, at least on POSIX
49331         hosts.  This reinstates the 2006-01-09 change, which was
49332         inadvertently removed.
49333
49334 2006-01-26  Bruno Haible  <bruno@clisp.org>
49335
49336         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
49337         Reported by Paul Eggert.
49338
49339 2006-01-26  Bruno Haible  <bruno@clisp.org>
49340             Paul Eggert  <eggert@cs.ucla.edu>
49341
49342         * lib/stdbool_.h (_Bool)
49343         [(! (defined __cplusplus || defined __BEOS__)
49344           && !defined __GNUC__
49345           && !(defined __HP_cc || defined __xlc__
49346                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
49347                || defined __sgi))]:
49348         #define to signed char in these cases too; this simplifies
49349         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
49350         etc., separately) and makes it more conservative.
49351
49352 2006-01-25  Simon Josefsson  <jas@extundo.com>
49353
49354         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
49355         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
49356         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
49357
49358 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
49359
49360         * lib/argp-namefrob.h: Bugfix. Remove stray #
49361
49362 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
49363
49364         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
49365         so that we test the test.
49366         Check for yet another HP-UX cc bug involving *bool |= bool.
49367
49368 2006-01-25  Karl Berry  <karl@gnu.org>
49369
49370         * config/srclist.txt (vasnprintf.c): sync lost.
49371
49372 2006-01-25  Jim Meyering  <jim@meyering.net>
49373
49374         Sync from the stable (b5) branch of coreutils:
49375
49376         * lib/fts.c (fts_children): Don't let close() clobber errno from
49377         failed fchdir().
49378
49379         * lib/fts.c (fts_stat): When following a symlink-to-directory,
49380         don't necessarily interpret stat-fails+lstat-succeeds as indicating
49381         a dangling symlink.  That can also happen at least for ELOOP.
49382         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
49383         FYI, this bug predates the inclusion of fts.c in coreutils.
49384
49385         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
49386         in their own block, so pre-c99 compilers don't object.
49387
49388         Avoid the double-free (first in fts_read, second in fts_close) that
49389         would occur when an `active' directory is made inaccessible (e.g.,
49390         via chmod a-x) during a traversal.
49391         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
49392         before returning.  Reproduce this failure by
49393         mkdir -p a/b; cd a; chmod a-x . b
49394         Reported by Stavros Passas.
49395
49396 2006-01-25  Jim Meyering  <jim@meyering.net>
49397
49398         * lib/fileblocks.c: Remove more useless parentheses.
49399         * lib/readutmp.h: Likewise.
49400
49401 2006-01-25  Bruno Haible  <bruno@clisp.org>
49402
49403         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
49404         warnings.
49405         Reported by Paul Eggert.
49406
49407 2006-01-25  Bruno Haible  <bruno@clisp.org>
49408
49409         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
49410         rid of a trap command. For Solaris sh.
49411         Reported by Mark D. Baushke <mdb@gnu.org>.
49412
49413 2006-01-24  Simon Josefsson  <jas@extundo.com>
49414
49415         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
49416         Bruno.
49417
49418 2006-01-24  Karl Berry  <karl@gnu.org>
49419
49420         * config/srclist.txt (argp-namefrob.h): sync lost.
49421
49422 2006-01-24  Jim Meyering  <jim@meyering.net>
49423
49424         * modules/openat (Files): Add lib/intprops.h.
49425         From Mark D. Baushke.
49426
49427 2006-01-24  Jim Meyering  <jim@meyering.net>
49428
49429         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
49430         Reported by Mark D. Baushke.
49431
49432 2006-01-24  Jim Meyering  <jim@meyering.net>
49433
49434         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
49435
49436 2006-01-24  Bruno Haible  <bruno@clisp.org>
49437
49438         * modules/strnlen (Maintainer): Change from glibc to all.
49439
49440 2006-01-24  Bruno Haible  <bruno@clisp.org>
49441
49442         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
49443         Patch by Paul Eggert.
49444
49445 2006-01-24  Bruno Haible  <bruno@clisp.org>
49446
49447         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
49448         already has it.
49449         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
49450         2005-11-26.
49451
49452         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
49453         'signed char' to avoid problems with the built-in _Bool type.
49454         Reported by Paul Eggert on 2005-11-26.
49455
49456 2006-01-24  Bruno Haible  <bruno@clisp.org>
49457
49458         * gnulib-tool (func_import): Avoid constructing complicated sed
49459         expressions inside backquote.
49460         Report and solution by Mark D. Baushke <mdb@gnu.org>.
49461
49462 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
49463
49464         These changes imported from libc.
49465         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
49466         test and two separate function calls.
49467         * lib/strndup.c (__strndup): Add libc_hidden_def.
49468
49469 2006-01-23  Simon Josefsson  <jas@extundo.com>
49470
49471         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
49472         Remove the test_*_SOURCES variable: automake infers it by default.
49473         * modules/tls-tests: Likewise.
49474
49475 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49476
49477         Work around porting bugs reported by Dieter in
49478         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
49479         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
49480         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
49481         Include "getopt.h" first, to check interface.
49482         (getenv): Declare only if defined HAVE_DECL_GETENV &&
49483         !HAVE_DECL_GETENV.
49484         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
49485         (__strndup): Revert to K&R-style function dfns, the glibc style.
49486         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
49487         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
49488         Include strnlen.h first, to get prototype properly.
49489         (strnlen): Renamed from __strnlen.
49490         Remove weak alias.
49491
49492 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49493
49494         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
49495
49496 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49497
49498         * config/srclist.txt: Adjust to reflect glibc reorganization.
49499         This affects only comments.
49500
49501 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49502
49503          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
49504          Reported by Bruce Korb <bkorb@gnu.org>.
49505
49506 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
49507
49508         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
49509         to pacify gcc -Wswitch-default.
49510
49511 2006-01-22  Bruno Haible  <bruno@clisp.org>
49512
49513         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
49514         temporary buffer for sprintf, take into account the precision also
49515         for 'd', 'i', 'u', 'o', 'x', 'X'.
49516
49517 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
49518
49519         * modules/argp-tests: New module
49520         * tests/test-argp.c: New file
49521         * tests/test-argp-2.sh: New file
49522
49523 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
49524
49525         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
49526         (__argp_base_name): Removed
49527         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
49528         typo.
49529         (__argp_base_name): Provide macro definition or extern declaration
49530         depending on the configuration
49531
49532 2006-01-20  Simon Josefsson  <jas@extundo.com>
49533
49534         * modules/inet_ntop (Depends-on): Depend on sys_socket.
49535
49536 2006-01-20  Simon Josefsson  <jas@extundo.com>
49537
49538         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
49539
49540 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49541
49542         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
49543         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
49544         Suggested by Bruno Haible.
49545
49546 2006-01-20  Karl Berry  <karl@gnu.org>
49547
49548         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
49549         until changes propagate, I guess.
49550
49551 2006-01-19  Simon Josefsson  <jas@extundo.com>
49552
49553         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
49554
49555 2006-01-19  Simon Josefsson  <jas@extundo.com>
49556
49557         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
49558
49559 2006-01-19  Simon Josefsson  <jas@extundo.com>
49560
49561         * gnulib-tool: Set check_PROGRAMS.
49562
49563         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
49564         modules/des-tests, modules/gc-arcfour-tests,
49565         modules/gc-arctwo-tests, modules/gc-des-tests,
49566         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
49567         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
49568         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
49569         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
49570         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
49571         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
49572         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
49573         test_*_SOURCES.
49574
49575 2006-01-18  Simon Josefsson  <jas@extundo.com>
49576
49577         * modules/socklen (Depends-on): Depend on sys_socket.
49578
49579 2006-01-18  Simon Josefsson  <jas@extundo.com>
49580
49581         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
49582         modules/des-tests, modules/gc-arcfour-tests,
49583         modules/gc-arctwo-tests, modules/gc-des-tests,
49584         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
49585         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
49586         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
49587         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
49588         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
49589         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
49590         $(EXEEXT) to automake TESTS variable, for mingw32.
49591
49592 2006-01-17  Simon Josefsson  <jas@extundo.com>
49593
49594         * modules/socklen (Include): Need sys/socket.h.
49595
49596 2006-01-17  Bruno Haible  <bruno@clisp.org>
49597
49598         * modules/ssize_t (Include): Add <sys/types.h>.
49599
49600 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
49601
49602         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
49603         it's not portable and it doesn't work with cross-compiles.
49604         Problem reported by Bruno Haible.  Fix missing-$ typo in
49605         'test "gl_cv_ignore_unused_libraries" ...' that prevented
49606         -zignore from being used with Sun's C compiler.
49607
49608 2006-01-12  Simon Josefsson  <jas@extundo.com>
49609
49610         * lib/base64.c: Fix warning, reported by Bruno Haible
49611         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
49612
49613 2006-01-12  Bruno Haible  <bruno@clisp.org>
49614
49615         * modules/ldd: New file.
49616         * build-aux/ldd.sh.in: New file.
49617         * MODULES.html.sh (Support for building libraries and executables): Add
49618         ldd.
49619
49620 2006-01-12  Bruno Haible  <bruno@clisp.org>
49621
49622         * m4/ldd.m4: New file.
49623
49624 2006-01-12  Bruno Haible  <bruno@clisp.org>
49625
49626         * gnulib-tool (func_import, func_create_testdir): Don't go into an
49627         endless loop while replacing $auxdir with build-aux.
49628
49629 2006-01-11  Simon Josefsson  <jas@extundo.com>
49630
49631         * lib/stdint_.h (SIZE_MAX): Add missing (.
49632
49633 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
49634
49635         Sync from coreutils.
49636         * lib/md5.c: Fix commentary typos.
49637         (alignof, UNALIGNED_P): No need for a GCC-specific version.
49638         * lib/md5.h (__attribute__): Remove; unused.
49639         * lib/sha1.c: Fix commentary to match md5 better.
49640         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
49641         so that we don't need to worry about alignment.  All uses changed.
49642         This merges the 2005-10-28 md5 change into sha1.
49643
49644 2006-01-11  Jim Meyering  <jim@meyering.net>
49645
49646         Sync from coreutils.
49647         * lib/md5.c (OP): Fix spacing.
49648
49649 2006-01-11  Bruno Haible  <bruno@clisp.org>
49650
49651         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49652         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
49653         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
49654
49655 2006-01-11  Bruno Haible  <bruno@clisp.org>
49656
49657         Ensure automatic ordering between gl_LOCK and gl_ARGP.
49658         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
49659         the "early" section as well.
49660
49661 2006-01-11  Bruno Haible  <bruno@clisp.org>
49662
49663         Avoid "ar: no archive members specified" error on MacOS X.
49664         * gnulib-tool (func_modules_add_dummy): New function.
49665         (func_import, func_create_testdir): Invoke it.
49666
49667 2006-01-11  Bruno Haible  <bruno@clisp.org>
49668
49669         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
49670         with $auxdir in AC_CONFIG_FILES statements.
49671
49672 2006-01-11  Bruno Haible  <bruno@clisp.org>
49673
49674         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49675         Initialize also noinst_HEADERS to empty.
49676
49677 2006-01-11  Bruno Haible  <bruno@clisp.org>
49678
49679         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
49680         variables.
49681         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
49682         autoreconf.
49683
49684 2006-01-11  Bruno Haible  <bruno@clisp.org>
49685
49686         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
49687         overridable by the user.
49688         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49689
49690 2006-01-10  Simon Josefsson  <jas@extundo.com>
49691
49692         * modules/sys_socket: New file.
49693
49694 2006-01-10  Simon Josefsson  <jas@extundo.com>
49695
49696         * m4/sys_socket_h.m4: New file.
49697
49698 2006-01-10  Simon Josefsson  <jas@extundo.com>
49699
49700         * lib/socket_.h: New file.
49701
49702 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49703
49704         * modules/readutmp (Maintainer): Add myself.
49705
49706 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49707
49708         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
49709         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
49710         People who are still concerned with buggy memcmp implementations
49711         can invoke gl_FUNC_MEMCMP themselves.
49712
49713 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
49714
49715         * lib/regex_internal.h (BITSET_WORD_BITS):
49716         Work around a bug in 64-bit PGC (before version 6.1-2), where the
49717         preprocessor mishandles large unsigned values as if they were signed.
49718         Problem reported by Claudio Fontana in
49719         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
49720
49721 2006-01-10  Jim Meyering  <jim@meyering.net>
49722
49723         Avoid the double-free (first in fts_read, second in fts_close) that
49724         would occur when an `active' directory is made inaccessible (e.g.,
49725         via chmod a-x) during a traversal.
49726         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
49727         before returning.  Reproduce this failure by
49728         mkdir -p a/b; cd a; chmod a-x . b
49729         Reported by Stavros Passas.
49730
49731         Sync from coreutils.
49732         * lib/sha1.c: Tweak grammar in a comment.
49733
49734 2006-01-10  Jim Meyering  <jim@meyering.net>
49735
49736         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
49737         Patch by Joerg Sonnenberger.
49738
49739 2006-01-10  Bruno Haible  <bruno@clisp.org>
49740
49741         * modules/readutmp: Depend on module free.
49742         * modules/strtok_r: Depend on module restrict.
49743
49744 2006-01-10  Bruno Haible  <bruno@clisp.org>
49745
49746         * modules/gettext (configure.ac): Add an invocation of
49747         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
49748
49749 2006-01-10  Bruno Haible  <bruno@clisp.org>
49750
49751         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
49752         Reported by Werner Lemberg <wl@gnu.org>.
49753
49754 2006-01-10  Bruno Haible  <bruno@clisp.org>
49755
49756         * lib/localcharset.c: Update from GNU gettext.
49757
49758 2006-01-10  Bruno Haible  <bruno@clisp.org>
49759
49760         * lib/argp.h (__const): Remove macro. Use const instead.
49761         * lib/argp-fmtstream.h (__const): Likewise.
49762         * lib/glob_.h (__const): Remove macro.
49763         * lib/glob-libc.h: Use const instead of __const.
49764
49765 2006-01-10  Bruno Haible  <bruno@clisp.org>
49766
49767         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
49768         variable.
49769         Needed to avoid an automake error regarding the 'gettext' module.
49770
49771 2006-01-09  Simon Josefsson  <jas@extundo.com>
49772
49773         * modules/inet_ntop (Depends-on): Add restrict.
49774
49775 2006-01-09  Simon Josefsson  <jas@extundo.com>
49776
49777         * modules/gc-rijndael-tests (License): Put under LGPL.
49778
49779         * modules/gc-des-tests (License): Likewise.
49780
49781         * modules/gc-arcfour-tests (License): Likewise.
49782
49783         * modules/gc-arctwo-tests (License): Likewise.
49784
49785         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
49786
49787         * modules/gc-hmac-sha1-tests (Files): Likewise.
49788
49789         * modules/gc-hmac-md5-tests (License): Likewise.
49790
49791         * modules/gc-sha1-tests (License): Likewise.
49792
49793         * modules/gc-md5-tests (License): Likewise.
49794
49795         * modules/gc-md4-tests (License): Likewise.
49796
49797         * modules/gc-md2-tests (License): Likewise.
49798
49799         * modules/gc-tests (License): Likewise.
49800
49801         * modules/des-tests (License): Likewise.
49802
49803         * modules/md4-tests (License): Likewise.
49804
49805         * modules/md2-tests (License): Likewise.
49806
49807 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49808
49809         Sync from coreutils:
49810
49811         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
49812         * modules/lib-ignore: New file.
49813         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
49814         chdir-safer.m4, lchmod.m4.
49815         * modules/openat: Add mkdirat.c, openat-priv.h.
49816
49817 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49818
49819         Sync from coreutils.
49820         * m4/lib-ignore.m4: New file.
49821         * m4/lchmod.m4: New file.
49822
49823 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49824
49825         Sync from coreutils.
49826         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
49827         for write access: POSIX says that must fail.
49828         * lib/fts.c (diropen): Likewise.
49829         * lib/save-cwd.c (save_cwd): Likewise.
49830         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
49831         well, for minor improvements on hosts that lack O_DIRECTORY.
49832         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
49833         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
49834         Fall back on chown if open failed with EACCES.
49835
49836         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
49837         Report an error at compile-time if only a 1-second nominal clock
49838         resolution is found.
49839
49840         * lib/lchmod.h: New file.
49841         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
49842         (make_dir_parents): Use lchown rather than chown, and
49843         lchmod rather than chmod.
49844
49845         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
49846         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
49847         "proc" reported by n0dalus.
49848
49849         * lib/mountlist.c: Include <limits.h>.
49850         (dev_from_mount_options)
49851         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
49852         New function.  It no longer assumes "dev=" has the System V meaning
49853         on Linux (since it doesn't).  It also parses "dev=" more carefully.
49854         (read_file_system_list)
49855         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
49856         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
49857         dev= in that case.
49858
49859         * lib/posixtm.h (PDS_PRE_2000): New macro.
49860         * lib/posixtm.c (year): Arg is now syntax_bits rather than
49861         allow_century.  All usages changed.  Reject dates outside the range
49862         1969-1999 if PDS_PRE_2000 is used.
49863
49864 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49865
49866         Sync from coreutils.
49867         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
49868         (Time of day items): Mention the possibility of leap seconds.
49869         Problem reported by Dr. David Alan Gilbert.
49870
49871 2006-01-09  Jim Meyering  <jim@meyering.net>
49872
49873         Sync from coreutils.
49874
49875         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
49876
49877         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
49878
49879         * lib/modechange.c (mode_compile): Reject an invalid mode string
49880         that starts with an octal digit.  From Andreas Gruenbacher.
49881
49882         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
49883         and dup to open_safer and dup_safer, respectively.
49884         (openat_permissive): Fix typo in comment.
49885
49886         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
49887         "gettext.h"; either no longer needed or are guaranteed by openat.h.
49888         (_): Remove; no longer needed.
49889         (openat): Renamed from rpl_openat; no need for rpl_openat
49890         since openat.h renames openat for us.
49891         Replace most of the body with a call to openat_permissive,
49892         to avoid duplicate code.
49893         Port to (probably hypothetical) environments were mode_t is
49894         wider than int.
49895         (openat_permissive): Require mode arg, so that we can check
49896         types better.  Put it just after flags.  Change cwd failure
49897         indicator from pointer-to-bool to pointer-to-errno-value.
49898         All callers changed.
49899         Invoke openat_save_fail and/or openat_restore_fail if
49900         cwd_errno is null, so that openat can call us.
49901         (openat_permissive, fdopendir, fstatat, unlinkat):
49902         Simplify errno handling to avoid some duplicate code,
49903         as it's OK to set errno on success.
49904         * lib/openat.h: Revamp code so that function macros depend on
49905         __OPENAT_PREFIX only, not also on AT_FDCWD.
49906         (openat_ro): Remove.  Caller changed to use openat_permissive.
49907         (openat_permissive): Now a macro, if not a function.
49908         (openat_restore_fail, openat_save_fail): Now always functions,
49909         since mkdirat needs them even if __OPENAT_PREFIX is defined.
49910
49911         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
49912         and openat.c.
49913         * lib/mkdirat.c: Include openat-priv.h.
49914         Remove definitions of macros defined therein.
49915         * lib/openat.c: Likewise.
49916
49917         * lib/mkdirat.c (mkdirat): New file and function.
49918         * lib/openat.h (mkdirat): Declare.
49919
49920         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
49921
49922         * lib/openat.h (openat_permissive): Declare.
49923         (openat_ro): Define.
49924
49925         * lib/openat.c (EXPECTED_ERRNO): New macro.
49926         (openat_permissive): New function -- used in remove.c rewrite.
49927         (all functions): Set errno just before returning, only if there
49928         was an actual failure.
49929         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
49930
49931         Emulate openat-family functions using Linux's procfs, if possible.
49932         Idea and some code based on Ulrich Drepper's glibc changes.
49933
49934         * lib/openat.c: (BUILD_PROC_NAME): New macro.
49935         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
49936         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
49937         before falling back on save_cwd and restore_cwd.
49938         (fdopendir, fstatat, unlinkat): Likewise.
49939
49940         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
49941         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
49942
49943         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
49944         as second argument to va_arg.  Otherwise, some versions of gcc
49945         warn that `if this code is reached, the program will abort'.
49946
49947 2006-01-09  Jim Meyering  <jim@meyering.net>
49948
49949         Sync from coreutils.
49950         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
49951         Require openat-priv.h.
49952
49953 2006-01-09  Bruno Haible  <bruno@clisp.org>
49954
49955         * modules/strnlen (Include): Use strnlen.h.
49956
49957 2006-01-09  Bruno Haible  <bruno@clisp.org>
49958
49959         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
49960
49961 2006-01-09  Bruno Haible  <bruno@clisp.org>
49962
49963         * lib/sysexit_.h (EX_OK): New macro.
49964         Suggested by Martin Lambers <marlam@marlam.de>.
49965
49966 2006-01-09  Bruno Haible  <bruno@clisp.org>
49967
49968         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
49969         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
49970
49971 2006-01-09  Bruno Haible  <bruno@clisp.org>
49972
49973         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
49974         numbers.
49975
49976 2006-01-09  Bruno Haible  <bruno@clisp.org>
49977
49978         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
49979         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
49980         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
49981         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
49982
49983 2006-01-09  Bruno Haible  <bruno@clisp.org>
49984
49985         * build-aux/javacomp.sh.in: New file, moved from lib/.
49986         * modules/javacomp-script (Files): Update.
49987         (configure.ac): Add AC_CONFIG_FILES invocation.
49988         (EXTRA_DIST): Remove variable.
49989
49990         * build-aux/javaexec.sh.in: New file, moved from lib/.
49991         * modules/javaexec (Files): Update.
49992         (configure.ac): Add AC_CONFIG_FILES invocation.
49993         (EXTRA_DIST): Remove javaexec.sh.in.
49994
49995         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
49996         * modules/csharpcomp-script (Files): Update.
49997         (configure.ac): Add AC_CONFIG_FILES invocation.
49998         (EXTRA_DIST): Remove variable.
49999
50000         * build-aux/csharpexec.sh.in: New file, moved from lib/.
50001         * modules/csharpexec (Files): Update.
50002         (configure.ac): Add AC_CONFIG_FILES invocation.
50003         (EXTRA_DIST): Remove csharpexec.sh.in.
50004
50005 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
50006
50007         Sync from coreutils.
50008
50009         Add POSIX ACL support
50010         * lib/acl.h (copy_acl, set_acl): Add declarations.
50011         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
50012         systems other than Linux.
50013         (chmod_or_fchmod): New function: use fchmod when possible,
50014         and chmod otherwise.
50015         (file_has_acl): Add a POSIX ACL implementation, with a
50016         Linux-specific subcase.
50017         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
50018         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
50019         acls are unsupported.
50020         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
50021         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
50022         are unsupported.
50023
50024 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
50025
50026         Sync from coreutils.
50027         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
50028
50029 2006-01-07  Bruno Haible  <bruno@clisp.org>
50030
50031         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
50032         gl_EARLY.
50033
50034 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
50035
50036         * lib/strftime.c (tzname): Don't declare if it is already #defined.
50037         Problem reported for Mingw by Mark Junker.
50038
50039 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
50040
50041         * README: Gnulib normally doesn't generate a tarball.
50042
50043 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
50044
50045         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
50046         long int, not int, for nanosecond counts, so that people who are
50047         used to POSIX struct timespec won't be surprised.  Reported by Jim
50048         Meyering.
50049
50050 2005-12-28  Bruno Haible  <bruno@clisp.org>
50051
50052         * build-aux/config.rpath: Update from GNU gettext.
50053
50054 2005-12-16  Jim Meyering  <jim@meyering.net>
50055
50056         * modules/fprintftime: New module.
50057         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
50058
50059 2005-12-16  Jim Meyering  <jim@meyering.net>
50060
50061         * m4/fprintftime.m4: New file.
50062
50063 2005-12-16  Jim Meyering  <jim@meyering.net>
50064
50065         * lib/fprintftime.c, lib/fprintftime.h: New files.
50066
50067 2005-12-15  Simon Josefsson  <jas@extundo.com>
50068
50069         * modules/socklen (configure.ac): Fix M4 macro name, to align with
50070         new m4/socklen.m4.
50071
50072 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50073
50074         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
50075         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
50076
50077 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
50078
50079         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
50080         * lib/argp-help.c (fill_in_uparams): Check if the constructed
50081         struct uparams is valid. Fall back to the default values if it is
50082         not.
50083
50084 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
50085
50086         * modules/argp (Files): Add argp-pin.c
50087         (Depends-on): dirname
50088         (lib_SOURCES): Add argp-pin.c
50089
50090 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
50091
50092         * m4/argp.m4:  Check if program_invocation_name and
50093         program_invocation_short_name are declared and define appropriate
50094         macros if they are not.
50095
50096 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
50097
50098         * lib/argp-help.c (__argp_base_name): New function
50099         (__argp_short_program_name): Rewrite using __argp_base_name
50100         * lib/argp-namefrob.h: Define program_invocation_name and
50101         program_invocation_short_name if requested
50102         (__argp_base_name): Add prototype
50103         * lib/argp-parse.c (argp_def): Use gettext wrappers
50104         (argp_default_parser): Use __argp_base_name
50105         * lib/argp-pin.c: New file. Defines program_invocation_name and
50106         program_invocation_short_name on systems that lack them.
50107
50108 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
50109
50110         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
50111         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
50112         porting problem reported by Georg Schwarz in
50113         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
50114
50115 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
50116
50117         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
50118         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
50119         porting problem reported by Georg Schwarz in
50120         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
50121
50122 2005-12-05  Bruno Haible  <bruno@clisp.org>
50123
50124         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
50125         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
50126         Reported by Mark Junker <mjscod@gmx.de>.
50127
50128 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
50129
50130         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
50131         Use implementation from Albert Chin, with some
50132         comments/corrections by Stepan Kasal and myself.
50133
50134 2005-12-02  Bruno Haible  <bruno@clisp.org>
50135
50136         * gnulib-tool (func_import): Accept GPLed build tool modules when
50137         --lgpl is given.
50138         * modules/csharpcomp-script: New file.
50139         * modules/csharpcomp: Depend on it.
50140         * modules/javacomp-script: New file.
50141         * modules/javacomp: Depend on it.
50142         Suggested by Simon Josefsson.
50143
50144 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
50145
50146         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
50147         statement, to work around an HP-UX 10.20 compiler bug reported by
50148         Peter O'Gorman.
50149
50150 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
50151
50152         * modules/savedir (Depends-on): Add openat.
50153
50154 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
50155
50156         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
50157         (uintmax_t) [defined uintmax_t]: Do not declare.
50158         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
50159         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
50160         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
50161         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
50162         sake of portability to weird hosts that C allows (though we don't
50163         know of any practical examples).
50164
50165         * lib/savedir.h (fdsavedir): New decl.
50166         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
50167         contains most of the former guts of savedir.
50168         (savedir): Use savedirstream.
50169         Include "openat.h".
50170
50171 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
50172
50173         * modules/obstack (Files): Add m4/ulonglong.m4.
50174         Problem reported by Davide Angelocola.
50175
50176 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
50177
50178         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
50179         coreutils no longer futzes with rounding modes.
50180
50181 2005-11-14  Jim Meyering  <jim@meyering.net>
50182
50183         * lib/mkstemp-safer.c: Include <config.h>, required for possible
50184         replacement of mkstemp.
50185
50186 2005-11-10  Simon Josefsson  <jas@extundo.com>
50187
50188         * lib/readline.c: Remove EOL.
50189
50190 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50191
50192         * modules/gethrxtime (Depends-on): Add gettime.
50193
50194 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50195
50196         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
50197         or gettimeofday; no longer needed.
50198
50199 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50200
50201         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
50202         time business.
50203         (gethrxtime) [! (HAVE_NANOUPTIME
50204         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
50205         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
50206         our own approximation.
50207
50208 2005-11-08  Eric Blake  <ebb9@byu.net>
50209
50210         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
50211
50212 2005-11-08  Eric Blake  <ebb9@byu.net>
50213
50214         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
50215
50216 2005-11-04  Bruno Haible  <bruno@clisp.org>
50217
50218         * gnulib-tool: Implement --update mode.
50219
50220 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
50221
50222         Fix porting problem reported by Theodoros V. Kalamatianos.
50223         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
50224         Don't assume that futimes failing means we must fail.
50225
50226 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
50227
50228         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
50229         variables to suggest the intended function of the PATH_MAX check.
50230
50231 2005-10-30  Kean Johnston  <jkj@sco.com>
50232
50233         Trivial changes to support SCO systems.
50234         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
50235         as PATH_MAX.
50236         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
50237         where __ptr is null when no I/O is pending.
50238
50239 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
50240
50241         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
50242         leave errno alone.  Problem reported by Dmitry V. Levin.
50243
50244 2005-10-28  Simon Josefsson  <jas@extundo.com>
50245
50246         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
50247         Test more.
50248
50249         * tests/test-gc-md2.c, tests/test-md2.c: New files.
50250
50251         * modules/md2, modules/md2-tests: New files.
50252
50253 2005-10-28  Simon Josefsson  <jas@extundo.com>
50254
50255         * m4/inet_ntop.m4: More tests.
50256
50257         * m4/gc-md2.m4, md2.m4: New file.
50258
50259 2005-10-28  Simon Josefsson  <jas@extundo.com>
50260
50261         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
50262         "restrict" keywords, as per POSIX.  Protect the function
50263         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
50264         Don't use K&R prototypes.  Check the sprintf return values.
50265         Re-define EAFNOSUPPORT if not present.  Indent.
50266
50267         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
50268         suggested by Bruno Haible <bruno@clisp.org>.
50269
50270         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
50271
50272         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
50273
50274         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
50275         libgcrypt).
50276
50277         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
50278
50279         * lib/md2.h, lib/md2.c: New files.
50280
50281 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
50282
50283         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
50284         errno alone.  Problem reported by Frederic Jolliton.
50285
50286 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
50287
50288         * modules/verify (License): Change from GPL to LGPL.  This is a
50289         tiny module and there are apparently near-equivalents that are
50290         under the BSD license.
50291
50292 2005-10-24  Simon Josefsson  <jas@extundo.com>
50293
50294         * modules/sha1: Relicense to LGPL.
50295
50296 2005-10-24  Simon Josefsson  <jas@extundo.com>
50297
50298         * lib/md4.h: Shrink buffer size, now that we changed the type.
50299
50300 2005-10-23  Simon Josefsson  <jas@extundo.com>
50301
50302         * gnulib-tool (func_import): Fix --tests-base.
50303
50304 2005-10-22  Simon Josefsson  <jas@extundo.com>
50305
50306         * modules/arcfour (Depends-on): Need stdint.
50307
50308 2005-10-22  Simon Josefsson  <jas@extundo.com>
50309
50310         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
50311         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
50312
50313 2005-10-22  Simon Josefsson  <jas@extundo.com>
50314
50315         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
50316         suggested by Bruno Haible <bruno@clisp.org>.
50317
50318 2005-10-22  Simon Josefsson  <jas@extundo.com>
50319
50320         * lib/crc.h: Include stddef.h, for size_t.
50321
50322 2005-10-22  Simon Josefsson  <jas@extundo.com>
50323
50324         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
50325         arcfour_context struct (simplify test vector testing in GNU
50326         Shishi).
50327
50328 2005-10-21  Simon Josefsson  <jas@extundo.com>
50329
50330         * modules/des, modules/des-tests: New files.
50331
50332         * modules/gc-des, modules/gc-des-tests: New files.
50333
50334         * tests/test-des.c, tests/test-gc-des.c: New file.
50335
50336 2005-10-21  Simon Josefsson  <jas@extundo.com>
50337
50338         * modules/arctwo, modules/arctwo-tests: New files.
50339
50340         * tests/test-arctwo.c: New file.
50341
50342         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
50343
50344         * tests/test-gc-arctwo.c: New file.
50345
50346 2005-10-21  Simon Josefsson  <jas@extundo.com>
50347
50348         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
50349         Bruno Haible <bruno@clisp.org>.
50350
50351         * m4/gc-des.m4: New file.
50352
50353 2005-10-21  Simon Josefsson  <jas@extundo.com>
50354
50355         * m4/arctwo.m4: New file.
50356
50357         * m4/gc-arctwo.m4: New file.
50358
50359 2005-10-21  Simon Josefsson  <jas@extundo.com>
50360
50361         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
50362         block.
50363
50364 2005-10-21  Simon Josefsson  <jas@extundo.com>
50365
50366         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
50367         <bruno@clisp.org>.
50368
50369         * lib/hmac-sha1.c (hmac_sha1): Likewise.
50370
50371         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
50372         Bruno Haible <bruno@clisp.org>.
50373
50374         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
50375         <bruno@clisp.org>.
50376
50377 2005-10-21  Simon Josefsson  <jas@extundo.com>
50378
50379         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
50380
50381 2005-10-21  Simon Josefsson  <jas@extundo.com>
50382
50383         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
50384
50385 2005-10-21  Simon Josefsson  <jas@extundo.com>
50386
50387         * lib/des.h, lib/des.c: New files.
50388
50389         * lib/gc-gnulib.c: Support DES.c
50390
50391 2005-10-21  Simon Josefsson  <jas@extundo.com>
50392
50393         * lib/arctwo.h, lib/arctwo.c: New files.
50394
50395         * lib/gc-gnulib.c: Support ARCTWO.
50396
50397 2005-10-21  Simon Josefsson  <jas@extundo.com>
50398
50399         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
50400         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50401
50402 2005-10-21  Simon Josefsson  <jas@extundo.com>
50403
50404         * gnulib-tool (func_import, func_create_testdir): Define automake
50405         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
50406         Makefile.am snippet),
50407         suggested by Bruno Haible <bruno@clisp.org>.
50408
50409         * modules/gc (Makefile.am): Use it.
50410
50411 2005-10-21  Bruno Haible  <bruno@clisp.org>
50412
50413         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
50414         patch.
50415
50416 2005-10-19  Simon Josefsson  <jas@extundo.com>
50417
50418         * tests/test-gc-rijndael.c: New file.
50419
50420         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
50421
50422 2005-10-19  Simon Josefsson  <jas@extundo.com>
50423
50424         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
50425         interface too.
50426
50427 2005-10-19  Simon Josefsson  <jas@extundo.com>
50428
50429         * tests/test-gc-arcfour.c: New file.
50430
50431         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
50432
50433 2005-10-19  Simon Josefsson  <jas@extundo.com>
50434
50435         * modules/gc-md4, modules/gc-md4-tests: New file.
50436
50437         * tests/test-gc-md4.c: New file.
50438
50439 2005-10-19  Simon Josefsson  <jas@extundo.com>
50440
50441         * m4/gc-md4.m4: New file.
50442
50443 2005-10-19  Simon Josefsson  <jas@extundo.com>
50444
50445         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
50446         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
50447         <kasal@ucw.cz>.
50448
50449 2005-10-19  Simon Josefsson  <jas@extundo.com>
50450
50451         * m4/gc-arcfour.m4: New file.
50452
50453         * m4/gc-rijndael.m4: New file.
50454
50455 2005-10-19  Simon Josefsson  <jas@extundo.com>
50456
50457         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
50458
50459 2005-10-19  Simon Josefsson  <jas@extundo.com>
50460
50461         * lib/gc-gnulib.c: Support ARCFOUR.
50462
50463 2005-10-19  Simon Josefsson  <jas@extundo.com>
50464
50465         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
50466         support.
50467
50468         * lib/gc.h: Add ECB enum type.
50469
50470         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
50471
50472 2005-10-18  Simon Josefsson  <jas@extundo.com>
50473
50474         * tests/test-md5.c: New file.
50475
50476         * modules/md5-tests: New file.
50477
50478 2005-10-18  Simon Josefsson  <jas@extundo.com>
50479
50480         * tests/test-md4.c: New file.
50481
50482         * modules/md4, modules/md4-tests: New files.
50483
50484 2005-10-18  Simon Josefsson  <jas@extundo.com>
50485
50486         * m4/md4.m4: New file.
50487
50488 2005-10-18  Simon Josefsson  <jas@extundo.com>
50489
50490         * lib/md4.h, lib/md4.c: New files, based on md5.?.
50491
50492 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
50493
50494         * gnulib-tool (func_create_testdir): Omit the second check whether
50495         BUILT_SOURCES in nonempty.
50496
50497 2005-10-17  Simon Josefsson  <jas@extundo.com>
50498
50499         * tests/test-rijndael.c: New file.
50500
50501 2005-10-17  Simon Josefsson  <jas@extundo.com>
50502
50503         * modules/sha1: Depend on stdint instead of md5.
50504
50505         * modules/md5: Depend on stdint, remove uint32_t.
50506
50507 2005-10-17  Simon Josefsson  <jas@extundo.com>
50508
50509         * modules/gc-sha1-tests: New file.
50510
50511         * tests/test-gc-sha1.c: New file.
50512
50513 2005-10-17  Simon Josefsson  <jas@extundo.com>
50514
50515         * m4/md5.m4: Remove call to uint32_t.m4.
50516
50517 2005-10-17  Simon Josefsson  <jas@extundo.com>
50518
50519         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
50520
50521         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
50522         md5.h.
50523
50524         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
50525
50526         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
50527
50528 2005-10-17  Simon Josefsson  <jas@extundo.com>
50529
50530         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
50531
50532 2005-10-17  Simon Josefsson  <jas@extundo.com>
50533
50534         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
50535
50536 2005-10-17  Simon Josefsson  <jas@extundo.com>
50537
50538         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
50539
50540         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
50541
50542 2005-10-17  Bruno Haible  <bruno@clisp.org>
50543
50544         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
50545         that it can also be used in a test.
50546
50547 2005-10-16  Bruno Haible  <bruno@clisp.org>
50548
50549         * gnulib-tool (func_emit_tests_Makefile_am): Also define
50550         TESTS_ENVIRONMENT, so that individual tests can augment it.
50551
50552         * gnulib-tool (func_create_testdir): Use an intermediate target for
50553         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
50554         macros, like $(ALLOCA_H), which cannot be passed through the command
50555         line.
50556
50557 2005-10-15  Simon Josefsson  <jas@extundo.com>
50558
50559         * modules/rijndael-tests: New file.
50560
50561         * modules/rijndael: New file.
50562
50563 2005-10-15  Simon Josefsson  <jas@extundo.com>
50564
50565         * m4/rijndael.m4: New file.
50566
50567 2005-10-15  Simon Josefsson  <jas@extundo.com>
50568
50569         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
50570
50571         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
50572
50573 2005-10-14  Simon Josefsson  <jas@extundo.com>
50574
50575         * tests/test-arcfour.c: New file.
50576
50577         * modules/arcfour, modules/arcfour-tests: New files.
50578
50579 2005-10-14  Simon Josefsson  <jas@extundo.com>
50580
50581         * m4/arcfour.m4: New file.
50582
50583 2005-10-14  Simon Josefsson  <jas@extundo.com>
50584
50585         * lib/arcfour.h, lib/arcfour.c: New files.
50586
50587 2005-10-14  Roland McGrath  <roland@redhat.com>
50588
50589         Import from libc.  [BZ #1331]
50590         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
50591         macro argument.
50592         Reported by Matej Vela <vela@debian.org>.
50593
50594 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50595
50596         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
50597         include <wchar.h>; no longer needed.
50598
50599 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50600
50601         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
50602
50603 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
50604         and  Ulrich Drepper  <drepper@redhat.com>
50605
50606         Import from libc.
50607         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
50608         instead of inline stream orientation test and two separate
50609         function calls.  Pay no attention to USE_IN_LIBIO.
50610
50611 2005-10-13  Simon Josefsson  <jas@extundo.com>
50612
50613         * modules/gc-hmac-md5-tests: New file.
50614
50615         * tests/test-gc-hmac-sha1.c: New file.
50616
50617         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
50618
50619         * modules/gc-hmac-md5-tests: New file.
50620
50621         * tests/test-gc-md5.c: New file.
50622
50623         * modules/gc-md5-tests: New file.
50624
50625 2005-10-13  Simon Josefsson  <jas@extundo.com>
50626
50627         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
50628         Move memory allocation outside of loop.
50629
50630 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
50631
50632         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
50633         intermediate directory is in a read-only file system.  Problem
50634         reported by Eric Blake.
50635
50636 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
50637
50638         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
50639
50640 2005-10-12  Simon Josefsson  <jas@extundo.com>
50641
50642         * tests/test-hmac-sha1.c: New file.
50643
50644         * modules/hmac-sha1-tests: New file.
50645
50646         * modules/hmac-sha1: New file.
50647
50648 2005-10-12  Simon Josefsson  <jas@extundo.com>
50649
50650         * modules/gc-sha1: New file.
50651
50652 2005-10-12  Simon Josefsson  <jas@extundo.com>
50653
50654         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
50655
50656         * tests/test-gc-pbkdf2-sha1.c: New file.
50657
50658 2005-10-12  Simon Josefsson  <jas@extundo.com>
50659
50660         * modules/gc-md5, modules/gc-hmac-md5: New files.
50661
50662         * modules/gc (Files): Remove md5, memxor and hmac files.
50663
50664 2005-10-12  Simon Josefsson  <jas@extundo.com>
50665
50666         * m4/gc-pbkdf2-sha1.m4: New file.
50667
50668         * m4/gc-hmac-sha1.m4: New file.
50669
50670         * m4/gc-sha1: New file.
50671
50672         * m4/hmac-sha1.m4: New file.
50673
50674 2005-10-12  Simon Josefsson  <jas@extundo.com>
50675
50676         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
50677
50678         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
50679
50680 2005-10-12  Simon Josefsson  <jas@extundo.com>
50681
50682         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
50683         suggested by Bruno Haible <bruno@clisp.org>.
50684
50685 2005-10-12  Simon Josefsson  <jas@extundo.com>
50686
50687         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
50688
50689 2005-10-12  Simon Josefsson  <jas@extundo.com>
50690
50691         * lib/gc-pbkdf2-sha1.c: New file.
50692
50693         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
50694
50695 2005-10-12  Simon Josefsson  <jas@extundo.com>
50696
50697         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
50698
50699         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
50700
50701 2005-10-12  Simon Josefsson  <jas@extundo.com>
50702
50703         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
50704         GC_USE_HMAC_MD5, respectively.
50705
50706         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
50707         (gc_md5): Fix typo.
50708
50709         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
50710
50711         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
50712
50713         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
50714
50715 2005-10-12  Bruno Haible  <bruno@clisp.org>
50716
50717         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
50718         Reported by Stepan Kasal <kasal@ucw.cz>.
50719
50720 2005-10-11  Simon Josefsson  <jas@extundo.com>
50721
50722         * tests/test-crc.c: New file.
50723
50724         * modules/crc, modules/crc-tests: New files.
50725
50726 2005-10-11  Simon Josefsson  <jas@extundo.com>
50727
50728         * m4/crc.m4: New file.
50729
50730 2005-10-11  Simon Josefsson  <jas@extundo.com>
50731
50732         * lib/gc.h: Add gc_hash and gc_hash_buffer.
50733
50734         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
50735
50736         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
50737
50738 2005-10-11  Simon Josefsson  <jas@extundo.com>
50739
50740         * lib/crc.h, lib/crc.c: New files.
50741
50742         * lib/gc.h (gc_hash_buffer): Add doc.
50743
50744 2005-10-11  Bruno Haible  <bruno@clisp.org>
50745
50746         * modules/c-strcasestr: New file.
50747         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
50748
50749 2005-10-11  Bruno Haible  <bruno@clisp.org>
50750
50751         * modules/c-strcase: New file.
50752         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
50753
50754 2005-10-11  Bruno Haible  <bruno@clisp.org>
50755
50756         * lib/strcasecmp.c: Include limits.h.
50757         (strcasecmp): Avoid integer overflow on exotic platforms.
50758         * lib/strncasecmp.c: Include limits.h.
50759         (strncasecmp): Avoid integer overflow on exotic platforms.
50760         Reported by Paul Eggert.
50761
50762 2005-10-11  Bruno Haible  <bruno@clisp.org>
50763
50764         * lib/c-strcasestr.h: New file, from GNU gettext.
50765         * lib/c-strcasestr.c: New file, from GNU gettext.
50766
50767 2005-10-11  Bruno Haible  <bruno@clisp.org>
50768
50769         * lib/c-strcase.h: New file, from GNU gettext.
50770         * lib/c-strcasecmp.c: New file, from GNU gettext.
50771         * lib/c-strncasecmp.c: New file, from GNU gettext.
50772
50773 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
50774
50775         * modules/mempcpy (License): GPL -> LGPL.
50776         * modules/strchrnul (License): Likewise.
50777         * modules/sysexits (License): Likewise.
50778
50779 2005-10-08  Simon Josefsson  <jas@extundo.com>
50780
50781         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
50782
50783 2005-10-07  Simon Josefsson  <jas@extundo.com>
50784
50785         * m4/memxor.m4: Remove gl_C_RESTRICT call.
50786
50787 2005-10-06  Simon Josefsson  <jas@extundo.com>
50788
50789         * tests/test-hmac-md5.c: New file.
50790
50791         * modules/hmac-md5-tests: New file.
50792
50793         * modules/hmac-md5: New file.
50794
50795 2005-10-06  Simon Josefsson  <jas@extundo.com>
50796
50797         * m4/hmac-md5.m4: New file.
50798
50799         * m4/memxor.m4: Require gl_C_RESTRICT.
50800
50801 2005-10-06  Simon Josefsson  <jas@extundo.com>
50802
50803         * lib/memxor.c (memxor): Avoid casts and warnings.
50804
50805 2005-10-06  Simon Josefsson  <jas@extundo.com>
50806
50807         * lib/hmac-md5.c: New file.
50808
50809         * lib/hmac.h: New file.
50810
50811 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50812
50813         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
50814         promotes to int, not unsigned int, to catch the AIX 5.3
50815         compiler bug.
50816
50817 2005-10-05  Simon Josefsson  <jas@extundo.com>
50818
50819         * modules/memxor: New file.
50820
50821         * modules/iconv (Files): Move config.rpath to havelib, it is used
50822         there.
50823
50824         * modules/havelib (Files): Add config.rpath.
50825
50826 2005-10-05  Simon Josefsson  <jas@extundo.com>
50827
50828         * m4/memxor.m4: New file.
50829
50830 2005-10-05  Simon Josefsson  <jas@extundo.com>
50831
50832         * lib/memxor.c (memxor): Fix compiler error.
50833
50834         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
50835         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
50836
50837         * lib/memxor.h, lib/memxor.c: New files.
50838
50839         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
50840         we assume all systems have it, suggested by Jim Meyering
50841         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
50842         any systems lack sys/socket.h; mingw32 is known to lack it, but we
50843         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
50844         same reasons.
50845
50846 2005-10-05  Simon Josefsson  <jas@extundo.com>
50847
50848         * config/srclist.txt: Add glibc bug 1423 for md5.h.
50849
50850 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
50851
50852         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
50853         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
50854         needed, since the source code now assumes these .h files.
50855
50856 2005-10-05  Derek Price  <derek@ximbiot.com>
50857
50858         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
50859
50860 2005-10-05  Bruno Haible  <bruno@clisp.org>
50861
50862         * modules/stdint (License): Change to LGPL.
50863
50864 2005-10-04  Simon Josefsson  <jas@extundo.com>
50865
50866         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
50867         D. Baushke" <mdb@gnu.org>.
50868
50869 2005-10-04  Bruno Haible  <bruno@clisp.org>
50870
50871         * lib/verify.h (verify_true): Provide alternative definition for C++.
50872
50873 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
50874
50875         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
50876         (SSIZE_MAX): New macro, if not already defined.
50877         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
50878         than 2 GiB.
50879
50880 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50881
50882         Sync from coreutils.
50883         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
50884         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
50885         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
50886         ULLONG_MAX doesn't work with 2.7.2.1.
50887
50888 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50889
50890         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
50891         From Ben Pfaff.
50892
50893         * modules/exclude (Depends-on): Depend on verify.
50894         * modules/strtoimax (Depends-on): Likewise.
50895         * modules/utimecmp (Depends-on): Likewise.
50896
50897 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50898
50899         * lib/exclude.c: Include verify.h.
50900         (verify): Remove.  All callers changed to use verify.h's version.
50901         * lib/strtoimax.c: Likewise.
50902         * lib/utimecmp.c: Likewis.e
50903
50904         Sync from coreutils.
50905         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
50906         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
50907         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
50908         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
50909         bother returning ENOSYS if settimeofday or stime fails; just let
50910         them return whatever errno they want to return.
50911         * lib/utimens.c: Include unistd.h, for dup2.
50912         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
50913         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
50914
50915 2005-10-02  Jim Meyering  <jim@meyering.net>
50916
50917         Sync from coreutils.
50918         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
50919         from glibc-2.2.5 that fails for read-only files.
50920
50921 2005-10-02  Jim Meyering  <jim@meyering.net>
50922
50923         Sync from coreutils.
50924         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
50925         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
50926         `#if HAVE_CONFIG_H'.
50927         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
50928         Remove AT_FDCWD test.
50929         Do not consume the fd unless successful.
50930         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
50931         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
50932         block, so that we don't even try to compile it if settimeofday is
50933         available.  This works around a compilation failure on OSF1 V5.1,
50934         due to stime requiring a `long int*' while tv_sec is `int'.
50935
50936 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
50937
50938         Sync from coreutils.
50939         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
50940         against `yes', rather than just testing for nonempty.
50941
50942 2005-10-01  Simon Josefsson  <jas@extundo.com>
50943
50944         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
50945         and Darwin.
50946
50947         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
50948         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
50949         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
50950         freeaddrinfo and gai_strerror are declared by the POSIX headers.
50951         Check if struct addrinfo is declared.
50952
50953 2005-10-01  Simon Josefsson  <jas@extundo.com>
50954
50955         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
50956         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
50957         AI_* and EAI_* definitions.  Protect function declarations.
50958
50959 2005-10-01  Jim Meyering  <jim@meyering.net>
50960
50961         Sync from coreutils.
50962
50963         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
50964         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
50965         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
50966         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50967         in the inet and nsl libraries.  Required on Solaris 5.7.
50968
50969 2005-10-01  Jim Meyering  <jim@meyering.net>
50970
50971         Sync from coreutils.
50972         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50973         in the inet and nsl libraries.  Required on Solaris 5.7.
50974
50975 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
50976
50977         * lib/getdelim.c (getdelim): Remove unused variables.
50978
50979 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
50980
50981         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
50982         so that the code works even with ancient cpp.  Portability problem
50983         with GCC 2.7.2.1 reported by Thomas M.Ott.
50984
50985 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
50986
50987         * modules/regex (Depends-on): Add strcase.
50988
50989         * modules/gethostname (Licence): Change from GPL to LGPL, since
50990         gethostname.c is a trivial implementation of a standard library
50991         function.
50992         * modules/poll (License): Change from GPL to LGPL, since it's
50993         derived from LGPL code.
50994
50995 2005-09-27  Jim Meyering  <jim@meyering.net>
50996
50997         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
50998         HAVE_CONFIG_H.
50999
51000         * lib/intprops.h (signed_type_or_expr__): Define.
51001         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
51002         for unsigned types.
51003
51004 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
51005
51006         * lib/verify.h (verify_expr): Remove, replacing with:
51007         (verify_true): New macro that returns true instead of void.
51008         (verify_type__): Remove.
51009         (verify): Use verify_true rather than verify_type__.
51010
51011 2005-09-26  Bruno Haible  <bruno@clisp.org>
51012
51013         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
51014         is necessary.
51015         (lib_SOURCES): Remove mbchar.c.
51016         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
51017         (Files): Add m4/mbrtowc.m4.
51018         * modules/mbiter: Likewise.
51019         * modules/mbuiter: Likewise.
51020
51021 2005-09-26  Bruno Haible  <bruno@clisp.org>
51022
51023         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
51024         compile mbchar.c if they are not both present.
51025         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
51026         * m4/mbiter.m4 (gl_MBITER): Likewise.
51027         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
51028         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
51029         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
51030
51031 2005-09-25  Jim Meyering  <jim@meyering.net>
51032
51033         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
51034         also uses socklen_t.
51035
51036 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
51037
51038         * lib/utimens.c (ENOSYS): Define if not already defined.
51039         (futimens): Support having a null PATH if the file descriptor
51040         is nonnegative.
51041
51042         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
51043         Remove.
51044         (__attribute): Define to empty unless GCC 3.1 or later.
51045         This works around a core dump on OpenBSD 3.4, which has GCC
51046         2.95.3, which dumps core when given __attribute__(()).  It also
51047         simplifies other tests, since we really don't want to bother with
51048         worrying about which ancient version of GCC supported what.
51049         Original problem reported by Yoann Vandoorselaere, with part of
51050         the fix suggested by Derek Price.
51051
51052 2005-09-24  Jim Meyering  <jim@meyering.net>
51053
51054         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
51055         so we can once again use a positive bitfield width of 1 -- now we
51056         don't have to explain why we were using a bitfield width of 2.
51057
51058 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
51059
51060         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
51061         and similarly for the other external symbols.  Problem reported
51062         by James Gallager.
51063
51064         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
51065         bug reported by Jim Meyering.
51066
51067         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
51068         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
51069         not needed, since socklen is a prerequisite module.
51070
51071 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
51072
51073         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
51074         Problem reported by Eric Blake.
51075         (getaddrinfo): Initialize se so that it's not garbage.
51076         Redo internal storage allocation so that it doesn't make unportable
51077         assumptions about alignment.
51078         Fix a memory leak.
51079
51080         * lib/utimens.c (futimens): Use futimesat if available.
51081         Prefer it to futimes since it doesn't have the futimes bug.
51082
51083         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
51084         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
51085         Instead, declare a function that returns a pointer to an array,
51086         and use verify_type__ to declare the size of the array.
51087         Problem and germ of a solution reported by Bruno Haible.
51088         (verify_type__): Use 2, not 1, for bitfield size, to avoid
51089         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
51090
51091 2005-09-23  Jim Meyering  <jim@meyering.net>
51092
51093         Sync from coreutils.
51094         Correct build failure (socklen_t not defined) on at least
51095         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
51096         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
51097
51098 2005-09-23  Jim Meyering  <jim@meyering.net>
51099
51100         * modules/getaddrinfo (Depends-on): Add socklen.
51101
51102 2005-09-23  Bruno Haible  <bruno@clisp.org>
51103
51104         * tests/test-verify.c: New file.
51105
51106 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
51107
51108         Sync from coreutils.
51109
51110         * modules/argmatch (Depends-on): Add verify.
51111         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
51112         unistd-safer.
51113         * modules/save-cwd (Depends-on): Likewise.
51114
51115         * modules/openat (Files): Add lib/openat-die.c.
51116         (Depends-on): Remove error, exitfail.
51117         Add dirname.
51118
51119         * modules/verify: New file.
51120         * MODULES.html.sh (Diagnostics <assert.h>): New section,
51121         with "verify" module.
51122
51123 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
51124
51125         Sync from coreutils.
51126
51127         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
51128         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
51129         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
51130         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
51131         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
51132         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
51133         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
51134         Don't bother checking for string.h, stdlib.h, unistd.h.
51135         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
51136         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
51137         module's job.
51138         * m4/jm-macros.m4 (gl_MACROS): Likewise.
51139         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
51140
51141         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
51142         (gl_GETDATE): Use it.
51143
51144         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
51145
51146 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
51147
51148         Sync from coreutils.
51149
51150         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
51151         stat-time.h.
51152         * lib/argmatch.h: Include verify.h
51153         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
51154         (ARGMATCH_ASSERT): Remove; unused.
51155         * lib/canonicalize.c: Assume STDC_HEADERS.
51156         * lib/exclude.c: Include "strcase.h".
51157         * lib/regex_internal.h [!defined _LIBC]: Likewise.
51158         * lib/getusershell.c: Include stdio--.h rather than stdio.h
51159         and stdio-safer.h.
51160         (getusershell): Call fopen, not fopen_safer.
51161         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
51162         Do not include unistd-safer.h.
51163         (save_cwd): Don't call fd_safer; no longer needed
51164         now that we include fcntl--.h.
51165
51166         * lib/getdate.y (relative_time): New type.
51167         (RELATIVE_TIME_0): New constant.
51168         (parser_control): Use relative_time instead of doing it ourselves.
51169         (%union): Add new relative_time rel member.
51170         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
51171         Now typeless.
51172         (relunit, relunit_snumber): Now of type rel.
51173         (zone, rel, relunit, get_date): Adjust to above changes.
51174
51175         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
51176         Do not include unistd-safer.h.
51177         (getloadavg): Don't call fd_safer; no longer needed
51178         now that we include fcntl--.h.
51179
51180         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
51181         (make_dir_parents): Treat ENOSYS like EEXIST.
51182
51183         Improve quality of diagnostics on restore_cwd failure.
51184         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
51185         (make_dir_parents): Last arg is now int * (for errno), not bool *.
51186         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
51187         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
51188         each time through the loop.  Do not diagnose restore_cwd failure;
51189         that is the caller's job (and perhaps the caller does not care).
51190
51191         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
51192         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
51193         If the file already exists but is not a directory, don't bother
51194         to try to make its parents.
51195         Close potential file descriptor leak if we can't chdir("/") (!).
51196         Don't always return true if chdir($PWD) fails; return true only
51197         if the requested action was done successfully (except for the
51198         chdir($PWD)).
51199         Don't log final directory unless we actually made it.
51200         Refactor to avoid duplicate code to fix up permissions.
51201         Don't attempt to fix up parent permissions if chdir($PWD) fails.
51202
51203         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
51204         to make it a bit faster and (I hope) clearer.
51205         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
51206         Fix bug in formats like %2N.
51207
51208         * lib/verify.h: New file.
51209
51210 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
51211
51212         Sync from coreutils.
51213         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
51214
51215 2005-09-22  Jim Meyering  <jim@meyering.net>
51216
51217         Sync from coreutils.
51218
51219         * m4/lstat.m4 (gl_FUNC_LSTAT):
51220         Use AC_LIBSOURCES to require lstat.c and lstat.h.
51221         Remove obsolete comment.
51222         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
51223         * m4/xstrtod.m4: Likewise.
51224
51225         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
51226
51227 2005-09-22  Jim Meyering  <jim@meyering.net>
51228
51229         Sync from coreutils.
51230
51231         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
51232
51233         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
51234         the .tm_year member, since otherwise gcc-4.0 would now warn about
51235         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
51236
51237         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
51238         order to avoid an unsuppressible warning from gcc on 64-bit systems.
51239
51240         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
51241         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
51242         when run in a time zone for which daylight savings time is in effect
51243         for the starting date.
51244
51245         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
51246         stop us from restricting permissions of just-created absolute-named
51247         directories.
51248         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
51249         to restore initial working directory.
51250         * lib/mkdir-p.c (make_dir_parents): New parameter:
51251         different_working_dir, to tell caller if/when we change the working
51252         directory and are unable to return to the initial one.
51253         * lib/mkdir-p.h (make_dir_parents): Update prototype.
51254         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
51255         `return false'.  This fixes a bug introduced on 2004-07-30.
51256
51257         * lib/openat.c (fdopendir): Be sure to close the supplied
51258         file descriptor before returning.  This makes our replacement
51259         implementation a little closer to Solaris's, where fdopendir
51260         ties the file descriptor to the returned DIR* pointer.
51261         * lib/openat.c (unlinkat): New function.
51262         * lib/openat.h (unlinkat): Add prototype.
51263         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
51264         (openat_restore_fail): Rename from openat_restore_die.
51265         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
51266
51267         Provide an alternative to exiting immediately upon save_cwd or
51268         restore_cwd failure.  Now, an application can arrange e.g.,
51269         to perform a longjump in that case.
51270         * lib/openat.c: Include dirname.h.
51271         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
51272         (rpl_openat, fdopendir, fstatat): Call openat_save_die
51273         and openat_restore_die rather than calling error directly.
51274         Don't include "error.h" or "exitfail.h"; they're no longer needed.
51275
51276         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
51277         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
51278         define.
51279
51280         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
51281         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
51282                             int utc, int nanoseconds);
51283         Background:
51284         date should not have to allocate a megabyte of virtual memory to
51285         handle a format argument like +%1048575T.  When implemented with
51286         strftime, it must allocate such a buffer, use strftime to fill it
51287         in, print it, then free it.
51288         With fprintftime, it simply prints everything and exits.
51289         With no need for memory allocation, that's one fewer way to fail.
51290         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
51291         optional field width, not before, so we accept %9:z, not %:9z.
51292         (my_strftime): Be sure to use L_('x') for literals.
51293
51294         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
51295         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
51296         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
51297         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
51298         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
51299         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
51300         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
51301         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
51302         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
51303         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
51304         * lib/xgethostname.c, lib/xreadlink.c:
51305         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
51306
51307         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
51308         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
51309         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
51310         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
51311         and don't include <sys/file.h>).
51312
51313 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
51314
51315         Sync from coreutils.
51316
51317         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
51318         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
51319         [!LDAV_DONE]: Avoid unused variable warning.
51320
51321 2005-09-21  Bruno Haible  <bruno@clisp.org>
51322
51323         * lib/unicodeio.h (unicode_to_mb): New declaration.
51324
51325 2005-09-20  Derek Price  <derek@ximbiot.com>
51326
51327         * lib/getaddrinfo.c: Don't include <netdb.h> included from
51328         getaddrinfo.h.
51329
51330 2005-09-20  Bruno Haible  <bruno@clisp.org>
51331
51332         * gnulib-tool: Remove trailing slashes from the values specified for
51333         --source-base, --m4-base, --tests-base, --aux-dir.
51334         Suggested by Simon Josefsson <jas@extundo.com>.
51335
51336 2005-09-20  Bruno Haible  <bruno@clisp.org>
51337
51338         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
51339         func_modules_to_filelist, func_import, func_create_testdir): Make all
51340         sorting results locale-independent, so that gnulib-cache.m4 doesn't
51341         change when gnulib-tool is invoked in a different locale.
51342
51343 2005-09-19  Simon Josefsson  <jas@extundo.com>
51344
51345         * m4/socklen.m4: Fix typo.
51346
51347 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51348
51349         Use a consistent style for including <config.h>.
51350         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
51351         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
51352         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
51353         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
51354         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
51355         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
51356         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
51357         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
51358         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
51359         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
51360         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
51361         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
51362         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
51363         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
51364         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
51365         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
51366         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
51367         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
51368         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
51369         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
51370         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
51371         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
51372         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
51373         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
51374         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
51375         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
51376         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
51377         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
51378         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
51379         lib/xstrtoumax.c, lib/yesno.c:
51380         Standardize inclusion of config.h.
51381         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
51382         lib/inttostr.h:  Removed inclusion of config.h from header files.
51383         * lib/inttostr.c:  Adjusted in-tree users.
51384         * lib/timespec.h: Remove superfluous warning to include config.h.
51385         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
51386         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
51387         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
51388         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
51389         config.h with HAVE_CONFIG_H.
51390
51391 2005-09-19  Jim Meyering  <jim@meyering.net>
51392
51393         * modules/pathmax (License): Change to LGPL.
51394
51395 2005-09-19  Derek Price  <derek@ximbiot.com>
51396
51397         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
51398
51399 2005-09-19  Bruno Haible  <bruno@clisp.org>
51400
51401         * gnulib-tool (import): Provide default for --tests-base.
51402
51403 2005-09-19  Bruno Haible  <bruno@clisp.org>
51404
51405         * doc/quote.texi: New file, extracted from gnulib.texi.
51406         * doc/ctime.texi: New file, extracted from gnulib.texi.
51407         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
51408         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
51409         * doc/gnulib.texi: Include them.
51410
51411 2005-09-18  Bruno Haible  <bruno@clisp.org>
51412
51413         Portability fix.
51414         * gnulib-tool (func_readlink): New function.
51415         (func_ln_if_changed): Use it.
51416
51417 2005-09-18  Bruno Haible  <bruno@clisp.org>
51418
51419         * gnulib-tool: Support --with-tests also with --import.
51420         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
51421         (func_import): Use variables $testsbase and $inctests. Emit a
51422         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
51423         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
51424         SUBDIRS += $testsdir.
51425         (func_create_testdir): Update.
51426
51427 2005-09-18  Bruno Haible  <bruno@clisp.org>
51428
51429         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
51430         instead of $dry_run.
51431         (func_cp_if_changed, func_mv_if_changed): Remove functions.
51432         (func_ln_if_changed): Don't handle dry-run here.
51433         (func_import): In dry-run mode, detect more precisely which actions
51434         would be performed, and don't use "...ing" verbs.
51435
51436 2005-09-18  Bruno Haible  <bruno@clisp.org>
51437
51438         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
51439         (func_import): Use join on two temporary files instead of three nested
51440         loops, in order to determine which files are new or old.
51441
51442 2005-09-18  Bruno Haible  <bruno@clisp.org>
51443
51444         * gnulib-tool (func_import): Comment out code that spits out the
51445         new files with --dry-run.
51446
51447 2005-09-18  Bruno Haible  <bruno@clisp.org>
51448
51449         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
51450
51451 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
51452
51453         * lib/stat-time.h: New file.
51454         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
51455         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
51456         in a different way.
51457         (timespec_cmp): New function.
51458         * lib/utimecmp.c: Include stat-time.h.
51459         (SYSCALL_RESOLUTION): Depend on whether various struct stat
51460         members exist, not on the obsolescent ST_MTIM_NSEC.
51461         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
51462
51463 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
51464
51465         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
51466
51467 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
51468
51469         * MODULES.html.sh (File system functions): Add stat-time.
51470         * modules/stat-time: New file.
51471         * modules/timespec (Files): Remove m4/st_mtim.m4; this
51472         is now done in a different way, by the stat-time module.
51473         * modules/utimecmp (Depends-on): Add stat-time.
51474
51475 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
51476
51477         * m4/st_mtim.m4: Remove.  Superseded by...
51478         * m4/stat-time.m4: New file.
51479         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
51480         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
51481
51482 2005-09-15  Derek Price  <derek@ximbiot.com>
51483
51484         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
51485
51486 2005-09-15  Derek Price  <derek@ximbiot.com>
51487
51488         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
51489         * lib/regex_internal.c: Ditto, using this...
51490         (__GNUC_PREREQ): ...new macro.
51491         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
51492         using...
51493         (__GNUC_PREREQ): ...this new macro.
51494
51495         * lib/strstr.h: Include string.h. Define strstr as a macro here.
51496
51497 2005-09-15  Derek Price  <derek@ximbiot.com>
51498             Paul Eggert  <eggert@cs.ucla.edu>
51499
51500         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
51501         changes, consolidating in...
51502         * lib/regex_internal.h: ...this file.
51503
51504 2005-09-13  Jim Meyering  <jim@meyering.net>
51505
51506         * lib/canon-host.c: Filter through gnu indent and reword comments
51507         slightly.
51508         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
51509
51510 2005-09-13  Derek Price  <derek@ximbiot.com>
51511
51512         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
51513         failure.
51514         Reported by Jim Meyering  <jim@meyering.net>.
51515
51516 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51517
51518         * lib/base64.c: Typo.
51519         (base64_encode): Put b64str in initialized data section.
51520
51521 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
51522
51523         Merge glibc and coreutils changes into gnulib, plus a few
51524         extra fixes.
51525         * lib/md5.c: Use #error rather than a string.
51526         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
51527         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
51528         (__attribute__): Define to empty for non recent-GCC.
51529         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
51530         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
51531         Renamed from their non-__ counterparts, with new macros replacing
51532         them if not _LIBC.  Add __THROW attribute.
51533         (rol): Remove.
51534         (struct md5_ctx): Align buffer if using GCC.
51535         * lib/sha1.h (struct sha1_ctx): Likewise.
51536         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
51537         The old name was backwards.
51538         (NOTSWAP): Remove; not used.
51539         (rol): New macro, moved here from md5.h.
51540         (sha1_process_block): Remove a FIXME that doesn't make sense.
51541
51542 2005-09-12  Derek Price  <derek@ximbiot.com>
51543
51544         Return usable errors from canon-host.
51545         * lib/canon-host.h: New file.
51546         * lib/canon-host.c (canon_host): Wrap...
51547         (canon_host_r): ...this new function, which now relies exclusively on
51548         getaddrinfo.
51549         (ch_strerror): New function.
51550         (last_cherror): New global.
51551         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
51552         interface.
51553         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
51554         void *.
51555         (freeaddrinfo): Free ai->ai_canonname when set.
51556
51557 2005-09-12  Derek Price  <derek@ximbiot.com>
51558
51559         Make canon-host require getaddrinfo.
51560         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
51561         AC_LIBSOURCE canon-host.h.  Call...
51562         (gl_PREREQ_CANON_HOST): ...this new function, which requires
51563         gl_GETADDRINFO.
51564         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
51565
51566 2005-09-12  Derek Price  <derek@ximbiot.com>
51567
51568         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
51569         LGPL.
51570         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
51571
51572 2005-09-12  Derek Price  <derek@ximbiot.com>
51573
51574         * lib/gai_strerror.c: Include config.h when available.  Include
51575         getaddrinfo.h before other headers to test interface.
51576         Reported by Larry Jones <lawrence.jones@ugs.com>.
51577
51578 2005-09-12  Derek Price  <derek@ximbiot.com>
51579             Paul Eggert  <eggert@cs.ucla.edu>
51580
51581         * modules/glob (Files): Add glob-libc.h.
51582
51583 2005-09-12  Derek Price  <derek@ximbiot.com>
51584             Paul Eggert  <eggert@cs.ucla.edu>
51585
51586         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
51587         glob_.h, glob-libc.h.
51588         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
51589
51590 2005-09-12  Derek Price  <derek@ximbiot.com>
51591             Paul Eggert  <eggert@cs.ucla.edu>
51592
51593         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
51594         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
51595         protecting things that should be done only in gnulib contexts.
51596         * lib/glob_.h: New file, containing only the glob things needed for
51597         gnulib.
51598         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
51599         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
51600         (glob, globfree, glob_pattern_p): Now defined simply in terms of
51601         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
51602         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
51603         and to respect the namespace rules better.
51604
51605 2005-09-08  Simon Josefsson  <jas@extundo.com>
51606
51607         * modules/socklen: New file.
51608
51609 2005-09-08  Simon Josefsson  <jas@extundo.com>
51610
51611         * m4/socklen.m4: New file.
51612
51613 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51614
51615         * modules/utimens (Files): Add m4/utimbuf.m4, since
51616         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
51617         Reported by Sergey Poznyakoff.
51618
51619 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51620
51621         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
51622         definitions, since that's the preferred style in glibc.
51623         Fix a minor spacing issue, and update copyright notice to match
51624         glibc's.
51625
51626 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51627
51628         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
51629
51630 2005-09-06  Simon Josefsson  <jas@extundo.com>
51631
51632         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
51633         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
51634
51635 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51636
51637         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
51638         warning.
51639
51640 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51641
51642         * config/srclist.txt: Add glibc bug 1302.
51643
51644 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
51645
51646         Change bitset word type from unsigned int to unsigned long int,
51647         as this has better performance on typical 64-bit hosts.
51648         Port bitset code to hosts with unusual word sizes.
51649         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
51650         (build_collating_symbol):
51651         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
51652         argument is a bitset.  This is merely a style issue, but it makes
51653         it clearer that an entire array is expected.
51654         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
51655         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
51656         Port to the case where bitset_word is not the same as unsigned int.
51657         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51658         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
51659         Likewise.
51660         * lib/regexec.c (check_dst_limits_calc_pos_1,
51661         check_subexp_matching_top):
51662         (build_trtable, group_nodes_into_DFAstates):
51663         Likewise.
51664         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
51665         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
51666         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
51667         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
51668         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
51669         * lib/regcomp.c (optimize_subexps, lower_subexp):
51670         Work even if bitset_word has holes in its bitwise representation.
51671         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
51672         * lib/regexec.c (check_dst_limits_calc_pos_1,
51673         check_subexp_matching_top):
51674         Likewise.
51675         * lib/regex_internal.c (re_string_reconstruct):
51676         Don't assume UCHAR_MAX == 255.
51677         * lib/regex_internal.h (bitset_set_all): Likewise.
51678         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
51679         All uses changed.
51680         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
51681         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
51682         All uses changed.
51683         (BITSET_WORD_MAX): New macro.
51684         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
51685         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
51686         (bitset_empty, bitset_copy):
51687         Prefer sizeof (bitset) to multiplying it out ourselves.
51688         (bitset_not_merge): Remove; unused.
51689         (bitset_contain): Return bool, not unsigned int with one bit on.
51690         All callers changed.
51691         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
51692         alignment than re_node_set; do this by defining a new internal
51693         type struct dests_alloc and using it to allocate memory.
51694
51695 2005-09-05  Bruno Haible  <bruno@clisp.org>
51696
51697         * gnulib-tool (func_import): Fix comparison in handling of symbolic
51698         links.
51699
51700 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
51701
51702         * modules/size_max (Makefile.am): Add size_max.h
51703
51704 2005-09-04  Derek Price  <derek@ximbiot.com>
51705
51706         * gnulib-tool (func_import): Fix reversed $symbolic logic.
51707
51708 2005-09-03  Simon Josefsson  <jas@extundo.com>
51709
51710         * gnulib-tool: Fix typo.
51711
51712 2005-09-03  Simon Josefsson  <jas@extundo.com>
51713
51714         * config/srclist.txt: Add glibc bug 1293.
51715
51716 2005-09-03  Derek Price  <derek@ximbiot.com>
51717
51718         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
51719         From Larry Jones <lawrence.jones@ugs.com>.
51720
51721 2005-09-02  Simon Josefsson  <jas@extundo.com>
51722
51723         * modules/socklen: New file.
51724
51725 2005-09-02  Simon Josefsson  <jas@extundo.com>
51726
51727         * modules/havelib: New module.
51728
51729         * modules/gettext, modules/iconv, modules/lock, modules/readline:
51730         Use havelib.
51731
51732 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51733
51734         Check for arithmetic overflow when calculating sizes, to prevent
51735         some buffer-overflow issues.  These patches are conservative, in the
51736         sense that when I couldn't determine whether an overflow was possible,
51737         I inserted a run-time check.
51738         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
51739         macros.
51740         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
51741         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
51742         (re_xnrealloc, re_x2nrealloc): New inline functions.
51743         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
51744         parse_bracket_exp):
51745         (build_equiv_class, build_charclass): Check for arithmetic overflow
51746         in size expression calculations.
51747         * lib/regex_internal.c (re_string_realloc_buffers):
51748         (build_wcs_upper_buffer, re_node_set_add_intersect):
51749         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
51750         (re_dfa_add_node, register_state): Likewise.
51751         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
51752         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
51753         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
51754         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
51755
51756 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
51757
51758         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
51759         m4/ulonglong.m4.  Problem reported by Martin Lambers.
51760
51761 2005-09-02  Bruno Haible  <bruno@clisp.org>
51762
51763         Support for lib vs. lib64 distinction on biarch platforms.
51764         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
51765         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
51766         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
51767
51768 2005-09-02  Bruno Haible  <bruno@clisp.org>
51769
51770         * gnulib-tool (import): In the other first-use case, provide defaults
51771         as well.
51772
51773 2005-09-02  Bruno Haible  <bruno@clisp.org>
51774
51775         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
51776         patches not yet found in the latest gettext release.
51777
51778 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51779
51780         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
51781         to avoid a collision with bits/local_lim.h in glibc.
51782         All uses changed.  Problem reported by Dmitry V. Levin in
51783         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
51784
51785         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
51786         bugs in int versus size_t comparisons.
51787         (re_string_context_at): Fix bug where the code assumed that
51788         Idx is signed.
51789
51790         Use bool where appropriate.
51791         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
51792         All callers changed.
51793         (calc_eclosure_iter): Likewise, for ROOT arg.
51794         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
51795         (build_charclass_op): Likewise, for NON_MATCH arg.
51796         * lib/regex_internal.c (re_string_allocate, re_string_construct):
51797         (re_string_construct_common): Likewise, for ICASE arg.
51798         * lib/regexec.c (re_search_2_stub, re_search_stub):
51799         Likewise, for RET_LEN arg.
51800         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
51801         (set_regs): Likewise, for FL_BACKTRACK arg.
51802         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
51803         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
51804         (calc_eclosure_iter, parse_bracket_exp):
51805         Use bool for internal variables that are booleans.
51806         * lib/regexec.c (re_search_internal, check_matching,
51807         proceed_next_node):
51808         (set_regs, build_sifted_states, sift_states_bkref):
51809         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
51810         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51811         (find_collation_sequence_value):
51812         Likewise.
51813         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
51814         (re_node_set_compare):
51815         Return bool, not int. All callers changed.
51816         * lib/regexec.c (check_halt_node_context, check_dst_limits):
51817         (build_trtable, check_node_accept): Likewise.
51818         * lib/regex_internal.h: Include stdbool.h.
51819
51820         Fix bugs uncovered when converting to bool.
51821         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
51822         failure instead of charging ahead blindly.
51823         * lib/regex_internal.c (register_state): Likewise.
51824         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
51825         for freeing internal storage.
51826         (group_nodes_into_DFA_states): Use unsigned int, not int, for
51827         bitset pieces used as boolean, to avoid undefined behavior
51828         on hosts that do int overflow checking.
51829
51830 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51831
51832         * config/srclist.txt: Add glibc bugs 1285-1287.
51833
51834 2005-09-01  Jim Meyering  <jim@meyering.net>
51835
51836         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
51837         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
51838         Require gl_STAT_MACROS, too.
51839
51840 2005-09-01  Bruno Haible  <bruno@clisp.org>
51841
51842         * gnulib-tool (import): In the first-use case, provide defaults.
51843
51844 2005-09-01  Bruno Haible  <bruno@clisp.org>
51845
51846         * gnulib-tool (func_import): Remove the .tmp files.
51847
51848 2005-09-01  Bruno Haible  <bruno@clisp.org>
51849
51850         * gnulib-tool (func_import): Fix handling of symbolic links.
51851
51852 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51853
51854         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
51855         old glibc regex code mishandles strings longer than 2**31 bytes.
51856         This patch fixes this when the regex code is used in gnulib
51857         (i.e., outside glibc).
51858
51859         This patch should not affect the use of the regex code inside
51860         glibc.  No doubt this problem also needs to be handled for glibc
51861         as well, but the result will be an incompatible change to the
51862         glibc ABI, and the old ABI will have to be supported too.  That
51863         can be the the subject for another patch.
51864
51865         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
51866         governing whether the rest of this patch is active.  By default,
51867         the macro is disabled and the patch has no effect.
51868         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
51869         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
51870         (struct re_pattern_buffer, re_search, re_search_2, re_match):
51871         (re_match_2, re_set_registers): Use the new types.
51872         * lib/regex_internal.h (Idx, re_hashval_t): New types.
51873         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
51874         New macros.
51875         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
51876         (re_string_context_at, bin_tree_t, re_dfastate_t):
51877         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
51878         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
51879         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
51880         (re_string_char_size_at, re_string_wchar_at):
51881         (re_string_elem_size_at):
51882         Use the new types and macros to port to 64-bit hosts.
51883         Use unsigned types for internal values, so that the code
51884         mostly works even for arrays larger than SSIZE_MAX.
51885         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
51886         (search_duplicated_node, calc_eclosure_iter, fetch_number):
51887         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
51888         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
51889         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
51890         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
51891         (calc_inveclosure, parse_dup_op, build_range_exp):
51892         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
51893         (fetch_number, create_token_tree, mark_opt_subexp):
51894         Likewise.
51895         * lib/regex_internal.c (re_string_construct_common,
51896         create_ci_newstate):
51897         (create_cd_newstate, re_string_allocate, re_string_construct):
51898         (re_string_realloc_buffers, build_wcs_upper_buffer):
51899         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51900         (re_string_reconstruct, re_string_peek_byte_case):
51901         (re_string_fetch_byte_case, re_string_context_at):
51902         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51903         (re_node_set_init_copy, re_node_set_add_intersect):
51904         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51905         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51906         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51907         (re_acquire_state, re_acquire_state_context, register_state):
51908         Likewise.
51909         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
51910         search_cur_bkref_entry):
51911         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
51912         (re_search_internal, re_search_2_stub, re_search_stub)
51913         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
51914         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
51915         (update_cur_sifted_state, check_dst_limits):
51916         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51917         (check_subexp_limits, sift_states_bkref, merge_state_array):
51918         (check_subexp_matching_top, get_subexp, get_subexp_sub):
51919         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
51920         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51921         (expand_bkref_cache, check_node_accept_bytes):
51922         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
51923         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
51924         (acquire_init_state_context, check_halt_node_context):
51925         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
51926         (sift_states_backward, clean_state_log_if_needed):
51927         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
51928         (find_recover_state, transit_state_sb, transit_state_mb):
51929         (transit_state_bkref, build_trtable, match_ctx_clean):
51930         Likewise.
51931         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
51932         to work around an assumption that REG_MISSING is negative.
51933
51934         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
51935         (seek_collating_symbol_entry) [defined _LIBC]:
51936         (lookup_collation_sequence_value) [defined _LIBC]:
51937         (build_range_exp, build_collating_symbol) [defined _LIBC]:
51938         Use prototypes rather than old-style function definitions.
51939         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
51940         (transit_state_sb) [0]:
51941         (find_collation_sequence_value) [defined _LIBC]: Likewise.
51942
51943         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
51944         rm_eo.
51945
51946         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
51947         (optimize_subexps, lower_subexp):
51948         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
51949         since the signed shift might overflow.  Use 1u<<31 instead.
51950         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51951         Likewise.
51952         * lib/regexec.c (check_dst_limits_calc_pos_1,
51953         check_subexp_matching_top): Likewise.
51954
51955         * lib/regcomp.c (optimize_subexps, lower_subexp):
51956         Use CHAR_BIT rather than 8, for clarity.
51957         * lib/regexec.c (check_dst_limits_calc_pos_1):
51958         (check_subexp_matching_top): Likewise.
51959         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
51960         have to worry about portability issues when shifting it left.
51961         Remove no-longer-needed test for table_size > 0.
51962         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
51963         in a word, as the resulting behavior is undefined.
51964         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
51965         in one case, a <= should have been an <, and in another case the
51966         whole test was missing.
51967         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
51968         the standard name CHAR_BIT.
51969         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
51970         this is not true on one's complement and signed-magnitude hosts.
51971
51972         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
51973         next_last_offset.
51974         (struct re_dfa_t): Remove unused member states_alloc.
51975         * lib/regcomp.c (init_dfa): Don't initialize unused members.
51976
51977 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51978
51979         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
51980         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
51981         and large-file glibc and in 32-bit large-file Solaris.
51982
51983 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51984
51985         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
51986         lengths fit in regoff_t; this isn't true if regoff_t is the same
51987         width as size_t.
51988         * lib/regex.c (re_search_internal): 5th arg is LAST_START
51989         (= START + RANGE) instead of RANGE.  This avoids overflow
51990         problems when regoff_t is the same width as size_t.
51991         All callers changed.
51992         (re_search_2_stub): Check for overflow when adding the
51993         sizes of the two strings.
51994         (re_search_stub): Check for overflow when adding START
51995         to RANGE; if it occurs, substitute the extreme value.
51996
51997 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51998
51999         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
52000
52001 2005-08-31  Jim Meyering  <jim@meyering.net>
52002
52003         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
52004         a pointer-to-const.
52005         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
52006         (register_state): Likewise.
52007         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
52008         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
52009         (group_nodes_into_DFAstates): Likewise.
52010
52011 2005-08-31  Jim Meyering  <jim@meyering.net>
52012
52013         * check-module: Add a FIXME comment.
52014
52015 2005-08-31  Eric Blake  <ebb9@byu.net>
52016
52017         * modules/unistd-safer (Files): Add unistd--.h.
52018         * modules/stdio-safer (Files): Add stdio--.h.
52019
52020 2005-08-31  Derek Price  <derek@ximbiot.com>
52021
52022         * lib/getdelim.c (getdelim): Return EOF on EOF.
52023         Reported by Larry Jones <lawrence.jones@ugs.com>.
52024
52025 2005-08-31  Bruno Haible  <bruno@clisp.org>
52026
52027         Avoid unnecessary diffs in the generated lib/Makefile.am.
52028         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
52029         the generated files.
52030         (func_import): Don't set cmd.
52031
52032 2005-08-31  Bruno Haible  <bruno@clisp.org>
52033
52034         * lib/strstr.c: Include <stddef.h>, for NULL.
52035         * lib/strcasestr.c: Likewise.
52036         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52037
52038 2005-08-31  Bruno Haible  <bruno@clisp.org>
52039
52040         * gnulib-tool: New option --macro-prefix.
52041         (func_import): Use macro_prefix.
52042         (import): Handle option --macro-prefix.
52043
52044 2005-08-31  Bruno Haible  <bruno@clisp.org>
52045
52046         * gnulib-tool (import): Rename most ac_* variables to cached_*.
52047         Also use new variables cached_lgpl, cached_libtool.
52048
52049 2005-08-31  Bruno Haible  <bruno@clisp.org>
52050
52051         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
52052         always instantiating them.
52053
52054 2005-08-31  Bruno Haible  <bruno@clisp.org>
52055
52056         * gnulib-tool (func_import): Read the previous cached settings
52057         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
52058         earlier added by gnulib but are now dropped. Warn when a gnulib file
52059         overwrites a non-gnulib file.
52060
52061 2005-08-31  Bruno Haible  <bruno@clisp.org>
52062
52063         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
52064         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
52065         projects that don't keep autogenerated files in CVS. Put into
52066         actioncmd only the specified modules, not the transitive closure.
52067
52068 2005-08-31  Bruno Haible  <bruno@clisp.org>
52069
52070         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
52071         Create directories that shall be filled.
52072         (import): Don't look for gl_* macros in configure.ac. Recurse across
52073         all directories containing a gnulib-cache.m4 files, if meaningful.
52074
52075 2005-08-31  Bruno Haible  <bruno@clisp.org>
52076
52077         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
52078         (import): Set seen_libtool when we see gl_LIBTOOL.
52079
52080 2005-08-31  Bruno Haible  <bruno@clisp.org>
52081
52082         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
52083         declaration macro definitions from generated gnulib.m4.
52084
52085 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
52086
52087         * lib/iconvme.h: Add prototype for iconv_alloc.
52088
52089 2005-08-29  Simon Josefsson  <jas@extundo.com>
52090
52091         * lib/iconvme.c: Fix errno.
52092
52093 2005-08-29  Bruno Haible  <bruno@clisp.org>
52094
52095         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
52096         that it works when the directory contains spaces.
52097
52098 2005-08-29  Bruno Haible  <bruno@clisp.org>
52099
52100         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
52101
52102 2005-08-29  Bruno Haible  <bruno@clisp.org>
52103
52104         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
52105         Emit more advice.
52106
52107 2005-08-29  Bruno Haible  <bruno@clisp.org>
52108         and Stepan Kasal  <kasal@ucw.cz>
52109
52110         * check-module: If more parameters are given, check each of them
52111         separately; add more exceptions, as noted by Jim Meyering.
52112         (check_module): New procedure.
52113         (%exempt_header): Now contains all exceptions.
52114
52115 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
52116
52117         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
52118
52119 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
52120
52121         * lib/iconvme.c: Split iconv_string into iconv_alloc.
52122
52123 2005-08-28  Bruno Haible  <bruno@clisp.org>
52124
52125         * m4/gnulib-tool.m4: New file.
52126
52127 2005-08-27  Jim Meyering  <jim@meyering.net>
52128
52129         * modules/unistd-safer (Files): Add pipe-safer.c.
52130         * modules/fcntl-safer (Files): Add creat-safer.c.
52131
52132 2005-08-27  Jim Meyering  <jim@meyering.net>
52133
52134         * m4/stdlib-safer.m4: New file.  From coreutils.
52135         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
52136         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
52137         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
52138         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
52139         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
52140
52141 2005-08-27  Jim Meyering  <jim@meyering.net>
52142
52143         * lib/fopen-safer.c: Merge minor changes from coreutils.
52144         * lib/dup-safer.c: Likewise.
52145         * lib/fd-safer.c: Likewise.
52146
52147         Merge from coreutils.
52148         * lib/stdio--.h: New file.
52149         * lib/stdlib--.h: New file.
52150         * lib/mkstemp-safer.c: New file.
52151
52152         GNU tar needs these.
52153         * lib/pipe-safer.c: New file.
52154         * lib/creat-safer.c: New file.
52155         * lib/fcntl--.h (creat): Define to creat_safer.
52156         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
52157         * lib/unistd--.h (pipe): Define to pipe_safer.
52158         * lib/unistd-safer.h: Declare pipe_safer.
52159
52160 2005-08-26  Simon Josefsson  <jas@extundo.com>
52161
52162         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
52163         Haible <bruno@clisp.org>.
52164
52165 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
52166
52167         * lib/regex_internal.h: Remove all references to
52168         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
52169         or better.
52170         (bitset_not, bitset_merge, bitset_not_merge):
52171         (bitset_mask, re_string_allocate, re_string_construct):
52172         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
52173         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
52174         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
52175         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
52176         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
52177         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
52178         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
52179         (re_acquire_state_context):
52180         Remove unnecessary forward decls.
52181         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
52182         Put __attribute at function definition,
52183         now that the function decl has been removed.
52184         * lib/regex_internal.c (re_string_peek_byte_case):
52185         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
52186         Likewise.
52187
52188 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
52189
52190         * m4/regex.m4: Add AC_PREREQ(2.50).
52191         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
52192
52193 2005-08-25  Simon Josefsson  <jas@extundo.com>
52194
52195         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
52196         __fsetlocking.
52197
52198 2005-08-25  Simon Josefsson  <jas@extundo.com>
52199
52200         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
52201         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
52202         GLIBC specific code.
52203
52204 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52205
52206         Make regex safe for g++.  This fixes one real bug (an "err"
52207         that should have been "*err").  g++ problem reported by
52208         Sam Steingold.
52209         * lib/regex_internal.h (re_calloc): New macro, consistent with
52210         re_malloc etc.  All callers of calloc changed to use re_calloc.
52211         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
52212         not int.  All callers changed.
52213         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
52214         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
52215         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
52216         (find_recover_state): Change "err" to "*err"; this fixes what
52217         appears to be a real bug.
52218         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
52219         versus int.
52220
52221 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52222
52223         * modules/regex (Depends-on): Add malloc, since the code
52224         assumes that !malloc(0) means failure.
52225
52226 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52227
52228         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
52229
52230         alloca modernization/simplification for regex.
52231         * lib/regex.c: Remove portability cruft for alloca.  This no longer
52232         needs to be at the start of the file, and can be moved into
52233         regex_internal.h and simplified.
52234         * lib/regex_internal.h: Include <alloca.h>.
52235         (__libc_use_alloca) [!defined _LIBC]: New macro.
52236         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
52237         now works outside glibc.
52238
52239 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52240
52241         * config/srclist.txt: Add glibc bugs 1241, 1245.
52242
52243 2005-08-25  Jim Meyering  <jim@meyering.net>
52244
52245         * lib/open-safer.c: Include <config.h>.
52246         Otherwise, we'd lose LARGEFILE support in any file using
52247         e.g. "fcntl--.h"
52248
52249 2005-08-25  Bruno Haible  <bruno@clisp.org>
52250
52251         * m4/minmax.m4: Require autoconf 2.52.
52252         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
52253         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
52254         alternatives of translit over the alphabet.
52255         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
52256
52257 2005-08-24  Simon Josefsson  <jas@extundo.com>
52258
52259         * tests/test-getpass.c: New file.
52260
52261 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52262
52263         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
52264         for GNU regex features.
52265
52266 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52267
52268         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
52269         * lib/regex.h (regerror): Likewise.
52270
52271         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
52272         requires this.  (The code never needed it.)
52273
52274         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
52275         All uses of recently-renamed identifiers changed to use the new,
52276         POSIX-compliant names.  The code will build and run just fine
52277         without these changes, but it's better to eat our own dog food
52278         and use the standard-conforming names.
52279
52280         * lib/regex.h: Fix a multitude of POSIX name space violations.
52281         These changes have an effect only for programs that define
52282         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
52283         do not change anything for programs compiled in the normal way.
52284         Also, there is no effect on the ABI.
52285
52286         (_REGEX_SOURCE): New macro.
52287         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
52288         defined and _GNU_SOURCE is not; this fixes a name space violation.
52289
52290         Rename the following macros to obey POSIX requirements.
52291         The old names are still visible as macros if _REGEX_SOURCE is defined.
52292         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
52293         RE_BACKSLASH_ESCAPE_IN_LISTS.
52294         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
52295         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
52296         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
52297         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
52298         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
52299         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
52300         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
52301         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
52302         (REG_INTERVALS): renamed from RE_INTERVALS.
52303         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
52304         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
52305         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
52306         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
52307         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
52308         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
52309         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
52310         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
52311         RE_UNMATCHED_RIGHT_PAREN_ORD.
52312         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
52313         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
52314         (REG_DEBUG): renamed from RE_DEBUG.
52315         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
52316         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
52317         unusual, since we can't clash with the POSIX REG_ICASE.
52318         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
52319         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
52320         (REG_NO_SUB): renamed from RE_NO_SUB.
52321         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
52322         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
52323         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
52324         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
52325         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
52326         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
52327         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
52328         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
52329         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
52330         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
52331         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
52332         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
52333         RE_SYNTAX_POSIX_MINIMAL_BASIC.
52334         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
52335         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
52336         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
52337         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
52338         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
52339         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
52340         (REG_FIXED): Renamed from REGS_FIXED.
52341         (REG_NREGS): Renamed from RE_NREGS.
52342
52343         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
52344         of other REG_* macros, since POSIX says the user is allowed to
52345         #undef these macros selectively.
52346
52347         (reg_errcode_t): Update comment stating what other tables need
52348         to be consistent.
52349
52350         Rename the following enum values to obey POSIX requirements.
52351         The old names are still visible as macros.
52352         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
52353         is not defined, since GNU is supposed to be a superset of POSIX as
52354         much as possible, and since we want reg_errcode_t to be a signed
52355         type for implementation consistency.
52356         (_REG_NOERROR): Renamed from REG_NOERROR.
52357         (_REG_NOMATCH): Renamed from REG_NOMATCH.
52358         (_REG_BADPAT): Renamed from REG_BADPAT.
52359         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
52360         (_REG_ECTYPE): Renamed from REG_ECTYPE.
52361         (_REG_EESCAPE): Renamed from REG_EESCAPE.
52362         (_REG_ESUBREG): Renamed from REG_ESUBREG.
52363         (_REG_EBRACK): Renamed from REG_EBRACK.
52364         (_REG_EPAREN): Renamed from REG_EPAREN.
52365         (_REG_EBRACE): Renamed from REG_EBRACE.
52366         (_REG_BADBR): Renamed from REG_BADBR.
52367         (_REG_ERANGE): Renamed from REG_ERANGE.
52368         (_REG_ESPACE): Renamed from REG_ESPACE.
52369         (_REG_BADRPT): Renamed from REG_BADRPT.
52370         (_REG_EEND): Renamed from REG_EEND.
52371         (_REG_ESIZE): Renamed from REG_ESIZE.
52372         (_REG_ERPAREN): Renamed from REG_ERPAREN.
52373         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
52374         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
52375         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
52376         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
52377
52378         (_REG_RE_NAME, _REG_RM_NAME): New macros.
52379         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
52380         changed.  But support the old name if the new one is not defined
52381         and if _REGEX_SOURCE.
52382
52383         Change the following member names in struct re_pattern_buffer.
52384         The old names are still supported if !_REGEX_SOURCE.
52385         The new names are always supported, regardless of _REGEX_SOURCE.
52386         (re_buffer): Renamed from buffer.
52387         (re_allocated): Renamed from allocated.
52388         (re_used): Renamed from used.
52389         (re_syntax): Renamed from syntax.
52390         (re_fastmap): Renamed from fastmap.
52391         (re_translate): Renamed from translate.
52392         (re_can_be_null): Renamed from can_be_null.
52393         (re_regs_allocated): Renamed from regs_allocated.
52394         (re_fastmap_accurate): Renamed from fastmap_accurate.
52395         (re_no_sub): Renamed from no_sub.
52396         (re_not_bol): Renamed from not_bol.
52397         (re_not_eol): Renamed from not_eol.
52398         (re_newline_anchor): Renamed from newline_anchor.
52399
52400         Change the following member names in struct re_registers.
52401         The old names are still supported if !_REGEX_SOURCE.
52402         The new names are always supported, regardless of _REGEX_SOURCE.
52403         (rm_num_regs): Renamed from num_regs.
52404         (rm_start): Renamed from start.
52405         (rm_end): Renamed from end.
52406
52407         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
52408         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
52409         Prepend __ to parameter names.
52410
52411         Undo yesterday's changes.
52412
52413 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52414
52415         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
52416         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
52417         lib/regex.c.
52418
52419 2005-08-24  Jim Meyering  <jim@meyering.net>
52420
52421         Sync from coreutils.
52422         * m4/fcntl-safer.m4: New file.
52423
52424         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
52425         and object files for this module.
52426
52427 2005-08-24  Jim Meyering  <jim@meyering.net>
52428
52429         Sync from coreutils.
52430         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
52431
52432 2005-08-24  Jim Meyering  <jim@meyering.net>
52433
52434         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
52435         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
52436
52437 2005-08-24  Jim Meyering  <jim@meyering.net>
52438
52439         * modules/fcntl-safer: New module.
52440         * modules/fts (Depends-on): Add fcntl-safer.
52441         * MODULES.html.sh (File descriptor based Input/Output):
52442         Add fcntl-safer.
52443
52444 2005-08-24  Bruno Haible  <bruno@clisp.org>
52445
52446         Support for unit test modules.
52447         * modules/README: Mention tests modules.
52448         * modules/TEMPLATE-TESTS: New file.
52449         * gnulib-tool: New options --extract-tests-module, --with-tests and
52450         --tests-base (unused for the moment).
52451         (testsbase, inctests): New variables.
52452         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
52453         (func_verify_module): Exclude TEMPLATE-TESTS.
52454         (func_verify_nontests_module, func_verify_tests_module): New functions.
52455         (func_get_dependencies): Add implicit dependency for tests modules.
52456         (func_get_tests_module): New function.
52457         (func_modules_transitive_closure): When --with-tests was specified,
52458         include the unit tests as well, unless explicitly avoided.
52459         (func_emit_lib_Makefile_am): Ignore the tests modules here.
52460         (func_emit_tests_Makefile_am): New function.
52461         (func_create_testdir): When --with-tests was specified, emit a
52462         tests/ directory.
52463         * MODULES.html.sh (Future developments): Update.
52464
52465 2005-08-24  Bruno Haible  <bruno@clisp.org>
52466
52467         * modules/tls-tests: New file.
52468         * tests/test-tls.c: New file, from GNU gettext.
52469
52470 2005-08-24  Bruno Haible  <bruno@clisp.org>
52471
52472         * modules/lock-tests: New file.
52473         * tests/test-lock.c: New file, from GNU gettext.
52474
52475 2005-08-24  Bruno Haible  <bruno@clisp.org>
52476
52477         * lib/lock.h: Add multiple inclusion guard.
52478         * lib/tls.h: Add multiple inclusion guard.
52479
52480 2005-08-24  Bruno Haible  <bruno@clisp.org>
52481
52482         * gnulib-tool: Add support for the --aux-dir option to
52483         --create-testdir, --create-megatestdir, --test, --megatest.
52484         (func_create_testdir, func_create_megatestdir): Optionally emit a
52485         AC_CONFIG_AUX_DIR directive.
52486         (create-testdir, create-megatestdir, test, megatest): Provide a
52487         default value for $auxdir.
52488
52489 2005-08-24  Bruno Haible  <bruno@clisp.org>
52490
52491         * gnulib-tool (import): Use compound statement instead of subshell
52492         where possible.
52493
52494 2005-08-24  Bruno Haible  <bruno@clisp.org>
52495
52496         * gnulib-tool (import): Change --aux-dir default to "build-aux".
52497
52498 2005-08-24  Bruno Haible  <bruno@clisp.org>
52499
52500         * gnulib-tool (func_version): Update.
52501
52502 2005-08-24  Bruno Haible  <bruno@clisp.org>
52503
52504         * gnulib-tool (func_import, func_create_testdir,
52505         func_create_megatestdir): Quote all autoconf macro arguments.
52506
52507 2005-08-24  Bruno Haible  <bruno@clisp.org>
52508
52509         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
52510         option --force, because --force causes the aclocal.m4 of each
52511         subdirectory to be newer than the corresponding config.h.in.
52512
52513 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52514
52515         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
52516         All contents moved to gl_REGEX.
52517         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
52518         assume that it does.
52519
52520 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52521
52522         * lib/regex.h (REG_NOSYS)
52523         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
52524         Define, since POSIX requires it as of 2001.
52525         (_REG_ENOSYS)
52526         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
52527         New private symbol, used to keep the enum signed in all cases.
52528         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
52529         Youngman in
52530         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
52531
52532         * lib/regex_internal.c (re_string_skip_chars, register_state):
52533         (calc_state_hash):
52534         Remove forward decls; no longer needed now that we use prototypes.
52535         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
52536         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
52537         (clean_state_log_if_needed): Likewise.
52538
52539 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52540
52541         * config/srclist.txt: Add glibc bugs 1231-1233.
52542
52543 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52544
52545         Fix problems reported by Sam Steingold in
52546         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
52547         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
52548         assumed that reg_errcode_t is a signed type, which is not
52549         necessarily true if _XOPEN_SOURCE is not defined.
52550         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
52551         since some compilers warn about it otherwise.
52552
52553 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52554
52555         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
52556         (init_word_char, create_initial_state, duplicate_node_closure):
52557         (fetch_token, peek_token_bracket, build_range_exp):
52558         (build_collating_symbol): Remove forward decls; no longer needed
52559         now that we use prototypes.
52560
52561         * lib/regcomp.c:
52562         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
52563         (re_compile_fastmap_iter, regcomp, regerror, regfree):
52564         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
52565         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
52566         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
52567         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
52568         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
52569         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
52570         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
52571         (build_range_exp, build_collating_symbol, parse_bracket_exp):
52572         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
52573         (build_charclass, build_charclass_op, fetch_number, create_tree):
52574         (create_token_tree, mark_opt_subexp, duplicate_tree):
52575         Use prototypes rather than old-style definitions.
52576
52577         * lib/regex_internal.c:
52578         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
52579         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
52580         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
52581         (re_string_reconstruct, re_string_peek_byte_case):
52582         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
52583         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
52584         (re_node_set_init_copy, re_node_set_add_intersect):
52585         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
52586         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
52587         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
52588         (re_acquire_state, re_acquire_state_context, register_state):
52589         (create_ci_newstate, create_cd_newstate, free_state):
52590         Likewise.
52591         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
52592         re_search_2):
52593         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
52594         (re_search_internal, prune_impossible_nodes):
52595         (acquire_init_state_context, check_matching, static):
52596         (check_halt_node_context, check_halt_state_context, proceed_next_node):
52597         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
52598         (update_regs, sift_states_backward, build_sifted_states):
52599         (clean_state_log_if_needed, merge_state_array):
52600         (update_cur_sifted_state, add_epsilon_src_nodes):
52601         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
52602         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
52603         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
52604         (find_recover_state, check_subexp_matching_top, transit_state_mb):
52605         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
52606         (check_arrival, check_arrival_add_next_nodes):
52607         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
52608         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
52609         (check_node_accept_bytes, check_node_accept, extend_buffers):
52610         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
52611         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
52612         (sift_ctx_init):
52613         Likewise.
52614
52615         * lib/regex_internal.h:
52616         (re_string_allocate, re_string_construct, re_string_reconstruct):
52617         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
52618         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
52619         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
52620         (re_string_context_at, re_string_peek_byte_case):
52621         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
52622         is defined, since we now use prototypes always.
52623
52624         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
52625         C89 or better.  All uses removed.
52626
52627 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52628
52629         * config/srclist.txt: Add glibc bugs 1220-1227.
52630
52631 2005-08-20  Jim Meyering  <jim@meyering.net>
52632
52633         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
52634         of unused local, dfa.
52635
52636 2005-08-20  Bruno Haible  <bruno@clisp.org>
52637
52638         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
52639
52640 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52641
52642         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
52643         (re_node_set_insert_last, re_dfa_add_node):
52644         Rename local variables to avoid GCC shadowing warnings.
52645
52646 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52647
52648         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
52649         [defined lint]: Suppress bogus uninitialized-variable warnings.
52650
52651         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
52652         and let the caller return REG_ESPACE if out of space.  This
52653         removes an uninitialied-variable warning with GCC 4.0.1, and also
52654         avoids taking the address of a local variable.  All callers
52655         changed.
52656
52657 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52658
52659         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
52660         $LIBCSRC/posix/regexec.c.
52661         Add glibc bug 1217 for regcomp.c.
52662
52663 2005-08-19  Jim Meyering  <jim@meyering.net>
52664
52665         * lib/regexec.c (proceed_next_node): Redo local variables to
52666         avoid GCC shadowing warnings.
52667
52668 2005-08-18  Bruno Haible  <bruno@clisp.org>
52669
52670         * lib/strstr.c (strstr): Fix return value in multibyte case.
52671         * lib/strcasestr.c (strcasestr): Likewise.
52672
52673 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52674
52675         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
52676
52677 2005-08-17  Jim Meyering  <jim@meyering.net>
52678
52679         Make the %s format (seconds since the epoch) work for a negative
52680         number and when used with a zero-padded field width, e.g. %015s.
52681
52682         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
52683         label so that it precedes the code to set `digits'.  Otherwise,
52684         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
52685         print `00-22'.  Now, it prints `-0022', as it should.
52686
52687 2005-08-17  Bruno Haible  <bruno@clisp.org>
52688
52689         * modules/strstr (Files): Add m4/mbrtowc.m4.
52690         (Depends-on): Add mbuiter.
52691
52692 2005-08-17  Bruno Haible  <bruno@clisp.org>
52693
52694         * modules/strcasestr: New file.
52695         * MODULES.html.sh (String handling, based on ANSI C 89): Add
52696         strcasestr.
52697
52698 2005-08-17  Bruno Haible  <bruno@clisp.org>
52699
52700         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
52701
52702 2005-08-17  Bruno Haible  <bruno@clisp.org>
52703
52704         * modules/mbuiter: New file.
52705         * MODULES.html.sh (Extended multibyte and wide character utilities):
52706         Add mbuiter.
52707
52708 2005-08-17  Bruno Haible  <bruno@clisp.org>
52709
52710         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
52711         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
52712
52713 2005-08-17  Bruno Haible  <bruno@clisp.org>
52714
52715         * m4/strcasestr.m4: New file.
52716
52717 2005-08-17  Bruno Haible  <bruno@clisp.org>
52718
52719         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
52720         * lib/strstr.c: Completely rewritten, with multibyte locale support.
52721
52722 2005-08-17  Bruno Haible  <bruno@clisp.org>
52723
52724         * lib/strcasestr.h: New file.
52725         * lib/strcasestr.c: New file.
52726
52727 2005-08-17  Bruno Haible  <bruno@clisp.org>
52728
52729         * lib/strcasecmp.c: Use mbuiter.h.
52730
52731 2005-08-17  Bruno Haible  <bruno@clisp.org>
52732
52733         * lib/mbuiter.h: New file.
52734
52735 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
52736
52737         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
52738         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
52739         and gl_GETOPT are both invoked via different paths (as happens
52740         with GNU tar CVS because it uses both argp and getopt), the former
52741         wins.
52742
52743 2005-08-16  Bruno Haible  <bruno@clisp.org>
52744
52745         * modules/tls: New file.
52746         * MODULES.html.sh (Multithreading): Add tls.
52747
52748 2005-08-16  Bruno Haible  <bruno@clisp.org>
52749
52750         * modules/strnlen1: New file.
52751         * MODULES.html.sh (String handling): Add strnlen1.
52752
52753 2005-08-16  Bruno Haible  <bruno@clisp.org>
52754
52755         * modules/strcase (Files): Add m4/mbrtowc.m4.
52756         (Depends-on): Add strnlen1, mbchar.
52757
52758 2005-08-16  Bruno Haible  <bruno@clisp.org>
52759
52760         * modules/mbiter: New file.
52761         * MODULES.html.sh (Extended multibyte and wide character utilities):
52762         Add mbiter.
52763
52764 2005-08-16  Bruno Haible  <bruno@clisp.org>
52765
52766         * modules/mbfile: New file.
52767         * MODULES.html.sh (Extended multibyte and wide character utilities):
52768         Add mbfile.
52769
52770 2005-08-16  Bruno Haible  <bruno@clisp.org>
52771
52772         * modules/mbchar: New file.
52773         * MODULES.html.sh (Extended multibyte and wide character utilities):
52774         New section.
52775
52776 2005-08-16  Bruno Haible  <bruno@clisp.org>
52777
52778         * m4/tls.m4: New file, from GNU gettext.
52779
52780 2005-08-16  Bruno Haible  <bruno@clisp.org>
52781
52782         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
52783         always.
52784         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
52785
52786 2005-08-16  Bruno Haible  <bruno@clisp.org>
52787
52788         * m4/mbiter.m4: New file.
52789
52790 2005-08-16  Bruno Haible  <bruno@clisp.org>
52791
52792         * m4/mbfile.m4: New file.
52793
52794 2005-08-16  Bruno Haible  <bruno@clisp.org>
52795
52796         * m4/mbchar.m4: New file.
52797
52798 2005-08-16  Bruno Haible  <bruno@clisp.org>
52799
52800         * lib/tls.h: New file, from GNU gettext.
52801         * lib/tls.c: New file, from GNU gettext.
52802
52803 2005-08-16  Bruno Haible  <bruno@clisp.org>
52804
52805         * lib/strnlen1.h: New file.
52806         * lib/strnlen1.c: New file.
52807
52808 2005-08-16  Bruno Haible  <bruno@clisp.org>
52809
52810         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
52811         (mbi_init): Update.
52812         (mbi_avail, mbi_advance): Let the iteration end before the terminating
52813         NUL byte, not after it.
52814
52815 2005-08-16  Bruno Haible  <bruno@clisp.org>
52816
52817         * lib/strcase.h (strcasecmp): Add note in comments.
52818         * lib/strncasecmp.c: Use code from strcasecmp.c.
52819         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
52820         (strcasecmp): Work correctly in multibyte locales.
52821
52822 2005-08-16  Bruno Haible  <bruno@clisp.org>
52823
52824         * lib/mbiter.h: New file.
52825
52826 2005-08-16  Bruno Haible  <bruno@clisp.org>
52827
52828         * lib/mbfile.h: New file.
52829
52830 2005-08-16  Bruno Haible  <bruno@clisp.org>
52831
52832         * lib/mbchar.h: New file.
52833         * lib/mbchar.c: New file.
52834
52835 2005-08-16  Bruno Haible  <bruno@clisp.org>
52836
52837         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
52838         the valid ones. Makes the comparison operations transitive:
52839         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
52840         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
52841
52842 2005-08-15  Simon Josefsson  <jas@extundo.com>
52843
52844         * modules/ssize_t (License): Change to 'unlimited'.
52845
52846         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
52847
52848 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52849
52850         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
52851         Add comments for each pending glibc patch.
52852
52853 2005-08-15  Bruno Haible  <bruno@clisp.org>
52854
52855         * lib/regex.h (__restrict_arr): Don't define to __restrict if
52856         __cplusplus is defined.
52857
52858 2005-08-14  Jim Meyering  <jim@meyering.net>
52859
52860         Sync from coreutils.
52861
52862         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
52863         Use the hash-table-based cycle-detection code not just when
52864         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
52865         Reported by James Youngman in
52866         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
52867         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
52868         FTS_TIGHT_CYCLE_CHECK.
52869         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
52870         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
52871         once again.
52872         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
52873         * lib/fts.c (fd_safer): Remove decl.
52874         Include fcntl--.h rather than unistd-safer.h
52875         (fts_safe_changedir): Don't call fd_safer; no longer needed
52876         now that we include fcntl--.h.
52877
52878 2005-08-12  Simon Josefsson  <jas@extundo.com>
52879
52880         * modules/getndelim2: Use ssize_t module.
52881         * modules/getnline: Likewise.
52882         * modules/safe-read: Likewise.
52883         * modules/xreadlink: Likewise.
52884
52885         * modules/ssize_t: New file.
52886
52887 2005-08-12  Simon Josefsson  <jas@extundo.com>
52888
52889         * m4/readline.m4: Look for termcap, curses or ncurses if required.
52890
52891 2005-08-12  Simon Josefsson  <jas@extundo.com>
52892
52893         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52894         ssize_t.
52895
52896 2005-08-12  Simon Josefsson  <jas@extundo.com>
52897
52898         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
52899         readline, getdelim and check_version.
52900         (Support for systems lacking ISO C 99: Sizes of integer types):
52901         Add size_max.
52902
52903 2005-08-12  Bruno Haible  <bruno@clisp.org>
52904
52905         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
52906
52907 2005-08-11  Simon Josefsson  <jas@extundo.com>
52908
52909         * modules/readline: New file.
52910
52911         * modules/strnlen (Files): Add strnlen.h.
52912
52913 2005-08-11  Simon Josefsson  <jas@extundo.com>
52914
52915         * m4/readline.m4: New file.
52916
52917 2005-08-11  Simon Josefsson  <jas@extundo.com>
52918
52919         * lib/readline.h, readline.c: New file.
52920
52921 2005-08-11  Simon Josefsson  <jas@extundo.com>
52922
52923         * doc/gnulib.texi (Initial import, Finishing touches): Mention
52924         gl_AVOID.
52925
52926 2005-08-11  Bruno Haible  <bruno@clisp.org>
52927
52928         * lib/strnlen.h (strnlen): Change parameter name to match comment.
52929
52930 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
52931
52932         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
52933
52934 2005-08-10  Simon Josefsson  <jas@extundo.com>
52935
52936         * tests/test-iconvme.c: New file.
52937
52938 2005-08-10  Simon Josefsson  <jas@extundo.com>
52939
52940         * m4/strnlen.m4: New file.
52941
52942         * m4/strndup.m4: Don't check for strnlen declaration, done in
52943         strnlen.m4.
52944
52945 2005-08-10  Simon Josefsson  <jas@extundo.com>
52946
52947         * lib/strndup.c: Use strnlen.h.
52948
52949         * lib/strnlen.h: New file.
52950
52951 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52952
52953         * README: Typos.
52954
52955 2005-08-02  Simon Josefsson  <jas@extundo.com>
52956
52957         * modules/readline: New file.
52958
52959 2005-08-02  Simon Josefsson  <jas@extundo.com>
52960
52961         * modules/getdelim: New file.
52962
52963         * modules/getline: Rewrite, don't use getndelim2.
52964
52965 2005-08-02  Simon Josefsson  <jas@extundo.com>
52966
52967         * m4/getline.m4: Separate out getdelim stuff into separate module.
52968
52969         * m4/getdelim.m4: New file.
52970
52971 2005-08-02  Simon Josefsson  <jas@extundo.com>
52972
52973         * lib/getline.h, getline.c: Rewrite.
52974
52975         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
52976
52977 2005-07-31  Bruno Haible  <bruno@clisp.org>
52978
52979         * lib/lock.h (gl_lock_initializer): New macro.
52980         (gl_lock_define_initialized): Use it.
52981         (gl_rwlock_initializer): New macro.
52982         (gl_rwlock_define_initialized): Use it.
52983         (gl_recursive_lock_initializer): New macro.
52984         (gl_recursive_lock_define_initialized): Use it.
52985
52986 2005-07-30  Karl Berry  <karl@gnu.org>
52987
52988         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
52989         Report from Ben Pfaff, regarding getopt.
52990
52991 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
52992
52993         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
52994         normal way.
52995         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
52996         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
52997         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
52998         (gl_GETOPT): Use the new macros.  Most of the implementation
52999         is moved to the new macros.  This is for programs like Emacs
53000         that don't want all the functionality of gl_GETOPT.
53001
53002 2005-07-26  Bruno Haible  <bruno@clisp.org>
53003
53004         * m4/lock.m4: Update from GNU gettext.
53005
53006 2005-07-26  Bruno Haible  <bruno@clisp.org>
53007
53008         * lib/lock.h: Update from GNU gettext.
53009         * lib/lock.c: Update from GNU gettext.
53010
53011 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
53012
53013         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
53014         obsolescent AC_TRY_RUN.  Include the default includes files, for
53015         'exit'.
53016
53017 2005-07-24  Bruno Haible  <bruno@clisp.org>
53018
53019         * modules/visibility: New file.
53020         * MODULES.html.sh (Misc): Add visibility.
53021
53022 2005-07-24  Bruno Haible  <bruno@clisp.org>
53023
53024         * m4/visibility.m4: New file.
53025
53026 2005-07-24  Bruno Haible  <bruno@clisp.org>
53027
53028         * doc/visibility.texi: New file.
53029
53030 2005-07-22  Bruno Haible  <bruno@clisp.org>
53031
53032         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
53033         $(ALLOCA_H), redundant through BUILT_SOURCES.
53034         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
53035         redundant through BUILT_SOURCES.
53036         * modules/byteswap (Makefile.am): Remove explicit dependency on
53037         $(BYTESWAP_H), redundant through BUILT_SOURCES.
53038         * modules/fnmatch (Makefile.am): Remove explicit dependency on
53039         $(FNMATCH_H), redundant through BUILT_SOURCES.
53040         * modules/getopt (Makefile.am): Remove explicit dependency on
53041         $(GETOPT_H), redundant through BUILT_SOURCES.
53042         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
53043         redundant through BUILT_SOURCES.
53044         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
53045         redundant through BUILT_SOURCES.
53046         * modules/stdbool (Makefile.am): Remove explicit dependency on
53047         $(STDBOOL_H), redundant through BUILT_SOURCES.
53048         * modules/stdint (Makefile.am): Remove explicit dependency on
53049         $(STDINT_H), redundant through BUILT_SOURCES.
53050         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
53051         Remove explicit dependency on $(SYSEXITS_H).
53052         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
53053
53054 2005-07-18  Simon Josefsson  <jas@extundo.com>
53055
53056         * lib/check-version.c (check_version): Accept identical versions too.
53057
53058 2005-07-18  Bruno Haible  <bruno@clisp.org>
53059
53060         * modules/lock: New file.
53061         * MODULES.html.sh (Multithreading): New section.
53062
53063 2005-07-18  Bruno Haible  <bruno@clisp.org>
53064
53065         * m4/lock.m4: New file, from GNU gettext.
53066
53067 2005-07-18  Bruno Haible  <bruno@clisp.org>
53068
53069         * lib/lock.h: New file, from GNU gettext.
53070         * lib/lock.c: New file, from GNU gettext.
53071
53072 2005-07-18  Bruno Haible  <bruno@clisp.org>
53073
53074         * lib/lock.h (gl_once_t): New type.
53075         (gl_once_define, gl_once): New macros.
53076         * lib/lock.c (fresh_once): New variable.
53077         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
53078         functions.
53079
53080 2005-07-16  Simon Josefsson  <jas@extundo.com>
53081
53082         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
53083         workaround, suggested by Bruno.
53084
53085 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
53086
53087         * modules/xalloc (Depends-on): Add xalloc-die.
53088         * modules/xvasprintf (Depends-on): Add xalloc-die.
53089
53090 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
53091
53092         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
53093         with a minor change.
53094
53095 2005-07-15  Bruno Haible  <bruno@clisp.org>
53096
53097         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
53098         When using lib/poll.c, define poll as rpl_poll.
53099
53100 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
53101
53102         * modules/argp (Depends-on): Remove unlocked-io.
53103
53104 2005-07-14  Derek Price  <derek@ximbiot.com>
53105
53106         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
53107         for glob symlink bug.
53108
53109 2005-07-14  Bruno Haible  <bruno@clisp.org>
53110
53111         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
53112         Instead, test for *_unlocked function declarations directly.
53113
53114 2005-07-11  Simon Josefsson  <jas@extundo.com>
53115
53116         * modules/size_max: New file.
53117
53118         * modules/xsize: Depend on size_max module for size_max.m4.
53119
53120 2005-07-11  Simon Josefsson  <jas@extundo.com>
53121
53122         * lib/size_max.h: New file.
53123
53124 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
53125
53126         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
53127         copyright symbol and the year.
53128         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
53129         (version_etc_va): Use parameterized copyright notice.
53130         Reword to conform to the current GNU coding standards.
53131
53132 2005-07-11  Karl Berry  <karl@gnu.org>
53133
53134         * doc/gnulib.texi (Quoting): new node.
53135         (Initial import): more info, from Patrice.
53136
53137 2005-07-11  Bruno Haible  <bruno@clisp.org>
53138
53139         * gnulib-tool (func_usage): Document option --avoid.
53140         (Command line options): Handle --avoid.
53141         (func_acceptable): New function.
53142         (func_modules_transitive_closure): Use it.
53143
53144 2005-07-11  Bruno Haible  <bruno@clisp.org>
53145
53146         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
53147         Reported by Jim Meyering.
53148
53149 2005-07-10  Bruno Haible  <bruno@clisp.org>
53150
53151         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
53152         Needed when size_t is smaller than 'unsigned int'.
53153         Reported by Paul Eggert.
53154
53155 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
53156
53157         * modules/argp (Depends-on): Add unlocked-io
53158
53159 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
53160
53161         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
53162         block of defines.
53163
53164 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
53165
53166         * config/srclist.txt: Comment out regcomp.c, since we have a porting
53167         fix now.
53168
53169 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
53170         and Paul Eggert  <eggert@cs.ucla.edu>
53171
53172         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
53173         in wint_t, not wchar_t.  Remove now-unnecessary cast.
53174
53175 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53176
53177         * modules/regex (Files): Add lib/regex_internal.c,
53178         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
53179         (Depends-on): Add extensions.
53180         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
53181
53182 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53183
53184         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
53185         pathconf.
53186         * m4/same.m4 (gl_SAME): Likewise.
53187         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
53188
53189         * m4/regex.m4: Adjust to new libc regex implementation.
53190         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
53191         all the .c and .h parts of (the new) regex.
53192         Quote the m4 stuff better.
53193         Check for RE_ICASE bug of old gnulib.
53194         Check for REG_STARTEND of recent libc.
53195         Rename local variables from jm_* to gl_*.
53196         Quote operand of "test -f".
53197         Say "recent enough" version of libc, not "version 2".
53198         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
53199         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
53200         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
53201         Remove check for btowc, isascii.
53202         Require AM_LANGINFO_CODESET.
53203
53204 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53205
53206         * lib/regex.c, regex.h: Sync from libc.
53207         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
53208         * lib/regexec.c:
53209         New files, synced from libc, except that regex_internal.h
53210         currently has a small porting fix.
53211
53212 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
53213
53214         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
53215         regex_internal.c, regexec.c.
53216         Add regex_internal.h too, but as a comment, since the libc version
53217         is currently broken in gnulib mode.
53218
53219 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
53220
53221         Support programs like Emacs that use gnulib but not gettext.
53222         * MODULES.html.sh (Internationalization functions): Add gettext-h.
53223         * modules/gettext-h: New file.
53224         * modules/gettext (Files): Remove lib/gettext.h.
53225         (Depends-on): Add gettext-h.
53226         (Makefile.am): Remove lib_SOURCES.
53227         * modules/argmatch, modules/c-stack, modules/closeout:
53228         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
53229         * modules/execute, modules/file-type, modules/getaddrinfo:
53230         * modules/getopt, modules/human, modules/javacomp:
53231         * modules/javaexec, modules/mkdir-p, modules/obstack:
53232         * modules/openat, modules/pagealign_alloc, modules/pipe:
53233         * modules/quotearg, modules/regex, modules/rpmatch:
53234         * modules/unicodeio, modules/userspec, modules/version-etc:
53235         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
53236         * modules/xsetenv:
53237         Depend on gettext-h, not gettext.
53238
53239 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
53240
53241         * gnulib-tool (func_import): Add support for 'public domain' license.
53242         * modules/alloca, modules/atexit, modules/memmove:
53243         Now public domain, not GPL.
53244         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
53245         * modules/realloc, modules/strerror, modules/strtod:
53246         Now LGPL, not GPL.
53247
53248 2005-07-05  Bruno Haible  <bruno@clisp.org>
53249
53250         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
53251         autoconf CVS. Needed for mingw.
53252
53253 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
53254
53255         Remove the dependency of the strftime module on the tzset module.
53256         * modules/strftime (Depends-on): Remove dependency on tzset.
53257
53258 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
53259
53260         Remove the dependency of the strftime module on the tzset module.
53261         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
53262         gl_FUNC_TZSET_CLOBBER.
53263
53264 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
53265
53266         Remove the dependency of the strftime module on the tzset module.
53267         * lib/strftime.c (my_strftime)
53268         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
53269         Copy the input structure, to work around some of the bug with
53270         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
53271         Solaris releases, you should also use the tzset module, but we won't
53272         require it as a dependency any more since we don't want LGPLed code
53273         to depend on GPLed code.
53274
53275 2005-07-02  Jim Meyering  <jim@meyering.net>
53276
53277         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
53278         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
53279         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
53280         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
53281
53282 2005-07-02  Jim Meyering  <jim@meyering.net>
53283
53284         * lib/backupfile.c (backup_args): Change a `0' to NULL.
53285
53286 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
53287
53288         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
53289         declares only 'struct timespec;' (!).
53290
53291 2005-07-01  Jim Meyering  <jim@meyering.net>
53292
53293         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
53294         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
53295         * lib/save-cwd.c, tempname.c:
53296         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
53297         and don't include <sys/file.h>).
53298
53299 2005-06-29  Jim Meyering  <jim@meyering.net>
53300
53301         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
53302         type name.  Use the variable name instead.
53303         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
53304         Likewise.
53305
53306 2005-06-28  Simon Josefsson  <jas@extundo.com>
53307
53308         * modules/check-version (Files): Add check-version.m4.
53309
53310 2005-06-28  Simon Josefsson  <jas@extundo.com>
53311
53312         * m4/check-version.m4: New file, suggested by Jim Meyering
53313         <jim@meyering.net>.
53314
53315 2005-06-28  Simon Josefsson  <jas@extundo.com>
53316
53317         * lib/check-version.h, lib/check-version.c: New files.
53318
53319 2005-06-28  Simon Josefsson  <jas@extundo.com>
53320
53321         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
53322         collision with global variable.  Better indentation.  Don't
53323         increment buffer pointer beyond buffer end.  Based on comments
53324         from Paul Eggert <eggert@cs.ucla.edu>.
53325
53326         * lib/base64.h: Indent.
53327
53328 2005-06-28  Simon Josefsson  <jas@extundo.com>
53329
53330         * doc/gnulib.texi (Library version handling): New section.
53331
53332 2005-06-28  Jim Meyering  <jim@meyering.net>
53333
53334         * check-module (find_included_lib_files): Hard-code another
53335         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
53336         but modules/fts-lgpl (correctly) does not list those files.
53337
53338         * modules/canonicalize (Files): Add lib/pathmax.h.
53339
53340 2005-06-25  Simon Josefsson  <jas@extundo.com>
53341
53342         * modules/check-version: New file.
53343
53344 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
53345
53346         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
53347         initializer of struct addrinfo, as an indication that we don't
53348         care how many members the structure has.
53349
53350 2005-06-24  Derek Price  <derek@ximbiot.com>
53351         and Bruno Haible  <bruno@clisp.org>
53352
53353         Remove stat module & update lstat.
53354         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
53355         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53356         * m4/stat.m4: Remove this file.
53357
53358 2005-06-24  Derek Price  <derek@ximbiot.com>
53359         and Bruno Haible  <bruno@clisp.org>
53360
53361         Remove stat module & update lstat.
53362         * lib/stat.c: Remove this file...
53363         (slash_aware_lstat): ...moving this content and its support...
53364         * lib/lstat.c (rpl_lstat): ...into here.
53365         * lib/lstat.h: New file.
53366
53367 2005-06-24  Derek Price  <derek@ximbiot.com>
53368         and Bruno Haible  <bruno@clisp.org>
53369
53370         Remove stat module & update lstat.
53371         * config/srclist.txt (libc sources): Remove stat.
53372
53373 2005-06-24  Derek Price  <derek@ximbiot.com>
53374         and Bruno Haible  <bruno@clisp.org>
53375
53376         Remove stat module & update lstat.
53377         * MODULES.html.sh (stat): Remove.
53378         * MODULES.html: Regenerated.
53379         * modules/lstat (Description): Correct function name.
53380         (Files): Add "lstat.h".
53381         (Depends-on): Remove stat, add xalloc, stat-macros.
53382         * modules/stat: Remove this file.
53383         (Include): Add "lstat.h", remove <sys/stat.h>.
53384
53385 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53386
53387         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
53388         (ranged_convert): Don't save conversion in a temporary struct.
53389         This causes a warning with GCC 4.0.0, and anyway in the typical
53390         case it's not worth the extra 100 bytes or so of code.
53391         (ranged_convert, __mktime_internal): When calling a function via a
53392         pointer P, use P () rather than (*P) (), as we now assume C89 or
53393         better.
53394
53395 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
53396
53397         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
53398         "who -r" failed to give output.  Problem reported by Tim Waugh.
53399
53400         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
53401         (xcalloc): Use it to avoid needless tests.
53402         Problem reported by Jim Meyering.
53403
53404 2005-06-20  Derek Price  <derek@ximbiot.com>
53405
53406         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
53407         unnecessary for Autoconfs > 2.59c.
53408
53409 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53410
53411         * lib/argp.h (__option_is_short): Check upper limit of
53412         __key. Isprint() requires its argument to have the value
53413         of an unsigned char or EOF.
53414
53415 2005-06-16  Jim Meyering  <jim@meyering.net>
53416
53417         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
53418         when either N or S is zero.
53419
53420 2005-06-16  Derek Price  <derek@ximbiot.com>
53421
53422         * m4/bison.m4: Declare YACC & YFLAGS precious.
53423
53424 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
53425
53426         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
53427         multibyte string or pattern, fall back on unibyte matching.
53428         Problem reported by James Youngman.
53429
53430 2005-06-08  Bruno Haible  <bruno@clisp.org>
53431
53432         * modules/csharpcomp: New file.
53433         * MODULES.html.sh (C#): Add csharpcomp.
53434
53435 2005-06-08  Bruno Haible  <bruno@clisp.org>
53436
53437         * m4/csharpcomp.m4: New file, from GNU gettext.
53438
53439 2005-06-08  Bruno Haible  <bruno@clisp.org>
53440
53441         * lib/csharpcomp.h: New file, from GNU gettext.
53442         * lib/csharpcomp.c: New file, from GNU gettext.
53443         * lib/csharpcomp.sh.in: New file, from GNU gettext.
53444
53445 2005-06-08  Bruno Haible  <bruno@clisp.org>
53446
53447         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
53448         warning on mingw.
53449
53450 2005-06-07  Derek Price  <derek@ximbiot.com>
53451
53452         Sync from CVS.
53453         * lib/glob_.h: Indent nested #ifdef.
53454
53455 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53456
53457         Sync from coreutils.
53458         Use "file name" when talking about file names, instead of "filename"
53459         or "path", as per the GNU coding standards.
53460         * lib/mkdir-p.c: Renamed from makepath.c.
53461         (make_dir_parents): Renamed from make_path.  All callers changed.
53462         * lib/mkdir-p.h: Likewise.  All includers changed.
53463         * lib/filenamecat.c: Renamed from path-concat.c.
53464         (file_name_concat): Renamed from path_concat.  All callers changed.
53465         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
53466         * lib/filenamecat.h: Likewise.  All includers changed.
53467         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
53468         in comments or local variable names.
53469         * lib/basename.c: Likewise.
53470         * lib/canonicalize.c, canonicalize.h: Likewise.
53471         * lib/dirname.c, dirname.h: Likewise.
53472         * lib/euidaccess.c: Likewise.
53473         * lib/exclude.c: Likewise
53474         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
53475         * lib/fsusage.c, fsuage.h: Likewise.
53476         * lib/fts.c, fts_.h: Likewise.
53477         * lib/getcwd.c: Likewise.
53478         * lib/getloadavg.c: Likewise.
53479         * lib/mkstemp.c: Likewise.
53480         * lib/mountlist.c, mountlist.h: Likewise.
53481         * lib/openat.c, openat.h: Likewise.
53482         * lib/readlink-stub.c: Likewise.
53483         * lib/readutmp.c, readutmp.h: Likewise.
53484         * lib/rename.c: Likewise.
53485         * lib/rmdir.c: Likewise.
53486         * lib/same.c: Likewise.
53487         * lib/savedir.c: Likewise.
53488         * lib/stripslash.c: Likewise.
53489         * lib/tempname.c: Likewise.
53490         * lib/xreadlink.c: Likewise.
53491         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
53492         All uses changed.
53493         * lib/exclude.h: Likewise.
53494
53495         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
53496         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53497         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
53498         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53499         * lib/pathmax.h: Include <limits.h> unconditionally, since other
53500         files have been getting away with it for years (MORE/BSD 4.3
53501         is extinct now).
53502         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
53503         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
53504
53505         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
53506         Define to 256, not 255, as per modern POSIX.
53507
53508 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53509
53510         Sync from coreutils.
53511         Use "file name" when talking about file names, instead of "filename"
53512         or "path", as per the GNU coding standards.
53513         * MODULES.html.sh: mkdir-p renamed from makepath.
53514         filenamecat renamed from path-concat.
53515         * modules/filenamecat: Renamed from modules/path-concat.
53516         (Files): filenamecat.h and filenamecat.c renamed from
53517         path-concat.h and path-concat.c.
53518         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
53519         (Include): filenamecat.h, not path-concat.h.
53520         * modules/mkdir-p: Renamed from modules/makepath.
53521         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
53522         makepath.c.
53523         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
53524         (Include): mkdir-p.h, not makepath.h.
53525
53526 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
53527
53528         Sync from coreutils.
53529         * m4/mkdir-p.m4: Renamed from makepath.m4.
53530         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
53531         Rename files from makepath.c to mkdir-p.c, and from
53532         makepath.h to mkdir-p.h.
53533         * m4/filenamecat.m4: Renamed from path-concat.m4.
53534         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
53535         Rename files from path-concat.c to filenamecat.c,
53536         and from path-concat.h to filenamecat.h.
53537         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
53538         "file name" in local variables or comments.
53539         * m4/rename.m4: Likewise.
53540
53541 2005-06-01  Bruno Haible  <bruno@clisp.org>
53542
53543         * modules/csharpexec: New file.
53544         * MODULES.html.sh (C#): New section.
53545
53546 2005-06-01  Bruno Haible  <bruno@clisp.org>
53547
53548         * m4/csharp.m4: New file, from GNU gettext.
53549         * m4/csharpexec.m4: New file, from GNU gettext.
53550
53551 2005-06-01  Bruno Haible  <bruno@clisp.org>
53552
53553         * lib/csharpexec.h: New file, from GNU gettext.
53554         * lib/csharpexec.c: New file, from GNU gettext.
53555         * lib/csharpexec.sh.in: New file, from GNU gettext.
53556
53557 2005-05-31  Derek Price  <derek@ximbiot.com>
53558             Paul Eggert  <eggert@cs.ucla.edu>
53559
53560         Sync from cvs.
53561         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
53562
53563 2005-05-31  Derek Price  <derek@ximbiot.com>
53564             Paul Eggert  <eggert@cs.ucla.edu>
53565
53566         Sync from cvs.
53567         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
53568
53569 2005-05-29  Derek Price  <derek@ximbiot.com>
53570
53571         * config/srclist.txt (glob_.h, glob.c): Add these files.
53572
53573 2005-05-29  Derek Price  <derek@ximbiot.com>
53574
53575         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
53576         * modules/glob: New file.
53577         * modules/getlogin_r: Add link to POSIX spec in description.
53578
53579 2005-05-29  Derek Price  <derek@ximbiot.com>
53580             Paul Eggert  <eggert@cs.ucla.edu>
53581
53582         * m4/glob.m4: New file.
53583
53584 2005-05-29  Derek Price  <derek@ximbiot.com>
53585             Paul Eggert  <eggert@cs.ucla.edu>
53586
53587         * lib/glob_.h, lib/glob.c: New files.
53588
53589 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53590
53591         * modules/fts (Files): Remove m4/inttypes-pri.m4.
53592         * modules/fts-lgpl (Depends-on): Remove gettext.
53593
53594 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53595
53596         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
53597         and don't require gt_INTTYPES_PRI.
53598
53599 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53600
53601         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
53602
53603         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
53604         the configuration hassle isn't worth it.
53605         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
53606         (LONGEST_MODIFIER, PRIuMAX): Remove.
53607
53608 2005-05-27  Bruno Haible  <bruno@clisp.org>
53609
53610         * lib/getlogin_r.h: Remove second include of <stddef.h>.
53611
53612 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53613
53614         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
53615         _POSIX_PTHREAD_SEMANTICS for Solaris.
53616
53617 2005-05-25  Derek Price  <derek@ximbiot.com>
53618
53619         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
53620
53621 2005-05-25  Derek Price  <derek@ximbiot.com>
53622             Paul Eggert  <eggert@cs.ucla.edu>
53623
53624         * modules/getlogin_r, m4/getlogin_r.m4: New files.
53625         * lib/getlogin_r.c, getlogin_r.h: New files.
53626
53627 2005-05-25  Bruno Haible  <bruno@clisp.org>
53628             Derek Price  <derek@ximbiot.com>
53629
53630         * lib/getlogin_r.h: Simplify API documentation.
53631
53632 2005-05-23  Derek Price  <derek@ximbiot.com>
53633
53634         * modules/minmax (Files): Add m4/minmax.m4.
53635         (configure.ac): Add gl_MINMAX.
53636
53637 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
53638
53639         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
53640         so that unistd-safer.h (GPL'ed code) need not be included.
53641
53642 2005-05-22  Bruno Haible  <bruno@clisp.org>
53643
53644         * m4/minmax.m4: New file.
53645         Based on a patch by Derek Price <derek@ximbiot.com>.
53646
53647 2005-05-22  Bruno Haible  <bruno@clisp.org>
53648
53649         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
53650         (INT64_MIN): Fix definition.
53651         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
53652
53653         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
53654         NEED_SIGNED_INT_TYPES.
53655
53656         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
53657         HAVE_SYSTEM_INTTYPES.
53658
53659 2005-05-22  Bruno Haible  <bruno@clisp.org>
53660
53661         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
53662         Also include <sys/param.h> if it defines MIN, MAX.
53663         Based on a patch by Derek Price <derek@ximbiot.com>.
53664
53665 2005-05-21  Jim Meyering  <jim@meyering.net>
53666
53667         * modules/fts (Files): Add m4/inttypes-pri.m4.
53668         (Depends-on): Add lstat and remove gettext.  Alphabetize.
53669
53670 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53671
53672         New fts module.
53673         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
53674         (setup_dir, free_dir): New functions.
53675         (enter_dir, leave_dir): Define trivial
53676         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
53677         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
53678         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
53679         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
53680         Move to fts-cycle.c.
53681         (fts_open): Use setup_dir.
53682         (fts_close): Use free_dir.
53683         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
53684         This adds a label and some gotos, but the alternatives were messier.
53685         Check for memory allocation failure when entering a dir.
53686         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
53687         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
53688         (FTS): New member fts_cycle, that is a union that contains the
53689         old active_dir_ht and cycle_state.  All uses changed to mention
53690         fts_cycle.ht and fts_cycle.state.
53691         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
53692         fts.c, with the following changes:
53693         (setup_dir, free_dir): New functions.
53694         (enter_dir): Now returns bool.  Return true if successful, false
53695         if memory exhausted.  All callers changed.
53696         Do not bother partly cleaning up on
53697         memory allocation failure; that is free_dir's job.
53698         However, free ad if hash_insert fails, to avoid memory leak.
53699         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
53700         fts->fts_options to see which union member to use.
53701
53702 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53703
53704         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
53705         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
53706
53707 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
53708
53709         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
53710
53711 2005-05-20  Jim Meyering  <jim@meyering.net>
53712
53713         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
53714         Now a macro, to pacify GCC.
53715
53716 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53717
53718         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
53719         of -1.
53720
53721 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
53722
53723         * lib/chown.c (rpl_chown): Return -1 on failure.
53724
53725 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53726
53727         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
53728         Don't check for stddef.h.
53729         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
53730         don't use its results.
53731         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
53732         since we include them unconditionally.  Don't require
53733         AM_STDBOOL_H, since stdbool is a prerequisite.
53734         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
53735         since we assume C89 or better.
53736         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
53737         as we don't use their results.
53738         Don't check for fchdir, memmove, memset, strrchr, as we use
53739         them unconditionally.
53740         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
53741         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
53742
53743 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53744
53745         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
53746         Include <stddef.h> unconditionally, since we assume C89 now.
53747         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
53748         * lib/fts.c: Include fts_.h first, to check interface.
53749         Do not include intprops.h; no longer needed.
53750         Include cycle-check.h and hash.h, since fts_.h no longer does.
53751         Remove unnecessary casts of closedir to void.
53752         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
53753         decide whether to decrement nlinks.
53754         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
53755         (FTS): Use struct hash_table * instead of Hash_table, so that
53756         we no longer need to include hash.h here.
53757
53758 2005-05-18  Jim Meyering  <jim@meyering.net>
53759
53760         * modules/dirfd (License): Change to LGPL.  Most of the code
53761         is already in the public domain.
53762
53763 2005-05-18  Jim Meyering  <jim@meyering.net>
53764
53765         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
53766         Reported by Yoann Vandoorselaere.
53767
53768 2005-05-17  Jim Meyering  <jim@meyering.net>
53769
53770         * m4/fts.m4: New file, from coreutils.
53771
53772 2005-05-17  Jim Meyering  <jim@meyering.net>
53773
53774         * lib/fts.c, lib/fts_.h: New files, from coreutils.
53775
53776 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53777
53778         Sync from coreutils.
53779         * m4/unlinkdir.m4: New file.
53780
53781 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53782
53783         Sync from coreutils.
53784         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
53785         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
53786         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
53787         White space changes only.
53788         * lib/makepath.c (make_path): Port to hosts where leading "//" is
53789         special.
53790         * lib/yesno.c: Include getline.h, not ctype.h.
53791         (yesno): Don't remove leading white space; POSIX doesn't allow it.
53792         Use getline to remove arbitrary restriction on response length.
53793
53794 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53795
53796         * config/srclist-update: Spell out "Street" in FSF postal
53797         mail address; this is the style the FSF seems to prefer.
53798
53799         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
53800         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
53801         this updates FSF postal mail address.
53802
53803         Sync from coreutils.
53804         * modules/unlinkdir: New file.
53805         * modules/yesno (Depends-on): Add getline.
53806         * MODULES.html.sh (File system functions): Add unlinkdir.
53807
53808 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53809
53810         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
53811         lib/strsep.h:
53812         Change the initial comment to refer to GPL, not LGPL.
53813         gnulib-tool will change it to LGPL as needed.
53814
53815         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
53816         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
53817         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
53818         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
53819         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
53820         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
53821         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
53822         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
53823         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
53824         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
53825         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
53826         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
53827         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
53828         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
53829         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
53830         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
53831         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
53832         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
53833         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
53834         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
53835         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
53836         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
53837         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
53838         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
53839         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
53840         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
53841         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
53842         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
53843         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
53844         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
53845         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
53846         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
53847         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
53848         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
53849         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
53850         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
53851         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
53852         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
53853         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
53854         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
53855         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
53856         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
53857         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
53858         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
53859         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
53860         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
53861         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
53862         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
53863         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
53864         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
53865         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53866         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
53867         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
53868         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
53869         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
53870         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
53871         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
53872         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
53873         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
53874         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
53875         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
53876         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
53877         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
53878         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
53879         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
53880         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
53881         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
53882         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
53883         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
53884         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
53885         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
53886         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
53887         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
53888         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
53889         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
53890         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
53891         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
53892         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
53893         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
53894         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
53895         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
53896         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
53897         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
53898         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
53899         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
53900         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
53901         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
53902         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
53903         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
53904         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
53905         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
53906         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
53907         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
53908         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
53909         lib/yesno.c, lib/yesno.h:
53910         Update FSF postal mail address.
53911
53912 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53913
53914         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
53915         tests/test-memmem.c, tests/test-stpncpy.c:
53916         Update FSF postal mail address.
53917
53918 2005-05-13  Bruno Haible  <bruno@clisp.org>
53919
53920         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
53921         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
53922         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
53923         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
53924         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
53925         Add support for 64-bit integers in the MSVC compiler.
53926
53927 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53928
53929         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
53930
53931 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
53932
53933         * gnulib-tool (func_import): Sort and uniquify recommended includes.
53934
53935 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
53936
53937         * doc/getdate.texi (General date syntax): Don't say that date
53938         date --iso-8601=ns generates acceptable dates; it doesn't yet.
53939         Problem reported by Nic Ferrier.
53940
53941 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53942
53943         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
53944         specified in ai_socktype. Fix invalid ai_protocol
53945         check. ai_protocol is usually set to 0 or depending on
53946         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
53947         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
53948         ai_socktype / ai_protocol in the returned addrinfo structure.
53949
53950 2005-05-10  Simon Josefsson  <jas@extundo.com>
53951
53952         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
53953         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53954
53955 2005-05-10  Karl Berry  <karl@gnu.org>
53956
53957         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
53958         (from http://www.gnu.org/licenses).
53959         * doc/COPYING.LIB: also rename to COPYING.LESSER.
53960         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
53961         fdl.texi suffices.
53962
53963 2005-05-10  Karl Berry  <karl@gnu.org>
53964
53965         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
53966         (COPYING.DOC): remove.
53967
53968         * config/srclist-update: new FSF address.
53969
53970 2005-05-10  Derek Price  <derek@ximbiot.com>
53971
53972         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
53973         possible.
53974
53975 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53976             Bruno Haible  <bruno@clisp.org>
53977
53978         * modules/inet_ntop: New file.
53979         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53980         inet_ntop.
53981
53982 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53983             Bruno Haible  <bruno@clisp.org>
53984
53985         * m4/inet_ntop.m4: New file.
53986
53987 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53988             Bruno Haible  <bruno@clisp.org>
53989
53990         * lib/inet_ntop.h: New file.
53991         * lib/inet_ntop.c: New file, from glibc with modifications.
53992
53993 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
53994
53995         * modules/time_r (License): Change to LGPL.
53996         * modules/extensions (License): Change to LGPL.  Actually,
53997         the license is more permissive than that, but currently gnulib-tool
53998         doesn't know how to handle more-permissive licenses.
53999
54000         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
54001         Problem reported by Dave Love.
54002
54003 2005-05-08  Jim Meyering  <jim@meyering.net>
54004
54005         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
54006         blank.
54007
54008 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
54009
54010         * modules/argmatch (Depends-on): Add stdbool.
54011         * modules/backupfile (Depends-on): Likewise.
54012         * modules/chdir-long (Depends-on): Likewise.
54013         * modules/closeout (Depends-on): Likewise.
54014         * modules/cycle-check (Depends-on): Likewise.
54015         * modules/dirname (Depends-on): Likewise.
54016         * modules/fnmatch (Depends-on): Likewise.
54017         * modules/fsusage (Depends-on): Likewise.
54018         * modules/fwriteerror (Depends-on): Likewise.
54019         * modules/getcwd (Depends-on): Likewise.
54020         * modules/getloadavg (Depends-on): Likewise.
54021         * modules/hard-locale (Depends-on): Likewise.
54022         * modules/makepath (Depends-on): Likewise.
54023         * modules/mountlist (Depends-on): Likewise.
54024         * modules/nanosleep (Depends-on): Likewise.
54025         * modules/posixtm (Depends-on): Likewise.
54026         * modules/quotearg (Depends-on): Likewise.
54027         * modules/readtokens (Depends-on): Likewise.
54028         * modules/readtokens0 (Depends-on): Likewise.
54029         * modules/readutmp (Depends-on): Likewise.
54030         * modules/save-cwd (Depends-on): Likewise.
54031         * modules/strftime (Depends-on): Likewise.
54032         * modules/userspec (Depends-on): Likewise.
54033         * modules/utimecmp (Depends-on): Likewise.
54034         * modules/xgetcwd (Depends-on): Likewise.
54035         * modules/xnanosleep (Depends-on): Likewise.
54036         * modules/xstrtod (Depends-on): Likewise.
54037         * modules/yesno (Depends-on): Likewise.
54038
54039 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
54040
54041         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
54042         needless checks.
54043
54044 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54045
54046         Merge from coreutils.  Among other things,
54047         add bulletproofing for cases where stdin, stdout, or stderr are closed.
54048         * lib/fd-safer.c: New file.
54049         * lib/fcntl-safer.h, open-safer.c: Remove.
54050         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
54051         * lib/dup-safer.c: Include unistd-safer.h first.
54052         Don't include errno.h.
54053         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
54054         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
54055         * lib/file-type.c: Rely on file-type.h change.
54056         * lib/getloadavg.c: Include unistd-safer.h.
54057         (getloadavg): Use safer open.
54058         * lib/getusershell.c: Include "stdio-safer.h".
54059         (getusershell): Use safer fopen.
54060         * lib/long-options.c (long_options): Use NULL rather than 0.
54061         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
54062         'free'.
54063         * lib/modechange.c: Likewise.
54064         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
54065         (MODE_DONE): New constant.
54066         (struct mode_change): Remove 'next' member.
54067         (make_node_op_equals): New function; like the old one of the
54068         same name, except it allocates an array.
54069         (mode_compile, mode_create_from_ref): Use it.
54070         (mode_compile): Allocate result as an array, not a linked list.
54071         Parse octal string ourself, so that we catch mistakes like "+0".
54072         (mode_adjust): Arg is an array, not a linked list.
54073         * lib/modechange.c: Include stat-macros.h, xalloc.h.
54074         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
54075         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
54076         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
54077         Remove.  This is now stat-macros.h's job.
54078         (talloc): Remove.  All callers replaced by xalloc, so that
54079         our invokers don't have to worry about reporting memory failures.
54080         (make_node_op_equals): Remove.
54081         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
54082         New constants.
54083         (struct mode_change): Moved here from modechange.h.
54084         (mode_append_entry): Remove.
54085         (mode_compile): Remove MASKED_OPS arg, since it encouraged
54086         apps to have incorrect behavior.  Use simpler algorithm for head
54087         and tail.  Don't futz with umask; that's now the job of mode_adjust.
54088         Detect more invalid usages rather than having somewhat-random behavior.
54089         Don't insert an "a=" action, as that leads to incorrect behavior.
54090         (mode_compile, mode_create_from_ref): Return NULL on error instead
54091         of an enum, since now there's only one way to have an error.  All
54092         callers changed.
54093         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
54094         at the correct time.  Simplify calculation of "+u" and its ilk.
54095         Don't mishandle "+X".
54096         (mode_free): Remove "register" and localize decls.
54097         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
54098         (struct mode_change): Move to modechange.c; callers don't
54099         need to see this stuff.
54100         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
54101         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
54102         (mode_change, mode_adjust): Reflect the new signatures noted above.
54103         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
54104         that might redefine system include files.
54105         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
54106         (my_usleep): Use NULL rather than (void *) 0.
54107         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
54108         Use siginterrupt to specify that system calls should be interrupted.
54109         (rpl_nanosleep): Move initialization of suspended closer to call of
54110         my_usleep.
54111         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
54112         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
54113         (desirable_utmp_entry): New function.
54114         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
54115         using x2nrealloc, to simplify logic.
54116         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
54117         size calculation.  Do not assume utmp file is a regular file.
54118         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
54119         (READ_UTMP_CHECK_PIDS): New constant.
54120         * lib/save-cwd.c: Include unistd-safer.h.
54121         (save_cwd): Use fd_safer.
54122         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
54123         [!_LIBC] Include "stat-macros.h" instead.
54124         * lib/unistd-safer.h (fd_safer): New decl.
54125
54126 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54127
54128         * modules/getloadavg (Depends-on): Add unistd-safer.
54129         * modules/getusershell (Depends-on): Add stdio-safer.
54130         * modules/lstat (Depends-on): Remove xalloc.
54131         * modules/mkstemp (Depends-on): Add stat-macros.
54132         * modules/modechange (Depends-on): Remove xstrtol.
54133         Add stat-macros, xalloc.
54134         * modules/save-cwd (Depends-on): Add unistd-safer.
54135         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
54136         * modules/unistd-safer (Files): Add lib/fd-safer.c
54137         (Makefile.am): Remove lib_SOURCES.
54138
54139         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
54140         Remove fcntl-safer; unistd-safer supersedes it.
54141
54142 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54143
54144         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
54145         AC_HEADER_STAT.
54146         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
54147         (gl_PREREQ_CHOWN): Remove.
54148         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
54149         it.  Don't require AC_HEADER_STAT.
54150         (gl_PREREQ_LSTAT): Remove.
54151         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
54152         Don't require AC_HEADER_STAT.
54153         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
54154         (gl_PREREQ_RMDIR): Remove.
54155         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
54156         mention stat-macros.h or AC_HEADER_STAT, since we'll make
54157         the stat-macros module a prerequisite.
54158         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
54159         * m4/filemode.m4 (gl_FILEMODE): Likewise.
54160         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
54161         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
54162         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
54163         variable names.
54164         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
54165         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
54166         variable prefixes.
54167         * m4/fcntl-safer.m4: Remove.
54168         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
54169         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
54170         Invoke gl_PREREQ_FD_SAFER.
54171         (gl_PREREQ_FD_SAFER): New macro.
54172         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
54173         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
54174         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
54175         Remove duplicate call to AC_LIBOBJ(readutmp).
54176         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
54177
54178         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
54179         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
54180
54181 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54182
54183         * MODULES.html.sh (Misc): Add byteswap.
54184
54185 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
54186
54187         * modules/getcwd (Depends-on): Add extensions.
54188         * modules/openat (Depends-on): Likewise.
54189
54190 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
54191
54192         * modules/byteswap: New file.
54193
54194 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
54195
54196         * m4/byteswap.m4: New file.
54197
54198 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
54199
54200         * lib/byteswap_.h: New file.
54201
54202 2005-04-25  Karl Berry  <karl@gnu.org>
54203
54204         * m4/gettext.m4: Update from GNU gettext 0.14.4.
54205
54206 2005-04-25  Albert Chin  <china@thewrittenword.com>
54207
54208         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
54209         Toolkit C bug.
54210
54211 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
54212
54213         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
54214         (func_ln_if_changed) Remove forcibly for no error message
54215         in case file does not exist.
54216
54217 2005-04-19  Simon Josefsson  <jas@extundo.com>
54218
54219         * gnulib-tool (Options): Make --symlink mean --symbolic.
54220
54221 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
54222
54223         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
54224
54225 2005-04-16  Simon Josefsson  <jas@extundo.com>
54226
54227         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
54228
54229 2005-04-15  Simon Josefsson  <jas@extundo.com>
54230
54231         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
54232
54233 2005-04-15  Simon Josefsson  <jas@extundo.com>
54234
54235         * gnulib-tool: Rename --symlink to --symbolic.
54236
54237 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
54238
54239         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
54240         symbolic links to files instead of copying/moving.  Add --aux-dir,
54241         specifying directory relative --dir where auxiliary build tools
54242         are placed.
54243
54244 2005-04-14  Bruno Haible  <bruno@clisp.org>
54245
54246         * modules/allocsa (License): Change to LGPL.
54247         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54248
54249 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
54250
54251         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
54252         that "UTC +1 second" continues to work.  Problem reported
54253         by Dmitry V. Levin.
54254         (relunit_snumber): New rule.
54255         (relunit): Use it.
54256
54257 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
54258
54259         * lib/getdate.y (universal_time_zone_table): New constant.
54260         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
54261         universal_time_zone_table.
54262         (lookup_zone): Prefer universal_time_zone_table to
54263         local_time_zone_table, so that "GMT" time stamps are allowed in
54264         London during the summer.  Problem reported by Ian Abbott.
54265
54266 2005-04-12  Jim Meyering  <jim@meyering.net>
54267
54268         * lib/human.c (humblock): Set *options even when returning due to
54269         xstrtoumax conversion failure.  Thanks to a used-uninitialized
54270         warning from gcc-4.
54271
54272 2005-04-09  Jim Meyering  <jim@meyering.net>
54273
54274         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
54275         -Wuninitialized: initialize tm0.tm_year.
54276
54277 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
54278
54279         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
54280         count, since there's no maximum.  All uses changed.
54281         Add member dsts_seen.
54282         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
54283         not being INT_MAX.
54284         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
54285         Use pc_rels_seen to decide whther a date is absolute.
54286
54287         * lib/getdate.y (number): Don't overwrite year.
54288         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
54289         check.
54290
54291 2005-04-02  Simon Josefsson  <jas@extundo.com>
54292
54293         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
54294         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
54295
54296 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
54297
54298         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
54299         where no absolute path name can be longer than PATH_MAX.
54300
54301 2005-03-27  Jim Meyering  <jim@meyering.net>
54302
54303         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
54304
54305 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
54306
54307         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
54308         "one's complement" -> "ones' complement" in comment, as per Knuth.
54309         "value of type" -> "type or expression" in comment.
54310         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
54311
54312 2005-03-26  Jim Meyering  <jim@meyering.net>
54313
54314         Comment nits.
54315         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
54316         Correct typos: s/or/of/.
54317
54318 2005-03-26  Jim Meyering  <jim@meyering.net>
54319
54320         * modules/check-include-files: Move to ../ and rename to...
54321         * check-module: ...this.
54322
54323 2005-03-25  Jim Meyering  <jim@meyering.net>
54324
54325         * modules/xvasprintf (Files): Add xalloc.h.
54326
54327 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
54328
54329         * modules/gettext (Files): config/config.rpath ->
54330         build-aux/config.rpath
54331         * modules/iconv (Files): Likewise.
54332         Problem reported by Oskar Liljeblad.
54333
54334 2005-03-23  Jim Meyering  <jim@meyering.net>
54335
54336         * modules/check-include-files: New script to check for
54337         missing dependencies, multiple includes, etc.
54338
54339         * modules/c-strtold (Depends-on): Add xalloc.
54340         * modules/c-strtod (Depends-on): Add xalloc.
54341         * modules/hash (Depends-on): Add xalloc.
54342         (Files): Remove lib/xalloc.h.
54343
54344         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
54345         * modules/userspec (Files): Add lib/inttostr.h.
54346
54347 2005-03-23  Jim Meyering  <jim@meyering.net>
54348
54349         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
54350
54351 2005-03-22  Jim Meyering  <jim@meyering.net>
54352
54353         * modules/stat-macros: New module.
54354         * modules/canonicalize, modules/euidaccess, modules/file-type,
54355         * modules/filemode, modules/lchown, modules/makepath,
54356         * modules/rmdir, modules/stat: Depend on new stat-macros module
54357         rather than listing lib/stat-macros.h manually.
54358         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
54359
54360 2005-03-22  Jim Meyering  <jim@meyering.net>
54361
54362         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
54363
54364 2005-03-22  Bruno Haible  <bruno@clisp.org>
54365
54366         * config/srclist.txt: Replace target directory 'config' with
54367         'build-aux'.
54368         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
54369         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
54370         ../build-aux/.
54371
54372 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
54373
54374         * modules/chdir-long (Depends-on): Add mempcpy.
54375
54376         * modules/acl, modules/backupfile, modules/c-strtod,
54377         modules/c-strtold, modules/canon-host, modules/canonicalize,
54378         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
54379         modules/exclude, modules/exitfail, modules/file-type,
54380         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
54381         modules/getdate, modules/getline, modules/getpagesize,
54382         modules/getpass, modules/getugroups, modules/group-member,
54383         modules/hard-locale, modules/hash, modules/human, modules/idcache,
54384         modules/inttostr, modules/long-options, modules/makepath,
54385         modules/md5, modules/memcasecmp, modules/memcoll,
54386         modules/modechange, modules/mountlist, modules/path-concat,
54387         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
54388         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
54389         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
54390         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
54391         modules/strftime, modules/strndup, modules/strverscmp,
54392         modules/timespec, modules/unlocked-io, modules/userspec,
54393         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
54394         modules/yesno:
54395         Remove lib_SOURCES line from Makefile.am section, as this is now
54396         done automatically by the corresponding Autoconf macro.
54397
54398 2005-03-21  Jim Meyering  <jim@meyering.net>
54399
54400         Changes imported from coreutils.
54401
54402         * lib/cycle-check.c: Don't include xalloc.h.
54403
54404         * lib/path-concat.c: Don't include assert.h.
54405         (path_concat): Remove assertion that would have triggered
54406         for ABASE starting with more than one slash.
54407         Reported by Andreas Schwab.
54408
54409         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
54410         properly when ABASE is an absolute file name.
54411         Correct the description of this function.
54412         Include <assert.h>.
54413         Add an assertion and a test driver.
54414         This fixes a bug introduced on 2004-07-02.
54415         Andreas Schwab reported the resulting failure of cp --parents:
54416         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
54417
54418 2005-03-21  Jim Meyering  <jim@meyering.net>
54419
54420         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
54421         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
54422
54423 2005-03-21  Jim Meyering  <jim@meyering.net>
54424         and  Paul Eggert  <eggert@cs.ucla.edu>
54425
54426         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
54427         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
54428         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
54429         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
54430         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
54431         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
54432         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
54433         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
54434         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
54435         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
54436         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
54437         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
54438         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
54439         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
54440         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
54441         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
54442         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
54443         for these modules.
54444
54445 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
54446
54447         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
54448         (which shouldn't happen), generate nothing instead of returning 0
54449         immediately, so that nstrftime (NULL, ...) doesn't return 0.
54450
54451 2005-03-16  Bruno Haible  <bruno@clisp.org>
54452
54453         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
54454         HAVE_LONGLONG_64BIT.
54455
54456 2005-03-16  Bruno Haible  <bruno@clisp.org>
54457
54458         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
54459         HAVE_LONGLONG_64BIT.
54460
54461 2005-03-16  Bruno Haible  <bruno@clisp.org>
54462
54463         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
54464         HAVE_LONGLONG_64BIT.
54465
54466 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
54467
54468         * lib/strftime.c (my_strftime): Prepend space to format so that we can
54469         reliably distinguish strftime failure from empty output on POSIX
54470         hosts.
54471
54472 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
54473
54474         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
54475         (iconv_string): Don't guess a size-zero buffer, as that might cause
54476         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
54477         result would be 'too large', where 'too large' is (heuristically)
54478         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
54479         overflow concerns.  This will prevent some unwanted malloc failures
54480         when the inputs are very large.
54481
54482 2005-03-15  Karl Berry  <karl@gnu.org>
54483
54484         * config/srclist.txt (config.rpath): from gettext.
54485         * config/config.rpath: update.
54486
54487 2005-03-15  Bruno Haible  <bruno@clisp.org>
54488
54489         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
54490         to 'negate'.
54491
54492         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
54493         variable.
54494
54495         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
54496         results.
54497
54498 2005-03-14  Simon Josefsson  <jas@extundo.com>
54499
54500         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
54501         <fx@gnu.org>.
54502
54503 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
54504
54505         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
54506         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
54507         intprops.h.
54508         * lib/strtol.c: Likewise.
54509
54510 2005-03-14  Jim Meyering  <jim@meyering.net>
54511
54512         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
54513         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
54514         to be nonzero so that we (and caller) can detect the difference
54515         between a valid zero-length expansion and an error return, even
54516         when the underlying strftime fails before writing anything into
54517         that location.
54518
54519 2005-03-14  Bruno Haible  <bruno@clisp.org>
54520
54521         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
54522         Update from GNU gettext 0.14.3.
54523
54524 2005-03-10  Jim Meyering  <jim@meyering.net>
54525
54526         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
54527
54528 2005-03-10  Jim Meyering  <jim@meyering.net>
54529
54530         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
54531         so that this module works on systems without fchdir.
54532
54533 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
54534
54535         Factor int-properties macros into a single file, except for
54536         glibc-related files.
54537         * lib/intprops.h: New file.
54538         * lib/getloadavg.c: Include it instead of limits.h.
54539         (INT_STRLEN_BOUND): Remove.
54540         * lib/human.c: Include intprops.h.
54541         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
54542         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
54543         302/1000.
54544         * lib/inttostr.h: Include intprops.h instead of limits.h.
54545         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
54546         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
54547         for consistency with intprops.h.
54548         (time_t_is_integer, twos_complement_arithmetic): Use them.
54549         * lib/sig2str.h: Include <signal.h>, intprops.h.
54550         (INT_STRLEN_BOUND): Remove.
54551         * lib/strftime.c (TYPE_SIGNED): Remove.
54552         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
54553         * lib/strtol.c: Adjust comments to match intprops.h.
54554         * lib/userspec.c: Include intprops.h.
54555         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
54556         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
54557         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
54558         instead of rolling our own expressions.
54559         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
54560
54561         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
54562         instead of int.
54563         (my_strftime): Do not mishandle years close to INT_MAX, by doing
54564         the right thing even if adding 1900 would overflow.  Similarly
54565         for tm_mon + 1 and tm_yday + 1.
54566         Make %Y always equivalent to %C%y, and similarly for %G and %g.
54567         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
54568         (DO_SIGNED_NUMBER): New macro.
54569         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
54570
54571 2005-03-07  Bruno Haible  <bruno@clisp.org>
54572
54573         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
54574
54575 2005-03-07  Bruno Haible  <bruno@clisp.org>
54576
54577         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
54578
54579 2005-03-04  Derek R. Price  <derek@ximbiot.com>
54580
54581         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
54582         (func_import): Only replace files via --import when they have actually
54583         changed.
54584
54585 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54586
54587         * m4/mmap-anon.m4: New file.
54588         * m4/pagealign_alloc.m4: New file.
54589
54590 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54591             Bruno Haible  <bruno@clisp.org>
54592
54593         * modules/pagealign_alloc: New file.
54594         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
54595
54596 2005-03-03  Derek R. Price  <derek@ximbiot.com>
54597             Bruno Haible  <bruno@clisp.org>
54598
54599         * lib/pagealign_alloc.h: New file.
54600         * lib/pagealign_alloc.c: New file.
54601
54602 2005-03-03  Bruno Haible  <bruno@clisp.org>
54603
54604         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
54605         Use an all-permissive copyright notice, recommended by RMS.
54606
54607 2005-03-02  Bruno Haible  <bruno@clisp.org>
54608
54609         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
54610         of AIX, the replacement has to be done only after <string.h> is
54611         included, therefore not in config.h. stpncpy.h does the replacement,
54612         and stpncpy.c uses it.
54613
54614 2005-03-02  Bruno Haible  <bruno@clisp.org>
54615
54616         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
54617         stpncpy.c uses it.
54618
54619 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54620
54621         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
54622         The workaround isn't strictly needed for POSIX conformance, and
54623         it's too much of a pain to configure and maintain.  We'll ask
54624         people to fix their kernels instead.
54625         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
54626         (NANOSLEEP_BUG_WORKAROUND): Remove.
54627         (xnanosleep): Remove the workaround.
54628
54629 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54630
54631         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
54632         Reported by Derek Price.
54633         (Include): Add "timespec.h".
54634
54635         * modules/xnanosleep (Depends-on): Remove gethrxtime.
54636
54637 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
54638
54639         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
54640         to detect nanosleep bug.
54641
54642 2005-03-01  Bruno Haible  <bruno@clisp.org>
54643
54644         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
54645
54646 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
54647
54648         * modules/gethrxtime: New file.
54649         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
54650         (Depends-on): Add gethrxtime.
54651         (configure.ac): Add gl_XNANOSLEEP.
54652         (Makefile.am): Remove lib_SOURCES line.
54653
54654 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54655
54656         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
54657         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
54658
54659 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
54660
54661         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
54662         * lib/timespec.h (gettime): Return void, since it always
54663         succeeds now.  All uses changed.
54664         * lib/gettime.c (gettime) Likewise.
54665         [HAVE_NANOTIME]: Prefer nanotime.
54666         Assume gettimeofday succeeds, as POSIX requires.
54667         Assime time () succeeds, since other code already does.
54668         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
54669         (timespec_subtract): Remove.
54670         (NANOSLEEP_BUG_WORKAROUND): New constant.
54671         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
54672         things considerably.  Use it only on GNU/Linux hosts, since the
54673         workaround shouldn't be needed elsewhere.
54674
54675 2005-02-24  Bruno Haible  <bruno@clisp.org>
54676
54677         * modules/gettext (Files): Add m4/glibc2.m4.
54678
54679 2005-02-24  Bruno Haible  <bruno@clisp.org>
54680
54681         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
54682         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
54683         * m4/progtest.m4:
54684         Update from GNU gettext 0.14.2.
54685         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
54686
54687 2005-02-24  Bruno Haible  <bruno@clisp.org>
54688
54689         * lib/localcharset.c: Update from GNU gettext 0.14.2.
54690         * lib/config.charset: Update from GNU gettext 0.14.2.
54691
54692 2005-02-24  Bruno Haible  <bruno@clisp.org>
54693
54694         * lib/gettext.h: Update from GNU gettext 0.14.2.
54695
54696 2005-02-23  Simon Josefsson  <jas@extundo.com>
54697
54698         * m4/iconvme.m4: New file.
54699
54700 2005-02-23  Jim Meyering  <jim@meyering.net>
54701
54702         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
54703         change.
54704         Thanks to Bruno Haible for catching it.
54705
54706 2005-02-22  Simon Josefsson  <jas@extundo.com>
54707
54708         * modules/iconvme: New file.
54709
54710         * MODULES.html.sh: Add iconvme.
54711
54712 2005-02-22  Simon Josefsson  <jas@extundo.com>
54713
54714         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
54715
54716 2005-02-22  Simon Josefsson  <jas@extundo.com>
54717
54718         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
54719
54720 2005-02-22  Jim Meyering  <jim@meyering.net>
54721
54722         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
54723         s/ifndef/ifdef/.
54724
54725 2005-02-20  Neil Conway  <neilc@samurai.com>
54726
54727         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
54728         returned by OSX/Darwin if the specified buffer is not large
54729         enough for the hostname.
54730
54731 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54732
54733         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
54734         pass it to _help, otherwise the latter coredumps trying to
54735         dereference state.root_argp.
54736
54737 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54738
54739         * modules/chdir-long (Depends-on): Add memrchr.
54740         * modules/memrchr (Files): Add lib/memrchr.h.
54741         (Include): "memrchr.h".
54742
54743 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54744
54745         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
54746
54747 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
54748
54749         * lib/memrchr.h: New file.
54750         * lib/chdir-long.c: Include it.
54751         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
54752         Don't bother including stddef.h.
54753
54754 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
54755
54756         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
54757         inclusion.
54758         Include <sys/types.h>, for dev_t.
54759         (ME_DUMMY, ME_REMOTE): Move from here....
54760         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
54761         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
54762         Dmitry V. Levin.
54763         Include mountlist.h first, to test the interface.
54764
54765 2005-01-29  Bruno Haible  <bruno@clisp.org>
54766
54767         * lib/progname.c (program_name): Initialize.
54768         Needed when linking statically on MacOS X.
54769
54770 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54771
54772         Sync from coreutils.
54773         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
54774         (Depends-on): Add c-strtod.
54775         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
54776
54777 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54778
54779         Sync from coreutils.
54780         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
54781
54782         Remove files that are specific to coreutils.
54783         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
54784
54785 2005-01-28  Bruno Haible  <bruno@clisp.org>
54786
54787         * modules/javacomp: New file.
54788         * MODULES.html.sh (Java): Add javacomp.
54789
54790 2005-01-28  Bruno Haible  <bruno@clisp.org>
54791
54792         * m4/javacomp.m4: New file, from GNU gettext.
54793
54794 2005-01-28  Bruno Haible  <bruno@clisp.org>
54795
54796         * lib/javacomp.sh.in: New file, from GNU gettext.
54797         * lib/javacomp.h: New file, from GNU gettext.
54798         * lib/javacomp.c: New file, from GNU gettext.
54799
54800 2005-01-26  Simon Josefsson  <jas@extundo.com>
54801
54802         * lib/gai_strerror.c: Use GPL in header.
54803
54804 2005-01-26  Bruno Haible  <bruno@clisp.org>
54805
54806         * modules/javaexec: New file.
54807         * MODULES.html.sh (Java): Add javaexec.
54808
54809 2005-01-26  Bruno Haible  <bruno@clisp.org>
54810
54811         * m4/javaexec.m4: New file, from GNU gettext.
54812
54813 2005-01-26  Bruno Haible  <bruno@clisp.org>
54814
54815         * lib/javaexec.sh.in: New file, from GNU gettext.
54816         * lib/javaexec.h: New file, from GNU gettext.
54817         * lib/javaexec.c: New file, from GNU gettext.
54818
54819 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54820
54821         * modules/lchown (Depends-on): Remove lchown.h
54822
54823 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54824
54825         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
54826         must be defined if the header file was not found, in order
54827         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
54828
54829 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54830
54831         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
54832         initializers for struct pentry_state.
54833         (__argp_error): Check return value of __asprintf
54834         (__argp_failure): Translate error message
54835
54836         * lib/argp-parse.c: Removed braces around the expansion of N_()
54837
54838 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54839
54840         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
54841         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
54842         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
54843         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
54844         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
54845         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
54846         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
54847         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
54848         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
54849         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
54850         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
54851         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
54852         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
54853         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
54854         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
54855         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
54856         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
54857         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
54858         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
54859         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
54860         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
54861         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
54862         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
54863         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
54864         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
54865         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
54866         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
54867         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
54868         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
54869         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
54870         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
54871         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
54872         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
54873         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
54874         xstrtol.m4, xstrtoumax.m4, yesno.m4:
54875         Use an all-permissive copyright notice, recommended by RMS.
54876
54877 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
54878
54879         * modules/chdir-long (Depends-on): Remove mempcpy.
54880
54881 2005-01-21  Jim Meyering  <jim@meyering.net>
54882
54883         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
54884         same value as for Solaris 9.
54885
54886         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
54887         component length.  This included changing the parameter to be
54888         of type `char *' rather than `char const *'.
54889         * lib/chdir-long.h (chdir_long): Update prototype.
54890
54891         * lib/openat.c (fdopendir, fstatat): New functions.
54892         * lib/openat.h: Include headers required for use of DIR and struct
54893         stat.
54894         [AT_SYMLINK_NOFOLLOW]: Define.
54895         (fdopendir, fstatat): Add prototypes.
54896
54897 2005-01-21  Bruno Haible  <bruno@clisp.org>
54898
54899         * modules/classpath: New file.
54900         * MODULES.html.sh (Java): Add classpath.
54901
54902 2005-01-21  Bruno Haible  <bruno@clisp.org>
54903
54904         * lib/classpath.h: New file, from GNU gettext.
54905         * lib/classpath.c: New file, from GNU gettext.
54906
54907 2005-01-20  Simon Josefsson  <jas@extundo.com>
54908
54909         * modules/version-etc-fsf: New file.
54910
54911 2005-01-20  Simon Josefsson  <jas@extundo.com>
54912
54913         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
54914         * lib/version-etc.c: Remove version_etc_copyright.
54915         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
54916         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
54917
54918 2005-01-20  Simon Josefsson  <jas@extundo.com>
54919
54920         * lib/base64.h (isbase64): Add.
54921
54922         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
54923         using a unsigned prototype, don't inline.
54924         (base64_decode): Use it.
54925
54926 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54927
54928         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
54929         it.
54930
54931 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54932
54933         * lib/save-cwd.c (save_cwd): Remove code to support the case
54934         where fchdir is missing or flaky.
54935
54936 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54937
54938         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
54939
54940 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54941
54942         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
54943         AC_LIBSOURCES now does this.
54944         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
54945         with new ullong_max module.
54946
54947 2005-01-19  Bruno Haible  <bruno@clisp.org>
54948
54949         * modules/sh-quote: New file.
54950         * MODULES.html.sh (Executing programs): Add sh-quote.
54951
54952 2005-01-19  Bruno Haible  <bruno@clisp.org>
54953
54954         * lib/sh-quote.h: New file, from GNU gettext.
54955         * lib/sh-quote.c: New file, from GNU gettext.
54956
54957 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54958
54959         Merge from coreutils.
54960         * m4/ullong_max.m4: New file.
54961         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
54962         (gl_MACROS): Assume localeconv exists.
54963
54964 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54965
54966         Merge changes from coreutils, as described below in several
54967         changelogs dated today.
54968
54969         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
54970         (O_DIRECTORY): Remove; not needed here, since "." must be
54971         a directory.  All uses removed.
54972         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
54973         universal on Suns, and we also need to test for IRIX.
54974         Revamp code to use 'if' rather than '#if'.
54975         Avoid unnecessary comparison of cwd->desc to 0.
54976
54977         * lib/utimens.c (futimens): Robustify the previous patch, by checking
54978         for known valid error numbers rather than observed invalid ones.
54979
54980 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54981
54982         * modules/ullong_max: New file.
54983
54984         * modules/chdir-long, modules/openat: New files.
54985         * modules/save-cwd (Depends-on): Depend on chdir-long.
54986         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
54987
54988 2005-01-18  Jim Meyering  <jim@meyering.net>
54989
54990         Merge from coreutils.
54991         * m4/chdir-long.m4, m4/openat.m4: New files.
54992         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
54993         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
54994         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
54995         is sane and DOES follow symlinks.  Besides, testing 20 different
54996         systems found no broken chown implementations.
54997         Prompted by a change in rsync's copy of this macro.
54998         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
54999
55000         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
55001
55002         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
55003         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
55004         NULL-means-set-to-current-time semantics.
55005         Remove temporary file immediately, rather than waiting
55006         for configure's at-exit trap code to do it.
55007
55008 2005-01-18  Jim Meyering  <jim@meyering.net>
55009
55010         * lib/version-etc.c (version_etc_copyright): Update copyright date.
55011
55012         * lib/utimens.c (futimens): Account for the fact that futimes
55013         can also fail with errno == ENOSYS or errno == ENOENT.
55014         Patch from Dmitry V. Levin.
55015
55016         Change the name of the robust chdir function from chdir to chdir_long.
55017         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
55018         (restore_cwd): Use chdir_long, not chdir.
55019         * lib/chdir-long.c: Renamed from chdir.c.
55020         * lib/chdir-long.h: Renamed from chdir.h.
55021         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
55022         Hurd.
55023
55024 2005-01-18  Bruno Haible  <bruno@clisp.org>
55025
55026         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
55027         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
55028         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
55029         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
55030         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
55031         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
55032         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
55033         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
55034         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
55035         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
55036         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
55037         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
55038         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
55039         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
55040         Use an all-permissive copyright notice, recommended by RMS.
55041
55042 2005-01-18  Bob Proulx  <bob@proulx.com>
55043
55044         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
55045         simplify offsetof() macro construct to avoid compile failure with
55046         native HP-UX 11.0 ANSI C compiler.
55047
55048 2005-01-17  Bruno Haible  <bruno@clisp.org>
55049
55050         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
55051         redundant because stpncpy.m4 takes care of it.
55052
55053 2005-01-17  Bruno Haible  <bruno@clisp.org>
55054
55055         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
55056
55057 2005-01-17  Bruno Haible  <bruno@clisp.org>
55058
55059         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
55060         used.
55061
55062 2005-01-17  Bruno Haible  <bruno@clisp.org>
55063
55064         * lib/fwriteerror.h (fwriteerror): Change specification to include
55065         fclose.
55066         * lib/fwriteerror.c: Include <stdbool.h>.
55067         (fwriteerror): At the end, close the file stream. Record whether
55068         stdout was already closed.
55069
55070 2005-01-17  Bruno Haible  <bruno@clisp.org>
55071
55072         * lib/execute.c (environ): Declare if needed.
55073         * lib/pipe.c (environ): Likewise.
55074         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
55075
55076 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55077
55078         * modules/argp: Depend on vsnprintf
55079
55080 2005-01-10  Jim Meyering  <jim@meyering.net>
55081
55082         * modules/closeout (Depends-on): Add atexit.
55083
55084 2005-01-06  Bruno Haible  <bruno@clisp.org>
55085
55086         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
55087
55088 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
55089
55090         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
55091         definitions to be after all include files, to avoid collisions.
55092         Problem reported by Bob Proulx.
55093
55094 2005-01-04  Jim Meyering  <jim@meyering.net>
55095
55096         Changes imported from coreutils.
55097         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
55098         as the mkstemp template, use a temporary directory and an
55099         8.3-friendly template to avoid trouble on systems like DJGPP.
55100         Reported by Juan M. Guerrero via Stepan Kasal.
55101         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
55102         close. Remove the temporary directory right away, rather than waiting
55103         for configure's at-exit trap code to do it.
55104         Suggestion from Stepan Kasal.
55105
55106 2005-01-01  Simon Josefsson  <jas@extundo.com>
55107
55108         * gnulib-tool: Print #include directives when --import'ing.
55109
55110 2004-12-28  Simon Josefsson  <jas@extundo.com>
55111
55112         * tests/test-base64.c: Include required header files.  Remove
55113         unused variables.
55114
55115 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55116
55117         * modules/error (Depends-on): Remove gettext.
55118
55119 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55120
55121         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
55122         not needed.  This removes a dependency on the gettext module.
55123         [defined _LIBC]: Do not include <libintl.h>; not needed.
55124
55125 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
55126
55127         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
55128         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
55129
55130 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
55131
55132         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
55133         HAVE_DECL_STRTOLD.
55134
55135 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55136
55137         * modules/getdate (Depends-on): Remove alloca-opt.
55138
55139 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55140
55141         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
55142
55143 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55144
55145         * lib/argp-parse.c: Include <stddef.h>.
55146         (alignof, alignto): New macros.
55147         (parser_init): Don't assume that void * is aligned sufficiently
55148         for struct option.
55149
55150         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
55151         need to extend the stack.
55152         (YYINITDEPTH): New macro, so that the initial stack isn't overly
55153         large.
55154
55155 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55156
55157         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
55158
55159 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
55160
55161         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
55162         (2004-10-24) change.  Apparently this was a false alarm.
55163
55164         * modules/getdate: Depend on alloca-opt, not alloca.
55165
55166 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
55167
55168         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
55169         Remove now-obsolete comment about AIX.
55170         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
55171         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
55172         (YYMAXDEPTH): New macro.
55173
55174 2004-12-18  Simon Josefsson  <jas@extundo.com>
55175
55176         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
55177
55178 2004-12-18  Bruno Haible  <bruno@clisp.org>
55179
55180         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
55181
55182 2004-12-18  Bruno Haible  <bruno@clisp.org>
55183
55184         * lib/fatal-signal.c (fatal_signals): Make non-const.
55185         (init_fatal_signals): New function.
55186         (uninstall_handlers, install_handlers): Ignore signals that were set to
55187         SIG_IGN.
55188         (at_fatal_signal): Call init_fatal_signals.
55189         (init_fatal_signal_set): Likewise. Ignore signals that were set to
55190         SIG_IGN.
55191         Reported by Paul Eggert.
55192
55193 2004-12-18  Bruno Haible  <bruno@clisp.org>
55194
55195         * doc/alloca.texi: New file.
55196         * doc/alloca-opt.texi: New file.
55197
55198 2004-12-17  Jim Meyering  <jim@meyering.net>
55199
55200         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
55201         Otherwise, install-sh could exit with improper exit status when
55202         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
55203
55204 2004-12-16  Simon Josefsson  <jas@extundo.com>
55205
55206         * tests/test-base64.c: Add license.
55207
55208 2004-12-15  Stepan Kasal  <address@hidden>
55209
55210         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
55211
55212 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
55213
55214         * modules/getcwd (Files): Add m4/d-ino.m4.
55215         Suggested by Mark D. Baushke.
55216
55217 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
55218
55219         * lib/getdate.y (textint): New member "negative".
55220         (time_zone_hhmm): New function.
55221         Expect 14 shift-reduce conflicts, not 13.
55222         (o_colon_minutes): New rule.
55223         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
55224         (yylex): Set the "negative" member of signed numbers.
55225
55226 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
55227
55228         * doc/getdate.texi (Time of day items, Time zone items):
55229         Describe new formats +00:00, UTC+00:00.
55230
55231 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
55232
55233         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
55234         spurious "-l"s.  Problem reported by Stepan Kasal.
55235
55236 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
55237
55238         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
55239         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
55240
55241 2004-12-04  Simon Josefsson  <jas@extundo.com>
55242
55243         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
55244         Vandoorselaere <yoann@prelude-ids.org>.
55245
55246 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
55247
55248         Changes imported from coreutils.
55249         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
55250         exist.
55251         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
55252
55253 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
55254
55255         Changes imported from coreutils.
55256         * lib/hard-locale.c: Assume <locale.h> exists.
55257         Include "strdup.h".
55258         (GLIBC_VERSION): New macro.
55259         (hard_locale): Assume setlocale exists.
55260         Rewrite to avoid #ifdef.
55261         Use strdup rather than malloc + strcpy.
55262         * lib/human.c: Assume <locale.h> exists.
55263         (human_readable): Assume localeconv exists.
55264
55265 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
55266
55267         * modules/hard-locale (Depends-on): Add strdup.
55268
55269 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
55270
55271         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
55272         convert T2, not T.  (Imported from libc.)
55273
55274 2004-11-30  Simon Josefsson  <jas@extundo.com>
55275
55276         * modules/restrict (License): Change to LGPL.
55277
55278 2004-11-30  Simon Josefsson  <jas@extundo.com>
55279
55280         * m4/restrict.m4: Add copyright and copying conditions.
55281
55282 2004-11-30  Simon Josefsson  <jas@extundo.com>
55283
55284         * m4/base64.m4: New file.
55285
55286 2004-11-30  Simon Josefsson  <jas@extundo.com>
55287
55288         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
55289         base64.
55290
55291         * tests/test-base64.c: New file.
55292
55293         * modules/base64: New file.
55294
55295 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
55296
55297         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
55298         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
55299
55300         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
55301
55302 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
55303
55304         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
55305         (__getcwd.c): Don't restore errno; glibc doesn't.
55306         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
55307         first, falling back to our code only if its results look suspicious.
55308         Ensure that the resulting buffer is only as large as necessary.
55309
55310         * lib/readutmp.c: Include readutmp.h first.
55311         Include <errno.h>, since readutmp.h no longer does that.
55312         * lib/readutmp.h: Don't include <errno.h>,
55313         <sys/param.h>, <time.h>; not needed to establish interface.
55314         (errno): Remove decl.
55315         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
55316         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
55317         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
55318
55319 2004-11-28  Simon Josefsson  <jas@extundo.com>
55320
55321         * lib/base64.h, base64.c: New file.
55322
55323 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
55324
55325         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
55326
55327 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
55328
55329         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
55330         (Depends-on): Remove pathmax, same.  Add mempcpy.
55331         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
55332         (Makefile.am): Append getcwd.h to lib_SOURCES.
55333         (Include): Add getcwd.h.
55334         (Maintainer): Change from Jim Meyering to "all, glibc",
55335         since getdate now uses intended-for-glibc code.
55336         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
55337         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
55338
55339 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
55340
55341         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
55342         HP's ANSI C compiler.
55343         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
55344         Declaring int functions causes warnings on some modern systems and
55345         shouldn't be needed to compile on ancient ones.
55346         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
55347         defined.
55348
55349         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
55350         with the following changes.
55351         (__set_errno): Parenthesize properly.
55352         Include <stdbool.h>.
55353         (MIN, MAX, MATCHING_INO): New macros.
55354         (__getcwd): Define with prototype, not K&R form.
55355         Use heuristics to allocate default buffer on stack if possible.
55356         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
55357         behavior, and to avoid the PATH_MAX limit when computing
55358         ../../../../...
55359         Use MATCHING_INO to compare inode number to file.
55360         Check for arithmetic overflow in size calculations.
55361         Fix bug in reallocation of dot array that caused getcwd to fail
55362         on directories nested deeper than 75.
55363         Be more careful about saving errno on error.
55364         Do not use realloc; use only free+malloc, as this is a bit
55365         more flexible and avoids a needless copy operation.
55366         Do not inspect st_dev and st_ino for symbolic links; POSIX
55367         doesn't specify the latter.
55368         Check for closedir errors.
55369         Avoid needless casts.
55370         Use "#ifdef weak_alias" around weak_alias, to be like other
55371         glibc code.
55372         The following changes to getcwd.c have effect only when used in
55373         gnulib; they have no effect inside glibc proper.
55374         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
55375         as alloca isn't used.
55376         (alloca, __alloca): Likewise.
55377         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
55378         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
55379         unconditionally, as gnulib assumes C89 or better.
55380         Do not include <sys/param.h>.
55381         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
55382         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
55383         better.
55384         (NULL) [!defined NULL]: Remove; we assume C89 or better.
55385         Include <dirent.h> in a way that is compatible with modern Autoconf.
55386         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
55387         New macros, if not already defined.
55388         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
55389         Use "_LIBC", not "defined _LIBC", for consistency.
55390         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
55391         a mempcpy module.
55392         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
55393         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
55394         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
55395         credit only to Jim Meyering and adjust the copyright dates.
55396         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
55397         <stdlib.h>, <unistd.h>, "pathmax.h".
55398         Instead, include "xgetcwd.h" (first) and "getcwd.h".
55399         (INITIAL_BUFFER_SIZE): Remove.
55400         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
55401
55402 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
55403
55404         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
55405         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
55406         Use the _ONCE methods, for efficiency.
55407         Check for fcntl.h.  In test program, include <errno.h>
55408         and <fcntl.h> if available.  Remove old K&R cruft from
55409         test program.  Check for common errors in GNU/Linux,
55410         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
55411         don't do AC_LIBOBJ, as that's getcwd.m4's job.
55412         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
55413         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
55414         name accordingly.
55415         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
55416         accommodate new getcwd.c.
55417         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
55418         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
55419         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
55420         that's all we need now.
55421
55422 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55423
55424         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
55425         argp-parse.c depends on getopt internals, that means we should
55426         always use our getopt, to be on the safe side.
55427         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
55428         order not to spoil the result of an eventual previous invocation
55429         of gl_GETOPT_SUBSTITUTE.
55430
55431 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55432
55433         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
55434         redefinition warnings. To avoid them, include the defines
55435         in `#if !defined __need_getopt ... #endif'. The only place
55436         where __getopt_argv_const is used is in definitions
55437         of getopt_long and getopt_long_only below, which are as well
55438         protected by `#ifndef __need_getopt'.
55439         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
55440         __need_getopt after including <stdio.h> and <unistd.h> These
55441         headers might have defined it.
55442
55443 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
55444
55445         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
55446
55447 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
55448
55449         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
55450         (futimens): New function, which uses futimes if available.
55451         (futimens, utimens): Support timespec==NULL, with same semantics
55452         as utime and utimens.
55453         * lib/utimens.h (futimens): New decl.
55454
55455 2004-11-23  Jim Meyering  <jim@meyering.net>
55456
55457         * lib/getopt_.h: Remove trailing blanks.
55458
55459 2004-11-23  Jim Meyering  <jim@meyering.net>
55460
55461         * lib/__fpending.c: Add comment.
55462
55463 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
55464
55465         * modules/canonicalize (Depends-on): Add xreadlink.
55466         Problem reported by James Youngman.
55467
55468 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55469
55470         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
55471         New macros.
55472         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
55473         optopt): Use them instead of invoking ## directly; otherwise, the
55474         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
55475
55476 2004-11-19  Bruno Haible  <bruno@clisp.org>
55477
55478         * lib/strtok_r.c: Move comments from here...
55479         * lib/strtok_r.h: ... to here.
55480
55481 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55482
55483         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
55484         implementations that mishandle size_t overflow.
55485
55486 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55487
55488         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
55489         might fail.  Problem reported by Yoann Vandoorselaere.
55490         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
55491         implementations that mishandle size_t overflow.
55492
55493 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55494
55495         * modules/canon-host (Depends-on): Add strdup.
55496
55497 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55498
55499         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
55500
55501 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55502
55503         * lib/canon-host.c: Include "strdup.h".
55504         (canon_host): Use getaddrinfo if available, so that IPv6 works.
55505         Use strdup instead of malloc/strcpy to duplicate strings.
55506
55507         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
55508         (human_space_before_unit): New constant.
55509         * lib/human.c (human_readable): Support it.
55510
55511         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
55512         (xgetcwd): Set errno correctly when failing.
55513         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
55514         the failure is actually due to a PATH_MAX problem.
55515
55516         Further getopt changes to make it more likely that glibc will
55517         buy the changes back.
55518         * lib/getopt.c (POSIXLY_CORRECT): New constant.
55519         (getopt): Use it, so to preserve glibc semantic
55520         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
55521         when compiling for libc.
55522         * lib/getopt_.h (__getopt_argv_const): Bring it back.
55523         (getopt_long, getopt_long_only): Use it.
55524
55525         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
55526         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
55527         (getopt): Argv is now char * const *, as per standard.
55528         (_getopt_internal_r, _getopt_internal): Argv is now char **,
55529         not char *__getopt_argv_const *.
55530         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
55531         _getopt_long_only_r): Likewise.
55532         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
55533         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
55534         _getopt_long_r, _getopt_long_only_r): Likewise.
55535         * lib/getopt_.h (__getopt_argv_const): Remove.
55536         (getopt): Argv is now char * const *, as per standard.
55537
55538         * lib/getdate.y (tORDINAL): New token.
55539         (day, relunit): Allow it for relative times.
55540         (relative_time_table): Use tORDINAL for ordinals.
55541
55542 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55543
55544         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
55545         Document that "second" isn't allowed as an ordinal number.
55546
55547 2004-11-16  Jim Meyering  <jim@meyering.net>
55548
55549         * modules/closeout (Depends-on): Add fpending.
55550
55551 2004-11-15  Jim Meyering  <jim@meyering.net>
55552
55553         * lib/closeout.c: Include "__fpending.h" once again.
55554         Include <stdbool.h>.
55555         (close_stdout): Don't fail just because stdout was closed initially,
55556         since some programs don't write to stdout in the normal course of
55557         operation (other than --version and --help), and we don't want this
55558         function to make e.g. `touch file >&-' fail.
55559         But do fail if it was closed and someone has tried to write to it.
55560         E.g., `printf foo >&-' must fail.
55561
55562 2004-11-13  Jim Meyering  <jim@meyering.net>
55563
55564         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
55565
55566 2004-11-12  Simon Josefsson  <jas@extundo.com>
55567
55568         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
55569         small doc fix is still pending.
55570
55571 2004-11-11  Simon Josefsson  <jas@extundo.com>
55572
55573         * modules/strtok_r: New file.
55574
55575         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55576         strtok_r.
55577
55578 2004-11-11  Simon Josefsson  <jas@extundo.com>
55579
55580         * m4/strtok_r.m4: New file.
55581
55582         * m4/getopt.m4: Replace opterr.
55583
55584 2004-11-11  Simon Josefsson  <jas@extundo.com>
55585
55586         * lib/strtok_r.h, strtok_r.c: New file.
55587
55588 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
55589
55590         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
55591         of replacing opterr, getopt, etc.  This should handle the
55592         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
55593
55594 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
55595
55596         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
55597         we can stop lying to compilers about the constness of argv when we
55598         are compiled outside glibc.
55599         (getopt, getopt_long, getopt_long_only): Use it.
55600         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
55601         _getopt_internal, getopt): Likewise.
55602         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
55603         _getopt_long_only_r): Likewise.
55604         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
55605         _getopt_long_r, _getopt_long_only_r): Likewise.
55606
55607         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
55608         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
55609         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
55610         the other external symbols.
55611         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
55612         declaration, since the above renaming now works around collisions.
55613
55614 2004-11-11  Jim Meyering  <jim@meyering.net>
55615
55616         * lib/linebreak.c: Remove trailing blanks.
55617         * lib/alloca_.h: Likewise.
55618         * lib/acosl.c: Likewise.
55619         * lib/euidaccess.c: Likewise.
55620         * lib/allocsa.h: Likewise.
55621
55622 2004-11-10  Simon Josefsson  <jas@extundo.com>
55623
55624         * m4/getaddrinfo.m4: New file.
55625
55626 2004-11-10  Simon Josefsson  <jas@extundo.com>
55627
55628         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
55629
55630 2004-11-10  Simon Josefsson  <jas@extundo.com>
55631
55632         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55633         getaddrinfo.
55634
55635         * modules/getaddrinfo: New file.
55636
55637 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55638
55639         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
55640
55641 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
55642
55643         * lib/mktime.c (SHR): New macro, which is a portable
55644         substitute for >> that should work even on Crays.
55645         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
55646         Problem reported by Mark D. Baushke in
55647         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
55648         * lib/getdate.y (SHR): Likewise.
55649         (tm_diff): Use it.
55650         * lib/strftime.c (SHR): Likewise.
55651         (tm_diff): Use it.
55652         * lib/quotearg.c (struct quoting_options): Use unsigned int for
55653         quote_these_too, so that right shifts are well defined.  All uses
55654         changed.
55655
55656 2004-11-10  Jim Meyering  <jim@meyering.net>
55657
55658         Ensure that no close failure goes unreported.
55659         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
55660         return early when it seems there's nothing to flush.
55661         Don't include __fpending.h.
55662
55663 2004-11-10  Jim Meyering  <jim@meyering.net>
55664
55665         * modules/closeout (Depends-on): Remove fpending.
55666
55667 2004-11-10  Jim Meyering  <jim@meyering.net>
55668
55669         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
55670
55671 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55672
55673         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
55674         gl_FUNC_STRFTIME.
55675         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
55676         and AC_REQUIRE when possible, to avoid duplicate checks.
55677         Check for <wchar.h>.
55678
55679 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55680
55681         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
55682
55683 2004-11-09  Bruno Haible  <bruno@clisp.org>
55684
55685         * m4/sockpfaf.m4: New file.
55686
55687 2004-11-05  Bruno Haible  <bruno@clisp.org>
55688
55689         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
55690         Reported by Mark D. Baushke <mdb@cvshome.org>.
55691
55692 2004-11-04  Bruno Haible  <bruno@clisp.org>
55693
55694         2004-09-11  Bruno Haible  <bruno@clisp.org>
55695                 * allocsa.valgrind: New file.
55696         2004-02-06  Bruno Haible  <bruno@clisp.org>
55697                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
55698                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
55699                 Reported by Christopher Seip <chris.seip@hp.com>.
55700
55701 2004-11-04  Bruno Haible  <bruno@clisp.org>
55702
55703         * modules/allocsa (Files): Add lib/allocsa.valgrind.
55704         (Makefile.am): Distribute it.
55705
55706 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55707
55708         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
55709         with errno == ERANGE if the buffer is too small.
55710         Problem reported by Mark D. Baushke.
55711
55712 2004-11-03  Albert Chin  <china@thewrittenword.com>
55713             Paul Eggert  <eggert@cs.ucla.edu>
55714
55715         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
55716         equivalent, substitute $ac_type for equivalent type rather than
55717         blindly using uint32_t *always* which won't work if uint32_t is not
55718         available.  Define _UINT32_T to work around typedef of uint32_t if
55719         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
55720         2.5.1.
55721
55722 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55723
55724         * m4/jm-macros.m4: Sync from coreutils.
55725         (gl_MACROS): Check for mbrlen, for pathchk.
55726         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
55727
55728 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55729
55730         * lib/xreadlink.c (MAXSIZE): New macro.
55731         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
55732         size does not exceed MAXSIZE.  Avoid cast.
55733         As suggested by Mark D. Baushke in
55734         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
55735         if readlink fails with buffer size just under MAXSIZE, try again
55736         with MAXSIZE.
55737
55738 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
55739
55740         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
55741
55742 2004-11-02  Derek R. Price  <derek@ximbiot.com>
55743         and  Paul Eggert  <eggert@cs.ucla.edu>
55744
55745         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
55746         (get_date): Overparenthesize to avoid GCC warning.
55747
55748 2004-11-02  Bruno Haible  <bruno@clisp.org>
55749
55750         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
55751         returns void.
55752
55753 2004-11-02  Bruno Haible  <bruno@clisp.org>
55754
55755         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
55756         function returns void.
55757
55758 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55759
55760         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
55761         fflush_unlocked, flockfile, funlockfile, funlockfile,
55762         fputs_unlocked, putc_unlocked.
55763
55764 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55765
55766         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55767         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
55768         already declared.
55769
55770 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55771
55772         * modules/getdate (Files): Add doc/getdate.texi.
55773         (Depends-on): Add setenv, xalloc.
55774
55775 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55776
55777         * lib/getdate.y: Add support for TZ="foo" within a date string.
55778         Fix some bugs near time_t boundaries.  Reject dates with
55779         out-of-range components, e.g., "Sept 31".
55780         Include <stdlib.h>, "setenv.h", "xalloc.h".
55781         (ISDIGIT_LOCALE): Remove; unused.
55782         Note that the TZ and time functions used here are not reentrant.
55783         (mktime_ok, get_tz): New functions.
55784         (TZBUFSIZE): New constant.
55785         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
55786         This requires that we sometimes generate our own TZ="XXX..." setting.
55787
55788 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
55789
55790         * doc/getdate.texi: New file, from coreutils with modifications for
55791         the new TZ parsing.
55792
55793 2004-10-27  Derek R. Price  <derek@ximbiot.com>
55794
55795         * lib/mktime.c (not_equal_tm): Remove redundant check.
55796
55797 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55798
55799         * modules/regex (lib_SOURCES): Add regex.c.
55800         Reported by James Youngman in
55801         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
55802
55803 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55804
55805         * lib/getdate.y: Use Bison 1.875 features, and some minor
55806         code cleanups.  This change does not affect semantics.
55807         Don't include <stdlib.h>; no longer needed.
55808         Don't include unlocked-io.h; only the "#if TEST" code uses
55809         stdio, and performance isn't crucial there.
55810         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
55811         Bison 1.875 features as described below.
55812         All uses of "PC." replaced by "pc->".
55813         (YYSTYPE): Add a forward declaration.
55814         (yylex, yyerror): Use full prototypes in forward decls.
55815         Use "%pure-parser" rather than obsolescent "%pure_parser".
55816         Use %parse-param and %lex-param instead of obsolescent
55817         YYPARSE_PARAM and YYLEX_PARAM.
55818         (meridian_table, month_and_day_table, time_units_table,
55819         relative_time_table, time_zone_table, military_table,
55820         lookup_zone, lookup_word, get_date):
55821         Use NULL instead of 0 where appropriate.
55822         (to_hour): Avoid abort (), to avoid a dependency on
55823         stdlib.h.
55824         (yyerror, yylex): Now accepts parser_control * arg.
55825         (main) [TEST]: Use '\0' rather than 0 for char.
55826
55827 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55828
55829         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
55830
55831 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55832
55833         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
55834         It's now the caller's responsibility to handle the case where
55835         !HAVE_GETPAGESIZE && !defined getpagesize.
55836
55837         * lib/mktime.c (leapyear): Arg is long int, not int.
55838
55839 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
55840
55841         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
55842
55843 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55844
55845         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
55846         missing.  Problem reported by James Youngman.
55847
55848 2004-10-16  Simon Josefsson  <jas@extundo.com>
55849
55850         * gnulib-tool: Fix comments.  Fix parse problem.
55851         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
55852
55853 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
55854
55855         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
55856         implementation of getopt_long.  Problem reported by Alexander Taler in:
55857         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
55858
55859 2004-10-15  Bruno Haible  <bruno@clisp.org>
55860
55861         * gnulib-tool: Untabify. Initialize supplied_libname.
55862         (func_usage): More homogenous output.
55863         (func_modules_transitive_closure, func_modules_to_filelist,
55864         func_emit_lib_Makefile_am): New functions.
55865         (func_import): New function, extracted from big case statement. Use
55866         func_get_license, func_modules_transitive_closure,
55867         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
55868         opt_lgpl. Don't use test -a, as it's not portable.
55869         (func_create_testdir): Use func_modules_transitive_closure,
55870         func_modules_to_filelist, func_emit_lib_Makefile_am.
55871
55872 2004-10-15  Bruno Haible  <bruno@clisp.org>
55873
55874         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
55875
55876 2004-10-15  Bruno Haible  <bruno@clisp.org>
55877
55878         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
55879         the portions belonging to each module.
55880         Suggested by Derek Robert Price <derek@ximbiot.com>.
55881
55882 2004-10-12  Simon Josefsson  <jas@extundo.com>
55883
55884         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55885         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
55886         to real functions.
55887
55888 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55889
55890         * modules/vsnprintf: New file.
55891
55892 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55893
55894         * m4/vsnprintf.m4: New file.
55895
55896 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55897
55898         * lib/vsnprintf.h: New file.
55899         * lib/vsnprintf.c: New file.
55900
55901 2004-10-11  Bruno Haible  <bruno@clisp.org>
55902
55903         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
55904         vsnprintf.
55905
55906 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55907
55908         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
55909
55910 2004-10-07  Bruno Haible  <bruno@clisp.org>
55911
55912         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
55913         fits into the provided buffer.
55914
55915 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55916
55917         * lib/diacrit.c, diacrit.h: Add GPL notice.
55918
55919         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
55920         notice.
55921         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
55922         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
55923         This avoids a potential constant-folding bug.
55924
55925 2004-10-05  Bruno Haible  <bruno@clisp.org>
55926
55927         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
55928         for the declaration of strsep.
55929
55930 2004-10-05  Bruno Haible  <bruno@clisp.org>
55931
55932         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
55933
55934 2004-10-04  Simon Josefsson  <jas@extundo.com>
55935
55936         * modules/memmem: New file.
55937         * tests/test-memmem.c: New file.
55938         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
55939
55940 2004-10-04  Simon Josefsson  <jas@extundo.com>
55941
55942         * m4/memmem.m4: New file.
55943
55944 2004-10-04  Simon Josefsson  <jas@extundo.com>
55945
55946         * lib/memmem.h: New file.
55947         * lib/memmem.c: New file, taken from glibc.
55948
55949 2004-10-04  Simon Josefsson  <jas@extundo.com>
55950
55951         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
55952         '#ifdef USE_UNLOCKED_IO'.
55953
55954 2004-10-04  Simon Josefsson  <jas@extundo.com>
55955
55956         * config/srclist.txt: Add memmem from glibc.
55957
55958 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55959
55960         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
55961
55962         * modules/argmatch, modules/argp, modules/closeout, modules/error,
55963         modules/exclude, modules/getdate, modules/getline,
55964         modules/getndelim2, modules/getpass, modules/getpass-gnu,
55965         modules/getusershell, modules/linebuffer, modules/md5,
55966         modules/mountlist, modules/posixtm, modules/readtokens,
55967         modules/readutmp, modules/regex, modules/sha1,
55968         modules/version-etc, modules/yesno:
55969         Remove dependency on unlocked-io.
55970
55971 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55972
55973         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
55974
55975         * m4/unlocked-io.m4: Add copyright notice.
55976         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
55977
55978 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55979
55980         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
55981         * lib/xmalloc.c (xmemdup): Likewise.
55982         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
55983         XFREE): Remove these long-obsolescent macros.
55984         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
55985         * lib/xstrdup.c: Remove.
55986
55987         * lib/regex.c (re_comp): Cast gettext return value to char *,
55988         Problem reported by Martin Neitzel via Mark D. Baushke.
55989
55990 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55991
55992         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
55993         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
55994         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
55995         regex.c, sha1.c, version-etc.c, yesno.c:
55996         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
55997         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
55998         the includer's responsibility.
55999
56000         Sync from coreutils.
56001
56002         * lib/modechange.c (mode_compile): Don't decrement a pointer that
56003         points to the start of a string, as the C Standard says the
56004         resulting behavior is undefined.
56005
56006         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
56007         simple -> simple_backups, numbered_existing ->
56008         numbered_existing_backups, numbered -> numbered_backups
56009         to avoid shadowing problems.  All uses changed.
56010         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
56011         * lib/backupfile.c (check_extension, numbered_backup):
56012         Rename locals to avoid shadowing 'basename'.
56013         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
56014         once.
56015
56016         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
56017         * lib/.cvsignore: Add getopt.h.
56018
56019 2004-10-04  Bruno Haible  <bruno@clisp.org>
56020
56021         * modules/README: New file.
56022         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
56023         not a module.
56024
56025 2004-10-02  Jim Meyering  <jim@meyering.net>
56026
56027         * lib/dirfd.h, getpagesize.h: Add copyright notice.
56028
56029 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56030
56031         * modules/strsep: New file.
56032
56033 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56034
56035         * m4/strsep.m4: New file.
56036
56037 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
56038
56039         * lib/strsep.h: New file.
56040         * lib/strsep.c: New file.
56041
56042 2004-10-01  Simon Josefsson  <jas@extundo.com>
56043
56044         * lib/snprintf.c (snprintf): Handle size==0.
56045
56046 2004-10-01  Simon Josefsson  <jas@extundo.com>
56047             Bruno Haible  <bruno@clisp.org>
56048
56049         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
56050         (snprintf): Declare 'args'.
56051
56052 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
56053
56054         * lib/snprintf.c: Remove comments as to why each header is needed.
56055
56056 2004-10-01  Bruno Haible  <bruno@clisp.org>
56057
56058         * MODULES.html.sh: Add strsep.
56059
56060 2004-09-30  Simon Josefsson  <jas@extundo.com>
56061
56062         * modules/snprintf: New file.
56063
56064 2004-09-30  Simon Josefsson  <jas@extundo.com>
56065
56066         * m4/snprintf.m4: New file.
56067
56068 2004-09-30  Simon Josefsson  <jas@extundo.com>
56069
56070         * lib/snprintf.h, lib/snprintf.c: New files.
56071
56072 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56073
56074         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
56075         (hol_entry_help): Never translate an empty string.
56076         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
56077         * lib/argp.h (OPTION_NO_TRANS): New option.
56078
56079 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
56080
56081         * modules/argp (Maintainer): Replace Simon Josefsson
56082         by Sergey Poznyakoff.
56083
56084 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
56085
56086         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
56087         changes merged back into glibc.
56088
56089 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
56090
56091         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
56092
56093 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
56094
56095         * lib/xvasprintf.c: Include xalloc.h.
56096         (xvasprintf): Use xalloc_die, not xmalloc_die.
56097
56098 2004-09-29  Bruno Haible  <bruno@clisp.org>
56099
56100         * modules/alloca-opt: New file, derived from modules/alloca.
56101         * modules/allocsa: Depend on alloca-opt instead of alloca.
56102         * modules/setenv: Likewise.
56103         * modules/vasnprintf: Likewise.
56104         * MODULES.html.sh: Add alloca-opt.
56105
56106 2004-09-28  Simon Josefsson  <jas@extundo.com>
56107
56108         * gnulib-tool: New parameter --lgpl, to asseert that modules are
56109         LGPL, and to replace license template from GPL to LGPL.
56110
56111 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
56112
56113         * modules/dummy: Change license to LGPL.
56114
56115 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
56116
56117         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
56118
56119 2004-09-24  Simon Josefsson  <jas@extundo.com>
56120
56121         * modules/minmax (License): Change from GPL to LGPL.
56122
56123 2004-09-23  Simon Josefsson  <jas@extundo.com>
56124
56125         * gnulib-tool (--import): Typo.
56126
56127 2004-09-23  Simon Josefsson  <jas@extundo.com>
56128
56129         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
56130
56131 2004-09-22  Bruno Haible  <bruno@clisp.org>
56132
56133         * modules/*: Add 'License' field.
56134         * gnulib-tool: Accept --extract-license option.
56135         (func_get_license): New function.
56136
56137 2004-09-21  Bruno Haible  <bruno@clisp.org>
56138
56139         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
56140         Reported by Simon Josefsson.
56141
56142 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
56143
56144         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
56145         gl_AC_TYPE_LONG_LONG.
56146
56147 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
56148
56149         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
56150
56151 2004-09-18  Simon Josefsson  <jas@extundo.com>
56152         and  Paul Eggert  <eggert@cs.ucla.edu>
56153
56154         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
56155         calls with autoreconf.  Define GL_LIB.
56156
56157 2004-09-14  Karl Berry  <karl@gnu.org>
56158
56159         * config/srclist.txt: unsync setenv.c, sigh.
56160
56161 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56162
56163         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
56164         Problem reported by Bruno Haible in:
56165         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
56166
56167 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56168
56169         * config/srclist.txt: Comment out argp-pvh.c.
56170
56171 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
56172
56173         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
56174         in case some system header has #define'd it.  Problem reported by
56175         Soeren D. Schulze in
56176         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
56177
56178 2004-09-09  Karl Berry  <karl@gnu.org>
56179
56180         * regex.[ch]: delete from the root.  These were supposed to be
56181                 synced with emacs cvs, but this has not happened for about
56182                 a year, and anyway nothing else uses emacs regex.[ch].
56183                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
56184                 lib/regex[.ch] is untouched.
56185
56186 2004-09-09  Bruno Haible  <bruno@clisp.org>
56187
56188         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
56189
56190 2004-09-09  Bruno Haible  <bruno@clisp.org>
56191
56192         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
56193         modifications.
56194         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
56195
56196 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
56197
56198         * modules/xvasprintf: New file.
56199         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
56200
56201 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
56202
56203         * lib/xvasprintf.h: New file.
56204         * lib/xvasprintf.c: New file.
56205         * lib/xasprintf.c: New file.
56206
56207 2004-09-08  Bruno Haible  <bruno@clisp.org>
56208
56209         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
56210
56211 2004-09-08  Bruno Haible  <bruno@clisp.org>
56212
56213         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
56214         length is > INT_MAX.
56215         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
56216         more.
56217
56218 2004-09-08  Bruno Haible  <bruno@clisp.org>
56219
56220         * lib/stdint_.h: New file, taken from GNU clisp.
56221
56222 2004-09-08  Bruno Haible  <bruno@clisp.org>
56223             Oskar Liljeblad  <oskar@osk.mine.nu>
56224
56225         * modules/stdint: New file.
56226         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
56227
56228 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56229
56230         Import from coreutils.
56231         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
56232         strings on unbounded length.  alloca's performance benefits aren't
56233         that important here.
56234         (V_STRDUP): Remove.
56235         (parse_with_separator): New function, with most of the internals
56236         of the old parse_user_spec.  Allow user to omit both user and group,
56237         for compatibility with FreeBSD.
56238         Clone only the user name, not the entire spec.
56239         Do not set *uid, *gid unless entirely successful.
56240         Avoid memory leak in some failing cases.
56241         Fix regression for USER.GROUP reported by Dmitry V. Levin in
56242         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
56243         (parse_user_spec): Rewrite to use parse_with_separator.
56244
56245 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56246
56247         * modules/userspec: Don't depend on alloca.
56248
56249 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
56250
56251         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
56252
56253 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
56254
56255         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
56256         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
56257         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
56258
56259 2004-08-16  Simon Josefsson  <jas@extundo.com>
56260
56261         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
56262         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
56263         Add --dry-run for --import.
56264         Let user provided command line parameters override configure.ac
56265         settings.
56266
56267 2004-08-12  Simon Josefsson  <jas@extundo.com>
56268
56269         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
56270         as discussed with Paul Eggert in threads rooted at
56271         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
56272         and
56273         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
56274         Before, the test was empty, and relied on ELIDE_CODE in source
56275         code.)
56276         (gl_PREREQ_GETOPT): New macro.
56277         (gl_GETOPT): Use them.
56278
56279 2004-08-12  Simon Josefsson  <jas@extundo.com>
56280
56281         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
56282         * lib/getopt_.h: Renamed from getopt.h.
56283
56284 2004-08-12  Simon Josefsson  <jas@extundo.com>
56285
56286         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
56287         Change default library name from libfoo to libgnu.
56288         Now, if you have a configure.ac that says:
56289                 gl_SOURCE_BASE(gl)
56290                 gl_M4_BASE(gl/m4)
56291                 gl_MODULES(error getopt etcetera)
56292                 gl_INIT
56293         you can import all you need by running:
56294                 ../gnulib/gnulib-tool --import
56295
56296         * modules/getopt (Files): Rename getopt.h to getopt_.h.
56297         (Makefile.am): Rewrite, use logic from argz.
56298         (Include): Use <getopt.h> instead of "getopt.h".
56299
56300 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56301
56302         * modules/argp (Files): Add m4/unlocked-io.m4.
56303         (Depends-on): Add extensions.
56304
56305 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56306
56307         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
56308         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
56309         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
56310         Check for program_invocation_name, program_invocation_short_name,
56311         flockfile, funlockfile, features.h, _getopt_long_only_r.
56312
56313 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56314
56315         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
56316         its complicated substitute.
56317         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
56318         and program_invocation_name.
56319         (__argp_basename) [!_LIBC]: Remove; the only use was
56320         replaced by its body.
56321         (__argp_short_program_name): Change condition from
56322         !defined __argp_short_program_name to
56323         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
56324         to match argp-namefrob.h.
56325         (__argp_failure): Don't assume strerror_r returns char *.
56326         * lib/argp-parse.c (N_): Define unconditionally.
56327         (argp_default_options): Fill out initializers with 0 to avoid
56328         gcc warnings.
56329
56330 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
56331
56332         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
56333         getopt1.c.
56334
56335 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56336
56337         Merge from coreutils.
56338
56339         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
56340
56341         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
56342         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
56343
56344 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56345
56346         Merge from coreutils.
56347
56348         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
56349         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
56350         for Reliant Unix 5.43.
56351
56352         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
56353         (union fooround): Use uintmax_t, not long int.
56354         The rest is a merge from libc:
56355         [defined _LIBC]: Include <shlib-compat.h>.
56356         (_obstack) [defined _LIBC]: Remove after 2.3.4.
56357
56358         * lib/settime.c (settime): Recode to avoid warning with
56359         Sun Forte C 6U2.
56360
56361         * lib/strverscmp.c: Convert to UTF-8.
56362
56363 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
56364
56365         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
56366         m4/uintmax_t.m4.
56367
56368 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
56369
56370         * modules/xalloc-die: New file.
56371         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
56372
56373         * modules/md5 (Files): Add m4/uint32_t.m4.
56374         * modules/sha1: Renamed from modules/sha.
56375         (Files):
56376         Rename lib/sha.h to lib/sha1.h.
56377         Rename lib/sha.c to lib/sha1.c.
56378         Rename m4/sha.m4 to m4/sha1.m4.
56379         (lib_SOURCES): Likewise.
56380         (configure.ac): Rename gl_SHA to gl_SHA1.
56381         (Include): sha.h -> sha1.h.
56382
56383 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
56384
56385         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
56386         * m4/sha1.m4: Renamed from sha.m4.
56387         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
56388
56389 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
56390
56391         * lib/obstack.h (obstack_empty_p):
56392         Don't assume that chunk->contents is suitably aligned.
56393         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
56394         Likewise. Problem reported by Benno in
56395         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
56396
56397         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
56398         readable.  This could be improved further but it'd take some work.
56399
56400 2004-08-08  Simon Josefsson  <jas@extundo.com>
56401
56402         * modules/xgethostname (Depends-on): Remove exit and error (not
56403         used).
56404
56405         * modules/getpass-gnu: Add getpass.h.
56406         (Depends-on): Add stdbool.
56407         * modules/getpass: Add getpass.h.
56408
56409 2004-08-08  Simon Josefsson  <jas@extundo.com>
56410
56411         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
56412         Check getpass declaration.
56413
56414 2004-08-08  Simon Josefsson  <jas@extundo.com>
56415
56416         * lib/xgethostname.c: Don't include error.h (not used).
56417
56418         * lib/getpass.h: Add.
56419         * lib/getpass.c: Include getpass.h first.
56420
56421 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
56422
56423         * lib/xalloc-die.c: New file.
56424         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
56425         All uses removed.
56426         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
56427         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
56428         xalloc-die.c.
56429         (_, N_, xalloc_die): Move to xalloc-die.c.
56430         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
56431         so that we needn't mess with xalloc_msg_memory_exhausted.
56432
56433         * lib/sha1.h: Renamed from sha.h.
56434         (SHA1_H): Renamed from _SHA_H.
56435         (sha1_ctx): Renamed from sha_ctx.
56436         (sha1_init_ctx): Renamed from sha_init_ctx.
56437         (sha1_process_block): Renamed from sha_process_block.
56438         (sha1_process_bytes): Renamed from sha_process_bytes.
56439         (sha1_finish_ctx): Renamed from sha_finish_ctx.
56440         (sha1_read_ctx): Renamed from sha_read_ctx.
56441         (sha1_stream): Renamed from sha_stream.
56442         (sha1_buffer): Renamed from sha_buffer.
56443         * lib/sha1.c: Likewise; renamed from sha.c.
56444         Do not include <sys/types.h>.
56445         Include <stddef.h> rather than <stdlib.h>.
56446
56447 2004-08-08  Bruno Haible  <bruno@clisp.org>
56448
56449         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
56450         FILESYSTEM_PREFIX_LEN.
56451         * lib/progreloc.c: Likewise.
56452         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
56453
56454 2004-08-06  Simon Josefsson  <jas@extundo.com>
56455
56456         * modules/progname (Depends-on): Don't depend on stdbool.
56457
56458 2004-08-06  Simon Josefsson  <jas@extundo.com>
56459
56460         * modules/getsubopt: New file.
56461         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56462         getsubopt.
56463
56464 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56465
56466         More merge from coreutils.
56467
56468         * m4/utimens.m4, m4/utimecmp.m4: New files.
56469         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
56470         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
56471         prereq.m4, sha.m4: Import changes from coreutils.
56472
56473 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56474
56475         More merge from coreutils.
56476         * modules/raise, modules/readtokens0, modules/utimens:
56477         * modules/utimecmp, module/xnanosleep: New files.
56478         * modules/strftime: Add lib/strftime.h.
56479         Change include from <time.h> to "strftime.h".
56480         * modules/yesno: Add lib/yesno.h.
56481         * modules/backupfile: Remove lib/addext.c.
56482         * modules/euidaccess: Add stat-macros.h.
56483         * modules/canonicalize, modules/euidaccess,
56484         modules/filemode, modules/lchown, modules/makepath,
56485         modules/rmdir, modules/stat: Likewise.
56486
56487 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
56488
56489         Merge from tar.
56490         * lib/argp-help.c (make_hol, hol_append): Don't assume that
56491         SIZE_MAX is a valid preprocessor constant.
56492         (__argp_basename): Change from "#ifndef _LIBC"
56493         to "#ifndef __argp_short_program_name", so that
56494         we don't compile these functions for tar.
56495
56496         More merges from coreutils.
56497         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
56498         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
56499         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
56500         * lib/addext.c: Remove; no longer needed.
56501         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
56502         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
56503         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
56504         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
56505         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
56506         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
56507         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
56508         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
56509         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
56510         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
56511         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
56512         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
56513         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
56514         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
56515         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
56516         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
56517         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
56518         Import changes from coreutils.
56519
56520 2004-08-05  Simon Josefsson  <jas@extundo.com>
56521
56522         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
56523
56524 2004-08-05  Simon Josefsson  <jas@extundo.com>
56525
56526         * m4/getsubopt.m4: New file.
56527
56528 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56529
56530         Merge from coreutils.
56531
56532         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
56533         * m4/getcwd-path-max.m4: New files.
56534
56535         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
56536         FILESYSTEM_PREFIX_LEN ->
56537         FILE_SYSTEM_PREFIX_LEN.
56538         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
56539         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
56540         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
56541         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
56542
56543         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
56544         prerequisite modules now handle the DOS stuff.
56545         Don't check for unistd.h.
56546
56547 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56548
56549         Merge from coreutils.
56550
56551         * lib/.gdb-history: Remove; this doesn't belong here.
56552
56553         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
56554         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
56555         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
56556         * lib/getcwd.c: New files.
56557
56558         * lib/dirname.h: Include <stdbool.h>.
56559         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
56560         for consistency with POSIX terminology.  All uses changed.
56561         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
56562         (strip_trailing_slashes): Use bool for booleans.
56563         * lib/stripslash.c (strip_trailing_slashes): Likewise.
56564
56565         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
56566         sometimes returns a positive errno value even when it succeeds.
56567         (print_errno_message) [!LIBC]: Fall back on strerror if
56568         __strerror_r fails.
56569
56570         * lib/path-concat.c (mempcpy): Don't define if a system header defines
56571         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
56572         (longest_relative_suffix): New function.
56573         (path_concat): Use it.  Assume first argument is not NULL.
56574         Port to DOS.  Omit redundant separators.
56575         Report an error instead of returning NULL.
56576         Use mempcpy instead of memcpy.
56577         (xpath_concat): Remove: not declared or used.
56578
56579         * lib/same.h: Include <stdbool.h>
56580         (same_name): Return bool, not int.
56581         * lib/same.c (same_name): Likewise.
56582         (errno): Don't declare; we assume C89 or better now.
56583
56584         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
56585         if not already defined.
56586
56587         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
56588         * lib/dup-safer.c (errno): Likewise.
56589
56590 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
56591
56592         Merge from coreutils.
56593         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
56594         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
56595         * modules/path-concat: Don't depend on strdup.
56596
56597 2004-08-03  Simon Josefsson  <jas@extundo.com>
56598
56599         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
56600         * lib/progname.h: Don't include stdbool.h.
56601
56602 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56603
56604         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
56605         * MODULES.html.sh (func_all_modules): Remove fatal.
56606
56607 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56608
56609         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
56610
56611 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
56612
56613         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
56614         working.
56615
56616 2004-08-02  Simon Josefsson  <jas@extundo.com>
56617
56618         * lib/getsubopt.h: New file, with comments from Bruno Haible.
56619         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
56620         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
56621
56622 2004-08-01  Simon Josefsson  <jas@extundo.com>
56623
56624         * lib/xgetdomainname.c: Include stdlib.h, for free().
56625
56626 2004-07-19  Bruno Haible  <bruno@clisp.org>
56627
56628         * MODULES.html.sh (func_all_modules): Add dummy.
56629
56630 2004-07-16  Simon Josefsson  <jas@extundo.com>
56631
56632         * modules/dummy: New file.
56633
56634 2004-07-16  Simon Josefsson  <jas@extundo.com>
56635
56636         * lib/dummy.c: New file.
56637
56638 2004-07-16  Bruno Haible  <bruno@clisp.org>
56639
56640         * lib/backupfile.h: Add extern "C" for C++.
56641         * lib/closeout.h: Likewise.
56642         * lib/copy-file.h: Likewise.
56643         * lib/findprog.h: Likewise.
56644         * lib/full-write.h: Likewise.
56645         * lib/pathname.h: Likewise.
56646         * lib/progname.h: Likewise.
56647         * lib/stpcpy.h: Likewise.
56648         * lib/stpncpy.h: Likewise.
56649         * lib/strcase.h: Likewise.
56650         * lib/strstr.h: Likewise.
56651         * lib/xalloc.h: Likewise.
56652
56653         * lib/mbswidth.h: Add extern "C" for C++.
56654         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
56655
56656 2004-07-13  Robert Millan  <robertmh@gnu.org>
56657
56658         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
56659
56660 2004-07-09  Simon Josefsson  <jas@extundo.com>
56661
56662         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
56663         failed without this.)
56664
56665 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56666
56667         * modules/chown (Files): Add lib/fchown-stub.c, since
56668         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
56669
56670 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56671
56672         * lib/fchown-stub.c: New file.
56673
56674 2004-06-24  Jim Meyering  <jim@meyering.net>
56675
56676         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
56677
56678 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56679
56680         * modules/argz: Omit "#include".
56681
56682         * MODULES.html.sh (func_all_modules): Add calloc, to match
56683         2004-06-01 addition of calloc module.
56684
56685 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56686
56687         * m4/argz.m4: New file, which is autoupdated from libtool.
56688
56689 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56690
56691         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
56692         libtool.
56693
56694 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56695
56696         * config/srclist-update: Don't insist on "USA." before the
56697         close-comment, as libtool omits the period and puts the */ on a
56698         separate line.
56699         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
56700         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
56701
56702 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
56703
56704         * modules/argz: New file.
56705         * MODULES.html.sh (func_all_modules): Add argz.
56706
56707 2004-06-12  Jim Meyering  <jim@meyering.net>
56708         and  Paul Eggert  <eggert@cs.ucla.edu>
56709
56710         * modules/hash (Files): Add lib/xalloc.h.
56711         * modules/pipe (Depends-on): Add wait-process.
56712         * modules/stat (Depends-on): Add xalloc.
56713         * modules/userspec (Files): Add lib/userspec.h.
56714         * modules/xstrto
56715
56716         Upgrade from gettext-0.13.
56717         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
56718         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
56719         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
56720
56721 2004-06-10  Jim Meyering  <jim@meyering.net>
56722
56723         * lib/calloc.c: New file.
56724
56725 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
56726
56727         * lib/getdate.y (yylex): Allow space between sign and number.
56728         Problem reported by Dan Jacobson.
56729
56730 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56731
56732         Merge from coreutils CVS.
56733
56734         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
56735         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
56736         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
56737         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
56738         xstrtol.m4: Fix copyright date and/or serial number.
56739
56740         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
56741         See if we need an fchown replacement.
56742         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
56743         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
56744         and use the replacement function if we detect either defect.
56745
56746         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
56747         gl_UTIMECMP.
56748
56749 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
56750         and  Jim Meyering  <jim@meyering.net>
56751
56752         Merge from coreutils CVS.
56753
56754         * lib/stat-macros.h: New file, with contents from file-type.h
56755         and coreutils' system.h.
56756         * lib/file-type.c: Include "stat-macros.h".
56757         * lib/file-type.h (file_type): Move all macro definitions to new file,
56758         stat-macros.h.
56759
56760         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
56761         Wrap old code with this conditional.
56762         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
56763         function that does not dereference symlinks.
56764         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
56765
56766         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
56767         dependency problems.
56768         (xreadlink): Accept new arg SIZE, for efficiency.
56769         All decls and uses changed.
56770         * lib/xreadlink.h: Include <stddef.h>, for size_t.
56771
56772         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
56773         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
56774
56775         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
56776         sysexits.h.
56777
56778 2004-06-01  Jim Meyering  <jim@meyering.net>
56779
56780         * m4/calloc.m4: New file.
56781
56782 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
56783
56784         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
56785         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
56786         Also, fix a typo in a diagnostic.
56787
56788 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56789
56790         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
56791         or AC_FUNC_REALLOC.
56792
56793 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56794
56795         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
56796         macros to be defined.
56797         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
56798         the allocator returns NULL because the requested size is zero.
56799
56800 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56801
56802         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
56803         var.  Add comment explaining why libc still defines it.  This
56804         merges the following patch from glibc:
56805         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
56806
56807 2004-05-20  Andreas Schwab  <schwab@suse.de>
56808
56809         * m4/free.m4: Replace free if it not known to work, not the other
56810         way round.
56811
56812 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56813
56814         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
56815         present in glibc since revision 1.1 of this file.
56816         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
56817         obstack_alignment_mask, obstack_alloc, obstack_base,
56818         obstack_blank, obstack_blank_fast, obstack_chunk_size,
56819         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
56820         obstack_grow0, obstack_init, obstack_int_grow,
56821         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
56822         obstack_next_free, obstack_object_size, obstack_ptr_grow,
56823         obstack_ptr_grow_fast, obstack_room): Remove declarations of
56824         nonexistent functions.
56825
56826 2004-05-18  Karl Berry  <karl@gnu.org>
56827
56828         * config/srclist.txt: break link for vasnprintf.c.
56829
56830 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56831
56832         Port obstack to the AS/400, where pointers are 16 bytes wide and
56833         you cannot cast an integer to a valid pointer.  This patch is
56834         currently waiting to be integrated into glibc; see
56835         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
56836
56837         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
56838         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
56839         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
56840         (struct obstack): temp member is now a union of a pointer and
56841         an integer, instead of an integer.  All integer uses changed.
56842         This does not affect the physical layout of struct obstack,
56843         except on hosts (like the AS/400) where the size or alignment of
56844         void * is greater than that of ptrdiff_t.
56845         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
56846         __STDC__)]: Store temporary in pointer member of union, not
56847         integer member.
56848         * lib/obstack.c: Include <stddef.h>, for offsetof.
56849         (struct fooalign): Remove; it doesn't need a name.
56850         (union fooround): Change double to long double, and add void *.
56851         (DEFAULT_ALIGNMENT): Use offsetof to compute.
56852         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
56853         not a macro.  Hence the values are always int; so remove all
56854         casts-to-int in uses.
56855
56856 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56857
56858         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
56859         we can get this patch merged into glibc.
56860
56861 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56862             Paul Eggert  <eggert@cs.ucla.edu>
56863
56864         * m4/argp: Depend on alloca.
56865
56866 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56867             Paul Eggert  <eggert@cs.ucla.edu>
56868
56869         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
56870         freecoding.
56871
56872 2004-05-17  Bruno Haible  <bruno@clisp.org>
56873
56874         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
56875         precision that consists of a '.' followed by an empty digit string.
56876         Patch by Tor Lillqvist <tml@iki.fi>.
56877
56878 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56879
56880         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
56881         for backward compatibility with older code.  We need our own
56882         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
56883         it under some other name, and our alloca.h will define it.
56884
56885 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56886             Derek Price  <derek@ximbiot.com>
56887
56888         * lib/alloca.c: Include <alloca.h>, to get our interface.
56889         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
56890         include <alloca.h> first.  Use C89 prototype for alloca; this
56891         requires including <stddef.h> for size_t.  Use extern "C" if C++.
56892         Use #elif for simplicity, since we can assume C89 now.
56893         Don't try to source the system alloca.h since it will not be found
56894         and to prevent recursively including its replacement.
56895         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
56896         * lib/regex.c: Likewise.
56897
56898 2004-05-16  Derek Price  <derek@ximbiot.com>
56899             Paul Eggert  <eggert@cs.ucla.edu>
56900
56901         getline cleanup.  This changes the getndelim2 API: both order of
56902         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
56903         no delimiter).
56904
56905         * lib/getline.c: Don't include stddef.h or stdio.h, since our
56906         interface does that.
56907         (getline): Always use getdelim, so that we don't have two
56908         copies of this code.
56909         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
56910         if available.
56911         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
56912         (GETNDELIM2_MAXIMUM): New macro.
56913         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
56914         instead of the old practice of delim2==0.  All callers changed.
56915         Return -1 on overflow, instead of returning junk.
56916         Do not set *linesize unless allocation succeeds.
56917         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
56918         that we include sys/types.h.
56919         * lib/getnline.h: Likewise.
56920         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
56921         (getndelim2): Reorder arguments.
56922         * lib/getnline.c (getnline, getndelim):
56923         Don't discard the NMAX argument.
56924         (getnline): Invoke getndelim, to avoid code duplication.
56925         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
56926         of (size_t) -1 by callers of the getnline family.
56927
56928 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56929
56930         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
56931         Check for gettimeofday.
56932         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
56933         Check for settimeofday, stime.
56934
56935 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56936
56937         * lib/nanosleep.c (suspended): Change its type from int to
56938         sig_atomic_t volatile.
56939         (first_call): Make it private to rpl_nanosleep, and have it
56940         be zero initially as that's a bit faster.
56941         (my_usleep): Round up fractional times instead of truncating them,
56942         as this is the usual meaning for 'sleep'.
56943
56944         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
56945         doesn't work.
56946         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
56947         (ENOSYS): Define if not defined.
56948         (settime): Fall back on stime if it exists and settimeofday fails.
56949         But don't bother with fallbacks if a method fails with errno == EPERM.
56950
56951 2004-05-11  Jim Meyering  <jim@meyering.net>
56952
56953         Prior to this change, the save_cwd caller required read access to the
56954         current directory on most systems (ones with the fchdir function).
56955
56956         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
56957         fails, try write-only, and finally, resort to using xgetcwd.
56958
56959 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56960
56961         * lib/obstack.c, obstack.h: Import changes from libc.
56962
56963 2004-04-28  Bruno Haible  <bruno@clisp.org>
56964
56965         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
56966         also implicitly appends .exe to executables.
56967         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
56968         accepts Windows pathnames.
56969         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56970         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56971         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56972         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56973         Reported by Derek Robert Price <derek@ximbiot.com>.
56974
56975 2004-04-21  Karl Berry  <karl@gnu.org>
56976
56977         * config/srclist.txt (localcharset.c): break sync.
56978
56979 2004-04-20  Paul Eggert  <eggert@twinsun.com>
56980
56981         * m4/host-os.m4: Add a copyright notice.
56982
56983 2004-04-20  Jim Meyering  <jim@meyering.net>
56984
56985         Change UTILS_ to gl_ in AC_DEFINE'd names.
56986         Change utils_- and jm_-prefixed variables, too.
56987         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
56988         UTILS_FUNC_MKDIR_TRAILING_SLASH.
56989         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
56990
56991         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
56992         Don't emit trailing blanks.
56993         Also rename jm_-prefixed variables to have gl_ prefix.
56994
56995         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
56996         Also rename jm_-prefixed variables to have gl_ prefix.
56997
56998         * m4/jm-macros.m4: Reflect the renamings.
56999         * m4/prereq.m4: Likewise.
57000
57001 2004-04-20  Jim Meyering  <jim@meyering.net>
57002
57003         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
57004         memory.
57005
57006 2004-04-20  Jim Meyering  <jim@meyering.net>
57007             Bruno Haible  <bruno@clisp.org>
57008
57009         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
57010         memory when realloc fails.
57011
57012 2004-04-19  Jim Meyering  <jim@meyering.net>
57013
57014         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
57015         now that readutmp.c may call `free (0)'.
57016
57017 2004-04-19  Bruno Haible  <bruno@clisp.org>
57018
57019         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
57020         * m4/inttypes_h.m4: Likewise.
57021         * m4/stdint_h.m4: Likewise.
57022         * m4/intmax_t.m4: Likewise.
57023         * m4/uintmax_t.m4: Likewise.
57024
57025 2004-04-18  Jim Meyering  <jim@meyering.net>
57026
57027         * m4/prereq.m4: Don't forbid jm_ prefix.
57028
57029         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
57030         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
57031         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
57032         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
57033         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
57034         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
57035         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
57036         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
57037         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
57038         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
57039         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
57040         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
57041         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
57042         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
57043         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
57044         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
57045         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
57046         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
57047         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
57048
57049 2004-04-18  Jim Meyering  <jim@meyering.net>
57050
57051         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
57052         failure, don't leak memory and do call END_UTMP_ENT.
57053
57054 2004-04-16  Jim Meyering  <jim@meyering.net>
57055
57056         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
57057         coreutils' stat program.
57058         (gl_PREREQ): Don't require jm_PREREQ_STAT.
57059
57060 2004-04-11  Paul Eggert  <eggert@twinsun.com>
57061
57062         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
57063         C89.
57064         (CHAR_BIT): Remove, since we assume C89.
57065         Include <stdint.h> if available, as per current Autoconf CVS advice.
57066
57067 2004-03-31  Jim Meyering  <jim@meyering.net>
57068
57069         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
57070         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
57071         * m4/xalloc.m4: Likewise.
57072
57073 2004-03-30  Paul Eggert  <eggert@twinsun.com>
57074
57075         Merge from coreutils.
57076
57077         * m4/inttostr.m4: New file.
57078         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
57079         Require AM_STDBOOL_H and gl_TIMESPEC instead.
57080         Require gl_CLOCK_TIME.
57081         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
57082
57083 2004-03-30  Paul Eggert  <eggert@twinsun.com>
57084
57085         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
57086         not bool, to be more consistent with Unix conventions.
57087         Suggested by Bruno Haible.
57088
57089         Merge from coreutils.
57090
57091         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
57092         * lib/umaxtostr.c: New files.
57093
57094         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
57095         the usual <time.h> dance.
57096         (get_date): Change signature to support fractional time stamps.
57097         All callers changed.
57098         * lib/getdate.y: Include "getdate.h" first, as we can now
57099         assume C89 and don't need to worry about 'const'.
57100         Similarly, include "unlocked-io.h" near start, not in middle.
57101         Include <limits.h>.
57102         (textint.value): Use long int rather than int.
57103         (textint.digits): Use size_t rather than int.
57104         (BILLION, LOG10_BILLION): New constants.
57105         (parser_control): New member rel_ns.  Members day_ordinal,
57106         time_zone, month, day, hour, minutes, rel_year, rel_month,
57107         rel_day, rel_hour, rel_minutes, rel_seconds
57108         are now long int, not int.  Member seconds is now struct timespec,
57109         not int.  New member timespec_seen.  Members dates_seen, days_seen,
57110         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
57111         not int.
57112         (%union.intval): Now long int, not int.
57113         New member timespec.
57114         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
57115         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
57116         (spec): Now is a timespec or an item list.
57117         (timespec, items): New nonterminals.
57118         (time, rel, relunit, number, get_date):
57119         Add support for fractional seconds.
57120         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
57121         (gmtime, localtime, mktime): Remove decls; not needed with C89.
57122         (to_hour): First arg is now long int, not int.
57123         (to_year): Returns long int, not int.
57124         Don't treat year -70 like 70.
57125         (tm_diff): Returns long int, not int.
57126         (lookup_word): Use bool instead of int when appropriate.
57127         (yylex): Use size_t for count, not int.
57128         Detect overflow when parsing large integer constants.
57129         Add support for fractions.
57130         (get_date): Make pointers 'const' if possible.
57131         Use more-portable code to detect integer overflow.
57132         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
57133         Don't use ctime; it's not reliable if the year has >4 digits.
57134
57135         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
57136         This is for compatibility with BSD.
57137
57138         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
57139         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
57140         From coreutils' system.h.
57141
57142         * lib/userspec.c: Don't include "posixver.h".
57143         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
57144         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
57145         compatible extension.  Simplify code by removing a boolean int
57146         that was always nonzero if a string was nonnull.
57147
57148 2004-03-30  Jim Meyering  <jim@meyering.net>
57149
57150         Merge from coreutils.
57151
57152         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
57153         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
57154         on some systems one must include <grp.h> before it.
57155         Reported by Christian Krackowizer.
57156
57157 2004-03-30  Jim Meyering  <jim@meyering.net>
57158
57159         Merge from coreutils.
57160
57161         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
57162
57163         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
57164         an empty input stream.
57165
57166         * lib/readtokens.c: Include <stdbool.h>.
57167         (readtoken): Use `size_t' rather than int/long.
57168         All callers adjusted.
57169         Use `bool' rather than `int' where appropriate.
57170         Use memset rather than an explicit loop.
57171         Use x2nrealloc rather than xrealloc.
57172         Allow the use of `\0' as a delimiter.
57173         (readtokens): Likewise.
57174         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
57175
57176 2004-03-30  Jim Meyering  <jim@meyering.net>
57177
57178         * m4/realloc.m4: Remove file, since now it does no more than
57179         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
57180         the `configure.ac' section of module/realloc.
57181         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
57182
57183 2004-03-30  Bruno Haible  <bruno@clisp.org>
57184
57185         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
57186         nonnull.
57187
57188 2004-03-29  Paul Eggert  <eggert@twinsun.com>
57189
57190         Merge changes to getloadavg.c from coreutils and Emacs.
57191
57192         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
57193         Define to an expression, not to the empty string.
57194         Include cloexec.h and xalloc.h.
57195         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
57196         Use set_cloexec_flag rather than rolling our own.
57197         * lib/cloexec.c, lib/cloexec.h: New files.
57198
57199 2004-03-29  Paul Eggert  <eggert@twinsun.com>
57200
57201         * m4/cloexec.m4: New file.
57202
57203 2004-03-18  Paul Eggert  <eggert@twinsun.com>
57204
57205         * lib/getopt.h: Sync with libc CVS.
57206
57207 2004-03-18  Paul Eggert  <eggert@twinsun.com>
57208             Bruno Haible  <bruno@clisp.org>
57209
57210         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
57211         mbswidth.
57212
57213 2004-03-18  Paul Eggert  <eggert@twinsun.com>
57214             Bruno Haible  <bruno@clisp.org>
57215
57216         * lib/mbswidth.h: Include <wchar.h> only if
57217         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
57218         <wchar.h>.
57219         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
57220
57221 2004-03-09  Paul Eggert  <eggert@twinsun.com>
57222
57223         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
57224         Sync with libc CVS.
57225         * lib/getopt_int.h: New file, also synced from libc.
57226
57227 2004-03-09  Paul Eggert  <eggert@twinsun.com>
57228
57229         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
57230         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
57231         Bring back getopt.c, getopt.h, getopt1.c.
57232
57233 2004-03-07  Paul Eggert  <eggert@twinsun.com>
57234
57235         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
57236         All uses changed.  Check for sa_sigaction member; this fixes
57237         a bug first reported by Jason Andrade in
57238         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
57239
57240 2004-03-07  Paul Eggert  <eggert@twinsun.com>
57241
57242         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
57243         '#if' expressions.  Unlike the code it replaces, it does not
57244         depend on (defined _SC_PAGESIZE).  However, it does depend on
57245         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
57246         first reported by Jason Andrade in
57247         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
57248
57249 2004-02-25  Simon Josefsson  <jas@extundo.com>
57250
57251         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
57252
57253 2004-02-25  Simon Josefsson  <jas@extundo.com>
57254
57255         * lib/strdup.h: New file.
57256         * lib/strdup.c: Include it.
57257         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
57258         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
57259
57260 2004-02-23  Karl Berry  <karl@gnu.org>
57261
57262         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
57263         (from fencepost.gnu.org:/gd/gnuorg).
57264
57265 2004-02-23  Karl Berry  <karl@gnu.org>
57266
57267         * config/srclistvars.sh (GNUORG) [karl]: redefine.
57268         * config/srclist.txt: add maintain/standards documents.
57269
57270 2004-02-18  Bruno Haible  <bruno@clisp.org>
57271
57272         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
57273         Reported by Derek Robert Price <derek@ximbiot.com>.
57274
57275 2004-02-16  Karl Berry  <karl@gnu.org>
57276
57277         * config/mkinstalldirs, install-sh: update from automake.
57278
57279 2004-02-06  Karl Berry  <karl@gnu.org>
57280
57281         * m4/po.m4: update from gettext 0.14.1.
57282
57283 2004-02-06  Karl Berry  <karl@gnu.org>
57284
57285         * lib/config.charset: update from gettext 0.14.1.
57286
57287 2004-02-05  Paul Eggert  <eggert@twinsun.com>
57288
57289         Add comments and code, prompted by suggestions from Bruno Haible
57290         for sh-quote.
57291         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
57292         describing the enum quoting_style values.
57293         * lib/quotearg.c (quotearg_alloc): New function.
57294         (quotearg_buffer_restyled): Treat lone { and } as special.
57295         Treat = as special.  Work around bug with older shells
57296         that "see" a '\' that is really the 2nd byte of a multibyte char.
57297         Quote empty string with shell_quoting_style.
57298
57299 2004-02-03  Bruno Haible  <bruno@clisp.org>
57300
57301         * m4/pipe.m4: New file, from GNU gettext.
57302
57303 2004-02-03  Bruno Haible  <bruno@clisp.org>
57304
57305         * lib/pipe.h: New file, from GNU gettext.
57306         * lib/pipe.c: New file, from GNU gettext.
57307
57308 2004-01-27  Bruno Haible  <bruno@clisp.org>
57309
57310         * m4/execute.m4: New file, from GNU gettext.
57311
57312 2004-01-27  Bruno Haible  <bruno@clisp.org>
57313
57314         * lib/execute.h: New file, from GNU gettext.
57315         * lib/execute.c: New file, from GNU gettext.
57316         * lib/w32spawn.h: New file, from GNU gettext.
57317
57318 2004-01-24  Paul Eggert  <eggert@twinsun.com>
57319
57320         Merge from diffutils.
57321
57322         * lib/file-type.c (file_type): Add typed memory objects.
57323         * lib/file-type.h (S_TYPEISTMO): New macro.
57324
57325         * lib/c-stack.h (c_stack_action): Remove argv argument.
57326         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
57327         (die): Don't calculate message unless segv_action returns.
57328         (get_stack_location, min_address_from_argv, max_address_from_argv,
57329         volatile stack_base, volatile_stack_size): Remove.
57330         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
57331         that every segmentation violation is a stack overflow.  (Ouch!)
57332         See Debian bug 136249 (still outstanding) for more info about why
57333         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
57334
57335 2004-01-24  Paul Eggert  <eggert@twinsun.com>
57336
57337         Exit-status fix from coreutils.
57338
57339         Use exit_failure consistently in place of EXIT_FAILURE,
57340         so that program exit statuses are consistent on failure.
57341
57342         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
57343         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
57344         * lib/argmatch.h: Comment fix to match the above.
57345         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
57346         Now a macro referring to exit_failure, instead of a separate
57347         variable.  Include "exitfail.h" to get it.
57348         * lib/xstrtol.h: Include "exitfail.h".
57349         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
57350
57351         * lib/long-options.c (parse_long_options): Use prototype
57352         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
57353         for clarity.
57354
57355 2004-01-21  Jim Meyering  <jim@meyering.net>
57356
57357         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
57358         so as not to conflict with a different-sized __mktime_internal
57359         function in GNU libc.
57360         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
57361         Problem building statically-linked `ls' reported by Michael Brunnbauer.
57362
57363 2004-01-20  Karl Berry  <karl@gnu.org>
57364
57365         * config/config.guess: update from config.
57366
57367         * config/srclistvars.sh: GNUWWWLICENSES for karl.
57368
57369 2004-01-20  Bruno Haible  <bruno@clisp.org>
57370
57371         Safer stack allocation.
57372         * lib/setenv.c: Include allocsa.h.
57373         (alloca): Remove fallback definition.
57374         (freea): Remove macro.
57375         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
57376         instead of freea.
57377
57378 2004-01-20  Bruno Haible  <bruno@clisp.org>
57379
57380         * m4/eealloc.m4: New file, from GNU gettext.
57381
57382 2004-01-20  Bruno Haible  <bruno@clisp.org>
57383
57384         * m4/allocsa.m4: New file, from GNU gettext.
57385
57386 2004-01-20  Bruno Haible  <bruno@clisp.org>
57387
57388         * lib/xallocsa.h: New file, from GNU gettext.
57389         * lib/xallocsa.c: New file, from GNU gettext.
57390
57391 2004-01-20  Bruno Haible  <bruno@clisp.org>
57392
57393         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
57394
57395 2004-01-20  Bruno Haible  <bruno@clisp.org>
57396
57397         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
57398         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
57399         specially.
57400
57401 2004-01-20  Bruno Haible  <bruno@clisp.org>
57402
57403         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
57404         patch.
57405
57406 2004-01-20  Bruno Haible  <bruno@clisp.org>
57407
57408         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
57409
57410 2004-01-20  Bruno Haible  <bruno@clisp.org>
57411
57412         * lib/eealloc.h: New file.
57413
57414 2004-01-20  Bruno Haible  <bruno@clisp.org>
57415
57416         * lib/binary-io.h: Avoid warnings on Cygwin.
57417
57418 2004-01-20  Bruno Haible  <bruno@clisp.org>
57419
57420         * lib/allocsa.h: New file, from GNU gettext.
57421         * lib/allocsa.c: New file, from GNU gettext.
57422
57423 2004-01-18  Karl Berry  <karl@gnu.org>
57424
57425         * doc/gpl.texi, doc/lgpl.texi: new files.
57426
57427 2004-01-18  Karl Berry  <karl@gnu.org>
57428
57429         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
57430         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
57431
57432 2004-01-15  Paul Eggert  <eggert@twinsun.com>
57433
57434         Merge from coreutils.
57435
57436         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
57437         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
57438         (gl_DEFAULT_POSIX2_VERSION): Move
57439         the documentation from 'configure' into 'config.hin',
57440         so that 'configure --help' isn't burdened by it and
57441         we don't have to worry about its formatting there.
57442         Reword the documentation so that it's more succinct
57443         and can be run together into a single paragraph.
57444         * m4/same.m4 (gl_SAME): Check for pathconf.
57445
57446 2004-01-15  Paul Eggert  <eggert@twinsun.com>
57447
57448         Merge from coreutils.
57449
57450         * lib/posixver.c: Include posixver.h.
57451
57452         * lib/same.c: Include <stdbool.h>, <limits.h>.
57453         (_POSIX_NAME_MAX): Define if not defined.
57454         (MIN): New macro.
57455         (same_name): If file names are silently truncated, report
57456         that the file names are the same if they are the same after
57457         the silent truncation.
57458
57459         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
57460         conversion function.
57461         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
57462         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
57463         longer needed.
57464
57465 2004-01-15  Jim Meyering  <jim@meyering.net>
57466
57467         Merge from coreutils.
57468
57469         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
57470         if no library is required.
57471         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
57472         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
57473         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
57474         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
57475         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
57476         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
57477         value, $ac_cv_search_crypt, if it's "none required".
57478         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
57479         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
57480         not gl_FUNC_GETLOADAVG.
57481         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
57482         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
57483
57484 2004-01-15  Jim Meyering  <jim@meyering.net>
57485
57486         Merge from coreutils.
57487
57488         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
57489         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
57490         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
57491
57492         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
57493         optional configure-time default.
57494
57495         * lib/version-etc.c (version_etc_copyright): Update copyright date.
57496
57497         * lib/xreadlink.c (xreadlink): Correct outdated comment.
57498
57499 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
57500
57501         Merge from coreutils.
57502
57503         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
57504         value, $ac_cv_search_nanosleep, if it's "none required".
57505
57506 2004-01-14  Paul Eggert  <eggert@twinsun.com>
57507
57508         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
57509         with like-named macro in fnmatch.c.
57510         (EXT): Use an internal constant instead.
57511
57512         Merge fnmatch patches from glibc.
57513         * lib/fnmatch.c (mbsinit): Remove define.
57514         Add libc_hidden_ver (__fnmatch, fnmatch).
57515         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
57516         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
57517
57518 2004-01-14  Karl Berry  <karl@gnu.org>
57519
57520         * config/install-sh: update from automake.
57521
57522 2004-01-13  Karl Berry  <karl@gnu.org>
57523
57524         * config/install-sh: update from automake.
57525
57526 2004-01-09  Karl Berry  <karl@gnu.org>
57527
57528         * config/install-sh: update from automake.
57529
57530 2004-01-05  Karl Berry  <karl@gnu.org>
57531
57532         * config/config.{sub,guess}: update from config.
57533
57534 2003-12-31  Karl Berry  <karl@gnu.org>
57535
57536         * config/depcomp: update from automake.
57537
57538 2003-12-14  Karl Berry  <karl@gnu.org>
57539
57540         * lib/config.charset: update from gettext-runtime.
57541
57542 2003-12-03  Paul Eggert  <eggert@twinsun.com>
57543
57544         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
57545         Bug reported by Alfred M. Szmidt.
57546
57547 2003-12-03  Bruno Haible  <bruno@clisp.org>
57548
57549         * m4/gettext.m4: Upgrade from gettext-0.13.
57550         * m4/po.m4: Upgrade from gettext-0.13.
57551         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
57552         * m4/intmax.m4: New file, from gettext-0.13.
57553         * m4/printf-posix.m4: New file, from gettext-0.13.
57554
57555 2003-11-29  Karl Berry  <karl@gnu.org>
57556
57557         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
57558
57559 2003-11-25  Paul Eggert  <eggert@twinsun.com>
57560             Bruno Haible  <bruno@clisp.org>
57561
57562         * lib/printf-parse.h: Don't include sys/types.h.
57563         (ARG_NONE): New macro.
57564         (char_directive): Change type of *arg_index fields to size_t.
57565         * lib/printf-parse.c: Don't include sys/types.h.
57566         (SSIZE_MAX): Remove macro.
57567         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
57568         Remove unnecessary overflow check.
57569         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
57570         fields.
57571
57572 2003-11-25  Bruno Haible  <bruno@clisp.org>
57573
57574         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
57575
57576 2003-11-25  Bruno Haible  <bruno@clisp.org>
57577
57578         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
57579         gt_TYPE_SSIZE_T.
57580
57581 2003-11-24  Paul Eggert  <eggert@twinsun.com>
57582
57583         * modules/alloca: Remove dependency on xalloc.
57584
57585 2003-11-24  Paul Eggert  <eggert@twinsun.com>
57586
57587         * lib/alloca.c: Remove dependency on xalloc module.
57588         (xalloc_die): Remove.
57589         (memory_full) [!defined emacs]: New macro.
57590         [!defined emacs]: Don't include xalloc.h.
57591         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
57592         address arithmetic overflows.  Change datatypes a bit to avoid
57593         unnecessary casts.
57594
57595 2003-11-22  Jim Meyering  <jim@meyering.net>
57596
57597         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
57598         s/size/size_t/.
57599
57600 2003-11-21  Karl Berry  <karl@gnu.org>
57601
57602         * config/config.{sub,guess}: update from config.
57603
57604 2003-11-18  Karl Berry  <karl@gnu.org>
57605
57606         * config/config.{sub,guess}: update from config.
57607
57608         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
57609
57610 2003-11-17  Paul Eggert  <eggert@twinsun.com>
57611
57612         * README: Mention that S+T cannot overflow if S is the size of
57613         an existing object and T is sufficiently small.
57614
57615 2003-11-17  Jim Meyering  <jim@meyering.net>
57616
57617         On systems without utime and without a utimes function capable of
57618         dealing with a NULL struct utimbuf* argument, this utime replacement
57619         could -- in unusual circumstances -- leak a file descriptor.
57620         * lib/utime.c: Include <unistd.h> and <errno.h>.
57621         (utime_null): Be sure to close `fd' and to preserve errno.
57622         Reported by Geoff Collyer via Arnold Robbins.
57623
57624 2003-11-17  Bruno Haible  <bruno@clisp.org>
57625
57626         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
57627         (Depends-on): Add xsize.
57628
57629 2003-11-17  Bruno Haible  <bruno@clisp.org>
57630
57631         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
57632
57633 2003-11-17  Bruno Haible  <bruno@clisp.org>
57634
57635         * lib/vasnprintf.c (alloca): Remove fallback definition.
57636         (freea): Remove definition.
57637         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
57638         Reported by Paul Eggert.
57639
57640 2003-11-16  Paul Eggert  <eggert@twinsun.com>
57641             Bruno Haible  <bruno@clisp.org>
57642
57643         Protect against address arithmetic overflow.
57644         * lib/printf-args.h: Include stddef.h.
57645         (arguments): Change type of field 'count' to size_t.
57646         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
57647         'unsigned int' where appropriate.
57648         * lib/printf-parse.h: Include sys/types.h.
57649         (char_directive): Change type of *arg_index fields to ssize_t.
57650         (char_directives): Change type of fields 'count', max_*_length to
57651         size_t.
57652         * lib/printf-parse.c: Include sys/types.h and xsize.h.
57653         (SSIZE_MAX): Define fallback value.
57654         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
57655         instead of 'int' where appropriate. Check a_allocated, d_allocated
57656         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
57657         * lib/vasnprintf.c: Include xsize.h.
57658         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
57659         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
57660         overflow. Avoid wraparound when converting a width or precision from
57661         decimal to binary.
57662
57663 2003-11-16  Bruno Haible  <bruno@clisp.org>
57664
57665         Update from GNU gettext.
57666         * lib/printf-parse.c: Generalize to it can be compiled for wide
57667         strings.
57668         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
57669         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
57670         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
57671         SNPRINTF): New macros.
57672         Don't include <alloca.h> if the file is used inside libintl.
57673         (local_wcslen): New function, for Solaris 2.5.1.
57674         (VASNPRINTF): Use it instead of wcslen.
57675
57676 2003-11-16  Bruno Haible  <bruno@clisp.org>
57677
57678         * lib/xsize.h (xmax): New function.
57679         (xsum, xsum3, xsum4): Declare as "pure" functions.
57680
57681 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57682
57683         * modules/xalloc (Files): Undo latest change, since xalloc.h
57684         no longer needs SIZE_MAX or PTRDIFF_MAX.
57685
57686 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57687
57688         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
57689         gl_PTRDIFF_MAX.
57690
57691 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57692
57693         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
57694         "return", to pacify some unknown compiler.  Problem reported
57695         by Joerg Schilling.
57696
57697 2003-11-12  Paul Eggert  <eggert@twinsun.com>
57698
57699         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
57700         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
57701         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
57702         heuristic is just as accurate as far as we know, and it removes a
57703         dependency on size_max.m4 and ptrdiff_max.m4.
57704
57705 2003-11-11  Bruno Haible  <bruno@clisp.org>
57706
57707         * modules/xsize (Files): Add m4/size_max.m4.
57708         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
57709
57710 2003-11-11  Bruno Haible  <bruno@clisp.org>
57711
57712         * m4/size_max.m4: New file.
57713         * m4/ptrdiff_max.m4: New file.
57714         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
57715         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
57716         (gl_XALLOC): Invoke it.
57717
57718 2003-11-11  Bruno Haible  <bruno@clisp.org>
57719
57720         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
57721         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
57722         defined.
57723
57724 2003-11-10  Paul Eggert  <eggert@twinsun.com>
57725
57726         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
57727         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
57728         rejected some allocations of exactly SIZE_MAX - 2 bytes.
57729         From Bruno Haible.
57730         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
57731         not (size_t) -1, since it's defined here.
57732
57733 2003-11-09  Karl Berry  <karl@gnu.org>
57734
57735         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
57736
57737 2003-11-06  Paul Eggert  <eggert@twinsun.com>
57738
57739         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
57740         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
57741         Reject sizes of exactly SIZE_MAX bytes.
57742         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
57743         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
57744
57745 2003-11-05  Bruno Haible  <bruno@clisp.org>
57746
57747         * lib/xsize.h: Include limits.h, to avoid a possible collision with
57748         SIZE_MAX defined in <limits.h> on Solaris.
57749
57750 2003-11-04  Jim Meyering  <jim@meyering.net>
57751
57752         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
57753         variable names, rather than @VAR@.
57754         * modules/poll: Likewise.
57755
57756 2003-11-04  Bruno Haible  <bruno@clisp.org>
57757
57758         * modules/xsize: New file.
57759         * modules/linebreak: Depend on xsize.
57760         * MODULES.html.sh (func_all_modules): Add xsize.
57761
57762 2003-11-04  Bruno Haible  <bruno@clisp.org>
57763
57764         * m4/xsize.m4: New file.
57765
57766 2003-11-04  Bruno Haible  <bruno@clisp.org>
57767
57768         * lib/xsize.h: New file.
57769         * lib/linebreak.c: Include xsize.h.
57770         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
57771         argument for overflow.
57772         Suggested by Paul Eggert.
57773
57774 2003-11-03  Karl Berry  <karl@gnu.org>
57775
57776         * config/config.{guess,sub}: update from config.
57777
57778 2003-11-03  Jim Meyering  <jim@meyering.net>
57779
57780         * modules/userspec (lib_SOURCES): Add userspec.h.
57781         (Include): Add "userspec.h".
57782         Improve description.
57783
57784 2003-11-03  Jim Meyering  <jim@meyering.net>
57785
57786         * lib/userspec.c: Include "userspec.h".
57787         * lib/userspec.h: New file.
57788
57789 2003-11-03  Bruno Haible  <bruno@clisp.org>
57790
57791         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
57792
57793 2003-11-03  Bruno Haible  <bruno@clisp.org>
57794
57795         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
57796         available, to avoid (extremely rare) race condition.
57797         Suggested by Paul Eggert.
57798
57799 2003-11-02  Karl Berry  <karl@gnu.org>
57800
57801         * config/srclist.txt (vasprintf.c): sync broken, sigh.
57802
57803 2003-10-31  Paul Eggert  <eggert@twinsun.com>
57804
57805         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
57806         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
57807         (read_filesystem_list): Set and use me_type_malloced.
57808         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
57809         whatever the type happens to be), for brevity and consistency.
57810         Check for size calculation overflow on Alphas running OSF/1.
57811
57812 2003-10-31  Jim Meyering  <jim@meyering.net>
57813
57814         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
57815
57816         * lib/linebuffer.c: Include <string.h> for declaration of memset.
57817
57818 2003-10-30  Paul Eggert  <eggert@twinsun.com>
57819             Bruno Haible  <bruno@clisp.org>
57820
57821         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
57822         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
57823
57824 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
57825
57826         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
57827         netbsd*-gnu*.  Suggested by Robert Millan.
57828
57829 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57830
57831         * modules/group-member: Depend on stdbool.
57832
57833 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57834
57835         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
57836
57837 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57838
57839         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
57840         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
57841         after the 'gnu' in these cases.  This fixes some bugs in the
57842         previous change, and is based on suggestions by Robert Millan.
57843
57844 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57845
57846         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
57847         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
57848         no longer needed.
57849         * lib/quotearg.c (quotearg_n_options): Use it.
57850         * lib/group-member.c: Include <stdbool.h>.
57851         (free_group_info): Arg is now const *; don't free arg.
57852         (get_group_info): Now returns bool and accepts struct group_info *,
57853         rather than returning a malloc'ed struct group_info *.
57854         All uses changed.  Check for overflow in internal size calculation.
57855
57856         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
57857         rather than xmalloc/xrealloc.
57858         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
57859         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
57860         conformance bug: the old code used a pointer after freeing the
57861         storage that it addressed.
57862         * lib/hash.c (hash_initialize): Simplify the code by using
57863         xalloc_oversized rather than doing it by hand.
57864         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
57865         the buffer preserved.  Use free and xmalloc instead.
57866         * lib/quotearg.c (quotearg_n_options): Likewise.
57867         Use a simpler test for size overflow.  Don't use xalloc_oversized
57868         because unsigned int might be wider than size_t (!); this suggests
57869         that we should switch from unsigned int to size_t for slot numbers.
57870
57871 2003-10-28  Paul Eggert  <eggert@twinsun.com>
57872
57873         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
57874         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
57875         NetBSD kernels.  Requested by Richard Stallman.
57876
57877 2003-10-27  Paul Eggert  <eggert@twinsun.com>
57878
57879         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
57880         to allocate the returned structure.  Do not allocate a subarray,
57881         as x2nrealloc will do that.
57882         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
57883         instead of xnrealloc.
57884         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
57885
57886 2003-10-27  Bruno Haible  <bruno@clisp.org>
57887
57888         * lib/stdbool_.h: Better support for BeOS.
57889
57890 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57891
57892         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
57893         now uses inline.
57894
57895 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57896
57897         * lib/xalloc.h (xalloc_oversized): New static inline function, for
57898         callers that want to do their own size-overflow checking.  Include
57899         <stdbool.h>, since xalloc_oversized returns bool.
57900         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
57901         to use xalloc_oversized.
57902
57903         Add two functions x2realloc, x2nrealloc, for programs that grow
57904         arrays dynamically by doubling their sizes.
57905         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
57906         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
57907         New functions.
57908
57909         Port to C99 semantics for 'inline' of external functions.
57910         Bug reported by Bruno Haible.
57911         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
57912         with the old contents of xnmalloc.
57913         (xnmalloc, xmalloc): Use it.
57914         (xnrealloc_inline): New static inline function,
57915         with the old contents of xnrealloc.
57916         (xnrealloc, xrealloc): Use it.
57917
57918         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
57919         that.
57920
57921 2003-10-26  Karl Berry  <karl@gnu.org>
57922
57923         * config/srclist.txt (COPYING.DOC): no longer available from
57924         /gd/gnuorg; don't know where the ultimate source is.
57925
57926 2003-10-25  Paul Eggert  <eggert@twinsun.com>
57927
57928         Fix several address-calculation bugs in the hash modules,
57929         plus some minor code cleanup.
57930
57931         * lib/hash.h: Include <stdbool.h>, for bool.
57932         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
57933         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
57934         hash_get_n_entries, hash_get_max_bucket_length,
57935         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
57936         hash_rehash): Use size_t rather than unsigned.
57937         * lib/hash.c (struct hash_table, hash_get_n_buckets,
57938         hash_get_n_buckets_used, hash_get_n_entries,
57939         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
57940         hash_get_entries, hash_do_for_each, hash_string, is_prime,
57941         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
57942         Likewise.
57943         (SIZE_MAX): Define if not defined.
57944         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
57945         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
57946         hash_print):
57947         Use const * when possible.
57948         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
57949         (check_tuning): Fix bug: if tuning parameters were very close to
57950         0 or 1, rounding errors could have caused subscript violations.
57951         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
57952         (hash_initialize): Add 'fail:' label
57953         to free table and return NULL, and use it to simplify code.
57954         Use calloc rather than clearing the storage ourself.
57955         (hash_initialize, hash_rehash): Check for arithmetic overflow in
57956         buffer size calculations.
57957         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
57958         Include <stddef.h>, for size_t.
57959         * lib/hash-pjw.c (hash_pjw): Likewise.
57960         Switch to method described by Bruno Haible.
57961         Include <limits.h>, for CHAR_BIT.
57962         (SIZE_BITS): New macro.
57963
57964 2003-10-23  Paul Eggert  <eggert@twinsun.com>
57965
57966         * m4/getline.m4 (AM_FUNC_GETLINE):
57967         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
57968         hosts.  Problem reported by Derek Robert Price in
57969         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
57970         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
57971         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
57972
57973 2003-10-21  Paul Eggert  <eggert@twinsun.com>
57974
57975         * lib/getndelim2.c (getndelim2): When size calculation overflows,
57976         ceiling the allocation at NMAX bytes rather than silently
57977         discarding input bytes before NMAX is reached.  This makes
57978         a difference only if NMAX exceeds SIZE_MAX / 2.
57979
57980         * lib/obstack.c: Merge from glibc.
57981         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
57982         Add libc_hidden_def (_obstack_newchunk).
57983         (_obstack_free) [! defined _LIBC]: Remove.
57984         [defined _LIBC]: Make a strong alias from obstack_free, rather than
57985         a clone of the function body.
57986         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
57987         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
57988
57989         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
57990         glibc.
57991         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
57992         arg to memcpy.
57993
57994         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
57995         (obstack_ptr_grow_fast, obstack_int_grow_fast):
57996         Don't use lvalue casts, as GCC plans to remove support for them
57997         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
57998         was also present in the non-GCC version, indicating that this
57999         code had always been buggy and had never been widely used.
58000         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
58001         Use the fast variant of each macro, rather than copying the
58002         definiens of the fast variant; that way, we'll be more likely to
58003         catch future bugs in the fast variants.
58004
58005 2003-10-20  Bruno Haible  <bruno@clisp.org>
58006
58007         * modules/wait-process: New file.
58008         * MODULES.html.sh (func_all_modules): Add wait-process.
58009
58010 2003-10-20  Bruno Haible  <bruno@clisp.org>
58011
58012         * m4/wait-process.m4: New file.
58013
58014 2003-10-20  Bruno Haible  <bruno@clisp.org>
58015
58016         * lib/wait-process.h: New file, from GNU gettext.
58017         * lib/wait-process.c: New file, from GNU gettext.
58018
58019 2003-10-19  Jim Meyering  <jim@meyering.net>
58020
58021         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
58022         HPUX 10.20.
58023
58024 2003-10-18  Karl Berry  <karl@gnu.org>
58025
58026         * config/config.guess: update from config.
58027
58028 2003-10-16  Paul Eggert  <eggert@twinsun.com>
58029
58030         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
58031         (getgroups): First arg is int, not size_t.
58032         Don't let 'free' mangle errno.
58033
58034 2003-10-16  Paul Eggert  <eggert@twinsun.com>
58035
58036         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
58037
58038 2003-10-16  Karl Berry  <karl@gnu.org>
58039
58040         * config/config.{guess,sub}: update from config.
58041
58042 2003-10-16  Jim Meyering  <jim@meyering.net>
58043
58044         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
58045         memcpy.
58046
58047 2003-10-15  Paul Eggert  <eggert@twinsun.com>
58048
58049         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
58050         (SIZE_MAX): Remove.
58051         (new_exclude, add_exclude_file): Initial size no longer needs to
58052         be a power of 2.
58053         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
58054         our own address arithmetic overflow checking.
58055
58056         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
58057         (fnmatch): Do not alloca more than 2000 wide characters;
58058         instead, use malloc for large buffers.
58059         Check for address arithmetic overflow, and return -1
58060         with errno set to ENOMEM in that case.
58061         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
58062         (NEW_PATTERN): Do not alloca more than 8000 bytes;
58063         instead, return -1.  Check for address arithmetic overflow.
58064
58065 2003-10-14  Paul Eggert  <eggert@twinsun.com>
58066
58067         Handle invalid suffixes and overflow independently, so that
58068         callers can treat them independently as needed.  Fix some bugs in
58069         suffix handling, e.g., "100k@" was not diagnosed as an invalid
58070         suffix for a human-readable blocksize.  The major caller-visible
58071         change is the addition of a new
58072         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
58073         that both overflow and suffix chars were found.
58074
58075         * lib/human.c (humblock): Don't check separately for invalid suffix
58076         char; that is xstrtoumax's job (now that its bug is fixed).
58077         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
58078         INTMAX_MAX]: New macros.
58079         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
58080         TYPE_MAXIMUM): New macros.
58081         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
58082         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
58083         if overflow occurs, as it's what __strtol does and it's more useful
58084         in practice.
58085         (__xstrtol): If __strtol reports some error other than ERANGE,
58086         reflect it to the caller as LONGINT_INVALID.  If it reports
58087         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
58088         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
58089         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
58090         value.
58091         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
58092         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
58093         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
58094         [defined UINTMAX_MAX]: New macros.
58095
58096 2003-10-14  Bruno Haible  <bruno@clisp.org>
58097
58098         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
58099
58100 2003-10-14  Bruno Haible  <bruno@clisp.org>
58101
58102         * m4/sig_atomic_t: New file, from GNU gettext.
58103         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
58104
58105 2003-10-14  Bruno Haible  <bruno@clisp.org>
58106
58107         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
58108         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
58109         Also use volatile where needed.
58110
58111 2003-10-12  Paul Eggert  <eggert@twinsun.com>
58112
58113         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
58114         Change maintainer from Bruno Haible to 'all'.
58115
58116 2003-10-12  Paul Eggert  <eggert@twinsun.com>
58117
58118         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
58119
58120 2003-10-12  Paul Eggert  <eggert@twinsun.com>
58121
58122         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
58123         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
58124         and define in terms of the other primitives.
58125         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
58126         (SIZE_MAX): Define if not already defined.
58127         (array_size_overflow): New function.
58128         (xalloc_die): Abort instead of exiting if 'error' returns.
58129         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
58130         (xmalloc, xrealloc): Use them.
58131         (xcalloc): Check for address arithmetic overflow.
58132         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
58133         a bit faster than strcpy.
58134
58135 2003-10-10  Simon Josefsson  <jas@extundo.com>
58136
58137         * modules/argp (Depends-on): Add restrict and strcase.
58138
58139 2003-10-10  Simon Josefsson  <jas@extundo.com>
58140
58141         * m4/argp.m4: Add AC_C_INLINE.
58142
58143 2003-10-08  Paul Eggert  <eggert@twinsun.com>
58144
58145         Merge getpass from libc, plus a few fixes.
58146
58147         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
58148         Include <stdbool.h>.
58149         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
58150         __fsetlocking to empty.
58151         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
58152         do include <bits/libc-lock.h>.
58153         Do not include <fcntl.h>; not needed.
58154         [_LIBC]: Include <wchar.h>.
58155         (NOTCANCEL_MODE): New macro.
58156         (flockfile, funlockfile) [_LIBC]: New macros.
58157         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
58158         [!_LIBC]: New macros.
58159         (call_fclose): New function.
58160         (getpass): Use it.  Save tty stream separately; this simplifies the
58161         code and makes it more reliable if stdin happens to equal stdout.
58162         Invoke __fsetlocking on tty.
58163         Handle thread cancellation if needed.
58164         Namespace cleanup (use __tcgetattr, __getline).
58165         Use bool for Booleans.
58166         [USE_IN_LIBIO]: Handle wide streams.
58167         [!_LIBC]: Unconditionally do the fseek, since we don't know what
58168         stream might go where.
58169
58170         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
58171         doesn't have to include <stdio.h> before us.
58172         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
58173         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
58174         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
58175         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
58176         if not declared, so that we can use getpass.c code from libc without
58177         rewriting it.
58178         (flockfile, ftrylockfile, funlockfile): New macros.
58179
58180 2003-10-08  Paul Eggert  <eggert@twinsun.com>
58181
58182         * modules/getpass: Depend on stdbool.
58183
58184 2003-10-08  Paul Eggert  <eggert@twinsun.com>
58185
58186         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
58187
58188 2003-10-07  Karl Berry  <karl@gnu.org>
58189
58190         * config/config.{guess,sub}: update from config.
58191
58192 2003-10-06  Jim Meyering  <jim@meyering.net>
58193             Bruno Haible  <bruno@clisp.org>
58194
58195         This lets translators provide better translations for the
58196         "Written by ..." part of --version output.
58197         * lib/version-etc.h: Include stdarg.h.
58198         (version_etc_copyright): Declare as readonly.
58199         (version_etc): Make this function variadic with a NULL-terminated list
58200         of author name strings.
58201         (version_etc_va): New declaration.
58202         * lib/version-etc.c: Include stdarg.h, stdlib.h.
58203         (version_etc_copyright): Declare as readonly.
58204         (version_etc_va): New function. Provide a different translatable string
58205         for each possible number of authors < 10. Abbreviate when there are 10
58206         authors or more.
58207         (version_etc): Make this function variadic. Call version_etc_va.
58208         Suggestion from Gary V. Vaughan.
58209
58210         * lib/long-options.h (parse_long_options): Change prototype: the
58211         authors string is moved to the end and becomes variadic.
58212         * lib/long-options.c: Include stdarg.h.
58213         (parse_long_options): Make this function variadic, too.
58214         Call version_etc_va, not version_etc.
58215
58216 2003-10-06  Bruno Haible  <bruno@clisp.org>
58217
58218         * modules/version-etc-2: Remove file.
58219         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
58220
58221 2003-10-06  Bruno Haible  <bruno@clisp.org>
58222
58223         * modules/fatal-signal: New file.
58224         * MODULES.html.sh (func_all_modules): Add fatal-signal.
58225
58226 2003-10-06  Bruno Haible  <bruno@clisp.org>
58227
58228         * m4/fatal-signal.m4: New file.
58229         * m4/signalblocking.m4: New file, from GNU gettext.
58230
58231 2003-10-06  Bruno Haible  <bruno@clisp.org>
58232
58233         * lib/version-etc-2.h: Remove file.
58234         * lib/version-etc-2.c: Remove file.
58235
58236 2003-10-06  Bruno Haible  <bruno@clisp.org>
58237
58238         * lib/fatal-signal.h: New file, from GNU gettext.
58239         * lib/fatal-signal.c: New file, from GNU gettext.
58240
58241 2003-10-05  Paul Eggert  <eggert@twinsun.com>
58242
58243         * README: Rework advice for preventing empty .o files.
58244         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
58245         not <sys/types.h>.
58246
58247 2003-10-04  Karl Berry  <karl@gnu.org>
58248
58249         * lib/argp*: update from libc.
58250
58251 2003-10-04  Karl Berry  <karl@gnu.org>
58252
58253         * config/config.{guess,sub}: update from config.
58254
58255 2003-10-02  Bruno Haible  <bruno@clisp.org>
58256
58257         * modules/lchown (Include): Add lchown.h.
58258         * modules/time_r (Include): Use "..." syntax.
58259         * modules/xgetdomainname (Include): Add xgetdomainname.h.
58260
58261 2003-10-01  Simon Josefsson  <jas@extundo.com>
58262
58263         * MODULES.html.sh (func_all_modules): Move gethostname from section
58264         'based on' to section 'lacking' POSIX:2001.
58265
58266 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
58267
58268         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
58269         to output mode on the same stream.
58270
58271 2003-09-29  Paul Eggert  <eggert@twinsun.com>
58272
58273         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
58274         Fix arg typo in previous patch.
58275
58276 2003-09-28  Jim Meyering  <jim@meyering.net>
58277
58278         * lib/error.c: Correct cpp indentation.
58279
58280 2003-09-27  Paul Eggert  <eggert@twinsun.com>
58281
58282         * modules/free: New file.
58283
58284 2003-09-27  Paul Eggert  <eggert@twinsun.com>
58285
58286         * m4/free.m4: New file.
58287
58288 2003-09-27  Paul Eggert  <eggert@twinsun.com>
58289
58290         * lib/minmax.h (MIN, MAX)
58291         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
58292         Omit the special code that used __typeof__, since we worry that
58293         it could be more trouble than it's worth.  See:
58294         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
58295         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
58296
58297         * lib/free.c: New file.
58298
58299 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
58300
58301         Trivial fixes to Makefile.am parts of module listings.
58302         * modules/strstr: Append strstr.h to lib_SOURCES.
58303         * modules/strcase: Likewise, for strcase.h.
58304
58305 2003-09-27  Karl Berry  <karl@gnu.org>
58306
58307         * config/mkinstalldirs: update from automake.
58308
58309 2003-09-26  Paul Eggert  <eggert@twinsun.com>
58310
58311         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
58312         (error_tail): Do not loop, reallocating temporary buffer, since
58313         the output cannot contain more wide characters than the input
58314         contains bytes, the size must be big enough already.  This avoids
58315         one potential size overflow calculation.  Check for size overflow
58316         when calculating temporary buffer size.  Free temporary buffer
58317         when done, if it was allocated with malloc; this plugs a memory
58318         leak.  Remove casts from void * to pointers, that are no longer
58319         needed now that we're assuming C89 or better.
58320
58321         Merge error changes from glibc.
58322
58323         * lib/error.c, error.h: Update copyright notice header to match glibc.
58324         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
58325         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
58326         Disable cancellation while printing error.
58327         * lib/error.h: Prepend __ to parameter names.
58328
58329 2003-09-26  Jim Meyering  <jim@meyering.net>
58330
58331         * lib/error.c (error_tail): Move some declarations
58332         into inner scope where the local variables are used.
58333
58334 2003-09-26  Bruno Haible  <bruno@clisp.org>
58335
58336         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
58337         stpncpy().
58338         Don't define stpncpy through config.h; it's now done through stpncpy.h.
58339
58340 2003-09-26  Bruno Haible  <bruno@clisp.org>
58341
58342         * lib/stpncpy.h (gnu_stpncpy): New declaration.
58343         (stpncpy): Define as alias for gnu_stpncpy.
58344         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
58345
58346 2003-09-25  Simon Josefsson  <jas@extundo.com>
58347
58348         * lib/xgetdomainname.h: New file.
58349         * lib/xgetdomainname.c: New file.
58350
58351 2003-09-25  Simon Josefsson  <jas@extundo.com>
58352             Bruno Haible  <bruno@clisp.org>
58353
58354         * modules/getdomainname: New file.
58355         * modules/xgetdomainname: New file.
58356         * MODULES.html.sh (func_all_modules): Add getdomainname,
58357         xgetdomainname.
58358
58359 2003-09-25  Simon Josefsson  <jas@extundo.com>
58360             Bruno Haible  <bruno@clisp.org>
58361
58362         * m4/getdomainname.m4: New file.
58363
58364 2003-09-25  Simon Josefsson  <jas@extundo.com>
58365             Bruno Haible  <bruno@clisp.org>
58366
58367         * lib/getdomainname.h: New file.
58368         * lib/getdomainname.c: New file.
58369
58370 2003-09-25  Karl Berry  <karl@gnu.org>
58371
58372         * lib/argp-fmtstream.c, argp-help.c: update from libc.
58373
58374 2003-09-25  Karl Berry  <karl@gnu.org>
58375
58376         * config/install-sh: update from automake.
58377
58378 2003-09-25  Bruno Haible  <bruno@clisp.org>
58379
58380         * modules/version-etc-2: New file, from modules/version-etc with
58381         modifications.
58382         * MODULES.html.sh (func_all_modules): Add version-etc-2.
58383
58384 2003-09-25  Bruno Haible  <bruno@clisp.org>
58385
58386         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
58387         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
58388
58389 2003-09-24  Simon Josefsson  <jas@extundo.com>
58390
58391         * modules/xgethostname: Add xgethostname.h.
58392
58393 2003-09-24  Paul Eggert  <eggert@twinsun.com>
58394
58395         * lib/linebuffer.c (freebuffer): Don't free the argument, just
58396         the buffer associated with the argument.  Bug reported by
58397         Simon Josefsson.
58398
58399 2003-09-24  Paul Eggert  <eggert@twinsun.com>
58400
58401         * README: Document assumptions that 'int' is at least 32 bits
58402         wide, that integer arithmetic is 2's complement without overflow,
58403         that there are no holes in integer values, that adding sizes of
58404         two nonoverlapping objects can't overflow, and that all-bits-zero
58405         yields scalar zero.  Fix spelling and capitalization typos.
58406
58407 2003-09-19  Karl Berry  <karl@gnu.org>
58408
58409         * lib/argp.h: update from libc.
58410
58411 2003-09-17  Paul Eggert  <eggert@twinsun.com>
58412
58413         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
58414         to avoid spurious warnings like "AC_RUN_IFELSE was called before
58415         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
58416
58417 2003-09-17  Paul Eggert  <eggert@twinsun.com>
58418
58419         * gnulib-tool: Use "test -h", not "test -L", for portability
58420         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
58421         (tags_regexp): Remove, since \| doesn't conform to POSIX.
58422         (sed_extract_prog): Issue s commands one-by-one, rather than
58423         using \| in one s command.
58424
58425 2003-09-16  Paul Eggert  <eggert@twinsun.com>
58426
58427         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
58428         input error, instead of returning NULL the next time we are called
58429         (and therefore losing track of errno).
58430
58431 2003-09-16  Bruno Haible  <bruno@clisp.org>
58432
58433         * gnulib-tool (func_create_testdir): Warn about duplicated
58434         dependencies.
58435
58436 2003-09-15  Paul Eggert  <eggert@twinsun.com>
58437
58438         * modules/argmatch, modules/fatal, modules/obstack,
58439         modules/xalloc, modules/xgethostname: Sort dependencies by
58440         importance, not alphabetically.
58441
58442 2003-09-15  Paul Eggert  <eggert@twinsun.com>
58443
58444         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
58445         fails, so that the caller gets the proper errno.
58446
58447         * lib/readutmp.c (read_utmp): Likewise.
58448         Check for fstat error.  Close stream and free storage
58449         when failing.
58450
58451 2003-09-14  Karl Berry  <karl@gnu.org>
58452
58453         * config/srclist.txt (strdup.c): disable for c89 changes.
58454
58455 2003-09-14  Jim Meyering  <jim@meyering.net>
58456
58457         * lib/getloadavg.c: Correct cpp indentation.
58458         * lib/strdup.c: Likewise.
58459         * lib/vasnprintf.c: Likewise.
58460
58461 2003-09-14  Bruno Haible  <bruno@clisp.org>
58462
58463         * modules/fwriteerror: New file.
58464         * MODULES.html.sh (func_all_modules): Add fwriteerror.
58465
58466 2003-09-14  Bruno Haible  <bruno@clisp.org>
58467
58468         * lib/fwriteerror.h: New file.
58469         * lib/fwriteerror.c: New file.
58470
58471 2003-09-12  Paul Eggert  <eggert@twinsun.com>
58472
58473         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
58474         modules/xgethostname, modules/xalloc: Depend on exit.
58475
58476 2003-09-12  Paul Eggert  <eggert@twinsun.com>
58477
58478         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
58479
58480         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
58481         and AC_MINIX, too, so that their extensions are available.
58482
58483         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
58484         This macro has been superseded by gl_BACKUPFILE.
58485
58486         More patches to assume C89 or better.
58487
58488         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
58489
58490         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
58491         unconditionally.
58492         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
58493         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
58494         Include <string.h>, <stdlib.h> unconditionally.
58495         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
58496         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
58497         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
58498         headers or for string.h.
58499         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
58500         or strtoul.
58501
58502         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
58503         headers.
58504         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
58505         * m4/userspec.m4 (gl_USERSPEC): Likewise.
58506         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
58507         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
58508         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58509         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
58510         memcpy, memset.
58511         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
58512         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
58513         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
58514         strtol.
58515         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
58516         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
58517         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
58518         strtoul.
58519
58520 2003-09-12  Paul Eggert  <eggert@twinsun.com>
58521
58522         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
58523         * lib/obstack.c [!defined _LIBC]: Likewise.
58524         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
58525         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
58526         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
58527
58528         More changes to assume C89 or better.
58529
58530         * lib/error.c (error_tail): Assume vprintf.
58531
58532         * lib/argmatch.c (getenv): Remove decl.
58533         * lib/progreloc.c (get_full_program_name): Define via prototype.
58534         * lib/setenv.c (clearenv): Likewise.
58535         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
58536         needed.
58537         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
58538         (malloc, memcpy): Remove decls.
58539         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
58540         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
58541         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
58542         (memcpy): Remove macro.
58543         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
58544         (__P): Remove.  All uses removed.
58545         (PTR): Remove.  All uses changed to void *.
58546         (CHAR_BIT, NULL): Remove.
58547         (spaces, zeros, memset_space, memset_zero)
58548         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
58549         Remove.
58550         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
58551         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
58552         Define with prototype.
58553         Remove now-unnecessary prototype decl.
58554         (extra_args_spec): Assume ANSI C.  All uses changed.
58555         (extra_args_spec_iso): Remove.
58556         (my_strftime, emacs_strftimeu): Define via prototype.
58557         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
58558         unconditionally.
58559         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
58560         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
58561         (strtoul, strtol): Remove decls.
58562         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
58563         LONG_MAX): Remove.
58564         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
58565         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
58566         (LOCALE_PARAM_PROTO): New macro.
58567         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
58568         (INTERNAL (strtol), strtol): Define with a prototype.
58569         (PARAMS): Remove.  All uses removed.
58570         * lib/tempname.c: Include <string.h> unconditionally.
58571         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
58572         * lib/xgethostname.c (main): Define with a prototype.
58573         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
58574         Include <stdlib.h> unconditionally.
58575         (calloc, malloc, realloc, free): Remove decls.
58576         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
58577         Include <stdlib.h> unconditionally.  Sort include file names.
58578         (strtod): Remove.
58579         (xstrtod): Define with a prototype.
58580         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
58581         (strtol, strtoul): Remove decls.
58582
58583 2003-09-11  Paul Eggert  <eggert@twinsun.com>
58584
58585         More patches to assume C89 or better.
58586         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
58587         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
58588         string.h, memchr, STDC_HEADERS.
58589
58590 2003-09-11  Paul Eggert  <eggert@twinsun.com>
58591
58592         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
58593         Include <stdlib.h>, <string.h> unconditionally.
58594         Remove now-unnecessary cast to char *.
58595         * lib/strnlen.c: Include <string.h> unconditionally.
58596         * lib/yesno.c (yesno): Define with a prototype.
58597
58598 2003-09-11  Bruno Haible  <bruno@clisp.org>
58599
58600         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
58601
58602 2003-09-10  Jim Meyering  <jim@meyering.net>
58603
58604         * lib/error.c: Correct indentation of cpp directives.
58605
58606 2003-09-10  Bruno Haible  <bruno@clisp.org>
58607
58608         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
58609         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
58610         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
58611         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
58612         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
58613         <stdlib.h> and <string.h> checks.
58614         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
58615         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
58616
58617 2003-09-10  Bruno Haible  <bruno@clisp.org>
58618
58619         * lib/strcspn.c: Include <string.h> unconditionally.
58620         * lib/strpbrk.c: Include <string.h> unconditionally.
58621         * lib/strstr.c: Include <string.h> unconditionally.
58622         * lib/unicodeio.c: Include <string.h> unconditionally.
58623         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
58624         * lib/unsetenv.c: Likewise.
58625         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
58626         * lib/yesno.c: Include <stdlib.h> unconditionally.
58627         (rpmatch): Add prototype.
58628
58629 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58630
58631         More patches to assume C89 or better.
58632         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
58633         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
58634         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
58635         or for string.h.
58636         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
58637         stdlib.h.
58638         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
58639         C headers.
58640         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
58641         string.h.
58642         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
58643         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
58644         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
58645         or for string.h.
58646         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
58647         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
58648         C headers.
58649         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
58650         memcpy.
58651         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
58652         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
58653         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
58654         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
58655         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
58656         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
58657         string.h, free.
58658         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
58659         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
58660         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
58661         C headers, or for string.h.
58662         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
58663         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
58664         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
58665         headers, memory.h, stdlib.h, string.h, strings.h.
58666         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
58667         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
58668         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
58669         strchr.
58670         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
58671         headers, memory.h, string.h.
58672         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
58673         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
58674         free.
58675         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
58676         headers.
58677         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
58678         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
58679         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
58680         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
58681         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
58682
58683 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58684
58685         More K&R removal.
58686
58687         * lib/acosl.c (main): Use a prototype.
58688         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
58689         tanl.c: Likewise.
58690
58691         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
58692
58693         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
58694         (getopt, etopt_long, getopt_long_only, _getopt_internal)
58695         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
58696         with a prototype.
58697         * lib/getopt.c (const): Remove macro.
58698         Include <string.h> unconditionally.
58699         (my_index): Remove; all uses changed to strchr.
58700         (strlen): Remove decl.
58701         (exchange): Remove forward decl; no longer needed.
58702         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
58703         Define with prototype.
58704         * lib/getopt1.c (const): Remove macro.
58705         (getopt_long, getopt_long_only, main): Define with prototype.
58706
58707         * lib/getugroups.c: Include <string.h> unconditionally.
58708
58709         * lib/getusershell.c: Include <stdlib.h> unconditionally.
58710         (getusershell, setusershell, endusershell, readname, main):
58711         Define with prototypes.
58712
58713         * lib/group-member.c: Include group-member.h first.
58714         Include <stdlib.h> unconditionally.
58715
58716         * lib/hard-locale.c: Include hard-locale.h first.
58717         Include <stdlib.h>, <string.h> unconditionally.
58718
58719         * lib/hash.c (free, malloc): Remove decls.
58720         Include <stdlib.h> unconditionally.
58721
58722         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
58723         (getenv): Do not declare.
58724
58725         * lib/idcache.c: Include <string.h> unconditionally.
58726
58727         * lib/long-options.c: Include long-options.h first, to test interface.
58728         Include <stdlib.h> unconditionally.
58729
58730         * lib/makepath.c: Include makepath.h first, to test interface.
58731         Include <stdlib.h> and <string.h> unconditionally.
58732
58733         * lib/linebuffer.c: Include <stdlib.h>.
58734         (free): Remove decl.
58735
58736         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
58737         stddef.h. rpl_malloc returns void *, not char *.
58738         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
58739         prototype.
58740
58741         * lib/md5.h: Include <limits.h> unconditionally.
58742         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
58743         (__P): Remove; all uses removed.
58744         * lib/md5.c: Include "md5.h" first.
58745         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
58746         md5_buffer, md5_process_bytes, md5_process_block):
58747         Define with prototypes.
58748         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
58749         * lib/sha.c: Include "sha.h" first.
58750         Include <stdlib.h>, <string.h> unconditionally.
58751
58752         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
58753         * lib/memcmp.c (__ptr_t): Likewise.
58754         * lib/memrchr.c (__ptr_t): Likewise.
58755         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
58756         Include <string.h> unconditionally.
58757         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
58758         * lib/memchr.c: Include <stdlib.h> unconditionally.
58759         * lib/memchr.c (LONG_MAX): Remove.
58760         * lib/memrchr.c (LONG_MAX): Likewise.
58761         * lib/memchr.c (__memchr): Define via a prototype.
58762         * lib/memrchr.c (__memrchr): Likewise.
58763         * lib/memcmp.c (__P): Remove, and remove all uses.
58764         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
58765         Remove forward decls; no longer needed.
58766         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
58767         Use types required by C89 in prototype.
58768
58769         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
58770         * lib/savedir.c: Likewise.
58771         * lib/mkdir.c (free): Remove decl.
58772         * lib/rmdir.c (rmdir): Define with a prototype.
58773         * lib/savedir.c: Include savedir.h first, to test interface.
58774
58775         * lib/mktime.c (STDC_HEADERS): Remove.
58776         Include <stdlib.h>, <string.h> unconditionally.
58777
58778         * lib/modechange.c: Include <stdlib.h> unconditionally.
58779         (malloc): Remove decl.
58780
58781         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
58782         (free): Remove decl.
58783
58784         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
58785         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
58786         (This type really should be intptr_t, but that's a C99ism.)
58787         (_obstack_memcpy): Remove: all uses changed to memcpy.
58788         Include <string.h> unconditionally.
58789         (struct obstack): Assume __STDC__ for types of members
58790         chunkfun, freefun, extra_arg.
58791         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
58792         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
58793         obstack_begin, obstack_specify_allocation,
58794         obstack_specify_allocation_with_arg, obstack_chunkfun,
58795         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
58796         Remove unprototyped decls and the macros that use them.
58797         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
58798         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
58799         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
58800         (defined __STDC__ && __STDC__)]:
58801         Remove nonprototyped code.
58802         Include <stdlib.h> unconditionally.
58803         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
58804         _obstack_allocated_p, _obstack_free, obstack_free,
58805         _obstack_memory_used, print_and_abort):
58806         Define using prototypes.
58807         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
58808         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
58809         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
58810         obstack_next_free, obstack_object_size, obstack_room) [0]:
58811         Remove unused, unprototyped code.
58812
58813         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
58814
58815         * lib/physmem.c (physmem_total, physmem_available, main): Define
58816         with prototypes.
58817
58818         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
58819         (main): Define with a prototype.
58820
58821         * lib/posixver.c (getenv): Remove decl.
58822
58823         * lib/putenv.c (malloc): Returns void *, not char *.
58824         Include <string.h> unconditionally.
58825         (strchr, memcpy, NULL): Do not define.
58826
58827         * lib/readtokens.c: Include readtokens.h first, to test interface.
58828         Include <stdlib.h>, <string.h> unconditionally.
58829         (init_tokenbuffer): Define with a prototype.
58830
58831         * lib/regex.c (PARAMS): Remove.  All uses removed.
58832         All uses of _RE_ARGS removed, too.
58833         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
58834         unconditionally.
58835         (bzero): Assume memset exists.
58836         (memcmp, memcpy, NULL): Remove.
58837         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
58838         char, or assignments to local vars of type signed char.
58839         (init_syntax_once, PREFIX(extract_number_and_incr),
58840         PREFIX(print_partial_compiled_pattern),
58841         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
58842         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
58843         PREFIX(regex_grow_registers), PREFIX(regex_compile),
58844         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
58845         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
58846         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
58847         wcs_compile_range, byte_compile_range, truncate_wchar,
58848         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
58849         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
58850         count_mbs_length, wcs_re_match_2_internal,
58851         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
58852         PREFIX(alt_match_null_string_p),
58853         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
58854         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
58855         regfree, PREFIX(extract_number)): Define with prototype.  Remove
58856         now-unnecessary declaration, if any.
58857         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
58858         regcomp, regexec):
58859         Remove now-unnecessary casts among pointer types.
58860         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
58861
58862         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
58863         (free): Remove decl.
58864
58865         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
58866
58867         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
58868         (free): Remove decl.
58869
58870         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
58871         * lib/xgetcwd.c: Likewise.
58872
58873         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
58874         (free): Remove decl.
58875
58876         * lib/strchrnul.c (strchrnul): Define with a prototype.
58877         Fix bug: c_in was not converted to char before searching.
58878
58879         The following changes are not K&R related:
58880
58881         * lib/group-member.h: Include <sys/types.h>, so that this file is
58882         self-contained.
58883         * lib/makepath.h: Likewise.
58884
58885         * lib/getusershell.c (readname, default_index, line_size, readname):
58886         Use size_t, not int, for sizes.
58887         (readname): If the size overflows, report an error instead of
58888         looping forever.
58889
58890 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58891
58892         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
58893         libc.
58894
58895 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58896
58897         * README: New section: portability guidelines.
58898
58899 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58900
58901         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
58902         C89 spec.
58903
58904 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58905
58906         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
58907
58908 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58909
58910         Assume C89 or better; remove K&R cruft.
58911         A few of these changes were first proposed by Derek Robert Price
58912         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
58913
58914         * lib/addext.c: Include <string.h> unconditionally.
58915         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
58916         Don't declare getenv or malloc.
58917
58918         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
58919         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
58920         (NULL): Remove.
58921         (find_stack_direction, alloca): Use prototypes.
58922
58923         * lib/atexit.c (atexit): Define using a prototype.
58924
58925         * lib/basename.c, dirname.c, stripslash.c:
58926         Include <string.h> unconditionally.
58927
58928         * lib/bcopy.c: Include <stddef.h>.
58929         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
58930
58931         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
58932
58933         * lib/error.h (error, error_at_line, error_print_progname)
58934         [! (defined (__STDC__) && __STDC__)]: Remove decls.
58935         * lib/error.c: Include error.h first, to check interface.
58936         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58937         (VA_START): Remove; all uses changeed to va_start.
58938         (exit, strerror): Remove decls.
58939         (error_print_progname): Prototype uncondionally.
58940         Don't include <errno.h>; no longer needed.
58941         (private_strerror): Remove.
58942         (error_tail): Always define.
58943         (error, error_at_line): Assume C89 or better; always use prototypes.
58944         * lib/fatal.c: Include "fatal.h" first, to test interface.
58945         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58946         (VA_START): Remove; all uses changed to va_start.
58947         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
58948         this case.
58949         (exit): Remove decl.
58950         (fatal): Prototype unconditionally.  Assume va_start works.
58951         Abort at end, to pacify gcc.
58952
58953         * lib/euidaccess.c (main): Define with a prototype.
58954
58955         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
58956
58957         * lib/exitfail.c: Include <stdlib.h> unconditionally.
58958
58959         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
58960         prototypes.
58961         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
58962         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
58963         (getenv): Remove decl.
58964         (fnmatch): Define using a prototype.
58965         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
58966         (FCT): Define using a prototype.
58967
58968         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
58969
58970         * lib/gethostname.c: Include <stddef.h>.
58971         (gethostname): Define with prototype.  Length is size_t, not int.
58972
58973 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58974
58975         Assume C89 or better; remove K&R cruft.
58976         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
58977         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
58978         string.h, getenv, malloc.
58979         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
58980         headers.
58981         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
58982         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
58983         do not check for strerror.
58984         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
58985         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
58986         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
58987         do not check for doprnt or vprintf.
58988         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
58989         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
58990
58991 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58992
58993         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
58994         getversion.c should have been removed then, but was accidentally
58995         preserved.
58996
58997         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
58998         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
58999
59000 2003-09-08  Karl Berry  <karl@gnu.org>
59001
59002         * config/config.sub, config.guess, srclistvars.sh: update from savannah
59003                 config, forget about prep.
59004
59005         * config/depcomp, missing: update from automake.
59006
59007 2003-09-07  Paul Eggert  <eggert@twinsun.com>
59008
59009         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
59010         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
59011
59012 2003-09-07  Paul Eggert  <eggert@twinsun.com>
59013
59014         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
59015         copy_tm_result.  Bug reported by Simon Josefsson in
59016         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
59017
59018 2003-09-06  Paul Eggert  <eggert@twinsun.com>
59019
59020         * m4/time_r.m4: New file.
59021         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
59022         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
59023         is. Check for timegm declaration.
59024         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
59025         Do not check for gmtime_r.
59026         Replace mktime if __mktime_internal does not exist and if mktime
59027         hasn't been replaced already.
59028
59029 2003-09-06  Paul Eggert  <eggert@twinsun.com>
59030
59031         * lib/time_r.c, lib/time_r.h: New files.
59032
59033         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
59034         __localtime_r.
59035         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
59036         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
59037
59038         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
59039         __gmtime_r.
59040         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
59041         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
59042         Include <time_r.h>.
59043
59044         * lib/timegm.c: Switch to glibc implementation, with the following
59045         changes:
59046         [defined HAVE_CONFIG_H]: Include <config.h>.
59047         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
59048         (__mktime_internal) [!defined _LIBC]: New decl.
59049         (__gmtime_r) [!defined _LIBC]: New macro and function.
59050         (timegm): Use a prototype, since gnulib assumes C89.
59051         Do not bother declaring tmp to be const, as it's not really usefu.
59052         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
59053         (timegm): Declare only if HAVE_DECL_TIMEGM.
59054
59055 2003-09-06  Paul Eggert  <eggert@twinsun.com>
59056
59057         * MODULES.html.sh (func_all_modules): Add time_r.
59058         * modules/time_r: New file.
59059         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
59060         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
59061
59062 2003-09-03  Paul Eggert  <eggert@twinsun.com>
59063
59064         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
59065         Bug reported by Lute Kamstra in
59066         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
59067
59068         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
59069         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
59070         course with correspondingly smaller numbers for tomorrow and
59071         yesterday.  From Tadayoshi Funaba.  Originally installed into
59072         sh-utils on 1999-08-07, but the patch got lost (I guess during the
59073         coreutils merge?).
59074
59075 2003-08-31  Simon Josefsson  <jas@extundo.com>
59076
59077         * modules/timegm: New file.
59078         * MODULES.html.sh (func_all_modules): Add timegm.
59079
59080 2003-08-31  Simon Josefsson  <jas@extundo.com>
59081
59082         * m4/timegm.m4: New file.
59083
59084 2003-08-31  Simon Josefsson  <jas@extundo.com>
59085
59086         * lib/timegm.h: New file.
59087         * lib/timegm.c: New file.  Based on
59088         wget-1.8.2/src/http.c:mktime_from_utc.
59089
59090 2003-08-31  Karl Berry  <karl@gnu.org>
59091
59092         * lib/argp.h: update from libc.
59093
59094 2003-08-28  Bruno Haible  <bruno@clisp.org>
59095
59096         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
59097         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
59098         followed by '#define fnmatch fnmatch_posix' gives an error.
59099
59100 2003-08-28  Bruno Haible  <bruno@clisp.org>
59101
59102         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
59103         warning on QNX, which defines O_BINARY to 000000.
59104
59105 2003-08-27  Jim Meyering  <jim@meyering.net>
59106
59107         * m4/mkstemp.m4: Require that the system mkstemp be able to create
59108         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
59109         would fail after 32.  Reported by Danny Levinson.  Details here:
59110         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
59111
59112 2003-08-24  Bruno Haible  <bruno@clisp.org>
59113
59114         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
59115         MSVC7 <stdio.h> is included later.
59116
59117 2003-08-22  Simon Josefsson  <jas@extundo.com>
59118
59119         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
59120
59121 2003-08-20  Karl Berry  <karl@gnu.org>
59122
59123         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
59124
59125 2003-08-20  Bruno Haible  <bruno@clisp.org>
59126
59127         * modules/progname: New file.
59128         * MODULES.html.sh (func_all_modules): Add progname.
59129
59130 2003-08-20  Bruno Haible  <bruno@clisp.org>
59131
59132         * lib/progname.h: New file, from GNU gettext.
59133         * lib/progname.c: New file, from GNU gettext.
59134         * lib/progreloc.c: New file, from GNU gettext.
59135
59136 2003-08-19  Jim Meyering  <jim@meyering.net>
59137
59138         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
59139         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
59140
59141 2003-08-19  Bruno Haible  <bruno@clisp.org>
59142
59143         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
59144         more.
59145
59146 2003-08-19  Bruno Haible  <bruno@clisp.org>
59147
59148         * lib/xstrdup.c: Assume <string.h> exists.
59149
59150 2003-08-18  Paul Eggert  <eggert@twinsun.com>
59151
59152         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
59153         in makefile rules.
59154
59155 2003-08-18  Jim Meyering  <jim@meyering.net>
59156
59157         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
59158         * m4/lib-ld.m4: Likewise.
59159
59160 2003-08-18  Jim Meyering  <jim@meyering.net>
59161
59162         * lib/setenv.h: Indent nested cpp directive.
59163         * lib/vasnprintf.c: Remove trailing blanks.
59164
59165 2003-08-17  Simon Josefsson  <jas@extundo.com>
59166
59167         * modules/xstrndup: New file.
59168         * MODULES.html.sh (func_all_modules): Add xstrndup.
59169
59170 2003-08-17  Simon Josefsson  <jas@extundo.com>
59171
59172         * modules/argp: Fix autoconf macro name. Add more dependencies.
59173
59174 2003-08-17  Simon Josefsson  <jas@extundo.com>
59175
59176         * m4/xstrndup.m4: New file.
59177
59178 2003-08-17  Simon Josefsson  <jas@extundo.com>
59179
59180         * m4/argp.m4: New file.
59181
59182 2003-08-17  Simon Josefsson  <jas@extundo.com>
59183             Bruno Haible  <bruno@clisp.org>
59184
59185         * lib/xstrndup.h: New file.
59186         * lib/xstrndup.c: New file.
59187
59188 2003-08-17  Bruno Haible  <bruno@clisp.org>
59189
59190         * modules/strndup (Files, Include): Add lib/strndup.h.
59191
59192 2003-08-17  Bruno Haible  <bruno@clisp.org>
59193
59194         * modules/euidaccess (Files): Add lib/euidaccess.h.
59195
59196 2003-08-17  Bruno Haible  <bruno@clisp.org>
59197
59198         * lib/strndup.h: New file.
59199
59200 2003-08-17  Bruno Haible  <bruno@clisp.org>
59201
59202         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
59203         like AC_GNU_SOURCE.
59204         * modules/extensions (configure.ac): Comment out the invocation of
59205         gl_USE_SYSTEM_EXTENSIONS.
59206
59207 2003-08-16  Paul Eggert  <eggert@twinsun.com>
59208
59209         Merges from coreutils, etc.
59210         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
59211         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
59212         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
59213         fixing a typo.
59214         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
59215         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
59216
59217 2003-08-16  Paul Eggert  <eggert@twinsun.com>
59218
59219         Document merge from coreutils.
59220         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
59221         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
59222         * modules/utime: Add m4/utimes-null.m4.
59223
59224 2003-08-16  Paul Eggert  <eggert@twinsun.com>
59225
59226         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
59227         space, undoing this 2003-08-12 change:
59228         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
59229
59230 2003-08-16  Paul Eggert  <eggert@twinsun.com>
59231
59232         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
59233         strtoul.c from libc, undoing this 2003-08-12 change:
59234         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
59235
59236 2003-08-16  Jim Meyering  <jim@meyering.net>
59237
59238         Merges from coreutils.
59239         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
59240         prefix.  Adjust cache variables similarly.  Create 500 rather than
59241         just 300 files, to exercise bug on Darwin6.5, too.
59242         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
59243         $missing_dir.
59244         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
59245         AM_SYS_POSIX_TERMIOS.
59246         Reported by mkc@mathdogs.com.
59247         Also change use of $am_cv_sys_posix_termios
59248         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
59249         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
59250         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
59251         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
59252         in /proc/mounts until it finds one with matching device number.  This
59253         is unnecessary when the FILE argument *is* a mount point.  No stat call
59254         is necessary in that case.  So, disable the statvfs-testing code on
59255         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
59256         as RedHat bug# 84846.
59257         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
59258         to 1MB, so as not to render systems with no stack size limit (e.g.,
59259         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
59260         Include <unistd.h>.  On some systems,
59261         it is required for the definition of _SC_PAGESIZE.
59262
59263 2003-08-16  Jim Meyering  <jim@meyering.net>
59264
59265         Merge from coreutils.
59266         * lib/xstrtoimax.c: #else #if -> #elif.
59267         * lib/xstrtoumax.c: Likewise.
59268
59269 2003-08-16  Jim Meyering  <jim@meyering.net>
59270
59271         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
59272         * m4/utimes.m4: Removed.
59273         * m4/utimes-null.m4: Renamed from utimes.m4.
59274
59275         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
59276         to 1MB, so as not to render systems with no stack size limit (e.g.,
59277         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
59278         Include <unistd.h>.  On some systems,
59279         it is required for the definition of _SC_PAGESIZE.
59280
59281 2003-08-16  Jim Meyering  <jim@meyering.net>
59282         and Paul Eggert  <eggert@cs.ucla.edu>
59283
59284         Merges from coreutils, etc.
59285
59286         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
59287         using the latest version from cvs.  This avoids problems with #line
59288         directives using a vendor (Sun) compiler.
59289         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
59290         Don't set GETGROUPS_LIB here; now it's
59291         done via getgroups.m4's wrapper function.
59292         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
59293         rather than just in sh-util/configure.in, so that the
59294         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
59295         same.
59296         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
59297         AC_FUNC_GETLOADAVG where to find getloadavg.c.
59298         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
59299         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
59300         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
59301         Remove code that is now done by the newly-required macros.
59302         Append $(EXEEXT) to DF_PROG.
59303         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
59304         Do not invoke or require the following here,
59305         since prereq.m4 or some gnulib .m4 now does this for us:
59306         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
59307         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
59308         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
59309         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
59310         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
59311         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
59312         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
59313         AC_FUNC_OBSTACK.
59314         Do not replace the following functions, as this is now the job
59315         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
59316         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
59317         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
59318         atexit getpass, strdup, getpagesize.
59319         Replace 'raise'.
59320         Do not check for the following functions, as this is now the job
59321         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
59322         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
59323         setregid.
59324         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
59325         Check for sys/sysctl.h.
59326         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
59327         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
59328         of checking for ssize_t ourselves.
59329
59330         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
59331         Require every macro that gnulib/modules/* suggests for us.
59332         (jm_PREREQ_ADDEXT): New macro.
59333         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
59334         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
59335
59336         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
59337         (gl_PHYSMEM): Use it.
59338         Also check for `table' function.
59339         Check for new headers and functions.
59340         Add check for sys/sysmp.h.
59341         With suggestions from Kaveh Ghazi.
59342         Ignore headers that are present but cannot be compiled.  This
59343         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
59344         C 5.4.
59345
59346 2003-08-15  Paul Eggert  <eggert@twinsun.com>
59347
59348         Document merge from coreutils.
59349         * modules/userspec: Depend on posixver.
59350         * modules/strftime: Depend on tzset.
59351
59352 2003-08-15  Paul Eggert  <eggert@twinsun.com>
59353
59354         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
59355         rather than tab, after '#' in shell-script copyright notices.
59356         Suggested by Bruno Haible.
59357
59358 2003-08-15  Paul Eggert  <eggert@twinsun.com>
59359
59360         * config/srclist-update: Use three spaces, rather than tab, after '#'
59361         in shell-script copyright notices.  Suggested by Bruno Haible.
59362         Remove unnecessary parenthesization in regular expression.
59363
59364 2003-08-15  Jim Meyering  <jim@meyering.net>
59365
59366         Merge from coreutils.
59367         * lib/xgethostname.c: Include <stdlib.h>.
59368         (xghostname): Don't exit for anything other than memory-related
59369         failure; just return NULL.
59370         * lib/userspec.c: Include "posixver.h".
59371         (parse_user_spec): Accept `.' as a separator only
59372         in pre-POSIX-200112 mode.
59373         * lib/strtoimax.c: Use #elif rather than #else #if.
59374         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
59375         Remove function, now that we can rely on a working tzset function.
59376         [!_LIBC]: Ensure that the required autoconf test has been run.
59377         [!defined _NL_CURRENT && HAVE_STRFTIME]:
59378         Use underlying_strftime for %r.
59379         * lib/sha.c: Merge in some clean-up and optimization changes from
59380         glibc.
59381         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
59382         Ensure that it is a multiple of 64.
59383         Rearrange loop exit tests so as to avoid performing an
59384         additional fread after encountering an error or EOF.
59385         * lib/realloc.c: Update copyright date.
59386
59387 2003-08-15  Jim Meyering  <jim@meyering.net>
59388         and Paul Eggert  <eggert@twinsun.com>
59389
59390         Merge from coreutils.
59391         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
59392         member but strut utmpx does not.  Needed for AIX 4.3.3.
59393         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
59394
59395 2003-08-15  Jim Meyering  <jim@meyering.net>
59396         and Paul Eggert  <eggert@cs.ucla.edu>
59397
59398         Merges from coreutils, etc.
59399         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
59400         Require gl_FUNC_TZSET_CLOBBER.
59401         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
59402         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
59403         members.
59404
59405 2003-08-14  Paul Eggert  <eggert@twinsun.com>
59406
59407         Help the merge from coreutils.
59408         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
59409         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
59410         * m4/tzset.m4: Use it too.
59411
59412 2003-08-14  Paul Eggert  <eggert@twinsun.com>
59413
59414         * modules/tzset: New file.
59415
59416 2003-08-14  Jim Meyering  <jim@meyering.net>
59417
59418         Merges from coreutils.
59419         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
59420         variable names, rather than @FNMATCH_H@.
59421         * modules/alloca: Likewise for $(ALLOCA_H).
59422
59423         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
59424         the three copies of the literal target, `fnmatch.h'.
59425         * modules/alloca (alloca.h): Likewise.
59426
59427 2003-08-14  Jim Meyering  <jim@meyering.net>
59428
59429         Merge from coreutils.
59430         * m4/tzset.m4: New file.
59431         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
59432         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
59433         otherwise, AIX 5.1 systems would end up using the latter.
59434         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
59435         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
59436         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
59437         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
59438
59439 2003-08-14  Jim Meyering  <jim@meyering.net>
59440
59441         Merge from coreutils.
59442         * lib/obstack.h: Whitespace changes.
59443         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
59444         and xcalloc return values.
59445         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
59446         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
59447         hang on OSF/1 5.1 for DIR on both local and remote file systems.
59448         Reported by (and fix confirmed by) Nelson H. F. Beebe.
59449         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
59450         error from mntctl.
59451         Use mntctl's return value to drive the entry-processing loop, since
59452         we can't rely on the value of the vmt_length member in the last
59453         entry.  On some systems doing so could result in exhausting
59454         virtual memory.  Based in part on a patch from Mike Jetzer.
59455
59456 2003-08-14  Jim Meyering  <jim@meyering.net>
59457         and Paul Eggert  <eggert@twinsun.com>
59458
59459         Merges from coreutils, plus other fixes.
59460         * lib/physmem.c: Merge in portability changes from gcc/libiberty
59461         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
59462         for credits and details.  Thanks to Kaveh Ghazi for helping
59463         to keep these files in sync.
59464         (ARRAY_SIZE): Define it.
59465         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
59466         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
59467         (memcasecmp): Don't assume size_t fits in unsigned int.
59468         Remove casts and duplicate code.
59469         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
59470         (memcpy): Remove definition.
59471         Merge in some clean-up and optimization changes from glibc.
59472         [BLOCKSIZE]: Move definition to top of file.
59473         Ensure that it is a multiple of 64.
59474         Rearrange loop exit tests so as to avoid performing an
59475         additional fread after encountering an error or EOF.
59476         * lib/md5.h (md5_uintptr): Define.
59477         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
59478         return to the initial working directory.  Preserve errno
59479         for caller.
59480         * lib/idcache.c: Include "xalloc.h".
59481         (xmalloc, xrealloc): Remove decls.
59482         (getuser): Remove casts no longer required in C89.
59483         * lib/human.c: Include stdio.h, for sprintf.
59484         * lib/group-member.c: Include "xalloc.h".
59485         (xmalloc, xrealloc): Remove decls.
59486         (get_group_info): Remove casts no longer required in C89.
59487         * lib/getusershell.c (readname): Remove casts no longer required in
59488         C89.
59489         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
59490         * lib/getline.c: Whitespace fix, from coreutils.
59491
59492 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59493
59494         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
59495         Check for isascii.
59496
59497         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
59498         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
59499         Undo previous (whitespace-only) change.
59500
59501 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59502
59503         * lib/exclude.c: Include <ctype.h>
59504         (IN_CTYPE_DOMAIN): New macro.
59505         (is_space): New fn.
59506         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
59507         and empty lines.
59508
59509         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
59510         Undo previous (whitespace-only) change.
59511
59512 2003-08-13  Paul Eggert  <eggert@twinsun.com>
59513
59514         * config/srclist-update: Change update back to the old behavior,
59515         leaving whitespace alone.  Use one 'sed' command rather than a
59516         pipeline.
59517         (fixlicense): Now a variable, not a function.
59518         (remove_trailing_blanks): Remove.
59519         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
59520         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
59521         Undo previous (whitespace-only) change.
59522
59523 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59524
59525         Merge from coreutils.
59526         * modules/euidaccess: Add lib_SOURCES, include for new
59527         file euidaccess.h
59528
59529 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59530
59531         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
59532         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
59533         Normalize leading white space and remove trailing white space.
59534
59535         Merge from coreutils
59536         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
59537
59538         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
59539         0.12.1.  These files are now being upgraded automatically by
59540         ../config/srclist-update.
59541
59542 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59543
59544         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
59545         Normalize leading white space and remove trailing white space.
59546         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
59547         notice, as per ../config/srclist-update.
59548
59549         Merge from coreutils.
59550         * lib/euidaccess.h: New file.
59551         * lib/euidaccess.c: Include it.
59552         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
59553         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
59554         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
59555
59556 2003-08-12  Paul Eggert  <eggert@twinsun.com>
59557
59558         * config/srclist-update: Add copyright notice.
59559         (remove_id_lines, remove_trailing_blanks): New constants.
59560         (fixfile): Use them to normalize spacing a bit in copied files.
59561         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
59562         Normalize leading white space and remove trailing white space.
59563
59564         * config/texinfo.tex: Sync with texinfo.
59565
59566         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
59567         strtoul.c from libc, to merge coreutils whitespace changes.
59568
59569         * config/srclist.txt: Get the following m4 files from gettext:
59570         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
59571         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
59572         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
59573         wint_t.m4.
59574
59575 2003-08-12  Karl Berry  <karl@gnu.org>
59576
59577         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
59578         been made.
59579
59580 2003-08-11  Paul Eggert  <eggert@twinsun.com>
59581
59582         * modules/gnu-source, m4/gnu-source.m4:
59583         Remove; we're assuming Autoconf 2.54 or later now.
59584         Suggested by Bruno Haible.
59585         * MODULES.html.sh (func_all_modules): Remove gnu-source.
59586
59587 2003-08-11  Bruno Haible  <bruno@clisp.org>
59588
59589         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
59590
59591 2003-08-11  Bruno Haible  <bruno@clisp.org>
59592
59593         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
59594         (vasnprintf): Use it instead of wcslen.
59595
59596 2003-08-11  Bruno Haible  <bruno@clisp.org>
59597
59598         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
59599         value to ensure that _Bool promotes to int. Use #define for _Bool when
59600         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
59601
59602 2003-08-10  Karl Berry  <karl@gnu.org>
59603
59604         * lib/regex.h: update from libc (whitespace fix).
59605
59606 2003-08-09  Paul Eggert  <eggert@twinsun.com>
59607
59608         Merge some files from coreutils.  These changes were
59609         originally made by Jim Meyering.
59610         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
59611         many older Unixes require this.
59612         * lib/alloca.c (alloca): Remove cast to argument of free;
59613         no longer needed in C89.
59614         * lib/alloca_.h, regex.h: Fix white space to match
59615         what GNU indent does.
59616
59617 2003-08-09  Paul Eggert  <eggert@twinsun.com>
59618
59619         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
59620         apparently Emacs's Unicode mode got confused before my 2003-08-05
59621         checkin.
59622
59623 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59624
59625         * m4/extensions.m4: New file.
59626         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
59627         Require gl_USE_SYSTEM_EXTENSIONS.
59628         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
59629         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
59630
59631 2003-08-08  Paul Eggert  <eggert@twinsun.com>
59632
59633         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
59634         * modules/extensions, modules/gnu-source: New files.
59635         * modules/timespec, modules/unlocked-io: Depend on extensions.
59636
59637 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59638
59639         * modules/restrict: New file.
59640         * MODULES.html.sh (func_all_modules): Add restrict.
59641         * modules/regex: Depend on restrict.
59642
59643 2003-08-07  Paul Eggert  <eggert@twinsun.com>
59644
59645         * m4/restrict.m4: New file.
59646         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
59647
59648 2003-08-07  Bruno Haible  <bruno@clisp.org>
59649
59650         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
59651         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
59652
59653 2003-08-07  Bruno Haible  <bruno@clisp.org>
59654
59655         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
59656         makes the module 'getndelim2' compatible with the module 'getline'.
59657
59658 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59659
59660         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
59661         byte with "\201" to avoid glitches when editing that source file
59662         with multi-gnome-terminal.
59663
59664 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59665
59666         * lib/bumpalloc.h: Remove.
59667
59668 2003-08-05  Paul Eggert  <eggert@twinsun.com>
59669
59670         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
59671         * modules/bumpalloc: Remove.
59672
59673 2003-08-04  Paul Eggert  <eggert@twinsun.com>
59674
59675         * lib/getloadavg.c: Change copyright notice and spacing to conform to
59676         GNU coding style.
59677
59678         Merge from coreutils.
59679         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
59680         1. From glibc.
59681         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
59682         from Karl Berry, implemented by Jim Meyering.
59683         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
59684         from Dmitry V. Levin.
59685         Remove anachronistic cast of xrealloc.
59686         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
59687         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
59688         type. Otherwise, it wouldn't compile with at least /bin/cc on
59689         ymp-cray-unicos9.0.2.X.
59690         Combine two mostly-identical uses of alloca into one.
59691         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
59692
59693 2003-08-04  Dave Love  <d.love@dl.ac.uk>
59694
59695         [From Emacs.]
59696
59697         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
59698         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
59699         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
59700         obsolete NLIST_NAME_UNION.
59701         [__GNU__]: Undef BSD and FSCALE.
59702         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
59703
59704 2003-08-03  Paul Eggert  <eggert@twinsun.com>
59705
59706         * lib/stdbool_.h (_Bool): Make it signed char, instead of
59707         an enum type, so that it's guaranteed to promote to int.  See:
59708         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
59709
59710 2003-08-03  Karl Berry  <karl@gnu.org>
59711
59712         * config/depcomp: update from automake.
59713
59714 2003-07-31  Paul Eggert  <eggert@twinsun.com>
59715
59716         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
59717         (strerror): Don't assume that a printable int fits in 14 bytes.
59718
59719 2003-07-31  Bruno Haible  <bruno@clisp.org>
59720
59721         * modules/getpass-gnu: New file.
59722         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
59723
59724 2003-07-31  Bruno Haible  <bruno@clisp.org>
59725
59726         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
59727
59728 2003-07-24  Karl Berry  <karl@gnu.org>
59729
59730         * config/missing: update from automake.
59731
59732 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
59733             Bruno Haible  <bruno@clisp.org>
59734
59735         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
59736         * lib/getline.c (getline, getdelim): Likewise.
59737         Remove _GNU_SOURCE define; now it's defined in config.h through
59738         m4/getline.m4.
59739
59740 2003-07-23  Karl Berry  <karl@gnu.org>
59741
59742         * config/config.sub: update from prep.
59743
59744 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59745
59746         * modules/xalloc (Depends-on): Add exitfail.
59747         * modules/xmemcoll: Likewise.
59748
59749 2003-07-22  Paul Eggert  <eggert@twinsun.com>
59750
59751         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
59752         over-parenthesization in macros.
59753
59754         Sync with coreutils.
59755
59756         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
59757         required by C99.
59758
59759         Use `exit_failure' for xalloc and xmemcoll instead of their own
59760         private exit-failure variables.
59761         * lib/xalloc.h (xalloc_exit_failure): Remove.
59762         * lib/xmalloc.c: Likewise.  Include exitfail.h.
59763         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
59764         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
59765         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
59766         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
59767
59768 2003-07-20  Jim Meyering  <jim@meyering.net>
59769
59770         * modules/closeout (Depends-on): Add exitfail.
59771         Suggestion from Bruno Haible.
59772
59773 2003-07-19  Karl Berry  <karl@gnu.org>
59774
59775         * config/config.sub: update from prep.
59776
59777 2003-07-18  Paul Eggert  <eggert@twinsun.com>
59778
59779         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
59780         Remove.
59781         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
59782         to test that it can stand by itself.  Include "exitfail.h".
59783         Clients should set exit_failure instead.
59784         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
59785
59786 2003-07-18  Bruno Haible  <bruno@clisp.org>
59787
59788         * modules/getndelim2: New file.
59789         * modules/getline: Share files with module getndelim2.
59790         * modules/getnline: Depend on getndelim2 instead of sharing files with
59791         it. Add getnline.c to lib_SOURCES.
59792         * MODULES.html.sh (func_all_modules): Add getndelim2.
59793
59794 2003-07-18  Bruno Haible  <bruno@clisp.org>
59795
59796         * m4/getndelim2.m4: New file.
59797         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
59798         invoke gl_PREREQ_GETNDELIM2.
59799         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
59800         gl_PREREQ_GETNDELIM2.
59801         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
59802         gl_GETNDELIM2.
59803
59804 2003-07-18  Bruno Haible  <bruno@clisp.org>
59805
59806         * lib/getndelim2.h: New file.
59807         * lib/getndelim2.c: Make into a module of its own. Include config.h,
59808         getndelim2.h.
59809         (getndelim2): Make non-static. Change return type to ssize_t.
59810         * lib/getline.h: Change argument names.
59811         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
59812         * lib/getnline.c: Include getndelim2.h.
59813
59814 2003-07-18  Andreas Schwab  <schwab@suse.de>
59815
59816         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
59817
59818 2003-07-17  Karl Berry  <karl@gnu.org>
59819
59820         * config/config.sub: update from prep.
59821
59822 2003-07-17  Bruno Haible  <bruno@clisp.org>
59823
59824         * modules/getnline: New file.
59825         * modules/getline: Add lib/getndelim2.c to source file list.
59826         * MODULES.html.sh (func_all_modules): Add getnline.
59827
59828 2003-07-17  Bruno Haible  <bruno@clisp.org>
59829
59830         * m4/getnline.m4: New file.
59831
59832 2003-07-17  Bruno Haible  <bruno@clisp.org>
59833
59834         * m4/Makefile.am.in: Remove file.
59835         * m4/Makefile.am: Remove file.
59836         * m4/Makefile.in: Remove file.
59837
59838 2003-07-17  Bruno Haible  <bruno@clisp.org>
59839
59840         * lib/getnline.h: New file.
59841         * lib/getnline.c: New file.
59842         * lib/getndelim2.c: New file, extracted from getline.c.
59843         (getndelim2): Renamed from getdelim2, with added nmax argument.
59844         * lib/getline.c: Include getndelim2.c.
59845         (getdelim2): Moved out to getndelim2.c.
59846         (getline, getdelim): Update.
59847
59848 2003-07-17  Bruno Haible  <bruno@clisp.org>
59849
59850         * lib/Makefile.am: Remove file.
59851         * lib/Makefile.in: Remove file.
59852
59853 2003-07-17  Bruno Haible  <bruno@clisp.org>
59854
59855         * configure.in: Remove file.
59856         * Makefile.in: Remove file.
59857
59858 2003-07-17  Bruno Haible  <bruno@clisp.org>
59859
59860         * MODULES.html.sh: Put the </BODY> right before </HTML>.
59861
59862 2003-07-16  Karl Berry  <karl@gnu.org>
59863
59864         * config/srclist-update: was running fixlicense twice, which caused
59865                 texinfo.tex to be nullified for some reason.  Simplify,
59866                 $gplsrc is no longer needed as far as I can see?
59867
59868 2003-07-16  Jim Meyering  <jim@meyering.net>
59869
59870         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
59871
59872 2003-07-15  Paul Eggert  <eggert@twinsun.com>
59873
59874         * config/srclist.txt: Get the following files from gettext-runtime/intl
59875         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
59876         ref-del.sin.  From Bruno Haible.
59877         * config/srclist-update (fixfile): Change grep pattern again, since the
59878         previous fix didn't work (there was another trailing $).  Use
59879         '[$]' to escape the $s.
59880
59881 2003-07-15  Karl Berry  <karl@gnu.org>
59882
59883         * lib/vasnprintf.c: update from gettext.
59884
59885 2003-07-15  Karl Berry  <karl@gnu.org>
59886
59887         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
59888         gets expanded when surrounded by '$'.
59889
59890 2003-07-15  Jim Meyering  <jim@meyering.net>
59891
59892         * modules/save-cwd: Don't depend on error.  From Derek Price.
59893
59894 2003-07-15  Jim Meyering  <jim@meyering.net>
59895
59896         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
59897
59898 2003-07-14  Simon Josefsson  <jas@extundo.com>
59899
59900         * modules/mempcpy: New file.
59901         * MODULES.html.sh (func_all_modules): Add mempcpy.
59902
59903 2003-07-14  Simon Josefsson  <jas@extundo.com>
59904
59905         * m4/mempcpy.m4: New file.
59906
59907 2003-07-14  Simon Josefsson  <jas@extundo.com>
59908
59909         * lib/mempcpy.h: New file.
59910         * lib/mempcpy.c: New file.
59911
59912 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59913
59914         * modules/getdate, modules/posixtm: Depend on mktime.
59915
59916 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59917
59918         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
59919         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
59920         unicodeio.c, unicodeio.h, unlocked-io.h:
59921         Switch from LGPL to GPL.
59922
59923 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59924
59925         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
59926         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
59927         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
59928         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
59929         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
59930         updated automatically by ../config/srclist-update.  This changes
59931         their license from LPGL to GPL.
59932
59933 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59934
59935         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
59936         assumed to refer to the root of the most recent stable gettext version.
59937         * config/srclistvars.sh: Add defaults for eggert.
59938         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
59939         Match "This program" as well as "The program".  This is needed
59940         for gettext.
59941
59942 2003-07-14  Jim Meyering  <jim@meyering.net>
59943
59944         Don't emit diagnostics.  Let callers do that.
59945         * lib/save-cwd.c: Don't include "error.h".
59946         (save_cwd): Don't call error.  Ensure that errno is valid
59947         when returning nonzero.
59948
59949         * lib/save-cwd.h (restore_cwd): Update prototype.
59950         * lib/save-cwd.c (restore_cwd): Remove two parameters.
59951         Simplify.  Don't call error upon failure.  Let callers do that.
59952         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
59953         when auditing is enabled.  But don't bother updating the #if.
59954
59955 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
59956
59957         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
59958         it breaks C++ compilation.
59959         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
59960
59961 2003-07-10  Simon Josefsson  <jas@extundo.com>
59962
59963         * modules/strchrnul (Makefile.am): Add strchrnul.h.
59964
59965 2003-07-10  Jim Meyering  <jim@meyering.net>
59966
59967         * m4/clock_time.m4: Remove trailing blank.
59968         * m4/intmax_t.m4: Likewise.
59969
59970 2003-07-10  Jim Meyering  <jim@meyering.net>
59971
59972         * lib/vasnprintf.c: Remove trailing blanks.
59973         Make cpp indentation consistent.
59974
59975 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59976
59977         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
59978         posixver.c, strftime.c, strnlen.c, strverscmp.c:
59979         Switch from LGPL to GPL.
59980
59981 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59982
59983         * config/srclist.txt: Sort sublists.  Add
59984         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
59985         that differ from gnulib for one reason or another; we'd like this list
59986         to be smaller but for now let's document what we have.
59987
59988 2003-07-08  Paul Eggert  <eggert@twinsun.com>
59989
59990         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
59991         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
59992         and sweeter "eval x=$x".
59993         * config/srclist.txt: Get lib/argp* from glibc.
59994
59995 2003-07-07  Paul Eggert  <eggert@twinsun.com>
59996
59997         * lib/mktime.c: Fix some boundary cases and remove need for floating
59998         point.
59999
60000         Issue a compile-time diagnostic if time_t is floating point, or if
60001         two's complement arithmetic is not in effect, or if arithmetic
60002         right shift does not propagate the sign.  These assumptions were
60003         all in the original code but they weren't checked.
60004
60005         (TIME_T_MIDPOINT, verify): New macros.
60006         (__isleap): Remove; it has integer overflow problems.
60007         (leapyear): New function, without those problems.
60008         (ydhms_tm_diff): Remove; splitting into two parts.
60009         (ydhms_diff): New function, containing the arithmetic part of
60010         the old ydhms_tm_diff function.  Issue a compile-time
60011         diagnostic if we are not using C99 integer division.
60012         Avoid casts when possible.
60013         (guess_time_tm): New function, containing the checking part of
60014         the old ydhms_tm_diff function.  Return the new value, rather than
60015         the difference between it and the old.  Accept a new argument T
60016         so that *T specifies the old value.  Check for overflow in the result.
60017
60018         (__mktime_internal): Use a time_t offset, not a long int offset.
60019         This undoes the 2003-06-04 change, which is no longer needed now
60020         that we have better overflow checking.
60021         (localtime_offset): Likewise.
60022
60023         (__mktime_internal): Avoid harmful overflow on hosts where time_t
60024         and long are 64-bit but int is only 32-bit.
60025         (ydhms_diff): Use long int to store year1 and yday1.
60026         Issue a compile-time diagnostic if long int is not wide enough.
60027
60028         (__mktime_internal): Use long int to store adjusted year and yday.
60029         Use plain C rather than preprocessor commands, if that doesn't
60030         affect efficiency.
60031         Check for overflow (and try to repair) after each probe
60032         rather than checking only at the very end.  This avoids some bugs
60033         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
60034         does not equal GMT offset at maximum time).
60035         Use integer to check for overflow rather than floating point; this
60036         is more portable to non-IEEE hosts, and is a tad faster.
60037         When we detect that we are oscillating between two values,
60038         don't check whether tm_isdst has the requested value, since
60039         we already know the answer.  When tm_isdst has the wrong value,
60040         use a different heuristic to find the right one, based on the
60041         extreme values actually observed in practice in tz2003a,
60042         rather than the (overly optimistic) "previous 3 calendar quarters".
60043
60044         (not_equal_tm, print_tm, check_result): Use "const T" rather than
60045         "T const" to accommodate glibc style.
60046         (check_result): Use less-confusing report format.  "long" -> "long int.
60047         (main): Likewise.
60048         Don't loop if the iteration overflows time_t.
60049         Allow a negative step in the iteration.
60050
60051 2003-07-06  Karl Berry  <karl@gnu.org>
60052
60053         * config/depcomp: update from automake.
60054         * config/config.sub: update from prep.
60055
60056 2003-07-03  Karl Berry  <karl@gnu.org>
60057
60058         * config/config.guess: update from prep.
60059
60060 2003-07-01  Paul Eggert  <eggert@twinsun.com>
60061
60062         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
60063         xreadlink.c now includes it unconditionally.
60064
60065 2003-07-01  Paul Eggert  <eggert@twinsun.com>
60066
60067         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
60068         having it depend on HAVE_SYS_TYPES_H.
60069
60070 2003-07-01  Bruno Haible  <bruno@clisp.org>
60071
60072         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
60073         <sys/types.h> should be sufficient.
60074         Reported by Paul Eggert.
60075
60076 2003-06-26  Karl Berry  <karl@gnu.org>
60077
60078         * config/depcomp: update from automake.
60079
60080 2003-06-26  Bruno Haible  <bruno@clisp.org>
60081
60082         * modules/human: Depend on module stdbool.
60083
60084 2003-06-25  Bruno Haible  <bruno@clisp.org>
60085
60086         * modules/readlink: New file.
60087         * modules/xreadlink: Depend on it.
60088         * MODULES.html.sh (func_all_modules): Add readlink.
60089
60090 2003-06-25  Bruno Haible  <bruno@clisp.org>
60091
60092         * m4/readlink.m4: New file.
60093
60094 2003-06-25  Bruno Haible  <bruno@clisp.org>
60095
60096         * lib/readlink.c: New file.
60097
60098 2003-06-22  Karl Berry  <karl@gnu.org>
60099
60100         * config/srclist.txt: update mkinstalldirs from automake.
60101         * config/mkinstalldirs: update.
60102
60103 2003-06-22  Bruno Haible  <bruno@clisp.org>
60104
60105         Portability to mingw32.
60106         * m4/ssize_t.m4: New file, from GNU gettext.
60107         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
60108         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
60109
60110 2003-06-22  Bruno Haible  <bruno@clisp.org>
60111
60112         * modules/safe-read: Add m4/ssize_t.m4.
60113         * modules/xreadlink: Add m4/ssize_t.m4.
60114
60115 2003-06-20  Bruno Haible  <bruno@clisp.org>
60116
60117         Assume C89, so PARAMS isn't needed.
60118         * lib/unicodeio.h (PARAMS): Remove.
60119         * lib/unicodeio.c: Don't use PARAMS.
60120
60121 2003-06-18  Karl Berry  <karl@gnu.org>
60122
60123         * config/config.{guess,sub}: update from prep.
60124
60125 2003-06-18  Jim Meyering  <jim@meyering.net>
60126
60127         Merge changes from coreutils.
60128         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
60129         Remove explicit declarations of xmalloc and realloc.
60130         Include xalloc.h.
60131         (read_utmp): Remove anachronistic cast of xmalloc.
60132
60133 2003-06-17  Paul Eggert  <eggert@twinsun.com>
60134
60135         Assume C89, so PARAMS isn't needed.
60136         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
60137         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
60138         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
60139         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
60140         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
60141         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
60142         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
60143         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
60144         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
60145         lib/xstrtod.h, lib/xstrtol.h: Likewise.
60146         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
60147         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
60148         no longer needed. Anyway, config.h should always be included before any
60149         other file.
60150
60151 2003-06-11  Simon Josefsson  <jas@extundo.com>
60152
60153         * modules/sysexits: New file.
60154         * MODULES.html.sh (func_all_modules): Add sysexits.
60155
60156 2003-06-11  Simon Josefsson  <jas@extundo.com>
60157
60158         * lib/sysexit_.h: New file.
60159
60160 2003-06-11  Derek Price  <derek@ximbiot.com>
60161
60162         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
60163         necessary.
60164
60165 2003-06-11  Bruno Haible  <bruno@clisp.org>
60166
60167         * m4/sysexits.m4: New file.
60168
60169 2003-06-10  Simon Josefsson  <jas@extundo.com>
60170
60171         * lib/argp.h: New file, from glibc.
60172         * lib/argp-ba.c: New file, from glibc.
60173         * lib/argp-eexst.c: New file, from glibc.
60174         * lib/argp-fmtstream.c: New file, from glibc.
60175         * lib/argp-fmtstream.h: New file, from glibc.
60176         * lib/argp-fs-xinl.c: New file, from glibc.
60177         * lib/argp-help.c: New file, from glibc.
60178         * lib/argp-namefrob.h: New file, from glibc.
60179         * lib/argp-parse.c: New file, from glibc.
60180         * lib/argp-pv.c: New file, from glibc.
60181         * lib/argp-pvh.c: New file, from glibc.
60182         * lib/argp-xinl.c: New file, from glibc.
60183
60184 2003-06-10  Simon Josefsson  <jas@extundo.com>
60185
60186         * modules/strchrnul: New file.
60187
60188 2003-06-10  Simon Josefsson  <jas@extundo.com>
60189
60190         * modules/argp: New file.
60191
60192 2003-06-10  Simon Josefsson  <jas@extundo.com>
60193
60194         * m4/strchrnul.m4: New file.
60195
60196 2003-06-10  Simon Josefsson  <jas@extundo.com>
60197
60198         * lib/strchrnul.h: New file.
60199         * lib/strchrnul.c: New file.
60200
60201 2003-06-10  Bruno Haible  <bruno@clisp.org>
60202
60203         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
60204
60205 2003-06-07  Karl Berry  <karl@gnu.org>
60206
60207         * config/config.{guess,sub}: update from prep.
60208
60209 2003-06-07  Jim Meyering  <jim@meyering.net>
60210
60211         * modules/strtod: Use $(...) notation, not @...@ for
60212         AC_REPLACE'd variables.
60213         * modules/localcharset: Likewise.
60214
60215 2003-06-07  Jim Meyering  <jim@meyering.net>
60216
60217         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
60218         in place of my name in the copyright comment.
60219         Remove definition and uses of __P.
60220
60221         From coreutils.
60222         * lib/stat.c: Don't declare xmalloc explicitly.
60223         Instead, include "xalloc.h".
60224         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
60225         xrealloc, and xcalloc return values.
60226         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
60227         Improve comment.
60228         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
60229
60230 2003-06-07  Bruno Haible  <bruno@clisp.org>
60231
60232         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
60233         avoid AC_CONFIG_LINKS.
60234         * modules/fnmatch (Makefile.am): Use explicit creation rule for
60235         fnmatch.h, to avoid AC_CONFIG_LINKS.
60236         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
60237
60238 2003-06-07  Bruno Haible  <bruno@clisp.org>
60239
60240         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
60241         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
60242         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
60243         directory.
60244         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
60245         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
60246         directory.
60247
60248 2003-06-06  Jim Meyering  <jim@meyering.net>
60249
60250         Merge from coreutils.
60251         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
60252         Consolidate declarations and initializations of *_base* locals.
60253
60254         Merge from coreutils.
60255         This avoids a core dump on systems without GNU putenv,
60256         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
60257         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
60258         (unsetenv): New static function, from GNU libc.
60259         (rpl_putenv): Use it.
60260
60261         * lib/modechange.c: Remove trailing blanks.
60262
60263         Merge from coreutils.
60264         * lib/fsusage.c: Remove declaration of statfs.
60265         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
60266
60267         * lib/posixtm.c: Include <stdbool.h> unconditionally.
60268
60269 2003-06-06  Jim Meyering  <jim@meyering.net>
60270
60271         * lib/stdbool_.h: Renamed from stdbool.h.in.
60272
60273 2003-06-06  Jim Meyering  <jim@meyering.net>
60274             Bruno Haible  <bruno@clisp.org>
60275
60276         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
60277         Adjust Makefile.am snippet not to redirect directly to target.
60278         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
60279
60280 2003-06-05  Paul Eggert  <eggert@twinsun.com>
60281
60282         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
60283         mismatch, look in future quarters as well as past.  This fixes a
60284         bug when processing fall-backwards gaps immediately after a long
60285         period of daylight-saving time.
60286
60287         * lib/mktime.c: Assume freestanding C89 or better.
60288         (HAVE_LIMITS_H): Remove.  Assume it's 1.
60289         (__P): Remove; not used.
60290         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
60291         (mktime, not_equal_tm, print_tm, check_result,
60292         main): Use prototypes.  Use const * where appropriate.
60293         (main): Fix typo in testing code that uncovered by above changes.
60294         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
60295
60296 2003-06-04  Paul Eggert  <eggert@twinsun.com>
60297
60298         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
60299         locale.h, localeconv.  This merges changes from coreutils.
60300
60301         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
60302         It can be removed after the next Autoconf is released.
60303         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
60304         needed.
60305
60306 2003-06-04  Paul Eggert  <eggert@twinsun.com>
60307
60308         * lib/mktime.c: Fix Debian bug 177940
60309         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
60310         (localtime_offset): Now long int, not time_t, because we want it
60311         to be guaranteed to be signed.  All uses changed.
60312         (__mktime_internal): If overflow would occur when adding offset,
60313         don't add it.
60314
60315         Merge 'human' changes from coreutils.  Rewrite to support
60316         locale-specific notations like thousands separators.
60317         * lib/human.c: Simplify authorship notice.
60318         Include human.h immediately after config.h.
60319         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
60320         <limits.h>: Do not include, since human.h does.
60321         (SIZE_MAX, UINTMAX_MAX): New macros.
60322         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
60323         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
60324         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
60325         (power_letter): Renamed from suffixes.
60326         (generate_suffix_backwards): Remove.
60327         (adjust_value): Now takes int style (because of human.h changes)
60328         and long double value (for greater precision on some platforms).
60329         (group_number): New function.
60330         (human_readable): Use it.  Use integer options, not enum.
60331         Put the options before the sizes in the arg list.
60332         Support all the new options.
60333         The old human_readable function has been removed;
60334         use inttostr.h instead.
60335         (human_readable, default_block_size, humblock):
60336         Use uintmax_t, not int, for block sizes.
60337         (human_readable_inexact, block_size_types): Remove.
60338         (block_size_opts): New constant.
60339         (human_options): Renamed from human_block_size, with new signature
60340         that allows block sizes up to UINTMAX_MAX.  All callers changed.
60341         * lib/human.h: Add copyright and authorship notice.
60342         Include <limits.h> and <stdbool.h> unconditionally.
60343         (PARAMS): Remove.  All uses removed.
60344         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
60345         (enum human_inexact_style): Remove tag; now a nameless enum.
60346         (human_floor, human_ceiling, human_round_to_even): Now have
60347         values 2, 0, 1 rather than -1, 1, 0.
60348         (human_group_digits, human_suppress_point_zero, human_autoscale,
60349         human_base_1024, human_SI, human_B): New constants.
60350         (human_readable_inexact, human_block_size): Remove.
60351         (human_readable): Size args are now uintmax_t, not int.
60352         (human_options): New decl.
60353
60354         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
60355         unnecessary now that we assume C89 or better.  This change
60356         imported from coreutils.
60357
60358         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
60359         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
60360         in the 2003-05-30 sync from glibc.
60361
60362         .h files should stand alone, but we shouldn't include <sys/types.h>
60363         if we can get away with just <stddef.h>.
60364
60365         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
60366         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
60367         rather than <sys/types.h>, as we merely need size_t.
60368         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
60369         to get size_t.
60370         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
60371         Include <stdio.h>, to get FILE.
60372         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
60373         memcasecmp.h has included <stddef.h> and all we need is size_t.
60374         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
60375         our interface, instead of including <sys/types.h>
60376
60377 2003-06-04  Paul Eggert  <eggert@twinsun.com>
60378
60379         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
60380         now, as glibc mktime is buggy on non-glibc systems.
60381
60382 2003-06-03  Karl Berry  <karl@gnu.org>
60383
60384         * config/config.sub: update from prep.
60385
60386 2003-06-02  Paul Eggert  <eggert@twinsun.com>
60387
60388         [from coreutils]
60389         Fix some minor time-related bugs with POSIX time arguments.
60390         Some valid time stamps were being rejected (notably -1, and
60391         time stamps before 1900 on 64-bit hosts).  And some invalid
60392         time stamps were being accepted, e.g. September 31.
60393
60394         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
60395         that we can return (time_t) -1 successfully.
60396         * lib/posixtm.c: Likewise.
60397         [HAVE_STDBOOL_H]: Include <stdbool.h>.
60398         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
60399         (t): Remove static var.
60400         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
60401         of static var.  All uses changed.
60402         (year): Do not reject years before 1900; they can occur with
60403         64-bit time_t.
60404         (posix_time_parse): Do not check for out-of-range components;
60405         that is now the caller's responsibility, since our checks were
60406         only approximations.
60407         (posixtime): Use mktime to check for out-of-range components,
60408         since it knows them exactly.
60409         If mktime returns (time_t) -1, check whether an error actually occurred
60410         by invoking localtime on -1.
60411         (main) [TEST_POSIXTIME]: Check for input data errors, and report
60412         posixtime failures better.
60413         Improve the test data (in comments only).
60414
60415 2003-06-02  Karl Berry  <karl@gnu.org>
60416
60417         * config/mkinstalldirs (version): new variable.
60418         (--version): new option.
60419         (usage): improve message.
60420
60421 2003-05-30  Karl Berry  <karl@gnu.org>
60422
60423         * lib/mktime.c: update from libc.
60424
60425 2003-05-30  Bruno Haible  <bruno@clisp.org>
60426
60427         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
60428         * config/config.rpath: Upgrade to gettext-0.12.1.
60429
60430 2003-05-30  Bruno Haible  <bruno@clisp.org>
60431
60432         * m4/gettext.m4: Upgrade to gettext-0.12.1.
60433         * m4/nls.m4: New file, from gettext-0.12.1.
60434         * m4/po.m4: New file, from gettext-0.12.1.
60435         * m4/progtest.m4: Upgrade to gettext-0.12.1.
60436
60437 2003-05-30  Bruno Haible  <bruno@clisp.org>
60438
60439         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
60440         * lib/localcharset.h: Likewise.
60441         * lib/localcharset.c: Likewise.
60442
60443 2003-05-29  Karl Berry  <karl@gnu.org>
60444
60445         * config/config.rpath: update from gettext.
60446
60447 2003-05-28  Paul Eggert  <eggert@twinsun.com>
60448
60449         Assume the headers required for C89 freestanding compilers.
60450         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
60451         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
60452         * m4/human.m4 (gl_HUMAN): Likewise.
60453         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
60454         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
60455         * m4/userspec.m4 (gl_USERSPEC): Likewise.
60456         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
60457         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60458         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
60459
60460 2003-05-28  Paul Eggert  <eggert@twinsun.com>
60461
60462         Assume the headers required for C89 freestanding compilers.
60463         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
60464         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
60465         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
60466         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
60467         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
60468         define, since <limits.h> is guaranteed to do that.
60469         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
60470         * lib/exclude.c: Include <stdbool.h> unconditionally.
60471         * lib/tempname.c: Include <stddef.h> unconditionally.
60472         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
60473         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
60474         <stddef.h> does that.
60475         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
60476         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
60477         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
60478         needed.
60479         * lib/xstrtol.c: Likewise.
60480         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
60481         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
60482
60483         * lib/addext.c (addext): Use assignment rather than cast, to avoid
60484         warnings on some platforms.
60485
60486         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
60487         arbitrarily.
60488
60489 2003-05-26  Jim Meyering  <jim@meyering.net>
60490
60491         Merge in a change from coreutils:
60492         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
60493         that is guaranteed to be `no'.  Use `no_such_member' to indicate
60494         that condition, rather than `-1' which is slightly misleading.
60495         Change the name of the cache variable to have the gl_ prefix.
60496         Prompted by a patch from Richard Dawe for DJGPP.
60497
60498 2003-05-24  Karl Berry  <karl@gnu.org>
60499
60500         * config/config.guess: update from prep.
60501
60502 2003-05-22  Karl Berry  <karl@gnu.org>
60503
60504         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
60505
60506 2003-05-20  Karl Berry  <karl@gnu.org>
60507
60508         * config/config.guess: update from prep.
60509
60510 2003-05-18  Karl Berry  <karl@gnu.org>
60511
60512         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
60513         might actually be set by the user.
60514
60515         * config/depcomp, install-sh, mdate-sh: update from automake.
60516
60517 2003-05-17  Bruno Haible  <bruno@clisp.org>
60518
60519         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
60520         invalid expansion for AC_EGREP_CPP.
60521         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
60522         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
60523         Suggested by Akim Demaille <akim@epita.fr> in
60524         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
60525
60526 2003-05-12  Jim Meyering  <jim@meyering.net>
60527
60528         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
60529         the space-padded-by-default conversion specifiers, %e, %k, %l.
60530
60531 2003-05-12  Bruno Haible  <bruno@clisp.org>
60532
60533         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
60534         the string is longer than 4 KB.
60535
60536 2003-05-11  Karl Berry  <karl@gnu.org>
60537
60538         * config/config.{guess,sub}: update from prep.
60539
60540 2003-05-09  Bruno Haible  <bruno@clisp.org>
60541
60542         * modules/error: Add m4/strerror_r.m4 to file list.
60543
60544 2003-05-03  Bruno Haible  <bruno@clisp.org>
60545
60546         Upgrade to Unicode-4.0.
60547         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
60548         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
60549         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
60550         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
60551         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
60552         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
60553         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
60554         Change width of U+E0100..U+E01EF from 1 to 0.
60555
60556 2003-04-25  Jim Meyering  <jim@meyering.net>
60557
60558         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
60559         of type size_t, not int.
60560
60561 2003-04-25  Bruno Haible  <bruno@clisp.org>
60562
60563         * lib/copy-file.c: Include <stddef.h>, for size_t.
60564
60565 2003-04-21  Paul Eggert  <eggert@twinsun.com>
60566
60567         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
60568         code which expansion is under static control.  Patch imported from
60569         Akim Demaille's patch to Bison; see
60570         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
60571
60572 2003-04-14  Bruno Haible  <bruno@clisp.org>
60573
60574         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
60575
60576 2003-04-11  Jim Meyering  <jim@meyering.net>
60577
60578         Merge changes from Coreutils.
60579
60580         2003-03-22  Jim Meyering  <jim@meyering.net>
60581
60582         * lib/strftime.c (widen): Cast alloca return value to proper type.
60583
60584         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
60585
60586         From GNU libc.
60587         * lib/strftime.c (my_strftime): Handle very large width
60588         specifications for numeric values correctly.  Improve checks for
60589         overflow.
60590
60591         2003-01-19  Jim Meyering  <jim@meyering.net>
60592
60593         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
60594         definitions.
60595         (nl_get_alt_digit) [! defined my_strftime]: Define.
60596         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
60597         _nl_get_alt_digit and _nl_get_walt_digit.
60598
60599         * lib/strftime.c (my_strftime): Merge in locale-related changes from
60600         libc. These changes have no effect outside of _LIBC.
60601
60602 2003-04-10  Bruno Haible  <bruno@clisp.org>
60603
60604         * modules/findprog: New file.
60605         * MODULES.html.sh (func_all_modules): Add it.
60606
60607 2003-04-10  Bruno Haible  <bruno@clisp.org>
60608
60609         * m4/findprog.m4: New file.
60610         * m4/eaccess.m4: New file.
60611
60612 2003-04-10  Bruno Haible  <bruno@clisp.org>
60613
60614         * lib/findprog.h: New file, from GNU gettext.
60615         * lib/findprog.c: New file, from GNU gettext.
60616
60617 2003-04-05  Jim Meyering  <jim@meyering.net>
60618
60619         Merge changes from Coreutils.
60620
60621         * lib/exclude.h (PARAMS): Remove definition and uses.
60622         * lib/exclude.c: Remove uses of `PARAMS'.
60623
60624         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
60625         Add test-cases for DOS filenames. Declare program_name.
60626         (main): Set up program_name.  Patch by Rich Dawe.
60627
60628         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
60629         error from mntctl.
60630         Use mntctl's return value to drive the entry-processing loop, since
60631         we can't rely on the value of the vmt_length member in the last
60632         entry.  On some systems doing so could result in exhausting
60633         virtual memory.  Based in part on a patch from Mike Jetzer.
60634
60635 2003-04-04  Bruno Haible  <bruno@clisp.org>
60636
60637         * modules/linebreak: New file.
60638         * MODULES.html.sh (func_all_modules): Add it.
60639
60640 2003-04-04  Bruno Haible  <bruno@clisp.org>
60641
60642         * m4/linebreak.m4: New file.
60643
60644 2003-04-04  Bruno Haible  <bruno@clisp.org>
60645
60646         * lib/linebreak.h: New file, from GNU gettext.
60647         * lib/linebreak.c: New file, from GNU gettext with slight
60648         modifications.
60649         * lib/lbrkprop.h: New file, from GNU gettext.
60650
60651 2003-04-03  Bruno Haible  <bruno@clisp.org>
60652
60653         * modules/utf8-ucs4: New file.
60654         * modules/utf16-ucs4: New file.
60655         * modules/ucs4-utf8: New file.
60656         * modules/ucs4-utf16: New file.
60657         * MODULES.html.sh (func_all_modules): Add them.
60658
60659 2003-04-03  Bruno Haible  <bruno@clisp.org>
60660
60661         * m4/utf-ucs4.m4: New file.
60662         * m4/ucs4-utf.m4: New file.
60663
60664 2003-04-03  Bruno Haible  <bruno@clisp.org>
60665
60666         * lib/utf8-ucs4.h: New file, from GNU gettext.
60667         * lib/utf16-ucs4.h: New file, from GNU gettext.
60668         * lib/ucs4-utf8.h: New file, from GNU gettext.
60669         * lib/ucs4-utf16.h: New file, from GNU gettext.
60670
60671 2003-04-02  Bruno Haible  <bruno@clisp.org>
60672
60673         * modules/binary-io: New file.
60674         * MODULES.html.sh (func_all_modules): Add it.
60675
60676 2003-04-02  Bruno Haible  <bruno@clisp.org>
60677
60678         * lib/binary-io.h: New file, from GNU gettext.
60679
60680 2003-04-01  Bruno Haible  <bruno@clisp.org>
60681
60682         * modules/pathname: New file.
60683         * MODULES.html.sh (func_all_modules): Add it.
60684
60685 2003-04-01  Bruno Haible  <bruno@clisp.org>
60686
60687         * lib/pathname.h: New file, from GNU gettext.
60688         * lib/concatpath.c: New file, from GNU gettext.
60689
60690 2003-03-30  Bruno Haible  <bruno@clisp.org>
60691
60692         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
60693
60694 2003-03-30  Bruno Haible  <bruno@clisp.org>
60695
60696         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
60697         function chown() doesn't exist.
60698
60699 2003-03-28  Bruno Haible  <bruno@clisp.org>
60700
60701         * modules/copy-file: New file.
60702         * MODULES.html.sh (func_all_modules): Add it.
60703
60704 2003-03-28  Bruno Haible  <bruno@clisp.org>
60705
60706         * m4/copy-file.m4: New file.
60707
60708 2003-03-28  Bruno Haible  <bruno@clisp.org>
60709
60710         * lib/copy-file.h: New file, from GNU gettext.
60711         * lib/copy-file.c: New file, from GNU gettext.
60712
60713 2003-03-18  Jim Meyering  <jim@meyering.net>
60714
60715         * lib/quote.c (quote_n): Fix typo in comment.
60716
60717 2003-03-18  Bruno Haible  <bruno@clisp.org>
60718
60719         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
60720         checking.
60721         * m4/onceonly_2_57.m4: Likewise.
60722
60723 2003-03-17  Bruno Haible  <bruno@clisp.org>
60724
60725         * m4/onceonly.m4: Require autoconf 2.54 or newer.
60726         (m4_quote): Remove macro.
60727         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
60728
60729 2003-03-14  Jim Meyering  <jim@meyering.net>
60730
60731         Merge changes from Coreutils.
60732         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
60733         to be const, in order to avoid warnings.
60734         (obstack_room): Likewise.
60735         (obstack_empty_p): Likewise.
60736
60737 2003-03-14  Bruno Haible  <bruno@clisp.org>
60738
60739         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
60740         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
60741
60742 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60743
60744         Merge changes from Bison.
60745         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
60746         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
60747         when compiling Bison 1.875's `bitset bset = obstack_alloc
60748         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
60749         * lib/hash.c: Include <stdbool.h> unconditionally.
60750
60751 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60752
60753         * m4/onceonly.m4 (m4_quote): New macro.
60754         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
60755         Quote AC_FOREACH variable-expansions properly.
60756
60757 2003-03-13  Paul Eggert  <eggert@twinsun.com>
60758
60759         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
60760
60761 2003-03-09  Paul Eggert  <eggert@twinsun.com>
60762
60763         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
60764         Reported by Bruce Becker; see:
60765         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
60766
60767 2003-03-03  Paul Eggert  <eggert@twinsun.com>
60768             Bruno Haible  <bruno@clisp.org>
60769
60770         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
60771         Reported by John Hughes, see
60772         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
60773
60774 2003-02-20  Bruno Haible  <bruno@clisp.org>
60775
60776         * MODULES.html.sh (func_all_modules): Add poll.
60777
60778 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60779
60780         * modules/poll: New file.
60781
60782 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60783
60784         * lib/poll_.h: New file.
60785         * lib/poll.c: New file.
60786
60787 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
60788
60789         * m4/poll.m4: New file.
60790
60791 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60792
60793         * modules/mathl: New file.
60794
60795 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60796
60797         * lib/mathl.h: New file.
60798         * lib/acosl.c: New file.
60799         * lib/asinl.c: New file.
60800         * lib/atanl.c: New file.
60801         * lib/ceill.c: New file.
60802         * lib/cosl.c: New file.
60803         * lib/expl.c: New file.
60804         * lib/floorl.c: New file.
60805         * lib/frexpl.c: New file.
60806         * lib/ldexpl.c: New file.
60807         * lib/logl.c: New file.
60808         * lib/sincosl.c: New file.
60809         * lib/sinl.c: New file.
60810         * lib/sqrtl.c: New file.
60811         * lib/tanl.c: New file.
60812         * lib/trigl.c: New file.
60813         * lib/trigl.h: New file.
60814
60815 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60816
60817         * m4/mathl.m4: New file.
60818
60819 2003-02-18  Bruno Haible  <bruno@clisp.org>
60820
60821         * MODULES.html.sh (func_all_modules): Add mathl.
60822
60823 2003-02-17  Bruno Haible  <bruno@clisp.org>
60824
60825         * modules/mkdtemp: New module.
60826         * MODULES.html.sh (func_all_modules): Add it.
60827
60828 2003-02-17  Bruno Haible  <bruno@clisp.org>
60829
60830         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
60831
60832 2003-02-17  Bruno Haible  <bruno@clisp.org>
60833
60834         * lib/mkdtemp.h: New file, from GNU gettext.
60835         * lib/mkdtemp.c: New file, from GNU gettext.
60836
60837 2003-02-02  Jim Meyering  <jim@meyering.net>
60838
60839         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
60840         e.g. glibc-2.2.93.
60841
60842 2003-01-31  Bruno Haible  <bruno@clisp.org>
60843
60844         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
60845         'rpl_rename'.
60846         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
60847         'rpl_strnlen'.
60848         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
60849         'rpl_strtod'.
60850         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
60851         'rpl_utime'.
60852
60853 2003-01-31  Bruno Haible  <bruno@clisp.org>
60854
60855         * lib/rename.c: #undef rename before defining rpl_rename.
60856         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
60857
60858 2003-01-30  Bruno Haible  <bruno@clisp.org>
60859
60860         * modules/vasnprintf, modules/vasprintf: New modules.
60861         * MODULES.html.sh (func_all_modules): Add them.
60862
60863 2003-01-30  Bruno Haible  <bruno@clisp.org>
60864
60865         * m4/signed.m4: New file, from GNU gettext.
60866         * m4/longdouble.m4: New file, from GNU gettext.
60867         * m4/wchar_t.m4: New file, from GNU gettext.
60868         * m4/wint_t.m4: New file, from GNU gettext.
60869         * m4/vasnprintf.m4: New file.
60870         * m4/vasprintf.m4: New file.
60871
60872 2003-01-30  Bruno Haible  <bruno@clisp.org>
60873
60874         * lib/printf-args.h: New file, from GNU gettext.
60875         * lib/printf-args.c: New file, from GNU gettext.
60876         * lib/printf-parse.h: New file, from GNU gettext.
60877         * lib/printf-parse.c: New file, from GNU gettext.
60878         * lib/vasnprintf.h: New file, from GNU gettext.
60879         * lib/vasnprintf.c: New file, from GNU gettext.
60880         * lib/asnprintf.c: New file, from GNU gettext.
60881         * lib/vasprintf.h: New file, from GNU gettext with modifications.
60882         * lib/vasprintf.c: New file, from GNU gettext.
60883         * lib/asprintf.c: New file, from GNU gettext.
60884
60885 2003-01-29  Bruno Haible  <bruno@clisp.org>
60886
60887         * modules/stpncpy: New module.
60888         * MODULES.html.sh (func_all_modules): Add it.
60889
60890 2003-01-29  Bruno Haible  <bruno@clisp.org>
60891
60892         * m4/stpncpy.m4: New file.
60893
60894 2003-01-29  Bruno Haible  <bruno@clisp.org>
60895
60896         * lib/stpncpy.h: New file, from GNU gettext with modifications.
60897         * lib/stpncpy.c: New file, from GNU gettext with modifications.
60898
60899 2003-01-28  Bruno Haible  <bruno@clisp.org>
60900
60901         * modules/c-ctype: New module.
60902         * MODULES.html.sh (func_all_modules): Add it.
60903
60904 2003-01-28  Bruno Haible  <bruno@clisp.org>
60905
60906         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
60907         Paul Eggert.
60908         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
60909         Paul Eggert.
60910
60911 2003-01-27  Bruno Haible  <bruno@clisp.org>
60912
60913         * modules/xsetenv: New module.
60914         * MODULES.html.sh (func_all_modules): Add it.
60915
60916 2003-01-27  Bruno Haible  <bruno@clisp.org>
60917
60918         * lib/xsetenv.h: New file, from GNU gettext.
60919         * lib/xsetenv.c: New file, from GNU gettext.
60920
60921 2003-01-23  Jim Meyering  <jim@meyering.net>
60922
60923         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
60924         from working on systems without dirfd (at least Irix and OSF1/Tru64).
60925
60926 2003-01-23  Bruno Haible  <bruno@clisp.org>
60927
60928         * modules/minmax: New module.
60929         * MODULES.html.sh (func_all_modules): Add it.
60930
60931 2003-01-23  Bruno Haible  <bruno@clisp.org>
60932
60933         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
60934         Eggert.
60935
60936 2003-01-22  Bruno Haible  <bruno@clisp.org>
60937
60938         * modules/exit: New module.
60939         * MODULES.html.sh (func_all_modules): Add it.
60940
60941 2003-01-22  Bruno Haible  <bruno@clisp.org>
60942
60943         * lib/exit.h: New file, from GNU gettext.
60944
60945 2003-01-19  Bruno Haible  <bruno@clisp.org>
60946
60947         * gnulib-tool: Recognize option --extract-maintainer.
60948         (func_get_maintainer): New function.
60949         * modules/*: Add Maintainer entry.
60950
60951 2003-01-16  Jim Meyering  <jim@meyering.net>
60952
60953         * m4/regex.m4: The `regex' struct is both input and output.
60954         Initialize it before each use.  Patch by Tim Waugh.
60955
60956 2003-01-16  Bruno Haible  <bruno@clisp.org>
60957
60958         * MODULES.html.sh: Add a table of contents. Add the module name as
60959         leftmost column. Add hyperlinks.
60960
60961 2003-01-15  Bruno Haible  <bruno@clisp.org>
60962
60963         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
60964
60965 2003-01-15  Bruno Haible  <bruno@clisp.org>
60966
60967         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
60968         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
60969         suffix.
60970
60971 2003-01-15  Bruno Haible  <bruno@clisp.org>
60972
60973         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
60974
60975 2003-01-15  Bruno Haible  <bruno@clisp.org>
60976
60977         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
60978         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
60979
60980 2003-01-14  Jim Meyering  <jim@meyering.net>
60981
60982         * lib/same.c (same_name): Tweak a comment.
60983
60984 2003-01-14  Bruno Haible  <bruno@clisp.org>
60985
60986         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
60987         when a string comparison is sufficient.
60988
60989 2003-01-14  Bruno Haible  <bruno@clisp.org>
60990
60991         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
60992         'unsigned int'.
60993
60994 2003-01-14  Bruno Haible  <bruno@clisp.org>
60995
60996         * lib/hash-pjw.c: Add comment about low quality of this function.
60997
60998 2003-01-13  Bruno Haible  <bruno@clisp.org>
60999
61000         * modules/stpcpy: Distribute lib/stpcpy.h.
61001         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
61002
61003 2003-01-13  Bruno Haible  <bruno@clisp.org>
61004
61005         * modules/*: Add a description.
61006         * modules/strpbrk: Fix Makefile.am snippet.
61007         * modules/strtoimax: Fix dependencies.
61008         * modules/strtoumax: Likewise.
61009
61010 2003-01-13  Bruno Haible  <bruno@clisp.org>
61011
61012         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
61013         * modules/alloca (Makefile.am): All object files depend on alloca.h.
61014         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
61015
61016 2003-01-13  Bruno Haible  <bruno@clisp.org>
61017
61018         * gnulib-tool (func_create_testdir): Store config/* files in the main
61019         directory.
61020         * config.rpath: Move to ...
61021         * config/config.rpath: ... here.
61022         * modules/gettext: Contains config/config.rpath, not config.rpath.
61023         * modules/iconv: Likewise.
61024
61025 2003-01-12  Paul Eggert  <eggert@twinsun.com>
61026
61027         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
61028         to avoid collisions with libcurses and libreadline.
61029
61030         * m4/getstr.m4: Remove.
61031         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
61032
61033 2003-01-12  Paul Eggert  <eggert@twinsun.com>
61034
61035         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
61036         to avoid collisions with libcurses and libreadline.
61037
61038         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
61039         * lib/getstr.h, getstr.c: Remove.
61040         * lib/getline.c: Include "getline.h", to check interface.
61041         Move body of old getstr.c here: this defines MIN_CHUNK and
61042         declares getdelim2, which is renamed from getstr.
61043         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
61044
61045         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
61046         All uses changed.
61047         * lib/linebuffer.h: Likewise.
61048         (readline): Remove backward-compatibility macro.
61049
61050 2003-01-12  Paul Eggert  <eggert@twinsun.com>
61051
61052         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
61053         to avoid collisions with libcurses and libreadline.
61054         * getstr: Remove.
61055         * MODULES.html.sh: Remove getstr.
61056         * modules/getline: Depend on unlocked-io, not getstr.
61057
61058 2003-01-12  Jim Meyering  <jim@meyering.net>
61059
61060         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
61061
61062 2003-01-10  Bruno Haible  <bruno@clisp.org>
61063
61064         * modules/alloca: Change Makefile.am requirements. Simplify Include
61065         requirements. Add lib/alloca_.h to file list.
61066
61067 2003-01-10  Bruno Haible  <bruno@clisp.org>
61068
61069         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
61070
61071 2003-01-10  Bruno Haible  <bruno@clisp.org>
61072
61073         * lib/alloca_.h: New file.
61074         * lib/getdate.y: Unconditionally include alloca.h.
61075         * lib/makepath.c: Likewise.
61076         * lib/setenv.c: Likewise.
61077         * lib/userspec.c: Likewise.
61078
61079 2003-01-09  Karl Berry  <karl@gnu.org>
61080
61081         * MODULES.html.sh: include `dirname $0` in PATH, to find
61082         gnulib-tool.
61083
61084 2003-01-09  Bruno Haible  <bruno@clisp.org>
61085
61086         * modules/stdbool: Change configure.ac, Makefile.am requirements.
61087         Simplify Include requirements. Add lib/stdbool.h.in to file list.
61088
61089 2003-01-09  Bruno Haible  <bruno@clisp.org>
61090
61091         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
61092
61093 2003-01-09  Bruno Haible  <bruno@clisp.org>
61094
61095         * lib/stdbool.h.in: New file.
61096
61097 2003-01-09  Bruno Haible  <bruno@clisp.org>
61098
61099         * gnulib-tool (func_all_modules): Ignore files ending in ~.
61100         * MODULES.html.sh: Likewise.
61101
61102 2003-01-08  Jim Meyering  <jim@meyering.net>
61103
61104         * lib/full-write.c: Undefine and define-away `const' after inclusion
61105         of errno.h, not before.  Suggestion from Bruno Haible.
61106
61107 2003-01-08  Bruno Haible  <bruno@clisp.org>
61108
61109         * modules/full-read: Depend on full-write.
61110
61111 2003-01-08  Bruno Haible  <bruno@clisp.org>
61112
61113         * lib/safe-read.c: Include specification header first, to ensure its
61114         selfcontainedness.
61115         * lib/full-write.c: Likewise.
61116
61117 2003-01-07  Jim Meyering  <jim@meyering.net>
61118
61119         * lib/full-write.c: Rework so that it may serve to define full_read,
61120         too.
61121         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
61122
61123 2003-01-07  Bruno Haible  <bruno@clisp.org>
61124
61125         * lib/strtoimax.c: Include <stdint.h> as an alternative to
61126         <inttypes.h>.
61127         * lib/xstrtol.h: Likewise.
61128         * lib/xstrtoimax.c: Likewise.
61129         * lib/xstrtoumax.c: Likewise.
61130         * lib/human.h: Likewise.
61131
61132         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
61133         on systems that have <inttypes.h> but not <stdint.h>.
61134
61135 2003-01-07  Bruno Haible  <bruno@clisp.org>
61136
61137         * MODULES.html.sh: Add copyright notice.
61138         (missed_files): Omit CVS directory entries.
61139         (func_module): Make it work with sed-3.02.
61140         * MODULES.txt: Remove file.
61141
61142 2003-01-06  Jim Meyering  <jim@meyering.net>
61143
61144         * lib/version-etc.c: Update year in translatable copyright string.
61145
61146 2003-01-03  Karl Berry  <karl@gnu.org>
61147
61148         * config/config.{guess,sub}: update from prep.
61149
61150 2003-01-02  Karl Berry  <karl@gnu.org>
61151
61152         * doc/COPYING.DOC: belatedly updated to 1.2.
61153
61154 2003-01-01  Karl Berry  <karl@gnu.org>
61155
61156         * gnulib-tool (func_verify_module): report module name $module in
61157         error message, not $1.
61158         * gnulib-tool (create-testdir): don't complain if destdir couldn't
61159         be created, only if it doesn't exist.
61160         * gnulib-tool (last_checkin_date): don't expand the $Date here.
61161
61162 2002-12-31  Paul Eggert  <eggert@twinsun.com>
61163
61164         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
61165
61166 2002-12-31  Paul Eggert  <eggert@twinsun.com>
61167
61168         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
61169         memcmp if strcoll doesn't work.
61170
61171 2002-12-31  Bruno Haible  <bruno@clisp.org>
61172
61173         * lib/utime.c (utime_null): No need to call ftruncate if the file was
61174         nonempty.
61175
61176 2002-12-31  Bruno Haible  <bruno@clisp.org>
61177
61178         * lib/memcoll.c (STRCOLL): New macro.
61179         (memcoll): Use it.
61180
61181 2002-12-31  Bruno Haible  <bruno@clisp.org>
61182
61183         * lib/localcharset.h: New file.
61184         * lib/localcharset.c: Include it.
61185         * lib/unicodeio.c: Likewise.
61186
61187 2002-12-31  Bruno Haible  <bruno@clisp.org>
61188
61189         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
61190         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
61191
61192 2002-12-31  Bruno Haible  <bruno@clisp.org>
61193
61194         * lib/getline.h: Include <stddef.h>, for size_t.
61195
61196         * lib/unicodeio.h: Include <stddef.h>, for size_t.
61197         * lib/unicodeio.c: Don't include <stddef.h>.
61198
61199 2002-12-31  Bruno Haible  <bruno@clisp.org>
61200
61201         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
61202         HAVE_TM_ZONE.
61203
61204 2002-12-24  Karl Berry  <karl@gnu.org>
61205
61206         * config/config.guess: update from prep.
61207
61208 2002-12-24  Bruno Haible  <bruno@clisp.org>
61209
61210         General infrasructure.
61211         * m4/README: Rewritten.
61212         * m4/onceonly.m4: New file.
61213         * m4/onceonly_2_57.m4: New file.
61214
61215         Module atexit.
61216         * m4/atexit.m4: New file.
61217
61218         Module strtod.
61219         * m4/strtod.m4: New file.
61220
61221         Module strtol.
61222         * m4/strtol.m4: New file.
61223
61224         Module strtoul.
61225         * m4/strtoul.m4: New file.
61226
61227         Module memchr.
61228         * m4/memchr.m4: New file.
61229
61230         Module memcmp.
61231         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
61232         (jm_FUNC_MEMCMP): Invoke it.
61233
61234         Module memcpy.
61235         * m4/memcpy.m4: New file.
61236
61237         Module memmove.
61238         * m4/memmove.m4: New file.
61239
61240         Module memset.
61241         * m4/memset.m4: New file.
61242
61243         Module strcspn.
61244         * m4/strcspn.m4: New file.
61245
61246         Module strpbrk.
61247         * m4/strpbrk.m4: New file.
61248
61249         Module strstr.
61250         * m4/strstr.m4: New file.
61251
61252         Module strerror.
61253         * m4/strerror.m4: New file.
61254
61255         Module mktime.
61256         * m4/mktime.m4: Renamed from jm-mktime.m4.
61257         (gl_PREREQ_MKTIME): New macro.
61258         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
61259
61260         Module malloc.
61261         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
61262         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
61263         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
61264
61265         Module realloc.
61266         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
61267         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
61268         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
61269
61270         Module strftime.
61271         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
61272         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
61273         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
61274         gl_TM_GMTOFF.
61275         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
61276
61277         Module xalloc.
61278         * m4/xalloc.m4: New file.
61279
61280         Module alloca.
61281         * m4/alloca.m4: New file.
61282
61283         Module putenv.
61284         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
61285         (jm_FUNC_PUTENV): Invoke it.
61286
61287         Module setenv.
61288         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
61289         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
61290         when invoked twice.
61291         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
61292         gt_FUNC_SETENV.
61293
61294         Module memrchr.
61295         * m4/memrchr.m4: New file.
61296
61297         Module stpcpy.
61298         * m4/stpcpy.m4: New file.
61299
61300         Module strcase.
61301         * m4/strcase.m4: New file.
61302
61303         Module strdup.
61304         * m4/strdup.m4: New file.
61305
61306         Module strnlen.
61307         * m4/strnlen.m4: New file.
61308
61309         Module strndup.
61310         * m4/strndup.m4: New file.
61311
61312         Module xstrtod.
61313         * m4/xstrtod.m4: New file.
61314
61315         Module xstrtol.
61316         * m4/xstrtol.m4: New file.
61317
61318         Module getdate.
61319         * m4/getdate.m4: New file.
61320
61321         Module unlocked-io.
61322         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
61323         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
61324         * m4/jm-glibc-io.m4n: Remove file.
61325
61326         Module long-options.
61327         * m4/long-options.m4: New file.
61328
61329         Module md5.
61330         * m4/md5.m4: New file.
61331
61332         Module sha.
61333         * m4/sha.m4: New file.
61334
61335         Module getstr.
61336         * m4/getstr.m4: New file.
61337
61338         Module getline.
61339         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
61340         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
61341         <sys/types.h>, for size_t. Use the function name gnu_getline, not
61342         simply getline. Infoke gl_PREREQ_GETLINE.
61343
61344         Module obstack.
61345         * m4/obstack.m4: New file.
61346
61347         Module hash.
61348         * m4/hash.m4: New file.
61349
61350         Module readtokens.
61351         * m4/readtokens.m4: New file.
61352
61353         Module strverscmp.
61354         * m4/strverscmp.m4: New file.
61355
61356         Module stdbool.
61357         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
61358         OSF/1.
61359
61360         Module strtoll.
61361         * m4/strtoll.m4: New file.
61362
61363         Module strtoull.
61364         * m4/strtoull.m4: New file.
61365
61366         Module strtoimax.
61367         * m4/strtoimax.m4: New file.
61368
61369         Module strtoumax.
61370         * m4/strtoumax.m4: New file.
61371
61372         Module xstrtoimax.
61373         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
61374         jm_AC_PREREQ_XSTRTOIMAX.
61375         Moved the strtol prerequisites to strtol.m4.
61376         Moved the strtoll prerequisites to strtoll.m4.
61377         Moved the strtoimax prerequisites to strtoimax.m4.
61378
61379         Module xstrtoumax.
61380         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
61381         jm_AC_PREREQ_XSTRTOUMAX.
61382         Moved the strtoul prerequisites to strtoul.m4.
61383         Moved the strtoull prerequisites to strtoull.m4.
61384         Moved the strtoumax prerequisites to strtoumax.m4.
61385
61386         Module chown.
61387         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
61388         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
61389
61390         Module dup2.
61391         * m4/dup2.m4: New file.
61392
61393         Module ftruncate.
61394         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
61395         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
61396
61397         Module getgroups.
61398         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
61399         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
61400
61401         Module gettimeofday.
61402         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
61403         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
61404         gl_PREREQ_GETTIMEOFDAY.
61405
61406         Module mkdir.
61407         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
61408         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
61409
61410         Module mkstemp.
61411         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
61412         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
61413         jm_AC_TYPE_UINTMAX_T.
61414         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
61415
61416         Module stat.
61417         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
61418         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
61419
61420         Module lstat.
61421         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
61422         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
61423
61424         Module timespec.
61425         * m4/timespec.m4 (gl_TIMESPEC): New macro.
61426         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
61427         * m4/st_mtim.m4: Indentation.
61428
61429         Module nanosleep.
61430         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
61431         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
61432         gl_PREREQ_NANOSLEEP.
61433
61434         Module regex.
61435         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
61436         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
61437         (gl_REGEX): New macro.
61438
61439         Module rename.
61440         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
61441         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
61442
61443         Module rmdir.
61444         * m4/rmdir.m4: New file.
61445
61446         Module utime.
61447         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
61448         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
61449         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
61450
61451         Module dirname.
61452         * m4/dirname.m4: New file.
61453
61454         Module getopt.
61455         * m4/getopt.m4: New file.
61456
61457         Module unistd-safer.
61458         * m4/unistd-safer.m4: New file.
61459
61460         Module fnmatch.
61461         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
61462         declaration.
61463         (gl_PREREQ_FNMATCH_EXTRA): New macro.
61464         (gl_FUNC_FNMATCH_POSIX): New macro.
61465         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
61466         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
61467         simply fnmatch.
61468
61469         Module exclude.
61470         * m4/exclude.m4: New file.
61471
61472         Module human.
61473         * m4/human.m4: New file.
61474
61475         Module acl.
61476         * m4/acl.m4: Nop.
61477
61478         Module backupfile.
61479         * m4/backupfile.m4: New file.
61480         * m4/d-ino.m4: Indentation.
61481
61482         Module fsusage.
61483         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
61484         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
61485         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
61486
61487         Module dirfd.
61488         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
61489         requirements.
61490
61491         Module euidaccess.
61492         * m4/euidaccess.m4: New file.
61493
61494         Module file-type.
61495         * m4/file-type.m4: New file.
61496
61497         Module fileblocks.
61498         * m4/fileblocks.m4: New file.
61499
61500         Module filemode.
61501         * m4/filemode.m4: New file.
61502
61503         Module isdir.
61504         * m4/isdir.m4: New file.
61505
61506         Module lchown.
61507         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
61508         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
61509
61510         Module makepath.
61511         * m4/makepath.m4: New file.
61512
61513         Module modechange.
61514         * m4/modechange.m4: New file.
61515
61516         Module mountlist.
61517         * m4/mountlist.m4: New file.
61518         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
61519         Indentation.
61520
61521         Module path-concat.
61522         * m4/path-concat.m4: New file.
61523
61524         Module pathmax.
61525         * m4/pathmax.m4: New file.
61526
61527         Module same.
61528         * m4/same.m4: New file.
61529
61530         Module save-cwd.
61531         * m4/save-cwd.m4: New file.
61532
61533         Module savedir.
61534         * m4/savedir.m4: New file.
61535
61536         Module xgetcwd.
61537         * m4/xgetcwd.m4: New file.
61538         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
61539
61540         Module xreadlink.
61541         * m4/xreadlink.m4: New file.
61542
61543         Module safe-read.
61544         * m4/safe-read.m4: New file.
61545
61546         Module safe-write.
61547         * m4/safe-write.m4: New file.
61548
61549         Module closeout.
61550         * m4/closeout.m4: New file.
61551
61552         Module stdio-safer.
61553         * m4/stdio-safer.m4: New file.
61554
61555         Module getpass.
61556         * m4/getpass.m4: New file.
61557
61558         Module getugroups.
61559         * m4/getugroups.m4: New file.
61560
61561         Module group-member.
61562         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
61563         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
61564
61565         Module idcache.
61566         * m4/idcache.m4: New file.
61567
61568         Module userspec.
61569         * m4/userspec.m4: New file.
61570
61571         Module gettime.
61572         * m4/clock_time.m4: New file.
61573         * m4/gettime.m4: New file.
61574
61575         Module settime.
61576         * m4/settime.m4: New file.
61577
61578         Module posixtm.
61579         * m4/posixtm.m4: New file.
61580
61581         Module gethostname.
61582         * m4/gethostname.m4: New file.
61583
61584         Module canon-host.
61585         * m4/canon-host.m4: New file.
61586
61587         Module gettext.
61588         * m4/codeset.m4: New file, from gettext-0.11.5.
61589         * m4/gettext.m4: New file, from gettext-0.11.5.
61590         * m4/glibc21.m4: New file, from gettext-0.11.5.
61591         * m4/iconv.m4: New file, from gettext-0.11.5.
61592         * m4/intdiv0.m4: New file, from gettext-0.11.5.
61593         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
61594         * m4/inttypes.m4: New file, from gettext-0.11.5.
61595         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
61596         * m4/isc-posix.m4: New file, from gettext-0.11.5.
61597         * m4/lcmessage.m4: New file, from gettext-0.11.5.
61598         * m4/lib-ld.m4: New file, from gettext-0.11.5.
61599         * m4/lib-link.m4: New file, from gettext-0.11.5.
61600         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
61601         * m4/progtest.m4: New file, from gettext-0.11.5.
61602         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
61603         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
61604         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
61605
61606         Module localcharset.
61607         * m4/localcharset.m4: New file.
61608
61609         Module hard-locale.
61610         * m4/hard-locale.m4: New file.
61611
61612         Module mbswidth.
61613         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
61614         onceonly macros.
61615         * m4/mbrtowc.m4: Add comment.
61616
61617         Module memcasecmp.
61618         * m4/memcasecmp.m4: New file.
61619
61620         Module memcoll.
61621         * m4/memcoll.m4: New file.
61622
61623         Module unicodeio.
61624         * m4/unicodeio.m4: New file.
61625
61626         Module rpmatch.
61627         * m4/rpmatch.m4: New file.
61628
61629         Module yesno.
61630         * m4/yesno.m4: New file.
61631
61632         Module exitfail.
61633         * m4/exitfail.m4: New file.
61634
61635         Module c-stack.
61636         * m4/c-stack.m4 (gl_C_STACK): New macro.
61637         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
61638
61639         Module error.
61640         * m4/error.m4 (gl_ERROR): New macro.
61641         (jm_PREREQ_ERROR): Use onceonly macros.
61642
61643         Module fatal.
61644         * m4/fatal.m4: New file.
61645
61646         Module getloadavg.
61647         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
61648         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
61649
61650         Module getpagesize.
61651         * m4/getpagesize.m4: New file.
61652
61653         Module getusershell.
61654         * m4/getusershell.m4: New file.
61655
61656         Module physmem.
61657         * m4/physmem.m4: New file.
61658
61659         Module posixver.
61660         * m4/posixver.m4: New file.
61661
61662         Module quotearg.
61663         * m4/quotearg.m4: New file.
61664
61665         Module quote.
61666         * m4/quote.m4: New file.
61667
61668         Module readutmp.
61669         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
61670
61671         Module sig2str.
61672         * m4/sig2str.m4: New file.
61673
61674         Other.
61675         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
61676         ulonglong.m4.
61677         * m4/intmax_t.m4: New file.
61678         * m4/d-type.m4: Indentation.
61679         * m4/jm-macros.m4: Update.
61680         * m4/prereq.m4 (jm_PREREQ): Update.
61681         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
61682         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
61683         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
61684         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
61685         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
61686         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
61687         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
61688         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
61689         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
61690         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
61691         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
61692         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
61693         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
61694         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
61695         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
61696         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
61697         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
61698         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
61699         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
61700
61701 2002-12-24  Bruno Haible  <bruno@clisp.org>
61702
61703         * MODULES.txt: Update according to m4/ changes.
61704
61705         Module gettext.
61706         * config.rpath: New file, from gettext-0.11.5.
61707
61708         * modules/*: New module descriptions.
61709         * gnulib-tool: New file.
61710         * MODULES.html.sh: New file.
61711
61712 2002-12-21  Karl Berry  <karl@gnu.org>
61713
61714         * doc/fdl.texi: update to version 1.2.
61715
61716 2002-12-19  Karl Berry  <karl@gnu.org>
61717
61718         * config/config.guess: update from prep.
61719
61720 2002-12-18  Bruno Haible  <bruno@clisp.org>
61721
61722         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
61723         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
61724
61725 2002-12-17  Bruno Haible  <bruno@clisp.org>
61726
61727         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
61728         stdlib.h, string.h.
61729
61730 2002-12-17  Bruno Haible  <bruno@clisp.org>
61731
61732         * lib/canon-host.c (strdup): Remove unused declaration.
61733
61734         * lib/fsusage.c: Include full_read.h.
61735         (get_fs_usage): Use full_read instead of safe_read.
61736
61737         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
61738
61739 2002-12-12  Karl Berry  <karl@gnu.org>
61740
61741         * config/config.guess: update from prep.
61742
61743 2002-12-11  Bruno Haible  <bruno@clisp.org>
61744
61745         * m4/setenv.m4: New file, from gettext-0.11.5.
61746
61747 2002-12-11  Bruno Haible  <bruno@clisp.org>
61748
61749         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
61750         not unsetenv().
61751         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
61752         modifications:
61753
61754         2002-12-11  Bruno Haible  <bruno@clisp.org>
61755
61756                 * setenv.c (alloca): Fall back to malloc.
61757                 (freea): New macro.
61758                 (setenv): Use freea() to free memory allocated with alloca().
61759
61760         2002-11-13  Bruno Haible  <bruno@clisp.org>
61761
61762                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
61763                 function declarations.
61764                 * unsetenv.c (unsetenv): Likewise.
61765
61766         2002-03-04  Bruno Haible  <bruno@clisp.org>
61767
61768                 Portability to AIX 4.3.3.
61769                 * unsetenv.c: New file, extracted from setenv.c.
61770                 * setenv.c: Move the unsetenv() function to unsetenv.c.
61771
61772         2001-12-20  Bruno Haible  <bruno@clisp.org>
61773
61774                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
61775                 use malloc instead. For SunOS 4.
61776
61777         2001-12-11  Bruno Haible  <bruno@clisp.org>
61778
61779                 * setenv.c: Declare alloca.
61780                 (compar_fn_t): New typedef.
61781                 (KNOWN_VALUE, STORE_VALUE): Use it.
61782
61783         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
61784         setenv.h.
61785
61786 2002-12-10  Paul Eggert  <eggert@twinsun.com>
61787
61788         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
61789         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
61790         Choose values that are less likely to collide with system fnmatch
61791         options.
61792         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
61793         defined (e.g., a pure POSIX system).
61794         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
61795         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
61796
61797 2002-12-06  Paul Eggert  <eggert@twinsun.com>
61798
61799         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
61800         a pain in practice to deal with generated m4 files.  This change
61801         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
61802
61803         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
61804         and jm-glibc-io.m4, as they are no longer a special case.
61805         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
61806         kludge and the auto-generation stuff.  Check only whether the
61807         functions are declared, not whether they exist, since older hosts
61808         that don't declare the functions can't use the optimization anyway.
61809
61810 2002-12-06  Jim Meyering  <jim@meyering.net>
61811
61812         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
61813
61814         Merge in changes from libc's misc/error.c, in preparation
61815         for the merge of gnulib's changes back into libc.
61816
61817         * lib/error.c (_): Define only if not already defined.
61818         Move definition to follow all #include directives.
61819         Include unlocked-io.h only if !_LIBC.
61820         [_LIBC]: Include <libio/libioP.h>.
61821         [USE_IN_LIBIO]: Include <libio/iolibio.h>
61822         (fflush): Tweak definition to use INTUSE.
61823         (putc): Define.
61824
61825 2002-12-05  Paul Eggert  <eggert@twinsun.com>
61826
61827         * lib/alloca.c [defined emacs]: Include "lisp.h".
61828         (xalloc_die) [defined emacs]: New macro.
61829         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
61830         [! defined emacs]: Include <xalloc.h>.
61831         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
61832         (pointer): Typedef to POINTER_TYPE *.
61833         (malloc): Remove decl; we now always use xmalloc.
61834         (alloca): Use old-style definition, since Emacs needs this.
61835         Check for arithmetic overflow when computing combined size.
61836
61837 2002-12-04  Paul Eggert  <eggert@twinsun.com>
61838
61839         Do not generate unlocked-io.h automatically, since it's easier to
61840         maintain it by hand.
61841
61842         * lib/unlocked-io.h: New file, from GNU diffutils,
61843         but with proper copyright notice and attribution.
61844         * lib/gen-uio: Remove.
61845         * lib/Makefile.am: Add copyright notice.
61846         (libfetish_a_SOURCES): Add unlocked-io.h.
61847         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
61848         (DISTCLEANFILES, io_functions): Remove macros.
61849         (EXTRA_DIST): Remove gen_uio.
61850         (unlocked-io.h): Remove rule.
61851
61852 2002-12-04  Jim Meyering  <jim@meyering.net>
61853
61854         Reflect the fact that stat.c and lstat.c are no longer generated.
61855         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
61856         (DISTCLEANFILES): Likewise.
61857         (EXTRA_DIST): Likewise.
61858         (all_local): Don't depend on stat.c or lstat.c.
61859         (stat.c, lstat.c): Remove rules.
61860         (EXTRA_DIST): Remove xstat.in.
61861
61862         * lib/xstat.in: Remove file.  Contents moved into stat.c.
61863         * lib/stat.c: New file.  Contents mostly from xstat.in.
61864         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
61865         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
61866
61867         * lib/safe-read.c: Rework so that it may serve to define safe_write,
61868         too.
61869         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
61870
61871 2002-12-03  Jim Meyering  <jim@meyering.net>
61872
61873         * lib/safe-read.c, safe-write.c: Change variable names and comments,
61874         but not semantics, to minimize the differences between these two files.
61875         (safe_read): Change comment to mention SAFE_READ_ERROR.
61876
61877         * lib/safe-read.c (IS_EINTR): Define.
61878         (safe_read): Use IS_EINTR in place of in-function cpp directives.
61879
61880 2002-12-02  Jim Meyering  <jim@meyering.net>
61881
61882         * lib/safe-read.c (EINTR): Define.
61883         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61884         (INT_MAX): Provide fallback.
61885         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
61886
61887         * lib/safe-read.h (SAFE_READ_ERROR): Define.
61888
61889 2002-12-02  Bruno Haible  <bruno@clisp.org>
61890
61891         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
61892         Define, taken from safe-read.c.
61893         (INT_MAX): Provide fallback.
61894         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
61895         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
61896
61897         * lib/safe-read.c (EINTR): Remove definition.
61898         (safe_read): Don't use EINTR if it is absent.
61899
61900 2002-12-01  Jim Meyering  <jim@meyering.net>
61901
61902         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
61903         zero.
61904         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
61905
61906 2002-11-27  Paul Eggert  <eggert@twinsun.com>
61907
61908         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
61909         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
61910         with `if (! (value < limit)) abort ();', for readability.
61911
61912 2002-11-26  Karl Berry  <karl@gnu.org>
61913
61914         * lib/strdup.c: copy from libc again, with jim's ok.
61915         * lib/.cppi-disable: re-add strdup.c
61916
61917 2002-11-25  Karl Berry  <karl@gnu.org>
61918
61919         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
61920         instead of "strtol.c".
61921
61922 2002-11-25  Karl Berry  <karl@gnu.org>
61923
61924         * config/install-sh: update from automake for variable quoting, $0 in
61925         error msgs, etc.
61926
61927         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
61928         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
61929         entry.
61930
61931 2002-11-25  Jim Meyering  <jim@meyering.net>
61932
61933         * lib/mktime.c: Sync from libc, now that it has the latest fix.
61934
61935 2002-11-24  Karl Berry  <karl@gnu.org>
61936
61937         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
61938         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
61939
61940 2002-11-24  Jim Meyering  <jim@meyering.net>
61941
61942         Update from coreutils:
61943
61944         * lib/mktime.c: Merge in changes from libc.
61945
61946         Avoid a link-time failure on some Linux systems.
61947         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
61948         (otherwise).
61949         (__mon_yday): Declare with the STATIC attribute.
61950         (__mktime_internal): Likewise.
61951         Based on a report from Greg Schafer.
61952
61953 2002-11-23  Jim Meyering  <jim@meyering.net>
61954
61955         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
61956         Use `unsigned', not `int', as type of index.
61957
61958         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
61959
61960         * lib/fsusage.c: Remove unneeded parentheses around operands of
61961         `defined'.
61962
61963 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61964
61965         * lib/quotearg.h: Allow multiple inclusion by surrounding with
61966         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
61967         so that we can be included first.
61968         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
61969         * lib/quotearg.c: Include quotearg.h immediately after config.h.
61970         No need to include stddef.h or sys/types.h any more.
61971         Surround local include files with "", not "<>".
61972         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
61973         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
61974         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
61975         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
61976         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
61977         (ISPRINT): Remove; no longer needed now that we assume C89.
61978
61979         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
61980         Preserve errno.
61981
61982         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
61983         quotearg_char): Use SIZE_MAX rather than
61984         (size_t) -1 when we are talking about "infinity".
61985
61986         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
61987
61988 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61989
61990         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
61991         hint that one should use `if (! x) abort ();' rather than `assert
61992         (x);', and anyway it's one less thing to worry about configuring.
61993         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
61994         hash_rehash, hash_insert): Use abort rather than assert.
61995
61996 2002-11-22  Bruno Haible  <bruno@clisp.org>
61997
61998         * lib/safe-read.h: Assume C89. Add comments.
61999         (safe_read): Change return type to size_t.
62000         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
62001         byte counts > SSIZE_MAX correctly.
62002         * lib/safe-write.h: New file.
62003         * lib/safe-write.c: New file.
62004         * lib/full-read.h: New file.
62005         * lib/full-read.c: New file.
62006         * lib/full-write.h: Assume C89. Add comments.
62007         * lib/full-write.c: Include safe-write.h.
62008         (full_write): Rewritten to use safe_write.
62009         Suggested by Jim Meyering and Paul Eggert.
62010
62011 2002-11-21  Jim Meyering  <jim@meyering.net>
62012
62013         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
62014
62015         Merge in changes from the coreutils.
62016
62017         2002-09-25  Paul Eggert  <eggert@twinsun.com>
62018         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
62019         <stdint.h>.
62020         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
62021         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
62022         int.  Work more efficiently if X is the same width as uintmax_t.
62023         Do not compare X to -1, to avoid bogus compiler warning.
62024         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
62025         Don't assume that f_frsize and f_bsize are the same type.
62026
62027         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
62028         warning on FreeBSD.
62029
62030         * lib/makepath.c (make_path): Restore umask *before* creating the final
62031         component.
62032         (make_path): Minor reformatting.
62033
62034         * lib/xmalloc.c: Adjust to work with new autoconf macros,
62035         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
62036         HAVE_MALLOC/HAVE_REALLOC.
62037
62038         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
62039         dummy ones.  At least on GNU/Linux systems, `auto' means something
62040         else.
62041         From Michael Stone.
62042
62043 2002-11-21  Bruno Haible  <bruno@clisp.org>
62044
62045         Remove case insensitive option matching.
62046         * lib/argmatch.h (argcasematch): Remove declaration.
62047         (ARGCASEMATCH): Remove macro.
62048         (__xargmatch_internal): Remove case_sensitive argument.
62049         (XARGMATCH): Update.
62050         (XARGCASEMATCH): Remove macro.
62051         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
62052         case_sensitive argument.
62053         (argcasematch): Remove function.
62054         (__xargmatch_internal): Remove case_sensitive argument.
62055         (main): Use XARGMATCH instead of XARGCASEMATCH.
62056
62057         * lib/xmalloc.c: Change compile-time error message. Add comment about
62058         required autoconf version.
62059
62060 2002-11-20  Paul Eggert  <eggert@twinsun.com>
62061
62062         Merge argmatch cleanups from Bison.  Assume C89.
62063
62064         * lib/argmatch.c: Include config.h here, not in argmatch.h.
62065         Include stdlib.h, for EXIT_FAILURE.
62066         Always include <string.h>, since we assume C89.
62067         (EXIT_FAILURE): Remove pre-C89 bug workaround.
62068         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
62069         Include <stddef.h> instead, since it's all we need for size_t.
62070         (PARAMS): Remove.  All uses removed.
62071         (ARRAY_CARDINALITY): Do not bother to #undef.
62072         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
62073         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
62074         Remove unnecessary parentheses.
62075         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
62076         Insert necessary parentheses.
62077         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
62078         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
62079
62080 2002-11-19  Bruno Haible  <bruno@clisp.org>
62081
62082         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
62083         * lib/mbswidth.h: Include <stddef.h>, for size_t.
62084
62085         * lib/mbswidth.h (PARAMS): Remove macro.
62086         (mbswidth, mbsnwidth): Use ANSI C function declarations.
62087         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
62088
62089         * lib/gcd.h (PARAMS): Remove macro.
62090         (gcd): Use ANSI C function declarations.
62091         * lib/gcd.c (gcd): Likewise.
62092
62093 2002-11-15  Bruno Haible  <bruno@clisp.org>
62094
62095         * lib/strcspn.c: Include <stddef.h>.
62096         (strcspn): Use ANSI C function declaration. Change return type to
62097         size_t. Use NULL.
62098         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
62099         (strpbrk): Use NULL.
62100         * lib/strpbrk.h (PARAMS): Remove macro.
62101         (strpbrk): Use ANSI C function declaration.
62102         * lib/strstr.c: Don't include <sys/types.h>.
62103         * lib/strstr.h (PARAMS): Remove macro.
62104         (strstr): Use ANSI C function declarations.
62105
62106 2002-11-14  Karl Berry  <karl@gnu.org>
62107
62108         * config/mkinstalldirs: `do' on separate line, instead of
62109         `for var; do'.
62110
62111 2002-11-06  Bruno Haible  <bruno@clisp.org>
62112
62113         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
62114         * lib/gcd.c (gcd): Likewise.
62115
62116 2002-11-05  Bruno Haible  <bruno@clisp.org>
62117
62118         * lib/gcd.h: New file, from gettext-0.11.5.
62119         * lib/gcd.c: New file, from gettext-0.11.5.
62120
62121 2002-11-05  Bruno Haible  <bruno@clisp.org>
62122
62123         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
62124         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
62125         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
62126         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
62127
62128         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
62129         <libintl.h>.
62130         * lib/makepath.c: Include gettext.h instead of <locale.h> and
62131         <libintl.h>.
62132
62133         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
62134         * lib/human.c: Include gettext.h instead of <libintl.h>.
62135         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
62136         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
62137         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
62138         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
62139         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
62140         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
62141         (textdomain): Remove definition.
62142         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
62143
62144         * lib/long-options.c: Remove include of <libintl.h> and definition of
62145         _.
62146         * lib/same.c: Remove include of <libintl.h> and definition of _.
62147
62148 2002-11-04  Owen Taylor  <otaylor@redhat.com>
62149
62150         * lib/config.charset: A few additions for Solaris.
62151
62152 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
62153
62154         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
62155         * lib/localcharset.c (locale_charset): Declare as extern "C".
62156
62157 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
62158
62159         * lib/config.charset: msdos in uk_UA uses CP1125.
62160
62161 2002-11-04  Bruno Haible  <bruno@clisp.org>
62162
62163         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
62164         * lib/strcase.h: New file, from GNU gettext-0.11.5.
62165         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
62166         * lib/strstr.h: New file, from GNU gettext-0.11.5.
62167         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
62168
62169 2002-11-04  Bruno Haible  <bruno@clisp.org>
62170
62171         * lib/localcharset.c (locale_charset): Don't return an empty string.
62172
62173 2002-11-04  Bruno Haible  <bruno@clisp.org>
62174
62175         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
62176         aliases.
62177
62178 2002-11-04  Bruno Haible  <bruno@clisp.org>
62179
62180         * lib/config.charset: Update for newest glibc. Add canonical names
62181         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
62182
62183 2002-11-04  Bruno Haible  <bruno@clisp.org>
62184
62185         * lib/config.charset: Add support for NetBSD.
62186
62187 2002-11-04  Bruno Haible  <bruno@clisp.org>
62188
62189         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
62190
62191 2002-11-01  Bruno Haible  <bruno@clisp.org>
62192
62193         * configure.in: Add AC_CONFIG_AUX_DIR call.
62194         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
62195         test/Makefile.
62196         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
62197
62198 2002-09-28  Karl Berry  <karl@gnu.org>
62199
62200         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
62201         installed automake until the next release, since changes have been
62202         made.
62203
62204 2002-09-25  Karl Berry  <karl@gnu.org>
62205
62206         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
62207         * lib/getopt*: copy from libc/posix.
62208         * lib/gettext.h: copy from gettext.
62209         * lib/.cppi-disable: add strdup.c, gettext.h.
62210
62211 2002-09-25  Karl Berry  <karl@gnu.org>
62212
62213         * config/srclist.txt: enable gettext.h check.
62214         * config/config.{guess,sub}: update from prep.
62215         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
62216                 from automake 1.6.3.
62217         See srclist*.
62218
62219 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
62220
62221         * regex.c (PATFETCH): Remove the translating fetch.
62222         (PATFETCH_RAW): Rename to PATFETCH.
62223         (set_image_of_range): New fun.
62224         (SET_RANGE_TABLE_WORK_AREA): Use it.
62225         (regex_compile): Don't translate the pattern chars so eagerly.
62226         Only do it when inserting an `exactn' bytecode or when handling
62227         a char-range.
62228         (mutually_exclusive_p): Avoid empty statement.
62229
62230 2002-07-06  Jim Meyering  <meyering@lucent.com>
62231
62232         * m4/README: Don't mention Makefile.am.in.
62233         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
62234
62235 2002-07-01  Jim Meyering  <meyering@lucent.com>
62236
62237         * lib/c-stack.c: Include sys/time.h.
62238         From Volker Borchert.
62239
62240 2002-06-26  Paul Eggert  <eggert@twinsun.com>
62241
62242         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
62243
62244 2002-06-26  Paul Eggert  <eggert@twinsun.com>
62245
62246         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
62247         New macro.  Use it uniformly instead of
62248         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
62249         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
62250         reported by Vin Shelton.
62251
62252 2002-06-22  Paul Eggert  <eggert@twinsun.com>
62253
62254         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
62255         Do not assume SA_SIGINFO behavior.
62256         Bug reported by Jim Meyering on NetBSD 1.5.2.
62257
62258 2002-06-22  Jim Meyering  <meyering@lucent.com>
62259
62260         * m4/c-stack.m4: New file, from diffutils-2.8.2.
62261         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
62262
62263         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
62264         now that configure.ac uses AC_GNU_SOURCE.
62265         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
62266         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
62267
62268         Update to latest tools.  Suggestions from Paul Eggert.
62269         * m4/stdbool.m4: New file, from diffutils-2.8.2.
62270         * m4/gnu-source.m4: Update from diffutils-2.8.2.
62271         * m4/fnmatch.m4: Likewise.
62272         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
62273         to AC_HEADER_STDBOOL
62274
62275 2002-06-22  Jim Meyering  <meyering@lucent.com>
62276
62277         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
62278         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
62279
62280 2002-06-22  Jim Meyering  <meyering@lucent.com>
62281
62282         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
62283
62284         * lib/exitfail.c, exitfail.h: Likewise.
62285         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
62286
62287         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
62288         of fnmatch.h.
62289         (EXTRA_DIST): Add fnmatch_loop.c.
62290         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
62291
62292         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
62293         * lib/fnmatch.c: Update from diffutils-2.8.2.
62294         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
62295         * lib/fnmatch.h: Remove file.
62296
62297 2002-06-21  Jim Meyering  <meyering@lucent.com>
62298
62299         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
62300         * m4/mbrtowc.m4: Likewise.
62301
62302         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
62303         * m4/mbswidth.m4: Reflect name change:
62304         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
62305         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
62306
62307         * m4/lib-link.m4: Update from gettext-0.11.2.
62308         * m4/gettext.m4: Likewise.
62309
62310         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
62311         From Alfred M. Szmidt.
62312
62313 2002-06-18  Paul Eggert  <eggert@twinsun.com>
62314
62315         * lib/file-type.h: Report an error if neither S_ISREG nor
62316         S_IFREG is defined, instead of using a test specific to glibc
62317         2.2.  This should be safe, since POSIX requires S_ISREG and
62318         Unix Version 7 had S_IFREG.  We don't need to check for
62319         <sys/types.h> since we don't use any symbols that it defines.
62320
62321 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
62322
62323         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
62324         $@-t, so that each temporary file name is unique and valid in the first
62325         8 characters, for operation under DOS.
62326
62327 2002-06-15  Paul Eggert  <eggert@twinsun.com>
62328
62329         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
62330
62331 2002-06-15  Jim Meyering  <meyering@lucent.com>
62332
62333         Work even with DJGPP 2.03, which lacks support for symlinks.
62334         From Richard Dawe.
62335         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
62336         is defined.
62337         * lib/lchown.c (S_ISLNK): Likewise.
62338
62339 2002-06-15  Jim Meyering  <meyering@lucent.com>
62340
62341         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
62342         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
62343         have been included before this file.
62344
62345 2002-06-14  Jim Meyering  <meyering@lucent.com>
62346
62347         * lib/file-type.h: Use the version from diffutils-2.8.2.
62348         * lib/file-type.c: Likewise.
62349
62350 2002-06-07  Jim Meyering  <meyering@lucent.com>
62351
62352         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
62353         They're needed at least for NetBSD 1.5.2.
62354         ($statxfs_includes): Include those same headers.
62355         ($statxfs_includes): Include sys/vfs.h if available.
62356         ($statxfs_includes): Likewise for sys/statvfs.h.
62357         Check for the following members in both structs statfs and statvfs:
62358         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
62359
62360 2002-06-01  Jim Meyering  <meyering@lucent.com>
62361
62362         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
62363         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
62364
62365 2002-05-28  Jim Meyering  <meyering@lucent.com>
62366
62367         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
62368         Reported by Volker Borchert.
62369
62370 2002-05-27  Jim Meyering  <meyering@lucent.com>
62371
62372         Fix a problem seen only on nonconforming systems whereby ls.c's
62373         use of localtime, and then of gettimeofday would cause trouble:
62374         the localtime call used to initialize rpl_gettimeofday's save
62375         mechanism would clobber ls's current local time information so
62376         that in any long listing the first file would always be listed
62377         with date 1970-01-01.  Analysis by Volker Borchert.
62378
62379         * lib/gettimeofday.c (localtime): Undefine.
62380         (rpl_localtime): New function.
62381
62382 2002-05-27  Jim Meyering  <meyering@lucent.com>
62383
62384         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
62385         localtime.
62386
62387         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
62388         use the replacement function; it wouldn't resolve at link time.
62389         Reported by Volker Borchert.
62390
62391 2002-05-22  Jim Meyering  <meyering@lucent.com>
62392
62393         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
62394         file-type.h.
62395         * lib/file-type.h: New file.
62396         * lib/file-type.c (file_type): New file/function.  Extracted from
62397         diffutils.
62398
62399 2002-04-30  Jim Meyering  <meyering@lucent.com>
62400
62401         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
62402
62403 2002-04-29  Paul Eggert  <eggert@twinsun.com>
62404
62405         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
62406
62407 2002-04-29  Paul Eggert  <eggert@twinsun.com>
62408
62409         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
62410         Do not check for alloca.h (no longer used) or stdbool.h (was never
62411         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
62412
62413 2002-04-29  Paul Eggert  <eggert@twinsun.com>
62414
62415         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
62416
62417 2002-04-29  Jim Meyering  <meyering@lucent.com>
62418
62419         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
62420         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
62421         Use AC_FUNC_STRNLEN here instead.
62422
62423         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
62424         With autoconf-2.53a, it's part of AC_PROG_CC.
62425
62426 2002-04-28  Paul Eggert  <eggert@twinsun.com>
62427
62428         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
62429         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
62430
62431 2002-04-28  Paul Eggert  <eggert@twinsun.com>
62432
62433         * lib/sig2str.h, lib/sig2str.c: New files.
62434         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
62435
62436 2002-04-28  Paul Eggert  <eggert@twinsun.com>
62437
62438         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
62439         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
62440         of 127, since 64 is the largest conceivable number for ancient
62441         nonstandard hosts.
62442         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
62443
62444 2002-04-28  Jim Meyering  <meyering@lucent.com>
62445
62446         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
62447
62448 2002-04-24  Jim Meyering  <meyering@lucent.com>
62449
62450         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
62451         (jm_PREREQ): Use it.
62452
62453         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
62454         mach/mach.h fcntl.h.
62455         Check for this function: setlocale.
62456
62457 2002-04-24  Jim Meyering  <meyering@lucent.com>
62458
62459         * lib/gettext.h: New file, from Gettext.
62460         * lib/Makefile.am (INCLUDES): Remove -I../intl.
62461         (libfetish_a_SOURCES): Add gettext.h.
62462
62463 2002-04-16  Jim Meyering  <meyering@lucent.com>
62464
62465         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
62466         ut_pid, ut_id, ut_exit.
62467
62468 2002-04-16  Jim Meyering  <meyering@lucent.com>
62469
62470         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
62471         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
62472         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
62473
62474 2002-04-12  Jim Meyering  <meyering@lucent.com>
62475
62476         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
62477         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
62478         existence of the getmntinfo function.  Needed for Darwin 5.3.
62479
62480         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
62481         This is necessary at least on Darwin 5.3.
62482
62483         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
62484         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
62485         strnlen.o in the library, and that makes some versions of ranlib
62486         object.
62487
62488 2002-04-12  Jim Meyering  <meyering@lucent.com>
62489
62490         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
62491
62492 2002-04-09  Jim Meyering  <meyering@lucent.com>
62493
62494         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
62495         to be more precise.  Rather than saying we're checking whether the
62496         function `works', say what we're testing.
62497         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
62498         Reported by Bruno Haible.
62499
62500 2002-03-10  Jim Meyering  <meyering@lucent.com>
62501
62502         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
62503         Suggestion from Santiago Vila.
62504
62505 2002-03-08  Jim Meyering  <meyering@lucent.com>
62506
62507         * lib/rename.c: Mention that this wrapper is needed also on
62508         mips-dec-ultrix4.4 systems.
62509
62510 2002-03-02  Jim Meyering  <meyering@lucent.com>
62511
62512         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
62513         not HAVE_CLOCK_SETTIME.
62514
62515 2002-02-27  Paul Eggert  <eggert@twinsun.com>
62516
62517         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
62518         Check for clock_settime.
62519
62520 2002-02-27  Paul Eggert  <eggert@twinsun.com>
62521
62522         * lib/nanosleep.h: Rename to....
62523         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
62524
62525         * lib/gettime.c: New file.
62526         * lib/settime.c: New file.
62527         * lib/stime.c: Remove.
62528
62529         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
62530         timespec.h.  Remove nanosleep.h.
62531
62532 2002-02-25  Paul Eggert  <eggert@twinsun.com>
62533
62534         * m4/acl.m4: New file.
62535         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
62536         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
62537
62538 2002-02-25  Paul Eggert  <eggert@twinsun.com>
62539
62540         * lib/acl.c, lib/acl.h: New files.
62541         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
62542
62543 2002-02-24  Jim Meyering  <meyering@lucent.com>
62544
62545         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
62546         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
62547         cause trouble.  Reported by Nelson Beebe.
62548
62549 2002-02-23  Paul Eggert  <eggert@twinsun.com>
62550
62551         * lib/path-concat.c (xpath_concat): Reorder code to pacify
62552         compilers that don't know that xalloc_die never returns.
62553
62554 2002-02-20  Jim Meyering  <meyering@lucent.com>
62555
62556         * lib/getdate.c: Regenerate using bison-1.33.
62557
62558 2002-02-17  Jim Meyering  <meyering@lucent.com>
62559
62560         * config/config.guess (main): Don't use `head -1'; it's no longer
62561         portable. Use `sed 1q' instead.
62562
62563 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
62564
62565         * m4/codeset.m4: Upgrade to gettext-0.11.
62566         * m4/gettext.m4: Upgrade to gettext-0.11.
62567         * m4/glibc21.m4: Upgrade to gettext-0.11.
62568         * m4/iconv.m4: Upgrade to gettext-0.11.
62569         * m4/isc-posix.m4: Upgrade to gettext-0.11.
62570         * m4/lcmessage.m4: Upgrade to gettext-0.11.
62571         * m4/lib-ld.m4: New file, from gettext-0.11.
62572         * m4/lib-link.m4: New file, from gettext-0.11.
62573         * m4/lib-prefix.m4: New file, from gettext-0.11.
62574         * m4/progtest.m4: Upgrade to gettext-0.11.
62575
62576 2002-02-15  Paul Eggert  <eggert@twinsun.com>
62577
62578         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
62579         (jm_PREREQ): Use it.
62580
62581 2002-02-15  Paul Eggert  <eggert@twinsun.com>
62582
62583         * lib/posixver.c, lib/posixver.h: New files.
62584         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62585
62586 2002-02-02  Paul Eggert  <eggert@twinsun.com>
62587             Bruno Haible  <bruno@clisp.org>
62588
62589         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
62590         (fwrite_success_callback): New declaration.
62591         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
62592         print_unicode_char. Call failure callback instead of error.
62593         (fwrite_success_callback): New function.
62594         (exit_failure_callback): New function.
62595         (fallback_failure_callback): New function.
62596         (print_unicode_char): Call unicode_to_mb.
62597
62598 2002-01-26  Jim Meyering  <meyering@lucent.com>
62599
62600         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
62601         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
62602
62603 2002-01-26  Jim Meyering  <meyering@lucent.com>
62604
62605         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
62606
62607 2002-01-22  Paul Eggert  <eggert@twinsun.com>
62608
62609         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
62610
62611 2002-01-22  Jim Meyering  <meyering@lucent.com>
62612
62613         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
62614         Otherwise, some versions of automake would omit the rule that makes
62615         Makefile from Makefile.in.
62616
62617 2002-01-21  Paul Eggert  <eggert@twinsun.com>
62618
62619         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
62620         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
62621         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
62622         (memcoll): Set errno to zero if there is no error.
62623
62624         * lib/quotearg.c (quotearg_buffer_restyled):
62625         Fix bug with quoting buffers containing NUL when backslashing escapes.
62626         This bug was exposed by the other changes in this patch.
62627         (quotearg_n_options): New arg ARGSIZE.
62628         All callers changed.
62629         (quoting_options_from_style): New function.
62630         (quotearg_n_style): Use it.
62631         (quotearg_n_style_mem): New function.
62632
62633         * lib/quotearg.h (quotearg_n_style_mem): New function.
62634
62635 2002-01-19  Jim Meyering  <meyering@lucent.com>
62636
62637         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
62638         Remove useless quotes: DF_PROG="df".
62639         * m4/strnlen.m4: New file.
62640
62641 2002-01-16  Paul Eggert  <eggert@twinsun.com>
62642
62643         * lib/backupfile.c (ISDIGIT): Comment fix.
62644         * lib/getdate.y (ISDIGIT): Likewise.
62645         * lib/posixtm.c (ISDIGIT, year): Likewise.
62646         * lib/strverscmp.c (ISDIGIT): Likewise.
62647         * lib/userspec.c (ISDIGIT): Likewise.
62648
62649 2002-01-16  Jim Meyering  <meyering@lucent.com>
62650
62651         * lib/getdate.y: Add three semicolons, each just before a closing
62652         brace. Bison (as of version 1.31) no longer papers over that mistake.
62653
62654 2002-01-05  Jim Meyering  <meyering@lucent.com>
62655
62656         * lib/version-etc.c (version_etc_copyright): Update copyright year.
62657
62658 2001-12-19  Paul Eggert  <eggert@twinsun.com>
62659
62660         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
62661         not silently exit merely because the output buffer happens to
62662         have nothing pending.
62663
62664 2001-12-18  Paul Eggert  <eggert@twinsun.com>
62665
62666         See the big note in ../ChangeLog.
62667         * lib/human.c (suffixes): Prefer K to k for 1024.
62668         (generate_suffix_backwards): New function.
62669         (human_readable_inexact): Use it.
62670         * lib/xstrtol.c (__xstrtol): If there is no number but there
62671         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
62672         Accept 'K' as well as 'k'.
62673
62674 2001-12-15  Jim Meyering  <meyering@lucent.com>
62675
62676         * lib/regex.h (__restrict_arr): Update from libc.
62677
62678         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
62679         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
62680         (STREQ): Define.
62681
62682 2001-12-14  Jim Meyering  <meyering@lucent.com>
62683
62684         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
62685         Suggestion from Bruno Haible.
62686
62687 2001-12-10  Jim Meyering  <meyering@lucent.com>
62688
62689         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
62690         xrealloc, Instead, include "xalloc.h".
62691         (initbuffer): Don't cast xmalloc return value to char*.
62692         (readline): Reword comment.
62693         Don't cast xrealloc return value to char*
62694         Return NULL, not 0.
62695
62696 2001-12-09  Jim Meyering  <meyering@lucent.com>
62697
62698         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
62699         about `signed and unsigned type in conditional expression'.
62700         * lib/posixtm.c (posix_time_parse): Likewise.
62701
62702         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
62703
62704         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
62705         to avoid a pedantic warning.
62706
62707         * lib/getstr.c: Don't include assert.h.
62708         (getstr): Remove warning-evoking assertions.
62709         Return -1 if offset parameter is out of bounds.
62710         Change the type of a local from int to size_t.
62711
62712         * lib/strftime.c (my_strftime_localtime_r): Include this function
62713         definition in the `#if ! HAVE_TM_GMTOFF' block.
62714
62715         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
62716         Include xalloc.h instead.
62717
62718 2001-12-02  Jim Meyering  <meyering@lucent.com>
62719
62720         * lib/tempname.c: Don't declare getenv, thus reverting the change of
62721         2001-11-18.  It's no longer necessary, now that stdlib.h is always
62722         included.
62723
62724         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
62725         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
62726
62727 2001-11-30  Akim Demaille  <akim@epita.fr>
62728
62729         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
62730         before being defined.
62731
62732 2001-11-27  Paul Eggert  <eggert@twinsun.com>
62733
62734         * lib/quotearg.h (quotearg_n, quotearg_n_style):
62735         First arg is int, not unsigned.
62736         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
62737         (SIZE_MAX, UINT_MAX): New macros.
62738         (quotearg_n_options): Abort if N is negative.
62739         Avoid overflow check on hosts where size_t is 64 bits and int
62740         is 32 bits, as overflow is impossible there.
62741         Fix off-by-one typo that caused unnecessary reallocation.
62742
62743 2001-11-27  Jim Meyering  <meyering@lucent.com>
62744
62745         * lib/tempname.c: Merge with version from libc.
62746         * lib/regex.c: Likewise.
62747
62748         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
62749         systems for which STDC_HEADERS is 0, it was not included, resulting in
62750         a warning about an integer-to-pointer conversion problem with getenv.
62751         Reported by Volker Borchert.
62752
62753 2001-11-26  Jim Meyering  <meyering@lucent.com>
62754
62755         * lib/gtod.h: Remove file.
62756         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
62757         * lib/gettimeofday.c: Don't include gtod.h.
62758         (GTOD_init): Remove function.
62759         (rpl_gettimeofday): Do its job here instead, rather than aborting.
62760         Suggestion from Volker Borchert.
62761
62762 2001-11-23  Jim Meyering  <meyering@lucent.com>
62763
62764         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
62765         it.
62766         * lib/hash.c (struct hash_table): Define it here instead.
62767
62768 2001-11-22  Jim Meyering  <meyering@lucent.com>
62769
62770         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
62771
62772 2001-11-20  Jim Meyering  <meyering@lucent.com>
62773
62774         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
62775         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
62776
62777 2001-11-19  Jim Meyering  <meyering@lucent.com>
62778
62779         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
62780         directory.  Use "conftestXXXXXX" as the template.
62781         Suggestion from Paul Eggert.
62782
62783         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
62784         immediately, so the test doesn't mistakenly hit the max-open-files
62785         limit.
62786
62787 2001-11-18  Paul Eggert  <eggert@twinsun.com>
62788
62789         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
62790         (TEMPORARIES): New macro.
62791         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
62792         removes an artificial limitation (e.g. HP-UX 10.20, where
62793         TMP_MAX is 17576).
62794
62795 2001-11-18  Jim Meyering  <meyering@lucent.com>
62796
62797         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
62798
62799 2001-11-18  Jim Meyering  <meyering@lucent.com>
62800
62801         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
62802         on SunOS 4.
62803
62804         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
62805         files will be created before anything else.
62806
62807 2001-11-17  Paul Eggert  <eggert@twinsun.com>
62808
62809         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
62810         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
62811
62812 2001-11-17  Jim Meyering  <meyering@lucent.com>
62813
62814         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
62815         Prompted by a report from Bob Proulx.
62816
62817         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
62818         Instead, require UTILS_FUNC_MKSTEMP.
62819
62820 2001-11-17  Jim Meyering  <meyering@lucent.com>
62821
62822         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
62823         Now, that's done as part of AC_FUNC_STRTOD.
62824
62825 2001-11-17  Jim Meyering  <meyering@lucent.com>
62826
62827         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
62828         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
62829         rather than group writable.  Patch by Juan F. Codagnone.
62830
62831         * lib/readtokens.c: Remove explicit declarations of xmalloc and
62832         xrealloc, Instead, include "xalloc.h".
62833
62834         * lib/mountlist.c: Include unlocked-io.h after all system headers.
62835         Remove explicit declarations of xmalloc, xrealloc,
62836         and xstrdup.  Instead, include "xalloc.h".
62837
62838         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
62839         unlocked-io.h.
62840         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
62841         Likewise.
62842         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
62843
62844         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
62845         Reported by Padraig Brady.
62846
62847         * lib/mkstemp.c: #undef mkstemp.
62848         Include config.h.
62849         (rpl_mkstemp): Rename from mkstemp.
62850         Protoize.
62851
62852 2001-11-16  Jim Meyering  <meyering@lucent.com>
62853
62854         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
62855         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
62856         determine the amount of total physical memory, use pstat_getstatic.
62857         HPUX-11 doesn't define _SC_PHYS_PAGES.
62858         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
62859         If sysconf couldn't be used to determine the amount of available
62860         physical memory, use both pstat_getstatic and pstat_getdynamic.
62861         Based on a patch from Bob Proulx.
62862
62863 2001-11-10  Jim Meyering  <meyering@lucent.com>
62864
62865         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
62866         (jm_PREREQ): Use it.
62867
62868 2001-11-09  Jim Meyering  <meyering@lucent.com>
62869
62870         * m4/jm-macros.m4: Require autoconf-2.52f.
62871         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
62872         Use these AC_-prefixed names, not the AM_-prefixed ones.
62873
62874         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
62875
62876 2001-11-05  Jim Meyering  <meyering@lucent.com>
62877
62878         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
62879
62880 2001-11-04  Jim Meyering  <meyering@lucent.com>
62881
62882         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
62883         $DEFS.
62884
62885 2001-11-03  Jim Meyering  <meyering@lucent.com>
62886
62887         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
62888         of AC_DEFUN.
62889
62890         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
62891         know the name of the variable in the macro definition.
62892
62893 2001-11-03  Jim Meyering  <meyering@lucent.com>
62894
62895         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
62896         in argmatch_to_argument call.
62897
62898         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
62899         argument.
62900
62901         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
62902         e.g., a fault due to an attempt to free a NULL pointer.
62903
62904 2001-11-01  Jim Meyering  <meyering@lucent.com>
62905
62906         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
62907         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
62908
62909 2001-11-01  Jim Meyering  <meyering@lucent.com>
62910
62911         * lib/dirfd.c, lib/dirfd.h: New files.
62912         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
62913
62914         * lib/hash.c (hash_print) [TESTING]: Clean up.
62915
62916 2001-10-22  Paul Eggert  <eggert@twinsun.com>
62917
62918         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
62919         to avoid a warning if -Wall.
62920
62921 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
62922
62923         * README: New file
62924         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
62925         (per RMS's instructions, this is now the canonical source)
62926         * lgpl/, gpl/: New directories.
62927
62928 2001-10-21  Paul Eggert  <eggert@twinsun.com>
62929
62930         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
62931
62932 2001-10-21  Jim Meyering  <meyering@lucent.com>
62933
62934         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
62935         this code would end up calling gettext even in packages built
62936         with --disable-nls.
62937         * lib/getopt.c (_): Likewise.
62938         * lib/regex.c (_): Likewise.
62939
62940 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62941
62942         * m4/error.m4 (jm_PREREQ_ERROR):
62943         Do not invoke AC_CHECK_FUNCS with strerror_r, as
62944         AC_FUNC_STRERROR_R does that.
62945         Check for strerror declaration.
62946
62947         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
62948         are supposed to have them these days.
62949         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
62950         Merge changes from latest Autoconf CVS.
62951         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
62952         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
62953         POSIX decided to standardize on the int flavor of strerror_r.
62954
62955 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62956
62957         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
62958         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
62959         Use strerror_r that is only a macro, even if it is not a function.
62960         (strerror): Check for HAVE_DECL_STRERROR before declaring.
62961         (private_strerror): Use prototypes, not old-style function definition.
62962         (print_errno_message): New function.
62963         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
62964         char*-flavored one.
62965         (error_tail, error, error_at_line): Use it.
62966
62967 2001-10-11  Jim Meyering  <meyering@lucent.com>
62968
62969         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
62970         and quote_n (1, ... to avoid clobbering a buffer.
62971
62972 2001-10-05  Jim Meyering  <meyering@lucent.com>
62973
62974         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
62975         hash-pjw.h.
62976         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
62977         * lib/hash-pjw.h: New file.
62978
62979 2001-09-30  Jim Meyering  <meyering@lucent.com>
62980
62981         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
62982         `struct fsstat' has the `f_fstypename' member.
62983         Use that to define FS_TYPE, which is now used to make
62984         the getfsstat link test tighter.
62985
62986 2001-09-30  Jim Meyering  <meyering@lucent.com>
62987
62988         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
62989         Include <sys/ucred.h>, for Apple Darwin.
62990         Include sys/mount.h and sys/fs_types.h only if available.
62991         (FS_TYPE): Define.
62992         (read_filesystem_list): Use FS_TYPE.
62993
62994 2001-09-29  Paul Eggert  <eggert@twinsun.com>
62995
62996         * lib/exclude.c (excluded_filename): 0 -> false, since it's
62997         a boolean context.
62998
62999 2001-09-29  Jim Meyering  <meyering@lucent.com>
63000
63001         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
63002         [one-argument getmntent function]): Include stdio.h before mntent.h.
63003         SunOS 4.1.x needs it for the declaration of `FILE'.
63004         Patch by Volker Borchert.
63005
63006         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
63007         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
63008         sys/fs_types.h, and make the link-test for getfsstat guard #include
63009         directives with appropriate #if HAVE_*_H tests so that we can
63010         detect getfsstat on Apple Darwin1.3.7 systems.
63011         Reported by Nelson Beebe.
63012         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
63013
63014 2001-09-28  Paul Eggert  <eggert@twinsun.com>
63015
63016         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
63017         #defines strtoimax.  Also treat the other strto* functions
63018         like strtoimax.
63019
63020         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
63021         Check for strtoul and strtoumax,
63022         as those declarations are made even in the signed case.
63023         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
63024         Likewise, for strtol and strtoimax.
63025
63026 2001-09-28  Paul Eggert  <eggert@twinsun.com>
63027
63028         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
63029         #defines strtoimax.  Also treat the other strto* functions
63030         like strtoimax.
63031
63032         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
63033         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
63034         (strtoimax, strtoumax): Do not declare if already defined as a macro.
63035
63036 2001-09-26  Jim Meyering  <meyering@lucent.com>
63037
63038         Most macros in unlocked-io.h had the wrong number of arguments.
63039         * lib/gen-uio: New script.
63040         (USE_UNLOCKED_IO): Define to 1 if not already defined.
63041         * lib/unlocked-io.hin: Remove file.
63042         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
63043         rather than trying to embed it here.
63044         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
63045         Reported by Padraig Brady.
63046
63047 2001-09-25  Volker Borchert  <bt@teknon.de>
63048
63049         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
63050         `result'.
63051
63052 2001-09-24  Jim Meyering  <meyering@lucent.com>
63053
63054         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
63055
63056 2001-09-23  Jim Meyering  <meyering@lucent.com>
63057
63058         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
63059         instead of the mere test for existence of mntent.h.  The latter
63060         would get a false-positive on AIX 3.4 systems.
63061         In the outer getmntent if-block, don't die if neither of the getmntent
63062         tests succeeds.  Instead, just fall through and continue with the
63063         remaining tests.
63064
63065 2001-09-23  Jim Meyering  <meyering@lucent.com>
63066
63067         * lib/mountlist.c: Remove useless parentheses in #if directives.
63068         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
63069         the deprecated MOUNTED symbol is no longer defined in mntent.h.
63070
63071 2001-09-22  Jim Meyering  <meyering@lucent.com>
63072
63073         * m4/gettext.m4: New file.  From gettext.
63074         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
63075         * m4/progtest.m4: Likewise
63076         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
63077         * m4/glibc21.m4: Likewise.
63078
63079         * m4/libintl.m4: Remove.  No longer used.
63080
63081 2001-09-22  Jim Meyering  <meyering@lucent.com>
63082
63083         * lib/localcharset.c: Update from latest gettext.
63084         * lib/config.charset: Likewise.
63085
63086 2001-09-20  Jim Meyering  <meyering@lucent.com>
63087
63088         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
63089         strtoimax.
63090         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
63091         strtoumax.
63092
63093 2001-09-20  Jim Meyering  <meyering@lucent.com>
63094
63095         * lib/xstrtol.c (strtoimax): Guard declaration with
63096         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
63097         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
63098         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
63099         (strtoumax): Likewise, for completeness (it wasn't necessary).
63100
63101 2001-09-17  Paul Eggert  <eggert@twinsun.com>
63102
63103         * lib/strtoimax.c (HAVE_LONG_LONG):
63104         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
63105         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
63106         to work around bug in IBM C compiler.
63107
63108 2001-09-17  Jim Meyering  <meyering@lucent.com>
63109
63110         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
63111         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
63112         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
63113         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
63114         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
63115         whenever the right hand side need not be expanded by the shell.
63116
63117 2001-09-16  Paul Eggert  <eggert@twinsun.com>
63118
63119         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
63120         library.  It's not correct, as some older glibcs are buggy.
63121         fnmatch wasn't fixed until glibc 2.2.
63122
63123         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
63124         special shell magic here.
63125
63126 2001-09-16  Jim Meyering  <meyering@lucent.com>
63127
63128         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
63129         * m4/jm-macros.m4: Require it.
63130
63131 2001-09-16  Jim Meyering  <meyering@lucent.com>
63132
63133         * lib/mkdir.c: New file.
63134
63135 2001-09-15  Jim Meyering  <meyering@lucent.com>
63136
63137         * m4/jm-macros.m4: Check for help2man.
63138
63139 2001-09-11  Jim Meyering  <meyering@lucent.com>
63140
63141         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
63142         The body, by Paul Eggert, was moved here from configure.in.
63143         * m4/jm-macros.m4: Require UTILS_HOST_OS.
63144
63145 2001-09-04  Paul Eggert  <eggert@twinsun.com>
63146
63147         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
63148         (jm_PREREQ): Use it.
63149
63150 2001-09-04  Paul Eggert  <eggert@twinsun.com>
63151
63152         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
63153         Use ssize_t, not int, to store result of readlink.
63154         Check for ssize_t overflow as well as size_t overflow,
63155         as POSIX says the result of readlink is implementation-defined
63156         when ssize_t overflows.
63157         Remove unnecessary cast to char*.
63158         Use free+malloc instead of realloc, as the storage doesn't need
63159         to be preserved and it's clearer and can be more efficient that way.
63160         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
63161         * lib/xreadlink.h (xreadlink): Update prototype.
63162
63163 2001-09-04  Paul Eggert  <eggert@twinsun.com>
63164
63165         * lib/xgetcwd.c: Revert some of the previous change; intead,
63166         fix the HAVE_GETCWD_NULL code to behave more like the
63167         !HAVE_GETCWD_NULL code used to.
63168
63169         Include "xalloc.h".
63170         (xgetcwd): Do not return NULL when memory is exhausted; instead,
63171         invoke xalloc_die.
63172
63173 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63174
63175         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
63176         sys/param.h, as pathmax.h includes them.
63177
63178 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63179
63180         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
63181         (jm_PREREQ_XGETCWD): New macro.
63182
63183         * m4/getcwd.m4: New file.
63184
63185 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63186
63187         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
63188         like the HAVE_GETCWD_NULL code.
63189         Include pathmax.h if not HAVE_GETCWD.
63190         Do not include xalloc.h.
63191         (INITIAL_BUFFER_SIZE): New symbol.
63192         Do not use xmalloc / xrealloc, since the caller is responsible for
63193         handling errors.  Preserve errno around `free' during failure.
63194         Do not overrun buffer when using getwd.
63195
63196 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63197
63198         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
63199         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
63200         getcwd (NULL, 0).
63201
63202 2001-09-03  Paul Eggert  <eggert@twinsun.com>
63203
63204         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
63205         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
63206         spotted by Jim Meyering.
63207
63208 2001-09-03  Jim Meyering  <meyering@lucent.com>
63209
63210         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
63211         failure.
63212
63213 2001-09-02  Jim Meyering  <meyering@lucent.com>
63214
63215         * lib/error.c: Update from GNU libc.
63216
63217 2001-09-01  Jim Meyering  <meyering@lucent.com>
63218
63219         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
63220         Used by df.
63221
63222 2001-09-01  Jim Meyering  <meyering@lucent.com>
63223
63224         * lib/xreadlink.c: New file.
63225         * lib/xreadlink.h: New file.
63226         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
63227         xreadlink.h.
63228
63229         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
63230         doesn't conflict with sparc Solaris 7's definition in
63231         /usr/include/sys/int_types.h.
63232
63233         * lib/exclude.c: Use `""', not `<>' to #include non-system header
63234         files.
63235         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
63236         and strncasecmp as r-values.  Unixware didn't have declarations.
63237
63238 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63239
63240         * lib/xstrtol.h: Add copyright notice.
63241         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
63242         LONGINT_INVALID_SUFFIX_CHAR.
63243
63244 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63245
63246         * lib/xstrtol.c (strtoimax): New decl.
63247
63248 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63249
63250         * lib/xgetcwd.c: Don't include pathmax.h.
63251         Include stdlib.h and unistd.h if available.
63252         Include xalloc.h.
63253         (xmalloc, xstrdup, free): Remove decls.
63254         (xgetcwd): Don't assume sizes fit in unsigned.
63255         Check for overflow when computing sizes.
63256         Simplify reallocation code.
63257
63258 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63259
63260         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
63261         a directory's st_size can have an arbitrary value, so the old
63262         usage could waste an arbitrary amount of memory.  All uses
63263         changed.
63264         * lib/savedir.h: Update prototype.
63265
63266 2001-08-31  Paul Eggert  <eggert@twinsun.com>
63267
63268         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
63269
63270         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
63271         old strtoimax.c.
63272
63273         Also, make the following further changes to make this file's
63274         configuration more similar to that of strtol.c:
63275         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
63276         (strtoumax, uintmax_t, strtoull, strtol): Remove.
63277         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
63278         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
63279         changed to signed values.
63280
63281         And make the following changes as well:
63282         Fix copyright notice, as 1999 was missing.
63283         (verify): New macro.
63284         (strtoimax): Check sizes at compile-time, not run-time.
63285         Prefer strtol to strtoll if both work.
63286         (main): Remove; it was not that useful and was a pain to maintain.
63287
63288         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
63289
63290 2001-08-31  Jim Meyering  <meyering@lucent.com>
63291
63292         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
63293         Use an initial, malloc'd, buffer of length 128 rather than
63294         a statically allocated one of length 1024.
63295
63296 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63297
63298         Simplify code, partly by assuming autoconf 2.52 semantics.
63299
63300         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
63301
63302         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
63303         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
63304         All uses removed.
63305         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
63306         Move AC_REQUIRE to next-to-top level, to avoid confusion.
63307         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
63308         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
63309         jm_AC_HEADER_INTTYPES_H.
63310         * m4/jm-macros.m4 (jm_MACROS): Likewise.
63311
63312         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
63313
63314         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
63315         Quote first arg of AC_DEFUN.
63316         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
63317         since they are needed to parse the include file even if we need
63318         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
63319         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
63320         but with opposite signedness.
63321
63322 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63323
63324         Merge 'exclude' changes from tar 1.13.22.
63325         This fixes one or two unlikely storage allocation overflow bugs,
63326         but doesn't change user-visible behavior otherwise.
63327
63328 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63329
63330         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
63331         (jm_PREREQ_EXCLUDE): New macro.
63332
63333 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63334
63335         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
63336         tm to be declared.
63337
63338 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63339
63340         * lib/hash.c: Remove '2001' from copyright notice.
63341
63342 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63343
63344         * lib/full-write.h: New file.
63345         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
63346         * lib/full-write.c: Correct credits, as cccp.c no longer
63347         exists and anyway it was so heavily changed from the old cccp
63348         code as to be unrecognizable.  Include full-write.h.
63349         (full_write) Return size_t, with short writes meaning failure.
63350         All callers changed.  This fixes a bug with large buffers
63351         on 64-bit hosts.
63352         * lib/utime.c: Include full-write.h.
63353
63354 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63355
63356         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
63357         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
63358         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
63359         Include if available.
63360         (<xalloc.h>): Include
63361         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
63362         (verify): New macro.  Use it to verify that EXCLUDE macros do not
63363         collide with FNM macros.
63364         (struct patopts): New struct.
63365         (struct exclude): Use it, as exclude patterns now come with options.
63366         (new_exclude): Support above changes.
63367         (new_exclude, add_exclude_file):
63368         Initial size must now be a power of two to simplify overflow checking.
63369         (free_exclude, fnmatch_no_wildcards): New function.
63370         (excluded_filename): No longer requires options arg, as the options
63371         are determined by add_exclude.  Now returns bool, not int.
63372         (excluded_filename, add_exclude):
63373         Add support for the fancy new exclusion options.
63374         (add_exclude, add_exclude_file): Now takes int options arg.
63375         Check for arithmetic overflow when computing sizes.
63376         (add_exclude_file): xrealloc might modify errno, so don't
63377         realloc until after errno might be used.
63378
63379         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
63380         New macros.
63381         (free_exclude): New decl.
63382         (add_exclude, add_exclude_file): Now takes int options arg.
63383         (excluded_filename): No longer requires options arg, as the options
63384         are determined by add_exclude.  Now returns bool, not int.
63385
63386 2001-08-30  Paul Eggert  <eggert@twinsun.com>
63387
63388         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
63389
63390 2001-08-27  Jim Meyering  <meyering@lucent.com>
63391
63392         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
63393
63394         * lib/version-etc.c (N_): Remove definition.
63395         Revert most of last change.
63396         Instead, simply don't mark the `Copyright...' string for translation.
63397         Based on advice from Paul Eggert.
63398
63399         * lib/strtoxmax.c: Tweak comment.
63400
63401 2001-08-26  Jim Meyering  <meyering@lucent.com>
63402
63403         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
63404
63405         * m4/xstrtoimax.m4: New file.
63406         * m4/xstrtoumax.m4: Add comments explaining why we
63407         AC_REPLACE_FUNCS(strtol).
63408
63409 2001-08-26  Jim Meyering  <meyering@lucent.com>
63410
63411         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
63412         of copyright with `%s' so translators don't get an untranslated
63413         message in 2002.
63414         (COPYRIGHT_YEAR): Define.
63415         (version_etc): Use fprintf rather than fputs.
63416         Suggestion from Ulrich Drepper.
63417
63418         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
63419
63420         * lib/strtoll.c: New file, from GNU libc.
63421         * lib/xstrtoimax.c: New file.
63422
63423         * lib/xstrtol.h: Add xstrtoimax.
63424         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
63425         * lib/strtoimax.c: New file.  Likewise, but first define
63426         STRTOUXMAX_SIGNED.
63427
63428         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
63429         ...
63430         * lib/strtoxmax.c: ... then renamed to this.
63431
63432 2001-08-18  Paul Eggert  <eggert@twinsun.com>
63433
63434         * m4/inttypes.m4: Add AC_PREREQ(2.13).
63435         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
63436         (jm_AC_TYPE_INTMAX_T): New macro.
63437         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
63438
63439         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
63440
63441         * m4/longlong.m4: Renamed from ulonglong.m4.
63442         * m4/inttypes.m4: Renamed from inttypes_h.m4.
63443         * m4/uintmax_t.m4: Removed.
63444
63445 2001-08-13  Paul Eggert  <eggert@twinsun.com>
63446
63447         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
63448         Port to Solaris 8, where 'sed' requires a space after the 'r'
63449         command, and where sh dislikes "$/".  Clean up the spacing a bit.
63450         Redirect output to $tmp just once.
63451
63452 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
63453
63454         * lib/addext.c (<errno.h>): Include.
63455         (errno): Declare if not defined.
63456         (addext): Work correctly when pathconf returns -1 and leaves
63457         errno alone because there is no limit.  Also, work even if
63458         pathconf returns a value greater than SIZE_MAX.
63459
63460 2001-08-12  Jim Meyering  <meyering@lucent.com>
63461
63462         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
63463         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
63464         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
63465         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
63466         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
63467         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
63468         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
63469         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
63470         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
63471         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
63472         utime.m4, utimes.m4, xstrtoumax.m4:
63473         Quote the first argument in each use of AC_DEFUN.
63474
63475 2001-08-12  Jim Meyering  <meyering@lucent.com>
63476
63477         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
63478         Simply `return getcwd (NULL, 0);'.
63479         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
63480         Use 1300 as initial value for length, not PATH_MAX.
63481
63482         * lib/pathmax.h: Clean up cpp syntax.
63483
63484 2001-08-12  Jim Meyering  <meyering@lucent.com>
63485
63486         * lib/gettimeofday.c: New file.
63487         * lib/gtod.h: New file.
63488         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
63489
63490 2001-08-05  Jim Meyering  <meyering@lucent.com>
63491
63492         * m4/jm-macros.m4: Require autoconf-2.52.
63493
63494 2001-08-04  Jim Meyering  <meyering@lucent.com>
63495
63496         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
63497         stmt, to get in sync with glibc.
63498
63499 2001-08-03  Paul Eggert  <eggert@twinsun.com>
63500
63501         The following changes are from gettext 0.10.39 as maintained by
63502         Bruno Haible.
63503
63504         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
63505         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
63506         with inverted sense.  All uses changed.
63507
63508         * lib/mbswidth.c: Don't include <limits.h>.
63509         Include <stdlib.h> and <string.h> unconditionally.
63510         (iswcntrl, mbsinit, ISCNTRL): New macros.
63511         (mbsnwidth): Use K&R style function declarations.
63512         Don't bother checking for MB_LEN_MAX == 1, since the compiler
63513         can optimize it when MB_CUR_MAX == 1.
63514         The width of control characters is zero, not 1.
63515
63516 2001-08-03  Paul Eggert  <eggert@twinsun.com>
63517
63518         The following changes are from gettext 0.10.39 as maintained by
63519         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
63520
63521         * m4/codeset.m4: Upgrade to serial AM1.
63522         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
63523         all uses changed.  Quote first arg of AC_DEFUN.
63524         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
63525
63526         * m4/iconv.m4: Upgrade to serial AM2.
63527         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
63528         Add --with-libconv-prefix.
63529         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
63530         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
63531         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
63532         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
63533         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
63534
63535         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
63536         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
63537         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
63538         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
63539         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
63540         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
63541         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
63542         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
63543         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
63544
63545         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
63546         string.h any more.
63547
63548         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
63549         not the default value.
63550
63551         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
63552         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
63553         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
63554         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
63555         Also check for iswcntrl, used for wcwidth fallback.
63556         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
63557         to Autoconf 2.13.
63558
63559 2001-08-03  Jim Meyering  <meyering@lucent.com>
63560
63561         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
63562         as it was in the original.  Reported by Paul Eggert.
63563
63564 2001-07-16  Jim Meyering  <meyering@lucent.com>
63565
63566         * m4/gettimeofday.m4: New file.
63567         Prompted by a report from Bernhard Baehr.
63568
63569 2001-07-15  Jim Meyering  <meyering@lucent.com>
63570
63571         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
63572         stuff. Now it's in ../Makefile.cfg.
63573
63574 2001-07-15  Jim Meyering  <meyering@lucent.com>
63575
63576         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
63577         (BUILT_SOURCES): Add unlocked-io.h.
63578         (io_functions): Define.
63579         (unlocked-io.h): New rule.
63580         (DISTCLEANFILES): Add unlocked-io.h.
63581         (all-local): Depend on unlocked-io.h, to ensure it is created.
63582
63583         * lib/unlocked-io.hin: New file
63584
63585         * lib/regex.c: Update from glibc.
63586
63587 2001-07-05  Jim Meyering  <meyering@lucent.com>
63588
63589         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
63590         recommendation.
63591         (libfetish_a_SOURCES): Put all .h files here instead.
63592         Remove a thus-exposed (better checks in automake) duplicate and
63593         two unnecessary .h files.
63594
63595 2001-07-04  Jim Meyering  <meyering@lucent.com>
63596
63597         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
63598         that generates jm-glibc-io.m4 so that it doesn't trigger any make
63599         distcheck failure.
63600
63601 2001-07-02  Jim Meyering  <meyering@lucent.com>
63602
63603         The following changes were prompted by suggestions from Bruno Haible.
63604
63605         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
63606         is now generated.
63607         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
63608         definition of EXTRA_DIST.
63609         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
63610         ensure that the generated file is created/updated whenever the list
63611         of $(unlocked_functions) is changed.
63612         (jm-glibc-io.m4): New rule.
63613         (unlocked-io.h): New rule -- currently unused.
63614
63615 2001-06-24  Jim Meyering  <meyering@lucent.com>
63616
63617         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
63618         unmatched right bracket, rather than kludging it with an extra,
63619         falsely-matching quote in a comment.  Patch by Akim Demaille.
63620
63621 2001-06-11  Jim Meyering  <meyering@lucent.com>
63622
63623         * lib/regex.c: Update from GNU libc.
63624
63625 2001-05-27  Jim Meyering  <meyering@lucent.com>
63626
63627         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
63628         Check for ut_type in struct utmp.
63629
63630 2001-05-27  Jim Meyering  <meyering@lucent.com>
63631
63632         * lib/readutmp.h (UT_TYPE): Define.
63633
63634 2001-05-24  Jim Meyering  <meyering@lucent.com>
63635
63636         * lib/argmatch.c: Include "quote.h".
63637         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
63638         quote function.  Reported by Göran Uddeborg.
63639
63640 2001-05-22  Jim Meyering  <meyering@lucent.com>
63641
63642         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
63643         now that we use the package-supplied version unconditionally.
63644         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
63645
63646 2001-05-21  Jim Meyering  <meyering@lucent.com>
63647
63648         * m4/regex.m4: Change a couple backticks to single quotes to avoid
63649         shell syntax errors.
63650
63651 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63652
63653         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
63654
63655 2001-05-20  Paul Eggert  <eggert@twinsun.com>
63656
63657         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
63658         Don't bother to check library strftime, since
63659         we'll be using our own my_strftime function anyway.
63660         Define my_strftime instead of strftime.
63661
63662 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
63663
63664         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
63665         which is not yet declared.
63666
63667 2001-05-15  Jim Meyering  <meyering@lucent.com>
63668
63669         * m4/regex.m4: Use proper quoting so brackets appear in the test
63670         program.
63671         Reported by, and with help from, Bruno Haible.
63672
63673 2001-05-13  Jim Meyering  <meyering@lucent.com>
63674
63675         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
63676         undefined.
63677
63678 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63679
63680         dirname code cleanup.  base_name now behaves more compatibly
63681         with POSIX basename when given file names that have trailing
63682         slashes, and similarly for dir_name.  Add new primitives
63683         base_len and dir_len.  Put the directory-name-related decls
63684         into dirname.h.
63685
63686         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
63687         * lib/backupfile.c (base_name): Likewise.
63688         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
63689         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
63690         * lib/makepath.c (strip_trailing_slashes): Likewise.
63691         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
63692         ISSLASH): Likewise.
63693         * lib/rename.c (strip_trailing_slashes): Likewise.
63694         * lib/same.c (base_name): Likewise.
63695         * lib/stripslash.c (ISSLASH): Likewise.
63696
63697         * lib/addext.c: Include <dirname.h> after size_t is defined.
63698         * lib/backupfile.c: Likewise.
63699
63700         * lib/addext.c (addext): Use base_len to trim redundant
63701         trailing slashes instead of doing it ourselves.
63702         But do not trim the last slash if it is not redundant.
63703
63704         * lib/backupfile.c (find_backup_file_name,
63705         max_backup_version): Use base_len instead of rolling it ourselves.
63706         Handle the case of "" and (on DOS) "C:" correctly.
63707
63708         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
63709         needed. Include <string.h>, <dirname.h>.
63710         (base_name): Allow file names ending in slashes, other than names
63711         that are all slashes.  In this case, return the basename followed
63712         by the slashes.  This is more general, and can be used in places
63713         where the original base_name purposely had an assertion failure.
63714         (base_len): New function.
63715
63716         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
63717         Do not include <assert.h>; no longer needed.
63718         Include xalloc.h.
63719         (memrchr): Remove decl.
63720         (dir_name_r): Remove.
63721         (dir_len): Renamed from dirlen.  All callers changed.
63722         Rewrite in terms of base_name, for simplicity and consistency.
63723         (dir_name): Never return NULL.  All callers changed.
63724         Do not include <stdlib.h> in test program; no longer needed.
63725         return 0; is fine for test program.
63726
63727         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
63728         New macros.
63729         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
63730
63731         * lib/path-concat.c (path_concat): Use base_len to compute
63732         base length, not strlen; this means we cannot rely on memcpy
63733         to null-terminate.
63734
63735         * lib/same.c (STREQ): Remove.
63736         (same_name): Handle the case where the basename ends in trailing '/'.
63737
63738         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
63739         a slash was stripped.  Do not strip the last slash after a
63740         file system prefix.
63741
63742 2001-05-11  Paul Eggert  <eggert@twinsun.com>
63743
63744         * lib/Makefile.am (libfetish_a_SOURCES):
63745         Add strftime.c, since we now compile it on all hosts.
63746
63747         * lib/strftime.c (my_strftime):
63748         Define to nstrftime if emacs, but only if my_strftime is not defined.
63749         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
63750         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
63751         Add one more extra argument: a nanoseconds value.
63752         All uses changed.
63753         (ns): New macro.
63754         (my_strftime function): Add %N format.
63755         (emacs_strftimeu): Renamed from emacs_strftime,
63756         with extra ut argument.
63757
63758 2001-05-09  Paul Eggert  <eggert@twinsun.com>
63759
63760         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
63761
63762 2001-04-21  Jim Meyering  <meyering@lucent.com>
63763
63764         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
63765         doesn't interfere.
63766
63767 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
63768
63769         * m4/ftruncate.m4: Check for chsize.
63770         Link with ftruncate.o unconditionally if ftruncate is missing.
63771         This was required when cross-compiling to i586-mingw32msvc.
63772
63773 2001-04-08  Jim Meyering  <meyering@lucent.com>
63774
63775         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
63776         recomputed; that's necessary when the offset spans a DST transition.
63777         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
63778
63779 2001-04-02  Jim Meyering  <meyering@lucent.com>
63780
63781         * lib/regex.h, regex.c: Update from GNU libc.
63782
63783 2001-03-24  Jim Meyering  <meyering@lucent.com>
63784
63785         * m4/jm-macros.m4: Require autoconf-2.49d.
63786
63787 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
63788
63789         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
63790
63791 2001-03-19  Paul Eggert  <eggert@twinsun.com>
63792
63793         * lib/version-etc.c (version_etc_copyright): Update to 2001.
63794
63795 2001-03-17  Jim Meyering  <meyering@lucent.com>
63796
63797         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
63798         now that the version in autoconf is equivalent.
63799         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
63800
63801         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
63802         Suggestion from Akim Demaille.
63803
63804         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
63805         (jm_PREREQ_TEMPNAME): New function.
63806
63807 2001-03-16  Paul Eggert  <eggert@twinsun.com>
63808
63809         * lib/tempname.c (uint64_t): Define to uintmax_t if
63810         not defined, and if UINT64_MAX is not defined.
63811         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
63812         Reported by John David Anglin.
63813
63814 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
63815
63816         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
63817         resolve alias if codeset is empty.
63818         * lib/config.charset (BeOS): Use wildcard syntax.
63819
63820 2001-03-13  Jim Meyering  <meyering@lucent.com>
63821
63822         * lib/path-concat.c (path_concat)
63823         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
63824         concatenating e.g., `C:' and `foo'.
63825         From Bruno Haible.
63826
63827 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63828
63829         * lib/localcharset.c (locale_charset): Don't use
63830         setlocale(LC_CTYPE,NULL). Don't return NULL.
63831         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
63832
63833 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63834
63835         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
63836         support for DOS/DJGPP.
63837
63838 2001-03-01  Paul Eggert  <eggert@twinsun.com>
63839
63840         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
63841         lacks mkstemp.  Compile our own tempname.c if we compile our own
63842         mkstemp.c, as mkstemp relies on tempname.
63843
63844 2001-03-01  Jim Meyering  <meyering@lucent.com>
63845
63846         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
63847         AH_VERBATIM really does output its argument verbatim.
63848
63849 2001-02-28  Paul Eggert  <eggert@twinsun.com>
63850
63851         * lib/Makefile.am (libfetish_a_SOURCES):
63852         Add dup-safer.c, fopen-safer.c.
63853         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
63854
63855         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
63856         * lib/unistd-safer.h: New files.
63857
63858 2001-02-25  Paul Eggert  <eggert@twinsun.com>
63859
63860         The mkstemp replacement is taken from glibc 2.2.2, with some
63861         portability fixes for use outside glibc, as follows:
63862
63863         * lib/tempname.c (struct_stat64): New macro.
63864         (direxists, __gen_tempname): Use it.
63865         This avoids a portability problem with Solaris 8.
63866
63867         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
63868         (<stddef.h>, <stdint.h>, <string.h>):
63869         Include only if STDC_HEADERS || _LIBC.
63870         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
63871         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
63872         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
63873         (__set_errno): Define this macro if <errno.h> doesn't.
63874         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
63875         Define these macros if <stdio.h> doesn't.
63876         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
63877         Define these macros if <sys/stat.h>
63878         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
63879         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
63880         __xstat64): Define if not _LIBC.
63881         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
63882         (__gen_tempname): Invoke gettimeofday only if
63883         HAVE_GETTIMEOFDAY || _LIBC;
63884         otherwise, fall back on plain "time".
63885         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
63886
63887         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
63888
63889         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
63890
63891 2001-02-18  Paul Eggert  <eggert@twinsun.com>
63892
63893         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
63894
63895 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63896
63897         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
63898         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
63899         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
63900         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63901
63902 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63903
63904         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
63905         Remove workaround macros for hosts that have mbrtowc but not
63906         mbstate_t, as we now insist on proper declarations for both
63907         before using mbrtowc.
63908
63909 2001-02-17  Jim Meyering  <meyering@lucent.com>
63910
63911         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
63912         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
63913         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
63914         UnixWare 7.1.1.
63915
63916         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
63917         rather than AC_CACHE_VAL.
63918
63919 2001-02-17  Jim Meyering  <meyering@lucent.com>
63920
63921         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
63922         around included file name.
63923
63924         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
63925
63926         * lib/strftime.c: Update from GNU libc (the only changes were to
63927         comments).
63928
63929 2001-02-17  Jim Meyering  <meyering@lucent.com>
63930
63931         * lib/regex.c: Update from libc.
63932
63933 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
63934
63935         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
63936         clash.
63937
63938 2001-02-16  Paul Eggert  <eggert@twinsun.com>
63939
63940         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
63941         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
63942         Reported by Mark Hounschell via Paul Eggert.
63943
63944 2001-02-07  Jim Meyering  <meyering@lucent.com>
63945
63946         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
63947
63948 2001-02-05  Jim Meyering  <meyering@lucent.com>
63949
63950         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
63951         it includes the patch required for `large file' support with at least
63952         HP-UX's 10.20 /bin/cc.
63953
63954 2001-02-03  Jim Meyering  <meyering@lucent.com>
63955
63956         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
63957         AS_IF, now that it works once again (mysteriously).
63958         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63959
63960 2001-01-30  Jim Meyering  <meyering@lucent.com>
63961
63962         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
63963         * m4/chown.m4: Rename conftestchown to conftest.chown.
63964         * m4/rename.m4: s/conftestdir/conftest.d1/ and
63965         s/conftestdir2/conftest.d2/.
63966         * m4/utimes.m4: s/conftestdata/conftest.data/
63967         Inspired by Pavel Roskin's change in autoconf.
63968
63969 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
63970
63971         * lib/config.charset: Update for FreeBSD 4.2.
63972
63973 2001-01-27  Jim Meyering  <meyering@lucent.com>
63974
63975         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
63976         a use of AS_IF.
63977         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63978
63979 2001-01-26  Jim Meyering  <meyering@lucent.com>
63980
63981         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
63982         quotearg.c includes it.
63983
63984 2001-01-26  Jim Meyering  <meyering@lucent.com>
63985
63986         * lib/quotearg.c: Include stddef.h.
63987         * lib/quote.c: Include stddef.h.
63988         Reported by Axel Kittenberger.
63989
63990         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
63991         line in double quotes so that it evokes a better diagnostic.
63992         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
63993         Reported by Axel Kittenberger.
63994
63995 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
63996
63997         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
63998         as if it was a `charset'.
63999
64000 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
64001
64002         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
64003         has const.
64004
64005 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
64006
64007         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
64008         to avoid a warning.  Add back 'const' to inptr.
64009
64010 2001-01-20  Jim Meyering  <meyering@lucent.com>
64011
64012         Be sure that headers are checked before used in code compiled
64013         for the type checks.
64014         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
64015         In place of that, invoke jm_CHECK_ALL_TYPES.
64016         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
64017         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
64018         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
64019         The check for ssize_t was mistakenly run before the test for unistd.h.
64020
64021         The configure-time check for stdbool.h was missing.
64022         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
64023         (jm_PREREQ_HASH): New function.
64024
64025 2001-01-17  Jim Meyering  <meyering@lucent.com>
64026
64027         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
64028         for autoconf-2.49c.
64029         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
64030
64031 2001-01-16  Jim Meyering  <meyering@lucent.com>
64032
64033         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
64034         From Bruno Haible.
64035
64036 2001-01-14  Jim Meyering  <meyering@lucent.com>
64037
64038         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
64039         foo and bar.  Create conftestdir/ in the script, not in the C code.
64040         Remove directories in the script, not in the C code.
64041         Remove conftestdir{,2} before trying to create the directory.
64042         Make the entire configure script fail if the mkdir fails.
64043
64044 2001-01-14  Jim Meyering  <meyering@lucent.com>
64045
64046         * lib/rename.c: New file.  From Volker Borchert.
64047         Include stdlib.h, string.h or strings.h, and xalloc.h.
64048         Use strip_trailing_slashes rather than open-coding it.
64049
64050 2001-01-03  Paul Eggert  <eggert@twinsun.com>
64051
64052         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
64053
64054 2001-01-03  Jim Meyering  <meyering@lucent.com>
64055
64056         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
64057         of local `inptr' to avoid warning with some system declarations of
64058         iconv.
64059
64060 2001-01-02  Volker Borchert  <bt@teknon.de>
64061
64062         * m4/rename.m4: New file.
64063         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
64064
64065 2001-01-01  Jim Meyering  <meyering@lucent.com>
64066
64067         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
64068         even on systems with utmpx.h.  It's necessary for the declaration of
64069         utmp's ut_user member.  Reported by Andreas Jaeger.
64070
64071         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
64072         available. They are required for the declarations of getgrgid and
64073         getpwuid resp.
64074         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
64075         Reported by Andreas Jaeger.
64076
64077 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
64078
64079         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
64080         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
64081         so `make install' also works in VPATH builds.
64082
64083 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
64084
64085         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
64086         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
64087         can be used in subdirectories.
64088
64089 2000-12-29  Paul Eggert  <eggert@twinsun.com>
64090
64091         * lib/modechange.c: Do not assume that mode_t uses the
64092         traditional octal encoding.  E.g. "chmod 1 FOO" should set
64093         the other-execute bit of FOO even if S_IXOTH != 1.
64094
64095         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
64096         WOTH, XOTH, ALLM): New macros.
64097         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
64098          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
64099         Use them.
64100         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
64101         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
64102         (mode_compile):
64103         No need to use uintmax_t; unsigned long is long enough.
64104         Don't bother to get suffix since we don't use it.
64105
64106 2000-12-26  Jim Meyering  <meyering@lucent.com>
64107
64108         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
64109         better with autoheader.
64110
64111 2000-12-24  Jim Meyering  <meyering@lucent.com>
64112
64113         * lib/hash.c (is_prime): Return explicit boolean values.
64114         (hash_get_first): Return NULL to appease Irix5.6's 89.
64115         Reported by Nelson Beebe.
64116
64117 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
64118
64119         * lib/localcharset.c (locale_charset): Add support for Win32.
64120
64121 2000-12-18  Paul Eggert  <eggert@twinsun.com>
64122
64123         * lib/physmem.h, lib/physmem.c: New files.
64124
64125         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
64126         (noinst_HEADERS): Add physmem.h.
64127
64128         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
64129         't' for compatibility with Solaris 8 sort.
64130
64131 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
64132
64133         * lib/config.charset: Add support for BeOS.
64134
64135 2000-12-17  Jim Meyering  <meyering@lucent.com>
64136
64137         * m4/dos.m4 (jm_AC_DOS): New file and macro.
64138         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
64139
64140 2000-12-16  Jim Meyering  <meyering@lucent.com>
64141
64142         This bug had a serious impact on chown: `chown N:M FILE' (for integer
64143         N and M) would have treated it like `chown N:N FILE'.
64144
64145         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
64146
64147 2000-12-16  Jim Meyering  <meyering@lucent.com>
64148
64149         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
64150         SHELLS_FILE to a file name that's useful on djgpp systems.
64151         Include stdlib.h.
64152         (ADDITIONAL_DEFAULT_SHELLS): Define.
64153         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
64154         Based mostly on a patch from Prashant TR.
64155
64156 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
64157
64158         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
64159         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
64160         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
64161
64162 2000-12-08  Andreas Schwab  <schwab@suse.de>
64163
64164         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
64165         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
64166
64167 2000-12-07  Jim Meyering  <meyering@lucent.com>
64168
64169         * lib/stripslash.c (ISSLASH): Define.
64170         (strip_trailing_slashes): Use ISSLASH rather than comparing against
64171         `/'.
64172         From Prashant TR.
64173
64174         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
64175         (dir_name_r): Declare this function as static.
64176         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
64177         manifest itself on a name containing a mix of slashes and
64178         backslashes.
64179         Make this function work with names starting with a DOS-style
64180         drive letter and colon prefix.
64181         (dir_name): Append `.' if necessary.
64182         Based mostly on patches from Prashant TR and Eli Zaretskii.
64183
64184         * lib/dirname.h (dir_name_r): Remove prototype.
64185
64186 2000-12-06  Paul Eggert  <eggert@twinsun.com>
64187
64188         * m4/off_t-format.m4: Remove this file.
64189         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
64190
64191 2000-12-06  Jim Meyering  <meyering@lucent.com>
64192
64193         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
64194         replacement strtoull, we may well need the replacement strtoul, too.
64195         Check for declarations of strtoul and strtoull.
64196         Check for strtol.  Mainly as a cue to cause automake to include
64197         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
64198         Check for limits.h -- strtol.c needs it.
64199
64200 2000-12-05  Jim Meyering  <meyering@lucent.com>
64201
64202         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
64203
64204 2000-12-04  Jim Meyering  <meyering@lucent.com>
64205
64206         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
64207         Also include memory.h, stdlib.h, unistd.h if appropriate.
64208         Reported by Andreas Jaeger (conflicting declaration of malloc).
64209
64210 2000-12-02  Jim Meyering  <meyering@lucent.com>
64211
64212         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
64213         * m4/jm-macros.m4 (jm_MACROS): require it.
64214
64215 2000-12-02  Jim Meyering  <meyering@lucent.com>
64216
64217         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
64218
64219 2000-12-01  Paul Eggert  <eggert@twinsun.com>
64220
64221         * lib/memrchr.c: Include <config.h> before any system include file.
64222
64223 2000-11-30  Jim Meyering  <meyering@lucent.com>
64224
64225         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
64226
64227 2000-11-30  Jim Meyering  <meyering@lucent.com>
64228
64229         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
64230
64231 2000-11-29  Paul Eggert  <eggert@twinsun.com>
64232
64233         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
64234
64235 2000-11-26  Jim Meyering  <meyering@lucent.com>
64236
64237         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
64238
64239 2000-11-22  Paul Eggert  <eggert@twinsun.com>
64240
64241         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
64242         size of (size_t) -1; it's not portable.
64243
64244 2000-11-17  Jim Meyering  <meyering@lucent.com>
64245
64246         * lib/strstr.c: Update from GNU libc.
64247
64248 2000-11-17  Akim Demaille  <akim@epita.fr>
64249
64250         * lib/obstack.h: Formatting changes.
64251         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
64252         prevent type checking.
64253         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
64254         cast the value to (void *): assigning a `foo *' to a `void *'
64255         variable is valid.
64256         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
64257
64258 2000-11-16  Jim Meyering  <meyering@lucent.com>
64259
64260         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
64261
64262 2000-11-11  Jim Meyering  <meyering@lucent.com>
64263
64264         * lib/error.c: Add a couple #includes, merging from GNU libc version.
64265
64266 2000-11-10  Jim Meyering  <meyering@lucent.com>
64267
64268         * lib/obstack.h: Update from GNU libc.
64269         * lib/obstack.c: Likewise.
64270
64271 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
64272
64273         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
64274
64275 2000-11-06  Paul Eggert  <eggert@twinsun.com>
64276
64277         * lib/getusershell.c (setusershell): Use rewind rather than
64278         fseek/fseeko, to avoid configuration hassles with fseeko.
64279         Don't bother opening SHELLS_FILE if shellstream is NULL;
64280         it's not necessary.
64281
64282 2000-11-05  Jim Meyering  <meyering@lucent.com>
64283
64284         * lib/makepath.h (make_dir): Declare.
64285         * lib/makepath.c (make_dir): Remove `static' attribute.
64286         Tweak a comment.
64287
64288 2000-11-04  Jim Meyering  <meyering@lucent.com>
64289
64290         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
64291
64292 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
64293
64294         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
64295         last one in a bucket, advance to the next bucket.
64296
64297 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
64298
64299         * lib/fnmatch.c: Do not comment out all the code if we are using
64300         the GNU C library, because in some cases we are replacing buggy
64301         code in the GNU C library itself.
64302
64303 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
64304
64305         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
64306         (regex_compile): Catch bogus \(\1\).
64307
64308 2000-10-30  Paul Eggert  <eggert@twinsun.com>
64309
64310         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
64311         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
64312         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
64313
64314 2000-10-30  Paul Eggert  <eggert@twinsun.com>
64315
64316         * lib/error.h, getline.h, modechange.h:
64317         Remove "2000" from Copyright line, as the file hasn't been
64318         changed this year other than in the copyright notice.
64319
64320         * lib/xalloc.h: Add "2000" to Copyright line, as this file
64321         was changed this year.
64322
64323 2000-10-29  Jim Meyering  <meyering@lucent.com>
64324
64325         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
64326         renaming.
64327         * m4/ls-mntd-fs.m4: Likewise
64328
64329 2000-10-29  Jim Meyering  <meyering@lucent.com>
64330
64331         * lib/xstat.in: Fix grammar in comment.
64332
64333 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
64334
64335         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
64336         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
64337         doesn't define __restrict_arr.
64338
64339 2000-10-28  Jim Meyering  <meyering@lucent.com>
64340
64341         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
64342         (jm_PREREQ_MEMCHR): New function.
64343
64344 2000-10-28  Jim Meyering  <meyering@lucent.com>
64345
64346         * lib/memchr.c: Update from libc.
64347         Adjust for portability:
64348         [HAVE_STDLIB_H]: Include stdlib.h.
64349         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
64350         Undef __memchr, too.
64351         [!weak_alias]: Define __memchr to memchr.
64352
64353         * lib/regex.c: Update from libc.
64354         * lib/regex.h: Likewise.
64355         * lib/getopt1.c: Likewise.
64356         * lib/memcmp.c: Likewise.
64357
64358         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
64359         Avoid using fseek, when possible -- it's broken by design.
64360         Patch by Ulrich Drepper.
64361
64362 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
64363
64364         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
64365         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
64366         Giving in to popular pressure to shut up the compiler with casts.
64367
64368 2000-10-26  Jim Meyering  <meyering@lucent.com>
64369
64370         * lib/strftime.c: Update from libc.
64371
64372 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
64373
64374         * regex.c: More `unsigned char' -> `re_char' changes.
64375         Also change several `int' into `re_wchar_t'.
64376         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
64377         (PUSH_FAILURE_POINTER): Don't cast any more.
64378         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
64379         We want GCC to complain, since this piece of code makes
64380         re_match non-reentrant, which *should* be fixed.
64381         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
64382         (EXTEND_BUFFER): Use RETALLOC.
64383         (SET_LIST_BIT): Don't cast.
64384         (re_wchar_t): New type.
64385         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
64386         that those two functions will always properly return.
64387         (IMMEDIATE_QUIT_CHECK): Cast to void.
64388         (analyse_first): Use recursion rather than an explicit stack.
64389         (re_compile_fastmap): Can't fail anymore.
64390         (re_search_2): Don't check re_compile_fastmap for failure.
64391         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
64392         Now also sets the new value (passed in a new argument).
64393         (re_match_2_internal): Use it.
64394         Also, use a new var `reg' of type size_t when looping through regs
64395         rather than reuse the inappropriate `mcnt'.
64396
64397 2000-10-25  Jim Meyering  <meyering@lucent.com>
64398
64399         * lib/obstack.c: Update from libc.
64400
64401 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
64402
64403         * regex.c (regex_compile): Change the way of handling a range from
64404         a char less than 256 to a char not less than 256.
64405
64406 2000-10-24  Andrew Innes  <andrewi@gnu.org>
64407
64408         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
64409         NT-Emacs only.
64410         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
64411         so that re_search functions only quit when callers expect them to.
64412
64413 2000-10-23  Jim Meyering  <meyering@lucent.com>
64414
64415         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
64416         wrong.  That set_locale call must not have any side effects.
64417         From Paul Eggert.
64418
64419 2000-10-22  Jim Meyering  <meyering@lucent.com>
64420
64421         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
64422         [CYCLIC]: Remove now-unused definition.
64423
64424         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
64425         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
64426         Suggestion from Ulrich Drepper.
64427
64428 2000-10-21  Jim Meyering  <meyering@lucent.com>
64429
64430         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
64431         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
64432         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
64433
64434 2000-10-21  Jim Meyering  <meyering@lucent.com>
64435
64436         * lib/dirname.c (memrchr): Declare if necessary.
64437         (dir_name): Remove the restriction that there be no
64438         trailing slashes.  Now, this code skips past them, effectively
64439         ignoring them.
64440         [TEST_DIRNAME] (main): New unit tests.
64441
64442         * lib/memrchr.c: New file from GNU libc.
64443         Undef __memrchr, too.
64444         [!weak_alias]: Define __memrchr to memrchr.
64445         Guard weak_alias use with `#ifdef weak_alias'.
64446
64447 2000-10-21  Jim Meyering  <meyering@lucent.com>
64448
64449         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
64450         (dir_name): Use dir_name_r.
64451         * lib/dirname.h (dir_name_r): Declare it.
64452
64453 2000-10-17  Jim Meyering  <meyering@lucent.com>
64454
64455         * lib/quote.h (PARAMS): Define and use.
64456         Reported by Akim Demaille.
64457
64458         * lib/getopt.c: Update from libc.
64459
64460 2000-10-16  Jim Meyering  <meyering@lucent.com>
64461
64462         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
64463         setlocale.
64464         From Jan Fedak.
64465
64466 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
64467
64468         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
64469
64470 2000-09-25  Jim Meyering  <meyering@lucent.com>
64471
64472         * lib/md5.h (rol): Define (from GnuPG).
64473
64474         * lib/sha.c: Give credit (GnuPG) where due.
64475         (M): Use rol rather than open-coding it.
64476         Add a FIXME comment.
64477
64478 2000-09-21  Jim Meyering  <meyering@lucent.com>
64479
64480         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
64481         Reported by Michael Stone.
64482
64483 2000-09-20  Jim Meyering  <meyering@lucent.com>
64484
64485         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
64486         (noinst_HEADERS): Add sha.h.
64487         Based on code from Scott G. Miller and from GnuPG.
64488
64489 2000-09-18  Jim Meyering  <meyering@lucent.com>
64490
64491         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
64492         LIBS. Otherwise, everyone ends up linking with -lelf for some
64493         configurations.
64494         Reported by Mike Stone.
64495
64496 2000-09-15  Jim Meyering  <meyering@lucent.com>
64497
64498         * lib/regex.c: Update from libc.
64499
64500 2000-09-10  Jim Meyering  <meyering@lucent.com>
64501
64502         * lib/getopt.c (_getopt_internal): Update from glibc.
64503
64504 2000-09-09  Jim Meyering  <meyering@lucent.com>
64505
64506         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
64507         think it should be used as a general replacement for isascii.
64508         * lib/fnmatch.c: Likewise.
64509         * lib/mbswidth.c: Likewise
64510         * lib/regex.c: Likewise.
64511
64512         Don't use atoi.
64513         * lib/userspec.c: Include sys/param.h and limits.h.
64514         Include xstrtol.h.
64515         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
64516         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
64517         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
64518         UID, GID.  Check range.
64519
64520 2000-09-06  Jim Meyering  <meyering@lucent.com>
64521
64522         * lib/getopt.c (_getopt_internal): Update from glibc.
64523
64524 2000-08-30  Jim Meyering  <meyering@lucent.com>
64525
64526         * lib/strftime.c: Merge in changes from GNU libc.
64527
64528 2000-08-26  Jim Meyering  <meyering@lucent.com>
64529
64530         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
64531         * m4/fpending.m4: New file.
64532
64533 2000-08-26  Jim Meyering  <meyering@lucent.com>
64534
64535         * lib/closeout.c: Include "__fpending.h".
64536         (close_stdout_status): Return right away if there's nothing to flush.
64537
64538         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
64539         * lib/__fpending.c: New file.
64540         * lib/__fpending.h: New file.
64541
64542 2000-08-20  Jim Meyering  <meyering@lucent.com>
64543
64544         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
64545         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
64546         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
64547
64548 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
64549
64550         Improve fileutils installation on systems where running
64551         programs (like install) can't be unlinked.
64552         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
64553         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
64554
64555 2000-08-07  Paul Eggert  <eggert@twinsun.com>
64556
64557         Standardize on "memory exhausted" instead of "Memory exhausted"
64558         or "virtual memory exhausted".
64559         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
64560         "virtual memory exhausted".
64561         * lib/same.c (same_name): Invoke xalloc_die instead of printing
64562         our own message.
64563         * lib/userspec.c (parse_user_spec): Likewise.
64564         * lib/bumpalloc.h: comment fix
64565         * lib/same.c, userspec.c: Include xalloc.h.
64566
64567         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
64568         not char *const and pointing to a constant array.
64569         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
64570         (xrealloc): Comment fix.
64571
64572         * lib/userspec.c (parse_user_spec):
64573         Don't translate a message until just before returning,
64574         to avoid unnecessary translation.
64575
64576 2000-08-07  Jim Meyering  <meyering@lucent.com>
64577
64578         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
64579         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
64580         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
64581         getgroups.c, gethostname.c, getopt.h, group-member.c,
64582         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
64583         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
64584         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
64585         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
64586         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
64587         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
64588         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
64589         yesno.c: Back out Copyright date changes for each file with no change
64590         this year.  This eases coordination with other programs using the same
64591         source code modules.  From Paul Eggert.
64592
64593 2000-08-06  Paul Eggert  <eggert@twinsun.com>
64594
64595         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
64596         not char, for compatibility with glibc 2.1.3 strftime.c.
64597
64598 2000-08-03  Greg McGary  <greg@mcgary.org>
64599
64600         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
64601         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
64602         (EXTEND_BUFFER): Use them.
64603
64604 2000-08-01  Jim Meyering  <meyering@lucent.com>
64605
64606         * lib/dirname.c (ISSLASH): Define.
64607         (BACKSLASH_IS_PATH_SEPARATOR): Define.
64608         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
64609         both `\' and `/' may be use as path separators.
64610         Based on a patch from Prashant TR.
64611
64612 2000-07-31  Paul Eggert  <eggert@twinsun.com>
64613
64614         * lib/quotearg.c (quotearg_n_options): Don't make the initial
64615         slot vector a constant, since it might get modified.
64616
64617 2000-07-31  Jim Meyering  <meyering@lucent.com>
64618
64619         * lib/xmalloc.c: Use `virtual memory exhausted', not
64620         `Memory exhausted'.
64621         * lib/obstack.c (print_and_abort): Likewise.
64622
64623 2000-07-30  Paul Eggert  <eggert@twinsun.com>
64624
64625         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
64626         buffer, so that the caller can always quote one small
64627         component of a "memory exhausted" message in slot 0.
64628         From a suggestion by Jim Meyering.
64629
64630 2000-07-30  Jim Meyering  <meyering@lucent.com>
64631
64632         * lib/makepath.c (make_path): Quote the other instance, too.
64633
64634         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
64635         (STATIC_BUF_SIZE): Define.
64636         (quotearg_n_options): Use only statically allocated storage when
64637         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
64638         than STATIC_BUF_SIZE.
64639
64640 2000-07-29  Jim Meyering  <meyering@lucent.com>
64641
64642         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
64643         * lib/dirname.c (dir_name): Likewise.
64644
64645         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
64646         `/'.
64647
64648         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
64649         (dir_name): Assert that there are no trailing slashes.
64650
64651 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
64652
64653         * lib/mbswidth.h (mbswidth): Add a flags argument.
64654         (mbswidth): New declaration.
64655         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
64656         * lib/mbswidth.c (mbswidth): Add a flags argument.
64657         (mbsnwidth): New function.
64658
64659 2000-07-24  Jim Meyering  <meyering@lucent.com>
64660
64661         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
64662
64663 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64664
64665         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
64666
64667 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64668
64669         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
64670         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
64671         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
64672         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
64673         invoke multibyte primitives.
64674
64675 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64676
64677         * lib/quotearg.c:
64678         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
64679         so that mbstate_t is always defined.
64680
64681         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
64682         be 1 in at least one GCC installation, and this configuration
64683         error is likely to be common.  Ignoring MB_LEN_MAX hurts
64684         performance on hosts that have mbrtowc but have only unibyte
64685         locales, but I assume these hosts are rare.
64686
64687 2000-07-23  Paul Eggert  <eggert@twinsun.com>
64688
64689         * lib/mbswidth.c (_XOPEN_SOURCE):
64690         Don't define; this causes problems on Solaris 7.
64691         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
64692
64693 2000-07-23  Jim Meyering  <meyering@lucent.com>
64694
64695         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
64696         too: getgrgid, getpwuid, getuid.
64697
64698 2000-07-23  Jim Meyering  <meyering@lucent.com>
64699
64700         * lib/basename.c (base_name): Add an assertion.
64701
64702 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
64703
64704         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
64705         shadow its mbsinit function.
64706
64707 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64708
64709         * lib/mbswidth.h: New file.
64710         * lib/mbswidth.c: New file.
64711         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
64712         (noinst_HEADERS): Add mbswidth.h.
64713
64714 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
64715
64716         * lib/config.charset: Add support for FreeBSD. Improve support for
64717         HP-UX and IRIX 6.
64718
64719 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
64720
64721         * m4/mbswidth.m4: New file.
64722         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
64723
64724 2000-07-15  Jim Meyering  <meyering@lucent.com>
64725
64726         * lib/makepath.c: Include quote.h.
64727         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
64728         corresponding argument in a `quote (...)' call.
64729         Give better diagnostics.
64730
64731         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
64732         (noinst_HEADERS): Add quote.h.
64733
64734         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
64735         from tar's src/misc.c.
64736         * lib/quote.h: New file.  Prototypes for same.
64737
64738 2000-07-14  Paul Eggert  <eggert@twinsun.com>
64739
64740         From a suggestion by Bruno Haible.
64741         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
64742         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
64743         to decide whether to define the BeOS workaround macro;
64744         this adjusts to the change to AC_MBSTATE_T.
64745
64746 2000-07-14  Jim Meyering  <meyering@lucent.com>
64747
64748         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
64749         jm_AC_TYPE_UINTMAX_T.
64750
64751 2000-07-13  Paul Eggert  <eggert@twinsun.com>
64752
64753         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
64754
64755         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
64756         quotearg_buffer_restyled): Add support for
64757         clocale_quoting_style.  Undo previous change to
64758         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
64759         and "{RIGHT QUOTATION MARK}" msgids.
64760
64761 2000-07-10  Paul Eggert  <eggert@twinsun.com>
64762
64763         From a suggestion by Bruno Haible.
64764         * m4/mbstate_t.m4 (AC_MBSTATE_T):
64765         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
64766         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
64767         and mbstate_t, to a single-part test that simply defines mbstate_t.
64768         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
64769         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
64770
64771 2000-07-10  Jim Meyering  <meyering@lucent.com>
64772
64773         * m4/strerror_r.m4: Mirror the correction made in autoconf.
64774
64775         * m4/gnu-source.m4: Output to confdefs.h directly.
64776         Suggestion from Akim Demaille.
64777
64778 2000-07-09  Paul Eggert  <eggert@twinsun.com>
64779
64780         The old behavior of quoting `like this' doesn't look good with
64781         newer, ISO-style fonts.  See:
64782         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
64783
64784         Instead, quote "like this" by default.  Let the translator
64785         tailor the locale-specific quoting behavior by providing
64786         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
64787
64788         * lib/quotearg.c (N_): New macro.
64789         (gettext_default): New function.
64790         (quotearg_buffer_restyled): Use
64791         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
64792         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
64793
64794 2000-07-09  Jim Meyering  <meyering@lucent.com>
64795
64796         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
64797         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
64798
64799         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
64800         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
64801
64802 2000-07-09  Jim Meyering  <meyering@lucent.com>
64803
64804         * lib/Most files: Update copyright dates to include 2000.
64805
64806 2000-07-08  Jim Meyering  <meyering@lucent.com>
64807
64808         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
64809         if not defined.
64810         (xgethostname): Remove now-unnecessary #ifdef.
64811         Move declaration of `err' into loop where it's used.
64812
64813 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64814         and Bruno Haible  <haible@clisp.cons.org>
64815
64816         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
64817         only if the test for an object-type mbstate_t fails.  This
64818         prevents us from mistakenly reporting that mbstate_t is a
64819         system object type after we "#define mbstate_t int" to work
64820         around its lack.
64821
64822 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64823         and Bruno Haible  <haible@clisp.cons.org>
64824
64825         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
64826
64827 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64828
64829         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
64830         to strerror_r.
64831         Include <ctype.h> for use of isalpha.
64832
64833 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64834
64835         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
64836         by allocating a larger buffer. Test the gethostname return value for
64837         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
64838         returns an error and ENAMETOOLONG isn't defined.
64839
64840 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64841
64842         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
64843         dimension.
64844
64845 2000-07-04  Jim Meyering  <meyering@lucent.com>
64846
64847         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
64848         of the deprecated AC_CHECKING.
64849
64850 2000-07-04  Jim Meyering  <meyering@lucent.com>
64851
64852         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
64853         Reported by Bruno Haible.
64854
64855 2000-07-04  Jim Meyering  <meyering@lucent.com>
64856
64857         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
64858         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
64859         lacks mbrtowc.
64860
64861 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64862
64863         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
64864         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
64865
64866 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64867         and Bruno Haible  <haible@clisp.cons.org>
64868
64869         * lib/quotearg.c (mbrtowc):
64870         Assign to *pwc, and return 1 only if result is nonzero.
64871         (iswprint): Use ISPRINT when substituting our own mbrtowc.
64872
64873 2000-07-03  Jim Meyering  <meyering@lucent.com>
64874
64875         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
64876
64877 2000-07-03  Jim Meyering  <meyering@lucent.com>
64878
64879         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
64880         This is necessary to get a definition of e.g., UTMP_FILE on
64881         HP-UX 10.20.
64882         From Bob Proulx.
64883
64884 2000-07-02  Jim Meyering  <meyering@lucent.com>
64885
64886         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
64887
64888         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
64889         AC_LIBOBJ(function_name).
64890         * m4/chown.m4: Likewise.
64891         * m4/fnmatch.m4: Likewise.
64892         * m4/ftruncate.m4: Likewise.
64893         * m4/getgroups.m4: Likewise.
64894         * m4/getline.m4: Likewise.
64895         * m4/group-member.m4: Likewise.
64896         * m4/jm-macros.m4: Likewise.
64897         * m4/lstat.m4: Likewise.
64898         * m4/malloc.m4: Likewise.
64899         * m4/memcmp.m4: Likewise.
64900         * m4/nanosleep.m4: Likewise.
64901         * m4/putenv.m4: Likewise.
64902         * m4/realloc.m4: Likewise.
64903         * m4/regex.m4: Likewise.
64904         * m4/stat.m4: Likewise.
64905         * m4/strftime.m4: Likewise.
64906
64907 2000-07-02  Jim Meyering  <meyering@lucent.com>
64908
64909         * lib/quotearg.c (mbstate_t): Don't define here.
64910
64911 2000-07-02  Jim Meyering  <meyering@lucent.com>
64912
64913         * lib/nanosleep.c (SIGCONT): Define if not already defined.
64914
64915 2000-07-01  Jim Meyering  <meyering@lucent.com>
64916
64917         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
64918
64919 2000-07-01  Jim Meyering  <meyering@lucent.com>
64920
64921         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
64922         problem.
64923
64924 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64925
64926         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
64927         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
64928
64929 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64930
64931         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
64932         per change in ../m4/ls-mntd-fs.m4.
64933         (read_filesystem_list): Ignore symbolic links.
64934
64935 2000-06-29  Jim Meyering  <meyering@lucent.com>
64936
64937         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
64938         for declaration of strcmp.
64939
64940         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
64941
64942         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
64943         Avoid warning by casting result to `char *' to remove `const'.
64944
64945 2000-06-28  Jim Meyering  <meyering@lucent.com>
64946
64947         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
64948         included by quotearg.c, for which we perform this test.  From
64949         Bruno Haible.
64950
64951 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64952
64953         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
64954         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
64955         <utmpx.h> exists, put readutmp.o into LIBOBJS.
64956
64957 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64958
64959         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
64960
64961 2000-06-26  Paul Eggert  <eggert@twinsun.com>
64962
64963         savedir now sets errno on failure and invokes xmalloc to get memory.
64964         Fix a couple of other minor bugs while we're at it.
64965
64966         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
64967         (NAMLEN): Remove macro.
64968         (malloc, realloc): Remove decls.
64969         (stpcpy): Likewise.
64970         ("xalloc.h"): Include.
64971         (NAME_SIZE_DEFAULT): New macro.
64972         (savedir): Use xmalloc / xrealloc to allocate memory.
64973         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
64974         Skip "" directory entries.
64975         Use strlen to calculate directory entry length, since the old method
64976         is rarely used these days and isn't worth supporting.
64977         Don't use a pointer after freeing it.
64978         Check for integer overflow when calculating allocation size.
64979         Use memcpy to copy entries, instead of stpcpy.
64980         Set errno properly when returning NULL.
64981         Check for readdir error.
64982
64983 2000-06-26  Jim Meyering  <meyering@lucent.com>
64984
64985         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
64986
64987 2000-06-25  Jim Meyering  <meyering@lucent.com>
64988
64989         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
64990         Linux header bug when _XOPEN_SOURCE is defined to 500.
64991
64992 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64993
64994         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
64995         deficiency.
64996
64997 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64998
64999         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
65000         Include xalloc.h.
65001         Don't include <stdlib.h>.  Don't declare malloc, realloc.
65002
65003 2000-06-24  Jim Meyering  <meyering@lucent.com>
65004
65005         * m4/strerror_r.m4: Revive this file -- to try out an experimental
65006         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
65007         for which strerror does return char*, but which lacks a conveniently
65008         accessible declaration of the function.  If the compile-test says
65009         strerror_r doesn't work, then resort to a `run'-test that works on
65010         BeOS and segfaults on DEC Unix.
65011
65012 2000-06-24  Jim Meyering  <meyering@lucent.com>
65013
65014         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
65015
65016 2000-06-23  Paul Eggert  <eggert@twinsun.com>
65017
65018         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
65019         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
65020
65021 2000-06-23  Paul Eggert  <eggert@twinsun.com>
65022
65023         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
65024         (mbrtowc, mbstate_t): Define substitutes if
65025         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
65026         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
65027         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
65028
65029 2000-06-23  Jim Meyering  <meyering@lucent.com>
65030
65031         * m4/afs.m4: Add missing AC_MSG_RESULT.
65032         Reported by Bruno Haible.
65033
65034         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
65035         Suggestion from Bruno Haible.
65036
65037 2000-06-23  Jim Meyering  <meyering@lucent.com>
65038
65039         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
65040
65041 2000-06-21  Jim Meyering  <meyering@lucent.com>
65042
65043         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
65044
65045 2000-06-21  Jim Meyering  <meyering@lucent.com>
65046
65047         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
65048         (noinst_HEADERS): Add getstr.h.
65049
65050         * lib/getline.c (getstr): Move into a separate file.
65051         * lib/getstr.c (getstr): New file, extracted from getline.c, with
65052         the following changes: new parameter, delim2; both delim[12]
65053         parameters have type `int', not `char'.  The latter would lose
65054         with 8-bit delimiters.
65055         * lib/getstr.h: New file.
65056
65057 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
65058
65059         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
65060         than 1024, return a memory chunk of least possible size, instead
65061         of size PATH_MAX + 2. In the loop, increment the size proportionally.
65062         Use free/xmalloc instead of xrealloc to avoid copying for very long
65063         paths.
65064
65065 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
65066
65067         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
65068         the empty string.
65069
65070 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
65071
65072         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
65073         address, not strdup.  Include <stdlib.h> and don't declare free().
65074
65075 2000-06-19  Jim Meyering  <meyering@lucent.com>
65076
65077         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
65078
65079 2000-06-18  Jim Meyering  <meyering@lucent.com>
65080
65081         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
65082
65083         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
65084         `checking whether...' message to be consistent with that of the
65085         lstat test.
65086
65087 2000-06-18  Jim Meyering  <meyering@lucent.com>
65088
65089         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
65090         Besides, these days every porting target provides a mkdir function.
65091
65092         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
65093         needed. (this snippet comes from src/system.h).
65094
65095 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
65096
65097         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
65098
65099 2000-06-15  Paul Eggert  <eggert@twinsun.com>
65100
65101         * lib/human.c (adjust_value): New function.
65102         (human_readable_inexact): Apply rounding style even when
65103         printing approximate values.
65104
65105 2000-06-14  Paul Eggert  <eggert@twinsun.com>
65106
65107         * lib/human.c (human_readable_inexact): Allow an input block
65108         size that is not a multiple of the output block size, and vice versa.
65109         Reported by Piergiorgio Sartor.
65110
65111 2000-06-14  Paul Eggert  <eggert@twinsun.com>
65112
65113         * lib/getdate.y (get_date): Apply relative times after time
65114         zone indicator, not before.  Reported by Todd A. Jacobs.
65115
65116 2000-06-13  Jim Meyering  <meyering@lucent.com>
65117
65118         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
65119
65120         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
65121
65122 2000-06-12  Paul Eggert  <eggert@twinsun.com>
65123
65124         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
65125
65126 2000-06-12  Jim Meyering  <meyering@lucent.com>
65127
65128         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
65129         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
65130         optional argument.
65131         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
65132         the optional argument, `lib'.
65133
65134 2000-06-08  Jim Meyering  <meyering@lucent.com>
65135
65136         * m4/largefile.m4: Remove file (now that it's part of autoconf).
65137
65138 2000-06-04  Paul Eggert  <eggert@twinsun.com>
65139
65140         Rewrite largefile configuration so that we don't need to run
65141         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
65142         AC_CANONICAL_HOST in configure.in -- jmm]
65143
65144         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
65145         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
65146         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
65147         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
65148         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
65149         All uses changed.
65150         Instead of inspecting the output of getconf, try to compile the
65151         test program without and with the macro definition.
65152         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
65153         for getconf.  Instead, check for the needed flags by compiling
65154         test programs.
65155
65156 2000-06-04  Paul Eggert  <eggert@twinsun.com>
65157
65158         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
65159
65160 2000-06-04  Jim Meyering  <meyering@lucent.com>
65161
65162         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
65163         SunOS 4.1.4 for which gid_t is an unsigned type.
65164
65165 2000-06-03  Jim Meyering  <meyering@lucent.com>
65166
65167         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
65168         now that autoconf requires that.
65169
65170         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
65171         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
65172         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
65173
65174 2000-06-03  Jim Meyering  <meyering@lucent.com>
65175
65176         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
65177
65178 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
65179
65180         * m4/glibc21.m4: New file.
65181         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
65182
65183 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
65184
65185         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
65186         newer, don't install charset.alias.
65187         * lib/config.charset: Change the Linux/glibc rules so they become empty
65188         on glibc-2.1 or newer.
65189
65190 2000-06-02  Jim Meyering  <meyering@lucent.com>
65191
65192         * lib/mountlist.c: Back out last change.  Instead, do this...
65193         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
65194         me_dummy member using the same `ignore'-testing code.
65195         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
65196         fs_type strings.
65197         From Mark D. Roth.
65198
65199 2000-05-29  Jim Meyering  <meyering@lucent.com>
65200
65201         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
65202         mounts with the `ignore' attribute.  Based on a patch from
65203         Mark D. Roth.
65204
65205 2000-05-28  Jim Meyering  <meyering@lucent.com>
65206
65207         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
65208         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65209         * m4/stat.m4: Likewise.
65210         * m4/lstat.m4: Likewise.
65211         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
65212
65213         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
65214         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
65215
65216 2000-05-26  Jim Meyering  <meyering@lucent.com>
65217
65218         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
65219
65220 2000-05-24  Jim Meyering  <meyering@lucent.com>
65221
65222         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
65223         autoconf requires that.
65224         * m4/lib-check.m4: Likewise.
65225         * m4/jm-macros.m4: Likewise.
65226         * m4/strftime.m4: Likewise.
65227
65228         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
65229         AC_CHECK_DECLS, now that autoconf requires that.
65230
65231 2000-05-22  Jim Meyering  <meyering@lucent.com>
65232
65233         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65234         * m4/lstat.m4: Likewise.
65235
65236 2000-05-22  Jim Meyering  <meyering@lucent.com>
65237
65238         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
65239
65240 2000-05-20  Jim Meyering  <meyering@lucent.com>
65241
65242         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
65243         (jm_PREREQ): Use it.
65244
65245 2000-05-18  Jim Meyering  <meyering@lucent.com>
65246
65247         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
65248         back, too, since it may have been modified by allocate_entry.
65249         (hash_delete): Rewrite to use neither the assignment operator
65250         nor the comma operator in an if-expression.
65251
65252 2000-05-15  Paul Eggert  <eggert@twinsun.com>
65253
65254         * lib/closeout.c:
65255         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
65256         Remove; no longer needed.
65257         "quotearg.h": Add include.
65258         (file_name): Do not bother to explicitly initialize to NULL; it's less
65259         efficient on some hosts.
65260         (close_stdout_status): Remove test as to whether stdout was already
65261         closed; it breaks for the case "echo x | sort >&-".
65262         Quote file name colons.
65263         Do not assume that _("write error") lacks format strings.
65264
65265 2000-05-15  Jim Meyering  <meyering@lucent.com>
65266
65267         * lib/version-etc.c (version_etc_copyright): Update the copyright
65268         string used in all --version output.
65269
65270 2000-05-14  Jim Meyering  <meyering@lucent.com>
65271
65272         * lib/closeout.c (close_stdout_set_file_name): New function.
65273         (close_stdout_status): Use new file-scoped global.
65274         Return right away if fstat says the stdout file descriptor is invalid.
65275         * lib/closeout.h (close_stdout_set_file_name): Declare.
65276
65277 2000-05-10  Jim Meyering  <meyering@lucent.com>
65278
65279         * lib/closeout.c [default_exit_status]: New file-scoped variable.
65280         (close_stdout_set_status): New function.
65281         * lib/closeout.h (close_stdout_set_status): Declare.
65282
65283 2000-05-09  Jim Meyering  <meyering@lucent.com>
65284
65285         * m4/gettext.m4: Rename this...
65286         * m4/libintl.m4: ...to this.
65287
65288 2000-05-08  Jim Meyering  <meyering@lucent.com>
65289
65290         * lib/long-options.c: Don't include closeout.h.
65291         (parse_long_options): Don't call close_stdout for --version.
65292
65293 2000-05-06  Paul Eggert  <eggert@twinsun.com>
65294
65295         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
65296         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
65297         2.1.3 bug.  This avoids a clash when files like regex.c define
65298         _GNU_SOURCE.
65299
65300 2000-05-06  Jim Meyering  <meyering@lucent.com>
65301
65302         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
65303         (AC_REPLACE_FUNCS): Add strnlen.
65304
65305         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
65306         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
65307
65308         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
65309         AC_SEARCH_LIBS call for nanosleep.
65310         (LIB_NANOSLEEP): Set and AC_SUBST.
65311
65312 2000-05-06  Jim Meyering  <meyering@lucent.com>
65313
65314         * lib/strnlen.c: Undefine __strnlen and strnlen.
65315         [!weak_alias]: Define __strnlen to strnlen.
65316
65317         * lib/atexit.c: New file, from libiberty.
65318
65319 2000-05-06  Jim Meyering  <meyering@lucent.com>
65320
65321         * lib/closeout.c (close_stdout_status): Also check for errors on the
65322         stderr stream.
65323
65324 2000-05-05  Jim Meyering  <meyering@lucent.com>
65325
65326         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
65327         AC_SEARCH_LIBS call for clock_gettime.
65328         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
65329
65330         * m4/search-libs.m4: Update from autoconf.
65331
65332         su doesn't work on Solaris 2.6.
65333         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
65334         <shadow.h>.  Reported by Dragos Harabor.
65335
65336 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
65337
65338         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
65339         memcpy instead of xmalloc, xrealloc, path_concat.
65340         (locale_charset): Treat empty environment variables as absent.
65341         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
65342
65343 2000-05-04  Jim Meyering  <meyering@lucent.com>
65344
65345         * lib/getopt.c: Update from glibc.
65346         * lib/obstack.c: Likewise.
65347         * lib/obstack.h: Likewise.
65348         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
65349         file
65350
65351         * lib/regex.h: Likewise.
65352         * lib/strndup.c: Likewise.
65353         * lib/strnlen.c: New file, from glibc.
65354
65355 2000-05-03  Jim Meyering  <meyering@lucent.com>
65356
65357         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
65358
65359 2000-05-02  Paul Eggert  <eggert@twinsun.com>
65360
65361         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
65362         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
65363         compile-time test, rather than inspecting host and OS, to
65364         decide whether to define _LARGEFILE_SOURCE.
65365
65366 2000-05-01  Jim Meyering  <meyering@lucent.com>
65367
65368         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
65369
65370         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
65371         Based on a patch from Bruno Haible.
65372
65373 2000-05-01  Jim Meyering  <meyering@lucent.com>
65374
65375         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
65376
65377 2000-04-29  Jim Meyering  <meyering@lucent.com>
65378
65379         * lib/path-concat.c: Declare strdup only if it's not defined.
65380         * lib/canon-host.c: Likewise.
65381
65382 2000-04-28  Jim Meyering  <meyering@lucent.com>
65383
65384         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
65385         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
65386         is included first, then limits.h is included by locale.h by libintl.h.
65387         From John David Anglin.
65388
65389 2000-04-25  Jim Meyering  <meyering@lucent.com>
65390
65391         * lib/makepath.c (S_IRWXUGO): Define.
65392         (make_path): Always perform explicit chmod if MODE specifies any
65393         of the `special' permission bits.  Prompted by a bug report against
65394         install from Mate Wierdl and Joost van Baal.
65395
65396 2000-04-18  Jim Meyering  <meyering@lucent.com>
65397
65398         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
65399         (jm_PREREQ): Use it.
65400
65401 2000-04-18  Jim Meyering  <meyering@lucent.com>
65402
65403         * lib/README: New file.
65404
65405         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
65406         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
65407
65408 2000-04-17  Jim Meyering  <meyering@lucent.com>
65409
65410         Get it right :-)
65411         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
65412         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
65413         Suggestion from Akim Demaille.
65414
65415 2000-04-17  Jim Meyering  <meyering@lucent.com>
65416
65417         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
65418         the definition of it to rpl_strftime also defined-away the system's
65419         declaration.
65420
65421 2000-04-15  Jim Meyering  <meyering@lucent.com>
65422
65423         Use `C' to denote so-called `contiguous' files, the same way
65424         that tar does.
65425         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
65426         (ftypelet): Use S_ISCTG.
65427         From Michael Deutschmann.
65428
65429 2000-04-14  Jim Meyering  <meyering@lucent.com>
65430
65431         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
65432         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
65433         clobbered.
65434
65435 2000-04-14  Jim Meyering  <meyering@lucent.com>
65436
65437         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
65438
65439 2000-04-13  Jim Meyering  <meyering@lucent.com>
65440
65441         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
65442         AH_VERBATIM to insert required #ifndef into config.h.in.
65443         Suggestion from Akim Demaille.
65444
65445 2000-04-12  Jim Meyering  <meyering@lucent.com>
65446
65447         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
65448         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
65449         Christian Krackowizer.
65450
65451         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
65452         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
65453         (AC_SYS_LARGEFILE): Require.
65454         (AM_C_PROTOTYPES): Require.
65455
65456 2000-04-08  Jim Meyering  <meyering@lucent.com>
65457
65458         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
65459         names don't conflict.  Reported by Eli Zaretskii.
65460
65461 2000-04-07  Jim Meyering  <meyering@lucent.com>
65462
65463         * lib/putenv.c: Move inclusion of errno.h so it follows that of
65464         sys/types.h, to work around system header problems on AIX 3.2.5.
65465         From Bruno Haible.
65466
65467 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
65468
65469         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
65470         bug.  Deal with the different error behavior of Irix iconv.
65471
65472 2000-04-05  Paul Eggert  <eggert@twinsun.com>
65473
65474         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
65475         IRIX if the installer said otherwise.
65476
65477 2000-04-05  Jim Meyering  <meyering@lucent.com>
65478
65479         Portability tweaks required for ultrix4.3.
65480         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
65481         (jm_CHECK_DECLS): Add getutent to the list of functions.
65482         (_jm_DECL_HEADERS): Add utmpx.h.
65483         From John David Anglin.
65484
65485         * m4/strftime.m4: Back out the 2000-04-02 change.
65486         Instead of that change, simply undefine putenv in the test program.
65487
65488 2000-04-05  Jim Meyering  <meyering@lucent.com>
65489
65490         Portability tweaks required for ultrix4.3.
65491         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
65492         getutent.
65493         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
65494         * lib/canon-host.c: Declare strdup.
65495         * lib/path-concat.c: Likewise.
65496         From John David Anglin.
65497
65498 2000-04-04  Jim Meyering  <meyering@lucent.com>
65499
65500         Be more DOS 8.3-friendly.
65501         * lib/ref-add.sin: Renamed from ref-add.sed.in.
65502         * lib/ref-del.sin: Renamed from ref-del.sed.in.
65503         * lib/Makefile.am: Reflect renaming.
65504         Reported by Eli Zaretskii.
65505
65506         Use a temporary file name that won't clash with `charset.alias'
65507         in the DOS 8.3 name space.
65508         * lib/Makefile.am (charset_tmp): Define.
65509         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
65510         (uninstall-local): Likewise.
65511         Reported by Eli Zaretskii.
65512
65513 2000-04-03  Jim Meyering  <meyering@lucent.com>
65514
65515         * m4/gettext.m4: Fix typo in comment.
65516
65517         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
65518         textutils/configure.in).  Suggestion from Paul Eggert.
65519         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
65520
65521 2000-04-02  Paul Eggert  <eggert@twinsun.com>
65522
65523         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
65524         variable in the shell rather than using putenv, which isn't
65525         portable.  This avoids the configure-time inter-test dependency
65526         on the potentially-renamed putenv function.
65527
65528 2000-03-30  Paul Eggert  <eggert@twinsun.com>
65529
65530         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
65531         before checking struct stat.st_blksize, so that
65532         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
65533
65534 2000-03-29  Paul Eggert  <eggert@twinsun.com>
65535
65536         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
65537         since strftime.c uses HAVE_STRFTIME to decide whether to use
65538         the underlying strftime.
65539
65540 2000-03-29  Paul Eggert  <eggert@twinsun.com>
65541
65542         * lib/time/strftime.c (my_strftime): Make sure we call the system
65543         strftime, not ourselves, when invoking the underlying strftime.
65544
65545 2000-03-24  Jim Meyering  <meyering@lucent.com>
65546
65547         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
65548         (charset_alias): Define.
65549         (install-exec-local): Factor out common code.
65550         (uninstall-local): Split lines longer than 80.
65551         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
65552         (SUFFIXES): Define.
65553         (.sed.in.sed): New rule.  Don't redirect directly to $@.
65554         (CLEANFILES): Add ref-add.sed and ref-del.sed.
65555
65556 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
65557
65558         * lib/config.charset: Output a line containing "Packages using this
65559         file".
65560         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
65561         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
65562         ref-del.sed): New rules.
65563
65564 2000-03-17  Jim Meyering  <meyering@lucent.com>
65565
65566         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
65567         Otherwise, include <strings.h>
65568
65569 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
65570
65571         * lib/unicodeio.c (utf8_wctomb): New function.
65572         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
65573         format instead of in UCS-4 with platform dependent endianness.
65574
65575 2000-03-10  Jim Meyering  <meyering@lucent.com>
65576
65577         * m4/lib-check.m4: Look for getspnam in -lgen, too.
65578         From Marco Franzen.
65579
65580 2000-03-07  Paul Eggert  <eggert@twinsun.com>
65581
65582         * lib/savedir.c (savedir): Work even if directory size is
65583         negative; this can happen with some screwy NFS configurations.
65584
65585 2000-03-06  Jim Meyering  <meyering@lucent.com>
65586
65587         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
65588         if it's NULL (because we ran out of memory).  From Bruno Haible.
65589
65590 2000-03-05  Jim Meyering  <meyering@lucent.com>
65591
65592         * lib/localcharset.c ("path-concat.h"): Include.
65593         (get_charset_aliases): Use path_concat instead of ANSI string
65594         concatenation.
65595
65596         * lib/unicodeio.h (PARAMS): Define.
65597         Use it to guard prototype.
65598
65599 2000-03-04  Jim Meyering  <meyering@lucent.com>
65600
65601         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
65602         for lib/localcharset.c.
65603
65604 2000-03-04  Jim Meyering  <meyering@lucent.com>
65605
65606         * lib/Makefile.am (install-exec-local): Create $(libdir) before
65607         installing into it.
65608         (uninstall-local): Uncomment this rule so `make distcheck' works
65609         once again.
65610
65611         * lib/unicodeio.c (<errno.h>): Include it.
65612         (errno): Declare if not defined.
65613
65614         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
65615
65616         * lib/config.charset: New version, incorporating remarks from a linux
65617         i18n mailing list.  From Bruno Haible.
65618
65619 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
65620
65621         * m4/codeset.m4: New file.
65622         * m4/iconv.m4: New file.
65623         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
65624
65625 2000-03-03  Jim Meyering  <meyering@lucent.com>
65626
65627         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
65628
65629 2000-03-02  Jim Meyering  <meyering@lucent.com>
65630
65631         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
65632         the messages come out on separate lines.
65633
65634         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
65635         rather than jm_CHECK_DECLARATIONS.
65636         * m4/decl.m4: Remove now-unused file.
65637
65638         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
65639         geteuid.
65640
65641 2000-03-02  Jim Meyering  <meyering@lucent.com>
65642
65643         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
65644
65645 2000-03-01  Jim Meyering  <meyering@lucent.com>
65646
65647         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
65648         * lib/unicodeio.c: Likewise.
65649
65650 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
65651
65652         * lib/config.charset: New file.
65653         * lib/localcharset.c: New file.
65654         * lib/unicodeio.h, lib/unicodeio.c: New files.
65655         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
65656         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
65657         (noinst_HEADERS): Add unicodeio.h.
65658         (all-local, install-exec-local, charset.alias): New targets.
65659
65660 2000-02-28  Paul Eggert  <eggert@twinsun.com>
65661
65662         * lib/quotearg.c (ALERT_CHAR): New macro.
65663         (quotearg_buffer_restyled): Use it.
65664
65665 2000-02-27  Jim Meyering  <meyering@lucent.com>
65666
65667         * m4/check-decl.m4: Add getenv to the list.
65668
65669 2000-02-27  Jim Meyering  <meyering@lucent.com>
65670
65671         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
65672         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
65673
65674         * lib/backupfile.c: Guard inclusion of stdlib.h with
65675         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
65676         Declare malloc if needed.
65677
65678         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
65679         `#ifndef HAVE_DECL..'
65680         now that autoconf always defines the HAVE_DECL_ symbols.
65681         * lib/human.c: Likewise.
65682         * lib/same.c: Likewise.
65683         * lib/strtoumax.c: Likewise.
65684
65685         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
65686         declaration check was not run.
65687         * lib/hash.c: Likewise.
65688         * lib/human.c: Likewise.
65689         * lib/same.c: Likewise.
65690         * lib/strtoumax.c: Likewise.
65691
65692         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
65693         `.', then first look up the entire `.'-containing string as a login
65694         name.
65695
65696 2000-02-23  Jim Meyering  <meyering@lucent.com>
65697
65698         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
65699         in place of my hack.
65700
65701 2000-02-18  Paul Eggert  <eggert@twinsun.com>
65702
65703         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
65704         (textint): New typedef.
65705         (parser_control): Member year changed from int to textint.
65706         All uses changed.
65707         (YYSTYPE): Removed; replaced by %union with int and textint members.
65708         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
65709         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
65710         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
65711         (tSNUMBER, tUNUMBER): Now of type <textintval>.
65712         (date, number, to_year): Use width of number in digits, not its value,
65713         to determine whether it's a 2-digit year, or a 2-digit time.
65714         (yylex): Store number of digits of numeric tokens.
65715         Reported by John Kendall.
65716
65717         (parser_control): Changed from struct parser_control to typedef (for
65718         consistency).  All uses changed.
65719
65720         (tID): Removed; not used.
65721         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
65722
65723 2000-02-14  Paul Eggert  <eggert@twinsun.com>
65724
65725         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
65726         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
65727
65728 2000-02-12  Jim Meyering  <meyering@lucent.com>
65729
65730         * lib/userspec.c (ISDIGIT): Define it.
65731         (isdigit): Remove definition.
65732         (is_number): Use ISDIGIT, not isdigit.
65733         <libintl.h>: Include.
65734         (_ and N_): Define.
65735         (parse_user_spec): Mark translatable strings.
65736
65737 2000-02-10  Jim Meyering  <meyering@lucent.com>
65738
65739         With these changes, nanosleep.[ch] are finally enough like the other
65740         lib/* replacement files to compile on a few more losing systems.
65741
65742         * lib/nanosleep.h: Don't include config.h.
65743         Remove prototype from declaration of nanosleep.
65744         (PARAMS): Remove now-unneeded definition.
65745         * lib/nanosleep.c: #undef nanosleep.
65746         (rpl_nanosleep): Rename from nanosleep.
65747
65748 2000-02-10  Jim Meyering  <meyering@lucent.com>
65749
65750         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
65751         gnu_nanosleep to rpl_nanosleep.
65752
65753 2000-02-09  Jim Meyering  <meyering@lucent.com>
65754
65755         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
65756         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
65757
65758 2000-02-08  Akim Demaille  <akim@epita.fr>
65759
65760         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
65761         `[' and `]' and remove uses of `changequote'.
65762         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
65763         (AC_SYS_LARGEFILE): Likewise.
65764         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65765         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
65766         of changequote.
65767         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
65768         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
65769         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
65770         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
65771
65772 2000-02-05  Jim Meyering  <meyering@lucent.com>
65773
65774         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
65775         Remove explicit use of AC_HEADER_TIME.  It is required by
65776         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
65777         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
65778         in autoconf whereby the expansion of the latter ended up preceding
65779         the expansion of its prerequisite, AC_HEADER_TIME.
65780         Reported by Volker Borchert.
65781
65782 2000-02-03  Jim Meyering  <meyering@lucent.com>
65783
65784         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
65785
65786 2000-02-03  Jim Meyering  <meyering@lucent.com>
65787
65788         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
65789         rather than with `#if HAVE_UTMPNAME'.
65790
65791 2000-02-02  Jim Meyering  <meyering@lucent.com>
65792
65793         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
65794         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
65795         Reported by Eli Zaretskii.
65796
65797 2000-02-01  Jim Meyering  <meyering@lucent.com>
65798
65799         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
65800
65801 2000-01-31  Jim Meyering  <meyering@lucent.com>
65802
65803         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
65804         functions.  Add the time.h and sys/time.h headers along with the
65805         AC_REQUIRE'ment of AC_HEADER_TIME.
65806
65807 2000-01-31  Jim Meyering  <meyering@lucent.com>
65808
65809         * lib/nanosleep.h (nanosleep): Guard declaration with
65810         `#if ! HAVE_DECL_NANOSLEEP'.
65811         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
65812         the declaration in that vendor's sys/timers.h.
65813         Reported by Christian Krackowizer.
65814
65815         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
65816         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
65817         (ISPRINT): Likewise.
65818         Reported by Tom Tromey.
65819
65820 2000-01-30  Jim Meyering  <meyering@lucent.com>
65821
65822         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
65823
65824         * m4/prereq.m4 (utmp_includes): Define.
65825         Check for ut_user and ut_name members in both struct utmpx
65826         and struct utmp.
65827
65828 2000-01-30  Jim Meyering  <meyering@lucent.com>
65829
65830         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
65831         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
65832         header files where only utmpx.ut_user is declared.
65833
65834         * lib/readutmp.h (UT_USER): Define.
65835
65836 2000-01-29  Jim Meyering  <meyering@lucent.com>
65837
65838         * m4/lib-check.m4: New file containing library-related checks from
65839         fileutils and sh-utils (textutils had none).
65840
65841 2000-01-28  Jim Meyering  <meyering@lucent.com>
65842
65843         * m4/perl.m4: Change format of warning message to look more like that
65844         from the missing script.  Suggestion from François Pinard.
65845
65846 2000-01-25  Jim Meyering  <meyering@lucent.com>
65847
65848         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
65849         well as time.h in the compile check.
65850         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
65851         Fix typo in cross-compiling case: s/yes/no/.
65852
65853 2000-01-23  Jim Meyering  <meyering@lucent.com>
65854
65855         * m4/jm-macros.m4: Move df-related tests here from
65856         fileutils/configure.in
65857
65858         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
65859         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
65860
65861         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
65862         s/space/ac_fsusage_space/.
65863         (jm_FILE_SYSTEM_USAGE): Take two parameters.
65864
65865         * m4/ftruncate.m4: New file (derived from part of
65866         fileutils/configure.in).
65867         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
65868         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
65869
65870         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
65871         AC_SUBST these here, rather than just in sh-util/configure.in, so
65872         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
65873         all the same.
65874         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
65875         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
65876         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
65877         (AC_SUBST(POW_LIBM)): Likewise.
65878         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
65879
65880 2000-01-23  Jim Meyering  <meyering@lucent.com>
65881
65882         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
65883         obstack.c.
65884
65885 2000-01-22  Jim Meyering  <meyering@lucent.com>
65886
65887         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
65888
65889         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
65890
65891         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
65892         configure.in
65893         (AC_CHECK_HEADERS): Likewise for sh-utils.
65894         (AC_CHECK_HEADERS): Likewise for textutils.
65895         Merge the three lists of headers.
65896
65897         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
65898         from fileutils' configure.in.
65899
65900         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
65901         code. Moved tests into their own function (_jm_DECL_HEADERS) in
65902         check-decl.m4.
65903
65904         * m4/check-decl.m4: Use #if rather than #ifdef.
65905         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
65906         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
65907         (_jm_DECL_HEADERS): Define new function.
65908         (jm_CHECK_DECLARATIONS): Require it.
65909
65910 2000-01-22  Jim Meyering  <meyering@lucent.com>
65911
65912         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
65913         [! HAVE_DECL_STRTOULL]: Declare strtoull.
65914         Required for some AIX systems.  Reported by Christian Krackowizer.
65915         [TESTING] (main): New function.
65916
65917         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
65918         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
65919         letters.
65920
65921         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
65922         iswprint.
65923
65924         * lib/strverscmp.c (ISDIGIT): Define.
65925         (strverscmp): Use ISDIGIT, not isdigit.
65926
65927 2000-01-19  Jim Meyering  <meyering@lucent.com>
65928
65929         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
65930         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
65931         defines `struct timespec' in <sys/time.h>
65932
65933         * m4/c-bs-a.m4: Remove uses of changequote altogether.
65934         Thanks to Akim for explaining.
65935
65936 2000-01-17  Paul Eggert  <eggert@twinsun.com>
65937
65938         * lib/nanosleep.c (nanosleep):
65939         Don't use SA_INTERRUPT to decide whether to call sigaction, as
65940         POSIX.1 doesn't require SA_INTERRUPT and some systems
65941         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
65942         it's been part of POSIX.1 since day 1 (in 1988).
65943
65944 2000-01-17  Jim Meyering  <meyering@lucent.com>
65945
65946         * lib/interlock: Remove unused file.  Reported by François Pinard.
65947
65948 2000-01-16  Paul Eggert  <eggert@twinsun.com>
65949
65950         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
65951         alert, backslash, formfeed, and vertical tab unnecessarily in
65952         shell quoting style.
65953
65954 2000-01-16  Jim Meyering  <meyering@lucent.com>
65955
65956         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
65957         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
65958         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
65959         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
65960
65961 2000-01-16  Jim Meyering  <meyering@lucent.com>
65962
65963         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
65964         because the latter didn't work.
65965
65966 2000-01-15  Jim Meyering  <meyering@lucent.com>
65967
65968         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
65969         (AC_REPLACE_FUNCS): Add memcpy and memset.
65970         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
65971         Add strpbrk.
65972         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
65973
65974 2000-01-12  Jim Meyering  <meyering@lucent.com>
65975
65976         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
65977         (jm_PREREQ): Use it.
65978         (jm_PREREQ_READUTMP): New macro.
65979         (jm_PREREQ): Use it.
65980
65981 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65982
65983         Quote multibyte characters correctly.
65984         * m4/c-bs-a.m4: New file.
65985         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
65986         (jm_PREREQ): Use it.
65987
65988 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65989
65990         * m4/uintmax_t.m4: Port to autoconf 2.13.
65991
65992 2000-01-08  Jim Meyering  <meyering@ascend.com>
65993
65994         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
65995         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
65996
65997 2000-01-04  Jim Meyering  <meyering@ascend.com>
65998
65999         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
66000         jm_STRUCT_DIRENT_D_TYPE.
66001         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
66002         jm_STRUCT_DIRENT_D_INO.
66003         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
66004         jm_STRUCT_UTIMBUF.
66005         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
66006         renamings.
66007         * m4/utime.m4: Likewise.
66008
66009         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
66010         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
66011
66012 2000-01-03  Paul Eggert  <eggert@twinsun.com>
66013
66014         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
66015         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
66016
66017 2000-01-02  Jim Meyering  <meyering@ascend.com>
66018
66019         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
66020         remember if this is necessary.
66021
66022 1999-12-26  Jim Meyering  <meyering@ascend.com>
66023
66024         * m4/jm-macros.m4: Use it here.
66025         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
66026
66027 1999-12-23  Jim Meyering  <meyering@ascend.com>
66028
66029         * m4/jm-macros.m4: Check for clock_gettime (moved from
66030         fileutils/configure.in)
66031         Check for gettimeofday.
66032
66033 1999-12-20  Jim Meyering  <meyering@ascend.com>
66034
66035         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
66036         autoconf-2.14a-1999-12-20.
66037
66038 1999-12-19  Jim Meyering  <meyering@ascend.com>
66039
66040         * m4/lstat-slash.m4: New file.
66041         * m4/jm-macros.m4: Use the new macro:
66042         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66043
66044 1999-12-07  Jim Meyering  <meyering@ascend.com>
66045
66046         * m4/perl.m4: Require that File::Compare be available, too.
66047         Too many systems seem to lack it.
66048
66049         * m4/strftime.m4: Add checks for most of the cpp macros tested in
66050         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
66051
66052 1999-11-18  Paul Eggert  <eggert@twinsun.com>
66053
66054         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
66055         problem with the QNX 4.25 shell, which doesn't propagate exit
66056         status of failed commands inside shell assignments.
66057
66058 1999-11-17  Jim Meyering  <meyering@ascend.com>
66059
66060         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
66061
66062 1999-11-07  Jim Meyering  <meyering@ascend.com>
66063
66064         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
66065
66066 1999-11-06  Jim Meyering  <meyering@ascend.com>
66067
66068         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
66069         * m4/jm-macros.m4 (jm_MACROS): Use it here.
66070
66071 1999-11-05  Jim Meyering  <meyering@ascend.com>
66072
66073         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
66074         configure.in of textutils, fileutils, and sh-utils into this one
66075         (shared between those packages) file.
66076         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
66077         AC_STRUCT_ST_BLKSIZE.
66078
66079 1999-11-03  Jim Meyering  <meyering@ascend.com>
66080
66081         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
66082         of AC_CHECK_TYPE checks includes unistd.h.
66083         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
66084         Suggestion from Akim Demaille.
66085
66086 1999-10-30  Jim Meyering  <meyering@ascend.com>
66087
66088         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
66089         m4-quoted string.
66090         * m4/ls-mntd-fs.m4: Likewise.
66091         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
66092         * m4/jm-winsz1.m4: Likewise.
66093
66094         * m4/const.m4: Remove file, since the fix made it into the experimental
66095         version of autoconf.
66096         * m4/mktime.m4: Likewise.
66097
66098         * m4/check-type.m4: Remove file, now that the latest version of
66099         AC_CHECK_TYPE takes a third arg to specify additional #includes.
66100
66101         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
66102         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
66103         AC_CHECK_TYPE.
66104
66105 1999-10-04  Jim Meyering  <meyering@ascend.com>
66106
66107         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
66108
66109 1999-09-22  Paul Eggert  <eggert@twinsun.com>
66110
66111         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
66112         2.95.1 bug with HP-UX 10.20.
66113
66114 1999-09-17  Jim Meyering  <meyering@ascend.com>
66115
66116         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
66117         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
66118         due to missing strdup (against sh-utils-2.0).
66119
66120 1999-08-29  Jim Meyering  <meyering@ascend.com>
66121
66122         * m4/jm-macros.m4: Require jm_BISON.
66123         * m4/bison.m4: New file.
66124
66125 1999-08-17  Paul Eggert  <eggert@twinsun.com>
66126
66127         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
66128         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
66129
66130 1999-08-05  Jim Meyering  <meyering@ascend.com>
66131
66132         * m4/getline.m4: Rename test file from conftestdata to conftest.data
66133         to avoid conflicts with `conftest' on 8+3 filesystems.
66134         Suggestion from Eli Zaretskii.
66135
66136 1999-08-04  Jim Meyering  <meyering@ascend.com>
66137
66138         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
66139         fileutils and sh-utils (textutils's getline test was inadequate).
66140         (AM_FUNC_GETLINE): Run this test.
66141         (AC_CHECK_FUNCS): Check for getdelim.
66142         Reported by Bob Proulx.
66143
66144 1999-08-02  Jim Meyering  <meyering@ascend.com>
66145
66146         * m4/jm-macros.m4: Add a comment.
66147
66148 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66149
66150         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
66151         <inttypes.h> defines strtoumax as a macro (and not as a
66152         function).
66153
66154 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66155
66156         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
66157         that we can shift, multiply and divide unsigned long long
66158         values; Ultrix cc can't do it.
66159
66160 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66161
66162         * m4/mktime.m4: New file, which is a preview of what should appear
66163         in the next public autoconf release.
66164
66165 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66166
66167         * m4/lfs.m4: Remove this file.
66168         * m4/largefile.m4: New file.  It contains the old contents of
66169         lfs.m4, except that all names with prefix AC_LFS have been
66170         changed to use the prefix AC_SYS_LARGEFILE instead, to be
66171         compatible with future autoconf versions.  Also, some minor m4
66172         quoting problems have been fixed.
66173
66174 1999-08-01  Paul Eggert  <eggert@twinsun.com>
66175
66176         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
66177         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
66178         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
66179         and simplify the shell code.
66180
66181 1999-08-01  Jim Meyering  <meyering@ascend.com>
66182
66183         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
66184         m4.
66185
66186 1999-07-20  Jim Meyering  <meyering@ascend.com>
66187
66188         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
66189
66190 1999-07-15  Jim Meyering  <meyering@ascend.com>
66191
66192         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
66193
66194 1999-05-22  Jim Meyering  <meyering@ascend.com>
66195
66196         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
66197
66198 1999-05-20  Jim Meyering  <meyering@ascend.com>
66199
66200         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
66201         Add a colon after each `then' in case $4 is empty.
66202
66203 1999-05-16  Jim Meyering  <meyering@ascend.com>
66204
66205         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
66206
66207 1999-05-10  Jim Meyering  <meyering@ascend.com>
66208
66209         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
66210
66211         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
66212         AC_FUNC_MKTIME.
66213
66214 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
66215
66216         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
66217
66218 1999-05-04  Paul Eggert  <eggert@twinsun.com>
66219
66220         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
66221         not CPPFLAGS, so that linking works correctly in IRIX.
66222
66223 1999-04-30  Paul Eggert  <eggert@twinsun.com>
66224
66225         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
66226
66227 1999-04-20  Paul Eggert  <eggert@twinsun.com>
66228
66229         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
66230         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
66231         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
66232         jm_AC_TYPE_UNSIGNED_LONG_LONG.
66233         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
66234
66235         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
66236
66237 1999-04-20  Jim Meyering  <meyering@ascend.com>
66238
66239         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
66240         AC_REPLACE xstroull if necessary.  From Paul Eggert.
66241         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
66242
66243 1999-04-18  Jim Meyering  <meyering@ascend.com>
66244
66245         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
66246         * m4/jm-macros.m4: Use it.
66247
66248 1999-04-06  Jim Meyering  <meyering@ascend.com>
66249
66250         * m4/strftime.m4: Remove test for %f.
66251
66252 1999-03-29  Jim Meyering  <meyering@ascend.com>
66253
66254         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
66255         superset of the AC_TYPE_* checks in the textutils, fileutils,
66256         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
66257         AC_TYPE_PID_T.
66258
66259 1999-03-28  Jim Meyering  <meyering@ascend.com>
66260
66261         * m4/jm-macros.m4: Define GNU_PACKAGE here.
66262         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
66263         replaced e.g., in the *.sh files of the sh-utils.
66264
66265 1999-03-20  Jim Meyering  <meyering@ascend.com>
66266
66267         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
66268         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
66269         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
66270
66271 1999-03-19  Jim Meyering  <meyering@ascend.com>
66272
66273         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
66274
66275 1999-03-12  Jim Meyering  <meyering@ascend.com>
66276
66277         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
66278
66279 1999-03-07  Jim Meyering  <meyering@ascend.com>
66280
66281         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
66282         declared.
66283
66284 1999-02-17  Jim Meyering  <meyering@ascend.com>
66285
66286         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
66287         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
66288
66289 1999-02-07  Jim Meyering  <meyering@ascend.com>
66290
66291         * m4/group-member.m4: New file -- extracted from sh-utils'
66292         configure.in.
66293
66294         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
66295         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
66296
66297 1999-02-06  Jim Meyering  <meyering@ascend.com>
66298
66299         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
66300         * m4/fnmatch.m4: Likewise.
66301         * m4/getgroups.m4: Likewise.
66302         * m4/lstat.m4: Likewise.
66303         * m4/malloc.m4: Likewise.
66304         * m4/putenv.m4: Likewise.
66305         * m4/realloc.m4: Likewise.
66306         * m4/regex.m4: Likewise.
66307         * m4/stat.m4: Likewise.
66308         * m4/strftime.m4: Likewise.
66309         Suggestion from Alain Magloire.
66310
66311         * m4/chown.m4: Use `.$ac_objext', not `.o'.
66312         * m4/fnmatch.m4: Likewise.
66313         * m4/getgroups.m4: Likewise.
66314         * m4/getline.m4: Likewise.
66315         * m4/lstat.m4: Likewise.
66316         * m4/malloc.m4: Likewise.
66317         * m4/memcmp.m4: Likewise.
66318         * m4/putenv.m4: Likewise.
66319         * m4/realloc.m4: Likewise.
66320         * m4/regex.m4: Likewise.
66321         * m4/stat.m4: Likewise.
66322         * m4/strftime.m4: Likewise.
66323         Suggestion from Alain Magloire.
66324
66325         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
66326         an argument.
66327
66328         * m4/regex.m4: Add a run-time Test for proper operation of
66329         re_compile_pattern.
66330
66331 1999-01-31  Jim Meyering  <meyering@ascend.com>
66332
66333         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
66334
66335 1999-01-30  Jim Meyering  <meyering@ascend.com>
66336
66337         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
66338
66339         * m4/jm-mktime.m4: Make this a wrapper around the official
66340         AM_FUNC_MKTIME rather than my private copy, now that the official one
66341         is up to date.
66342         * m4/mktime.m4: Remove file.
66343
66344         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
66345         * m4/uptime.m4: Likewise.
66346         * m4/uintmax_t.m4: Likewise.
66347
66348 1999-01-28  Jim Meyering  <meyering@ascend.com>
66349
66350         * m4/jm-macros.m4: Use jm_AFS.
66351         * m4/afs.m4: New file (from fileutils' configure.in).
66352
66353         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
66354         * m4/chown.m4: Likewise.
66355         * m4/d-ino.m4: Likewise.
66356         * m4/d-type.m4: Likewise.
66357         * m4/fnmatch.m4: Likewise.
66358         * m4/getgroups.m4: Likewise.
66359         * m4/gettext.m4: Likewise.
66360         * m4/jm-mktime.m4: Likewise.
66361         * m4/jm-winsz2.m4: Likewise.
66362         * m4/lcmessage.m4: Likewise.
66363         * m4/ls-mntd-fs.m4: Likewise.
66364         * m4/malloc.m4: Likewise.
66365         * m4/memcmp.m4: Likewise.
66366         * m4/putenv.m4: Likewise.
66367         * m4/realloc.m4: Likewise.
66368         * m4/st_mtim.m4: Likewise.
66369         * m4/strftime.m4: Likewise.
66370
66371 1999-01-16  Jim Meyering  <meyering@ascend.com>
66372
66373         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
66374         (ARGMATCH_DIE_DECL): Define.
66375
66376 1999-01-12  Jim Meyering  <meyering@ascend.com>
66377
66378         * m4/Makefile.am.in: Rewrite to avoid using fmt.
66379         Reported by Lars Hecking.
66380
66381 1999-01-10  Jim Meyering  <meyering@ascend.com>
66382
66383         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
66384         gross kludge.
66385         * m4/inttypes_h.m4: Likewise.
66386         * m4/lstat.m4: Likewise.
66387         * m4/malloc.m4: Likewise.
66388         * m4/readdir.m4: Likewise.
66389         * m4/realloc.m4: Likewise.
66390         * m4/st_dm_mode.m4: Likewise.
66391         * m4/stat.m4: Likewise.
66392         * m4/utimbuf.m4: Likewise.
66393         * m4/utimes.m4: Likewise.
66394
66395         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
66396         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
66397         comments in config.h.in are meaningful.
66398
66399         * m4/jm-macros.m4: Require autoconf-2.13 here.
66400
66401         * m4/regex.m4: By default, don't use the included regex.c on systems
66402         with glibc 2.  Suggestion from Uli Drepper.
66403
66404 1999-01-02  Jim Meyering  <meyering@ascend.com>
66405
66406         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
66407
66408 1998-12-18  Jim Meyering  <meyering@ascend.com>
66409
66410         * m4/Makefile.am.in (Makefile.am): Simplify rule.
66411         Based on a suggestion from Lars Hecking.
66412
66413 1998-11-16  Paul Eggert  <eggert@twinsun.com>
66414
66415         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
66416
66417 1998-11-16  Jim Meyering  <meyering@ascend.com>
66418
66419         * m4/lfs.m4: Double-quote the `uname...` expression.
66420
66421 1998-11-14  Jim Meyering  <meyering@ascend.com>
66422
66423         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
66424         * m4/stat.m4: Likewise.
66425
66426 1998-11-03  Jim Meyering  <meyering@ascend.com>
66427
66428         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
66429         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
66430
66431 1998-10-18  Jim Meyering  <meyering@ascend.com>
66432
66433         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
66434
66435 1998-10-17  Jim Meyering  <meyering@ascend.com>
66436
66437         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
66438         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
66439         calls for those previously hard-coded headers.  Instead, take a new
66440         parameter.
66441         (jm_CHECK_DECLARATIONS): Reflect interface change.
66442         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
66443         (jm_CHECK_DECL_LOCALTIME_R): New macro.
66444
66445         * m4/mktime.m4: Test for spring-forward gap before long-running test.
66446
66447 1998-10-14  Jim Meyering  <meyering@ascend.com>
66448
66449         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
66450         instead of "TZ=America/Vancouver".  From Paul Eggert.
66451
66452 1998-10-11  Jim Meyering  <meyering@ascend.com>
66453
66454         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
66455         This adds a test for a recently added compatibility fix for mktime.c.
66456         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
66457
66458 1998-09-27  Jim Meyering  <meyering@ascend.com>
66459
66460         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
66461
66462         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
66463         ../configure.in, including a change from Gordon Matzigkeit to allow
66464         cross-compiling for the Hurd.
66465
66466         * m4/glibc.m4: New file/macro to test for the GNU C Library
66467         versions 1 and 2.  From Gordon Matzigkeit.
66468         Indent.
66469
66470 1998-09-21  Jim Meyering  <meyering@ascend.com>
66471
66472         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
66473
66474 1998-08-18  Paul Eggert  <eggert@twinsun.com>
66475
66476         Port nanosecond-resolution times to UnixWare 2.1.2 and
66477         pedantic Solaris 2.6.
66478
66479         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
66480         AC_STRUCT_ST_MTIM.
66481         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
66482         Generate name of ns member, instead of just 1 or undef.
66483         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
66484
66485 1998-08-15  Jim Meyering  <meyering@ascend.com>
66486
66487         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
66488         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
66489         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
66490         instead of jm_TYPE_SSIZE_T.
66491
66492 1998-08-12  Jim Meyering  <meyering@ascend.com>
66493
66494         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
66495
66496 1998-08-02  Jim Meyering  <meyering@ascend.com>
66497
66498         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
66499         in acconfig.h manually.
66500
66501 1998-07-31  Paul Eggert  <eggert@twinsun.com>
66502
66503         * m4/st_mtim.m4: New file.
66504
66505 1998-07-28  Jim Meyering  <meyering@ascend.com>
66506
66507         * m4/utimes.m4: Undef stat.
66508
66509 1998-07-25  Jim Meyering  <meyering@ascend.com>
66510
66511         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
66512         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
66513
66514 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
66515
66516         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
66517         uid and gid actually remain unchanged.
66518
66519 1998-07-07  Jim Meyering  <meyering@ascend.com>
66520
66521         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
66522
66523 1998-07-04  Jim Meyering  <meyering@ascend.com>
66524
66525         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
66526         to prove that this macro can be used in packages without regex.c.
66527
66528 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
66529
66530         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
66531         is to be used.
66532
66533 1998-07-03  Jim Meyering  <meyering@ascend.com>
66534
66535         * m4/gettext.m4: Add -lintl if it's found to be necessary.
66536
66537         * m4/gettext.m4: New file -- from gettext-0.10.35.
66538         * m4/lcmessage.m4: Likewise.
66539         * m4/progtest.m4: Likewise.
66540
66541         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
66542         * m4/jm-macros.m4: Require the new macro.
66543
66544 1998-06-29  Jim Meyering  <meyering@ascend.com>
66545
66546         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
66547         for the definition of NGROUPS (used in a system header included
66548         by sys/mount.h).
66549
66550 1998-06-28  Jim Meyering  <meyering@ascend.com>
66551
66552         * m4/ls-mntd-fs.m4: New file.
66553         * m4/fstypename.m4: New file.
66554
66555         * m4/jm-macros.m4: Require the new macro.
66556         * m4/jm-glibc-io.m4: New file.
66557
66558 1998-05-19  Jim Meyering  <meyering@ascend.com>
66559
66560         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
66561         * m4/lchown.m4: New file.
66562
66563         * m4/Makefile.am.in: New file.
66564         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
66565
66566 1998-05-14  Jim Meyering  <meyering@ascend.com>
66567
66568         * m4/Makefile.am (EXTRA_DIST): Add them.
66569         * m4/jm-macros.m4: New file.
66570         * m4/utimbuf.m4: New file.
66571
66572 1998-05-12  Jim Meyering  <meyering@ascend.com>
66573
66574         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
66575
66576 1998-05-11  Jim Meyering  <meyering@ascend.com>
66577
66578         * m4/isc-posix.m4: New file.
66579
66580 1998-05-10  Jim Meyering  <meyering@ascend.com>
66581
66582         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
66583
66584 1998-05-09  Jim Meyering  <meyering@ascend.com>
66585
66586         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
66587         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
66588         with automake.
66589
66590         * m4/ssize_t.m4: New file.
66591         * m4/mktime.m4: Remove file -- the new automake has this now.
66592
66593 1998-04-26  Jim Meyering  <meyering@ascend.com>
66594
66595         * m4/assert.m4: New file.
66596         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
66597
66598 1998-04-05  Jim Meyering  <meyering@ascend.com>
66599
66600         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
66601         (jm_PREREQ): Use it here.
66602
66603 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
66604
66605         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
66606         in acconfig.h.
66607
66608 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
66609
66610         * m4/prereq.m4: New file.
66611         * m4/error.m4: New file.
66612         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
66613
66614 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
66615
66616         * m4/getline.m4: Don't set am_cv_func_working_getline before the
66617         cache-check for the same variable -- that defeated the purpose of
66618         the test; the test program was never run.  This was a problem only
66619         on systems with losing getline functions -- HP-UX 10.20 is one.
66620         Reported by Bjorn Helgaas.
66621
66622 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
66623
66624         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
66625
66626 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
66627
66628         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
66629
66630         * m4/const.m4: New file.  Use an initializer in this declaration
66631         typedef int charset[2]; const charset x;
66632         Reported by Bob Glickstein.
66633
66634 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
66635
66636         * m4/chown.m4: Fix reversed types on -1 args to chown.
66637         From Kaveh Ghazi.
66638
66639 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
66640
66641         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
66642         Add lseek and memchr.
66643
66644         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
66645         T.E.Dickey <dickey@clark.net> said that some older preprocessors
66646         have a 20-character limit on names.
66647
66648 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
66649
66650         * m4/inttypes_h.m4: New file.
66651         * m4/uintmax_t.m4: New file.
66652         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
66653
66654
66655         -----
66656
66657         Local Variables:
66658         coding: utf-8
66659         End:
66660
66661         Copyright (C) 1997-2010 Free Software Foundation, Inc.
66662
66663         Copying and distribution of this file, with or without
66664         modification, are permitted provided the copyright notice
66665         and this notice are preserved.