NEWS.stable: log cherry-pick [03f358b]->[1ad6403] gen-uni-tables: Say "gen-uni-tables...
[gnulib.git] / ChangeLog
1 2011-05-26  Simon Josefsson  <simon@josefsson.org>
2
3         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
4
5 2011-05-26  Bruno Haible  <bruno@clisp.org>
6
7         mbsrchr: Avoid collision with system function on Interix.
8         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
9         Reported by Markus Duft <mduft@gentoo.org>.
10
11 2011-05-25  Eric Blake  <eblake@redhat.com>
12
13         getcwd: work around mingw bug
14         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
15         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16         Reported by Matthias Bolte.
17
18 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19
20         test-intprops: disable -Wtype-limits diagnostics
21         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
22         diagnostics.  Otherwise, the integer overflow macros generate many
23         diagnostics.  Reported by Jim Meyering in
24         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
25
26 2011-05-24  Eric Blake  <eblake@redhat.com>
27
28         docs: document recently fixed glibc printf bug
29         * doc/posix-functions/fprintf.texi (fprintf): Document it.
30         * doc/posix-functions/printf.texi (printf): Likewise.
31         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
32         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
33
34 2011-05-24  Eric Blake  <eblake@redhat.com>
35
36         tests: fix logic bug in init.sh
37         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
38         shell.
39
40 2011-05-24  Jim Meyering  <meyering@redhat.com>
41
42         utimensat: do not reference an out-of-scope buffer
43         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
44         declared in an inner scope, yet "times" would be dereferenced outside
45         the scope in which "ts" was valid.
46         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
47         of ts[2] "out/up", so that the use of aliased "times" (via
48         "times = ts;") does not end up referencing an out-of-scope "ts"
49
50         opendir-safer.c: don't clobber errno; don't close negative FD
51         * lib/opendir-safer.c (opendir_safer):
52         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
53         file descriptor, and more importantly, don't clobber the
54         offending errno value with EINVAL.  Before, upon failure
55         of dup_safer, we would pass the negative file descriptor to
56         fdopendir, which would clobber errno.
57
58 2011-05-23  Bruno Haible  <bruno@clisp.org>
59
60         idcache: Fix module description.
61         * modules/idcache (Include): Set to "idcache.h".
62
63 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
64
65         gnulib-tool: fix portability problem with MacOS sed
66         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
67         before the "}".  Problem reported by Leo in
68         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
69         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
70         sed_extract_condition1, sed_extract_condition2.
71
72 2011-05-23  Bruno Haible  <bruno@clisp.org>
73
74         getugroups: Fix module description.
75         * modules/getugroups (Include): Set to "getugroups.h".
76
77 2011-05-23  Bruno Haible  <bruno@clisp.org>
78             Eric Blake  <eblake@redhat.com>
79
80         linkat, renameat: Update dependencies.
81         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
82         * modules/linkat (Depends-on): Likewise. Remove also readlink,
83         symlinkat.
84
85 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86
87         verify: fix bug when gnulib <assert.h> is also included
88         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
89         is defined, not if _GL_STATIC_ASSERT_H is not defined.
90         Perhaps there's a better way, but this fixes the immediate problem.
91         Problem reported by Bruno Haible in
92         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
93
94 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
95
96         clock-time: change to LGPLv2+.
97         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
98         BSD-like but we have no mark for that; this is good enough for now.
99
100 2011-05-21  Bruno Haible  <bruno@clisp.org>
101
102         relocatable-prog-wrapper: Fix possible link error.
103         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
104         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
105         (gl_FUNC_SETENV): ... to here.
106         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
107         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
108
109 2011-05-20  Jim Meyering  <meyering@redhat.com>
110
111         maint: replace misused "a" with "an"
112         * doc/intprops.texi: "a integer"
113         * doc/regex.texi: "a explanation"
114         * lib/alignof.h: "a object"
115         * lib/argmatch.h: "a explanation"
116         * lib/argp-help.c: "a option" and "a OPTION_DOC"
117         * lib/stdint.in.h: "a integer"
118         * lib/userspec.c: "a owner"
119         * doc/gnulib.texi: Fix "a idea", and reword.
120
121 2011-05-19  Jim Meyering  <meyering@redhat.com>
122
123         maint: correct misuse of "a" and "an"
124         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
125         * lib/argp-help.c: "an docum...": s/an/a/
126         * lib/argp-parse.c: "An vector": s/An/A/
127         * lib/execute.c: "an native": s/an/a/
128         * lib/spawn-pipe.c: Likewise.
129         * lib/gc.h: "an Gc_rc": s/an/a/
130         * lib/unigbrk.in.h: "an grapheme": s/an/a/
131         * lib/fts.c: "an stat.st_dev": s/an/a/
132
133 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
134
135         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
136         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
137         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
138         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
139         (_GL_REMAINDER_OVERFLOW): Use it.
140
141         intprops: work around C compiler bugs
142         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
143         bug in Sun C 5.11 2010/08/13 and other compilers; see
144         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
145
146         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
147         * doc/intprops.texi (Integer Type Determination): Fix
148         documentation for TYPE_IS_INTEGER: it returns an constant
149         expression, not an integer constant expression.  Fix doc for
150         TYPE_SIGNED: it returns an integer constant expression only if its
151         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
152         hardly worth documented that way....)
153
154 2011-05-18  Eric Blake  <eblake@redhat.com>
155
156         fnmatch: avoid compiler warning
157         * lib/fnmatch_loop.c (FCT): Use correct type.
158         Reported by Matthias Bolte.
159
160 2011-05-13  Jim Meyering  <meyering@redhat.com>
161
162         maint.mk: three new prohibit_<HDR>_without_use rules
163         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
164         (sc_prohibit_stdio-safer_without_use): Likewise.
165         (sc_prohibit_xfreopen_without_use): Likewise.
166
167 2011-05-17  Jim Meyering  <meyering@redhat.com>
168
169         announce-gen: fail if the NEWS delta is empty
170         If there's nothing noteworthy in NEWS, then either you forgot
171         or you shouldn't be releasing.
172         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
173
174 2011-05-17  Pádraig Brady <P@draigBrady.com>
175
176         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
177         reserved symbols starting with double underscore from the check.
178
179 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
180
181         intprops: add doc
182         * doc/intprops.texi: New file, documenting intprops.
183         * doc/gnulib.texi (Particular Modules): Include it.
184
185         verify: add doc to gnulib manual and fix example
186         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
187         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
188         (Compile-time Assertions): Fix example so it can't overflow.
189
190 2011-05-17  Jim Meyering  <meyering@redhat.com>
191
192         warnings.m4: don't usurp save_CPPFLAGS variable name
193         * m4/warnings.m4: Prefix local temporary variable name with gl_.
194
195         doc: fix typo
196         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
197
198 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
199             Bruno Haible  <bruno@clisp.org>
200
201         doc: Tweak recent change.
202         * README (Portability guidelines): Tweak new text.
203         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
204         Interix 6.1.
205
206 2011-05-16  Eric Blake  <eblake@redhat.com>
207
208         inttypes: avoid autoconf warning
209         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
210         * m4/stdint.m4 (gl_STDINT_H): Likewise.
211
212 2011-05-16  Sam Steingold <sds@gnu.org>
213         and Eric Blake  <eblake@redhat.com>
214
215         vc-list-files: accept multiple directory operands
216         * build-aux/vc-list-files: Iterate over all remaining operands.
217
218 2011-05-16  Bruno Haible  <bruno@clisp.org>
219
220         Fix confusion regarding deprecated modules.
221         * modules/calloc (Status, Notice): Mark module as deprecated, not
222         obsolete.
223         * modules/fnmatch-posix (Status, Notice): Likewise.
224         * modules/getdate (Status, Notice): Likewise.
225         * modules/getopt (Status, Notice): Likewise.
226         * modules/malloc (Status, Notice): Likewise.
227         * modules/pipe (Status, Notice): Likewise.
228         * modules/realloc (Status, Notice): Likewise.
229         * modules/rename-dest-slash (Status, Notice): Likewise.
230         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
231         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
232         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
233         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
234         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
235
236 2011-05-16  Bruno Haible  <bruno@clisp.org>
237
238         doc: List the target platforms.
239         * doc/gnulib-intro.texi (Target Platforms): New section.
240         * doc/gnulib.texi (Introduction): Update menu.
241         * README (Portability guidelines): Refer to the new section. Update
242         statement about oldest supported environment. Remove rationale why
243         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
244         unportable C89 function.
245         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
246         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
247
248 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
249
250         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
251
252 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
253
254         intprops-tests: new module
255         * modules/intprops-tests, tests/test-intprops.c: New files.
256
257         intprops: add safe, portable integer overflow checking
258         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
259         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
260         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
261         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
262         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
263         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
264         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
265         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
266         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
267         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
268         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
269
270 2011-05-12  James Youngman  <jay@gnu.org>
271
272         Add a test for glibc's Bugzilla bug #12378.
273         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
274         doesn't allow the literal matching of a lone "[" (which is
275         required by POSIX).
276         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
277
278 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
279
280         Sync glibc change fixing Bugzilla bug #12378.
281         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
282         beginning and fall back to matching as normal character if the
283         string ends before the matching ']' is found.  This is what POSIX
284         requires.
285
286 2011-05-13  Eric Blake  <eblake@redhat.com>
287
288         getcwd-lgpl: relax test for FreeBSD
289         * doc/posix-functions/getcwd.texi (getcwd): Document portability
290         issue.
291         * tests/test-getcwd-lgpl.c (main): Relax test.
292         Reported by Matthias Bolte.
293
294 2011-05-11  Eric Blake  <eblake@redhat.com>
295
296         test-fflush: silence compiler warning
297         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
298
299 2011-05-11  Bruno Haible  <bruno@clisp.org>
300
301         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
302         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
303         * modules/canonicalize (Depends-on): Add 'nocrash'.
304         * modules/canonicalize-lgpl (Depends-on): Likewise.
305         * doc/posix-functions/realpath.texi: Update platforms list.
306         Reported by Ryan Schmidt <ryandesign@macports.org>.
307
308 2011-05-11  Bruno Haible  <bruno@clisp.org>
309
310         group-member: Declare function in <unistd.h>.
311         * lib/unistd.in.h (group_member): New declaration.
312         * lib/group-member.h: Remove file.
313         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
314         * tests/test-unistd-c++.cc: Check signature of group_member.
315         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
316         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
317         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
318         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
319         HAVE_GROUP_MEMBER.
320         * modules/group-member (Files): Remove lib/group-member.h.
321         (Depends-on): Add unistd. Specify conditions.
322         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
323         (Include): Change to <unistd.h>.
324         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
325         HAVE_GROUP_MEMBER.
326         * NEWS: Mention the change.
327         * lib/euidaccess.c: Don't include group-member.h.
328
329 2011-05-11  Bruno Haible  <bruno@clisp.org>
330
331         group-member: Document module.
332         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
333         module.
334
335 2011-05-11  Bruno Haible  <bruno@clisp.org>
336
337         fclose: Fix mistake earlier today.
338         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
339
340 2011-05-11  Eric Blake  <eblake@redhat.com>
341
342         fclose: preserve fflush errors
343         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
344         Reported by Jim Meyering.
345
346         bootstrap: support a prereq of 'rpcgen -' on RHEL5
347         * build-aux/bootstrap (check_versions): When no specific version
348         is required, merely check that the app produces an exit status
349         that indicates its existence.
350
351         maint.mk: drop redundant check
352         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
353         the same but better.
354
355 2011-05-11  Bruno Haible  <bruno@clisp.org>
356
357         fclose: Fix possible link error.
358         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
359         unregister_shadow_fd. Improve comments.
360         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
361         Eric Blake.
362
363 2011-05-11  Jim Meyering  <meyering@redhat.com>
364
365         maint.mk: improve "can not" detection and generalize rule name
366         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
367         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
368         Use the same technique as in sc_prohibit_doubled_word, so that
369         we recognize "can not" also when the words are separated by a newline.
370         Suggested by Eric Blake.
371         (perl_filename_lineno_text_): Define.  Factored out of...
372         (prohibit_doubled_word_): ...here.  Use the new definition.
373         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
374         (prohibit_undesirable_word_seq_RE_): New overridable variable.
375         (ignore_undesirable_word_sequence_RE_): New overridable variable.
376
377 2011-05-10  Eric Blake  <eblake@redhat.com>
378
379         fclose: avoid double close race when possible
380         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
381         all but WINDOWS_SOCKETS.
382
383 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
384
385         openat: correct new comment
386         * lib/openat-proc.c (openat_proc_name): Correct the comment.
387
388 2011-05-10  Jim Meyering  <meyering@redhat.com>
389
390         openat: add comments
391         * lib/openat-proc.c (openat_proc_name): Add comments,
392         mostly from Eric Blake.
393
394 2011-05-09  Eric Blake  <eblake@redhat.com>
395
396         openat: reduce syscalls in first probe of /proc
397         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
398         be a directory.  Simplify the probe for .. bugs.
399         * modules/openat (Depends-on): Drop same-inode.
400         Reported by Bastien ROUCARIES.
401
402 2011-05-09  Jim Meyering  <meyering@redhat.com>
403
404         maint.mk: change semantics/name of tight_scope variables
405         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
406         Rename variables to align with semantics that make them more useful.
407
408         maint.mk: tweak new rule's name not to impinge
409         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
410         (sc_tight_scope): Use new rule name rather than $@-0.
411
412         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
413         * top/maint.mk (sc_tight_scope): New rule.
414         (sc_tight_scope-0): New rule, ifdef'd out.
415         (_gl_TS_dir): Default.
416         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
417         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
418
419 2011-05-09  Simon Josefsson  <simon@josefsson.org>
420
421         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
422         Haible <bruno@clisp.org>.
423
424 2011-05-08  Bruno Haible  <bruno@clisp.org>
425
426         Comments.
427         * m4/isnanf.m4: Add comment.
428         * m4/isnanl.m4: Likewise.
429
430 2011-05-08  Bruno Haible  <bruno@clisp.org>
431
432         glob: Remove obsolete macro.
433         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
434
435 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
436
437         intprops: Sun C 5.11 supports __typeof__
438         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
439         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
440         which is new.
441         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
442
443         intprops: switch to usual gnulib indenting and naming
444         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
445         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
446
447         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
448
449 2011-05-08  Jim Meyering  <meyering@redhat.com>
450
451         maint.mk: suppress "Entering/Leaving directory" diag in announcement
452         * top/maint.mk (release-prep): Use make's --no-print-directory
453         option when generating the announcement.  This eliminates the
454         pesky "make[2]: Entering/Leaving directory" diagnostics in the
455         generated announcement template.
456
457 2011-05-08  Bruno Haible  <bruno@clisp.org>
458
459         tzset: Fix gettimeofday wrapper on Solaris 2.6.
460         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
461         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
462
463 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
464
465         ignore-value, verify: Omit include files from lib_SOURCES.
466         * modules/ignore-value, modules/verify (Makefile.am):
467         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
468         that leads Automake to duplicate use of am__objects_... variables
469         in Makefile.in.  See
470         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
471
472 2011-05-07  Bruno Haible  <bruno@clisp.org>
473
474         fclose: Simplify autoconf macro.
475         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
476         defined.
477
478 2011-05-07  Bruno Haible  <bruno@clisp.org>
479
480         canonicalize-lgpl: Fix autoconf macro ordering bug.
481         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
482         gl_STDLIB_H_DEFAULTS.
483
484 2011-05-06  Eric Blake  <eblake@redhat.com>
485
486         maintainer-makefile: make sc_po_check easier to tune
487         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
488         to probe for strings, such as an alternate location for gnulib.
489
490         fclose: guarantee behavior on seekable stdin
491         * modules/fclose (Depends-on): Add fflush.
492         * doc/posix-functions/fclose.texi (fclose): Document this.
493         * tests/test-fclose.c (main): Make test for this unconditional.
494
495 2011-05-06  Bruno Haible  <bruno@clisp.org>
496
497         fflush, fpurge: Relicense under LGPLv2+.
498         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
499         * modules/fpurge (License): Likewise.
500         With permission from Eric Blake and Jim Meyering.
501         Suggested by Eric Blake.
502
503 2011-05-06  Karl Berry  <karl@gnu.org>
504
505         * MODULES.html.sh (func_all_modules): remove exit.
506
507 2011-05-06  Jim Meyering  <meyering@redhat.com>
508
509         maint.mk: use info-gnu@ as the default only for a stable release
510         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
511         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
512         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
513         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
514
515 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
516
517         assert-h: new module, which supports C1X-style static_assert
518         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
519         * lib/verify.h: Revamp so that this can be copied into assert.h,
520         while retaining the ability to use it standalone as before.
521         Rename private identifiers so as not to encroach on the
522         standard C namespace, since this is now used by assert.h.
523         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
524         the old verify_true.
525         (_GL_VERIFY_TRUE): New macro, with much of the contents of
526         the old verify_true.  Use _GL_VERIFY_TYPE.
527         (_GL_VERIFY): New macro, with much of the contents of the old verify.
528         (static_assert): New macro, if _GL_STATIC_ASSERT_H
529         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
530         defined when this file is copied into the replacement assert.h.
531         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
532         and _Static_assert is not built in.
533         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
534         defined, and use the new macros mentioned above.
535         * doc/posix-headers/assert.texi: Document this.
536
537 2011-05-05  Bruno Haible  <bruno@clisp.org>
538
539         fclose, fflush: Respect rules for use of AC_LIBOBJ.
540         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
541         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
542         gl_REPLACE_FCLOSE here.
543         * modules/fflush (Depends-on): Remove fclose.
544         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
545         combination with module 'fclose'.
546
547 2011-05-05  Bruno Haible  <bruno@clisp.org>
548
549         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
550         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
551         gl_FUNC_FFLUSH.
552         (gl_FUNC_FFLUSH): Use it.
553         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
554         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
555         gl_REPLACE_FSEEKO here.
556
557 2011-05-05  Bruno Haible  <bruno@clisp.org>
558
559         tzset: Relicense under LGPL.
560         * modules/tzset (License): Change to LGPL.
561         No agreement needed; it's a no-op.
562
563         strtoimax, strtoumax: Relicense under LGPL.
564         * modules/strtoimax (License): Change to LGPL.
565         * modules/strtoumax (License): Likewise.
566         With permission from Jim Meyering, Paul Eggert:
567         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
568         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
569
570         getgroups: Relicense under LGPL.
571         * modules/getgroups (License): Change to LGPL.
572         With permission from Jim Meyering, Paul Eggert, Eric Blake:
573         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
574         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
575         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
576
577         nanosleep: Relicense under LGPL.
578         * modules/nanosleep (License): Change to LGPL.
579         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
580         Haible:
581         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
582         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
583         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
584         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
585
586         futimens: Relicense under LGPL.
587         * modules/futimens (License): Change to LGPL.
588         With permission from Eric Blake:
589         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
590
591         fflush: Relicense under LGPL.
592         * modules/fflush (License): Change to LGPL.
593         With permission from Eric Blake, Bruno Haible, Jim Meyering:
594         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
596         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
597
598         tmpfile: Relicense under LGPL.
599         * modules/tmpfile (License): Change to LGPL.
600         With permission from Ben Pfaff:
601         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
602
603         isfinite: Relicense under LGPL.
604         * modules/isfinite (License): Change to LGPL.
605         With permission from Ben Pfaff, Bruno Haible:
606         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
607         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
608
609         acosl..tanl: Relicense under LGPL.
610         * modules/acosl (License): Change to LGPL.
611         * modules/asinl (License): Likewise.
612         * modules/atanl (License): Likewise.
613         * modules/cosl (License): Likewise.
614         * modules/expl (License): Likewise.
615         * modules/logl (License): Likewise.
616         * modules/sinl (License): Likewise.
617         * modules/sqrtl (License): Likewise.
618         * modules/tanl (License): Likewise.
619         Source code originally from glibc and Paolo Bonzini. Agreements:
620         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
621         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
622
623 2011-05-05  Bruno Haible  <bruno@clisp.org>
624
625         signal: Define sighandler_t.
626         * lib/signal.in.h (sighandler_t): New type.
627         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
628         whether sighandler_t is defined.
629         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
630         * modules/signal (Depends-on): Add extensions.
631         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
632         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
633         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
634
635 2011-05-05  Eric Blake  <eblake@redhat.com>
636
637         maint: remove useless REPLACE_*_H macros
638         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
639         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
640         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
641         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
642         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
643         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
644         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
645         * m4/btowc.m4: Update callers.
646         * m4/dirfd.m4: Likewise.
647         * m4/duplocale.m4: Likewise.
648         * m4/fchdir.m4: Likewise.
649         * m4/fdopendir.m4: Likewise.
650         * m4/inet_ntop.m4: Likewise.
651         * m4/inet_pton.m4: Likewise.
652         * m4/ioctl.m4: Likewise.
653         * m4/mbrlen.m4: Likewise.
654         * m4/mbrtowc.m4: Likewise.
655         * m4/mbsinit.m4: Likewise.
656         * m4/mbsnrtowcs.m4: Likewise.
657         * m4/mbsrtowcs.m4: Likewise.
658         * m4/poll.m4: Likewise.
659         * m4/setlocale.m4: Likewise.
660         * m4/wcrtomb.m4: Likewise.
661         * m4/wcsnrtombs.m4: Likewise.
662         * m4/wcsrtombs.m4: Likewise.
663         * m4/wctob.m4: Likewise.
664         * m4/wcwidth.m4: Likewise.
665         * modules/posix_spawn: Likewise.
666         * modules/posix_spawn_file_actions_addclose: Likewise.
667         * modules/posix_spawn_file_actions_adddup2: Likewise.
668         * modules/posix_spawn_file_actions_addopen: Likewise.
669         * modules/posix_spawn_file_actions_destroy: Likewise.
670         * modules/posix_spawn_file_actions_init: Likewise.
671         * modules/posix_spawnattr_destroy: Likewise.
672         * modules/posix_spawnattr_getflags: Likewise.
673         * modules/posix_spawnattr_getpgroup: Likewise.
674         * modules/posix_spawnattr_getschedparam: Likewise.
675         * modules/posix_spawnattr_getschedpolicy: Likewise.
676         * modules/posix_spawnattr_getsigdefault: Likewise.
677         * modules/posix_spawnattr_getsigmask: Likewise.
678         * modules/posix_spawnattr_init: Likewise.
679         * modules/posix_spawnattr_setflags: Likewise.
680         * modules/posix_spawnattr_setpgroup: Likewise.
681         * modules/posix_spawnattr_setschedparam: Likewise.
682         * modules/posix_spawnattr_setschedpolicy: Likewise.
683         * modules/posix_spawnattr_setsigdefault: Likewise.
684         * modules/posix_spawnattr_setsigmask: Likewise.
685         * modules/posix_spawnp: Likewise.
686
687 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
688
689         Add option to do-release-commit-and-tag to specify branch.
690         * build-aux/do-release-commit-and-tag: Add --branch.
691
692 2011-05-03  Bruno Haible  <bruno@clisp.org>
693
694         Avoid unnecessary compilation units, through conditional dependencies.
695         * modules/accept (Depends-on): Add conditions to the dependencies.
696         * modules/acosl (Depends-on): Likewise.
697         * modules/argz (Depends-on): Likewise.
698         * modules/asinl (Depends-on): Likewise.
699         * modules/atanl (Depends-on): Likewise.
700         * modules/atoll (Depends-on): Likewise.
701         * modules/bind (Depends-on): Likewise.
702         * modules/btowc (Depends-on): Likewise.
703         * modules/canonicalize-lgpl (Depends-on): Likewise.
704         * modules/ceil (Depends-on): Likewise.
705         * modules/ceilf (Depends-on): Likewise.
706         * modules/ceill (Depends-on): Likewise.
707         * modules/chdir-long (Depends-on): Likewise.
708         * modules/chown (Depends-on): Likewise.
709         * modules/close (Depends-on): Likewise.
710         * modules/connect (Depends-on): Likewise.
711         * modules/cosl (Depends-on): Likewise.
712         * modules/dirfd (Depends-on): Likewise.
713         * modules/dprintf (Depends-on): Likewise.
714         * modules/dprintf-posix (Depends-on): Likewise.
715         * modules/error (Depends-on): Likewise.
716         * modules/euidaccess (Depends-on): Likewise.
717         * modules/expl (Depends-on): Likewise.
718         * modules/faccessat (Depends-on): Likewise.
719         * modules/fchdir (Depends-on): Likewise.
720         * modules/fclose (Depends-on): Likewise.
721         * modules/fcntl (Depends-on): Likewise.
722         * modules/fdopendir (Depends-on): Likewise.
723         * modules/fflush (Depends-on): Likewise.
724         * modules/floor (Depends-on): Likewise.
725         * modules/floorf (Depends-on): Likewise.
726         * modules/floorl (Depends-on): Likewise.
727         * modules/fnmatch (Depends-on): Likewise.
728         * modules/fopen (Depends-on): Likewise.
729         * modules/fprintf-posix (Depends-on): Likewise.
730         * modules/frexp (Depends-on): Likewise.
731         * modules/frexp-nolibm (Depends-on): Likewise.
732         * modules/frexpl (Depends-on): Likewise.
733         * modules/frexpl-nolibm (Depends-on): Likewise.
734         * modules/fseek (Depends-on): Likewise.
735         * modules/fsusage (Depends-on): Likewise.
736         * modules/ftell (Depends-on): Likewise.
737         * modules/ftello (Depends-on): Likewise.
738         * modules/futimens (Depends-on): Likewise.
739         * modules/getcwd (Depends-on): Likewise.
740         * modules/getcwd-lgpl (Depends-on): Likewise.
741         * modules/getdelim (Depends-on): Likewise.
742         * modules/getdomainname (Depends-on): Likewise.
743         * modules/getgroups (Depends-on): Likewise.
744         * modules/gethostname (Depends-on): Likewise.
745         * modules/getline (Depends-on): Likewise.
746         * modules/getlogin_r (Depends-on): Likewise.
747         * modules/getopt-posix (Depends-on): Likewise.
748         * modules/getpeername (Depends-on): Likewise.
749         * modules/getsockname (Depends-on): Likewise.
750         * modules/getsockopt (Depends-on): Likewise.
751         * modules/getsubopt (Depends-on): Likewise.
752         * modules/getusershell (Depends-on): Likewise.
753         * modules/glob (Depends-on): Likewise.
754         * modules/grantpt (Depends-on): Likewise.
755         * modules/iconv_open (Depends-on): Likewise.
756         * modules/iconv_open-utf (Depends-on): Likewise.
757         * modules/inet_ntop (Depends-on): Likewise.
758         * modules/inet_pton (Depends-on): Likewise.
759         * modules/ioctl (Depends-on): Likewise.
760         * modules/isapipe (Depends-on): Likewise.
761         * modules/isfinite (Depends-on): Likewise.
762         * modules/isinf (Depends-on): Likewise.
763         * modules/lchown (Depends-on): Likewise.
764         * modules/ldexpl (Depends-on): Likewise.
765         * modules/link (Depends-on): Likewise.
766         * modules/linkat (Depends-on): Likewise.
767         * modules/listen (Depends-on): Likewise.
768         * modules/logl (Depends-on): Likewise.
769         * modules/lstat (Depends-on): Likewise.
770         * modules/mbrlen (Depends-on): Likewise.
771         * modules/mbrtowc (Depends-on): Likewise.
772         * modules/mbsinit (Depends-on): Likewise.
773         * modules/mbsnrtowcs (Depends-on): Likewise.
774         * modules/mbsrtowcs (Depends-on): Likewise.
775         * modules/mbtowc (Depends-on): Likewise.
776         * modules/memcmp (Depends-on): Likewise.
777         * modules/mkdir (Depends-on): Likewise.
778         * modules/mkdtemp (Depends-on): Likewise.
779         * modules/mkfifo (Depends-on): Likewise.
780         * modules/mkfifoat (Depends-on): Likewise.
781         * modules/mknod (Depends-on): Likewise.
782         * modules/mkostemp (Depends-on): Likewise.
783         * modules/mkostemps (Depends-on): Likewise.
784         * modules/mkstemp (Depends-on): Likewise.
785         * modules/mkstemps (Depends-on): Likewise.
786         * modules/mktime (Depends-on): Likewise.
787         * modules/nanosleep (Depends-on): Likewise.
788         * modules/open (Depends-on): Likewise.
789         * modules/openat (Depends-on): Likewise.
790         * modules/perror (Depends-on): Likewise.
791         * modules/poll (Depends-on): Likewise.
792         * modules/popen (Depends-on): Likewise.
793         * modules/posix_spawn (Depends-on): Likewise.
794         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
795         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
796         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
797         * modules/posix_spawnp (Depends-on): Likewise.
798         * modules/pread (Depends-on): Likewise.
799         * modules/printf-posix (Depends-on): Likewise.
800         * modules/ptsname (Depends-on): Likewise.
801         * modules/putenv (Depends-on): Likewise.
802         * modules/pwrite (Depends-on): Likewise.
803         * modules/readline (Depends-on): Likewise.
804         * modules/readlink (Depends-on): Likewise.
805         * modules/readlinkat (Depends-on): Likewise.
806         * modules/recv (Depends-on): Likewise.
807         * modules/recvfrom (Depends-on): Likewise.
808         * modules/regex (Depends-on): Likewise.
809         * modules/remove (Depends-on): Likewise.
810         * modules/rename (Depends-on): Likewise.
811         * modules/renameat (Depends-on): Likewise.
812         * modules/rmdir (Depends-on): Likewise.
813         * modules/round (Depends-on): Likewise.
814         * modules/roundf (Depends-on): Likewise.
815         * modules/roundl (Depends-on): Likewise.
816         * modules/rpmatch (Depends-on): Likewise.
817         * modules/select (Depends-on): Likewise.
818         * modules/send (Depends-on): Likewise.
819         * modules/sendto (Depends-on): Likewise.
820         * modules/setenv (Depends-on): Likewise.
821         * modules/setlocale (Depends-on): Likewise.
822         * modules/setsockopt (Depends-on): Likewise.
823         * modules/shutdown (Depends-on): Likewise.
824         * modules/sigaction (Depends-on): Likewise.
825         * modules/signbit (Depends-on): Likewise.
826         * modules/sigprocmask (Depends-on): Likewise.
827         * modules/sinl (Depends-on): Likewise.
828         * modules/sleep (Depends-on): Likewise.
829         * modules/snprintf (Depends-on): Likewise.
830         * modules/snprintf-posix (Depends-on): Likewise.
831         * modules/socket (Depends-on): Likewise.
832         * modules/sprintf-posix (Depends-on): Likewise.
833         * modules/sqrtl (Depends-on): Likewise.
834         * modules/stat (Depends-on): Likewise.
835         * modules/strchrnul (Depends-on): Likewise.
836         * modules/strdup-posix (Depends-on): Likewise.
837         * modules/strerror (Depends-on): Likewise.
838         * modules/strerror_r-posix (Depends-on): Likewise.
839         * modules/strndup (Depends-on): Likewise.
840         * modules/strnlen (Depends-on): Likewise.
841         * modules/strptime (Depends-on): Likewise.
842         * modules/strsep (Depends-on): Likewise.
843         * modules/strsignal (Depends-on): Likewise.
844         * modules/strstr-simple (Depends-on): Likewise.
845         * modules/strtod (Depends-on): Likewise.
846         * modules/strtoimax (Depends-on): Likewise.
847         * modules/strtok_r (Depends-on): Likewise.
848         * modules/strtoumax (Depends-on): Likewise.
849         * modules/symlink (Depends-on): Likewise.
850         * modules/symlinkat (Depends-on): Likewise.
851         * modules/tanl (Depends-on): Likewise.
852         * modules/tcgetsid (Depends-on): Likewise.
853         * modules/tmpfile (Depends-on): Likewise.
854         * modules/trunc (Depends-on): Likewise.
855         * modules/truncf (Depends-on): Likewise.
856         * modules/truncl (Depends-on): Likewise.
857         * modules/uname (Depends-on): Likewise.
858         * modules/unlink (Depends-on): Likewise.
859         * modules/unlockpt (Depends-on): Likewise.
860         * modules/unsetenv (Depends-on): Likewise.
861         * modules/usleep (Depends-on): Likewise.
862         * modules/utimensat (Depends-on): Likewise.
863         * modules/vasprintf (Depends-on): Likewise.
864         * modules/vdprintf (Depends-on): Likewise.
865         * modules/vdprintf-posix (Depends-on): Likewise.
866         * modules/vfprintf-posix (Depends-on): Likewise.
867         * modules/vprintf-posix (Depends-on): Likewise.
868         * modules/vsnprintf (Depends-on): Likewise.
869         * modules/vsnprintf-posix (Depends-on): Likewise.
870         * modules/vsprintf-posix (Depends-on): Likewise.
871         * modules/wcrtomb (Depends-on): Likewise.
872         * modules/wcscasecmp (Depends-on): Likewise.
873         * modules/wcscspn (Depends-on): Likewise.
874         * modules/wcsdup (Depends-on): Likewise.
875         * modules/wcsncasecmp (Depends-on): Likewise.
876         * modules/wcsnrtombs (Depends-on): Likewise.
877         * modules/wcspbrk (Depends-on): Likewise.
878         * modules/wcsrtombs (Depends-on): Likewise.
879         * modules/wcsspn (Depends-on): Likewise.
880         * modules/wcsstr (Depends-on): Likewise.
881         * modules/wcstok (Depends-on): Likewise.
882         * modules/wcswidth (Depends-on): Likewise.
883         * modules/wctob (Depends-on): Likewise.
884         * modules/wctomb (Depends-on): Likewise.
885         * modules/wctype (Depends-on): Likewise.
886         * modules/wcwidth (Depends-on): Likewise.
887         * modules/write (Depends-on): Likewise.
888
889 2011-05-03  Bruno Haible  <bruno@clisp.org>
890
891         Support for conditional dependencies.
892         * doc/gnulib.texi (Module description): Document the syntax of
893         conditional dependencies.
894         * gnulib-tool: New option --conditional-dependencies.
895         (func_usage): Document it.
896         (cond_dependencies): New variable.
897         (func_get_automake_snippet_conditional,
898         func_get_automake_snippet_unconditional): New functions, extracted from
899         func_get_automake_snippet.
900         (func_get_automake_snippet): Use them.
901         (sed_first_32_chars): New variable.
902         (func_module_shellfunc_name): New function.
903         (func_module_shellvar_name): New function.
904         (func_module_conditional_name): New function.
905         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
906         func_cond_module_condition): New functions.
907         (func_modules_transitive_closure): Add support for conditional
908         dependencies.
909         (func_emit_lib_Makefile_am): For a conditional module, enclose the
910         conditional automake snippet in an automake conditional.
911         (func_emit_autoconf_snippets): Emit shell functions that contain the
912         code for conditional modules.
913         (func_import, func_create_testdir): Update specification.
914
915 2011-05-03  Eric Blake  <eblake@redhat.com>
916
917         test-getaddrinfo: report error information
918         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
919
920 2011-05-03  Jim Meyering  <meyering@redhat.com>
921
922         bootstrap: avoid build failure when $GZIP is set
923         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
924         program name.  If defined at all, it is supposed to list gzip options.
925         Reported by Alan Curry in http://debbugs.gnu.org/8609
926
927 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
928
929         readme-release: new module with release instructions
930         * modules/readme-release: New module.
931         * top/README-release: New file, from coreutils, grep, diffutils.
932         * MODULES.html.sh (Support for maintaining and releasing): Add it.
933
934 2011-05-02  Eric Blake  <eblake@redhat.com>
935
936         fflush: also replace fclose when fixing fflush
937         * modules/fflush (Depends-on): Add fclose.
938         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
939         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
940         memstreams with no backing fd.
941         * doc/posix-functions/fclose.texi (fclose): Document the use of
942         fflush module to fix the bug.
943         * tests/test-fclose.c (main): Relax test when fclose is used in
944         isolation.
945
946         fclose: add some tests
947         * modules/fclose-tests: New test module.
948         * tests/test-fclose.c: New file.
949         * doc/posix-functions/fclose.texi (fclose): Document the bug.
950
951         fclose: reduced dependencies
952         * modules/fclose (Depends-on): Switch from fflush/fseeko to
953         simpler lseek.
954         * lib/fclose.c (rpl_fclose): Likewise.
955         Reported by Simon Josefsson.
956
957         exit: drop remaining clients
958         * modules/argmatch (Depends-on): Replace exit with stdlib.
959         * modules/copy-file (Depends-on): Likewise.
960         * modules/execute (Depends-on): Likewise.
961         * modules/exitfail (Depends-on): Likewise.
962         * modules/obstack (Depends-on): Likewise.
963         * modules/pagealign_alloc (Depends-on): Likewise.
964         * modules/pipe-filter-gi (Depends-on): Likewise.
965         * modules/pipe-filter-ii (Depends-on): Likewise.
966         * modules/savewd (Depends-on): Likewise.
967         * modules/spawn-pipe (Depends-on): Likewise.
968         * modules/wait-process (Depends-on): Likewise.
969         * modules/xsetenv (Depends-on): Likewise.
970         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
971         * modules/git-merge-changelog (Depends-on): Likewise.
972         * modules/long-options (Depends-on): Likewise.
973         * modules/pt_chown (Depends-on): Likewise.
974         * modules/sysexits (Depends-on): Likewise.
975
976         freading: relax license from LGPLv3+ to LGPLv2+
977         * modules/freading (License): Relax LGPL version.
978
979 2011-05-02  Bruno Haible  <bruno@clisp.org>
980
981         fchdir: Remove unused dependencies.
982         * modules/fchdir (Depends-on): Remove include_next.
983
984 2011-05-02  Bruno Haible  <bruno@clisp.org>
985
986         gnulib-tool: Refactor.
987         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
988         from func_emit_autoconf_snippets.
989         (func_emit_autoconf_snippets): Use it.
990
991 2011-05-02  Simon Josefsson  <simon@josefsson.org>
992
993         * NEWS: Document removal of 'exit'.
994         * modules/exit: Remove file.
995
996 2011-05-01  Bruno Haible  <bruno@clisp.org>
997
998         Update DEPENDENCIES.
999         * DEPENDENCIES (gettext): Recommend the newest release.
1000         Reported by Simon Josefsson.
1001
1002 2011-05-01  Bruno Haible  <bruno@clisp.org>
1003
1004         gnulib-tool: Reduce code duplication.
1005         * gnulib-tool (func_emit_autoconf_snippets): New function.
1006         (func_import, func_create_testdir): Use it.
1007
1008 2011-04-30  Eric Blake  <eblake@redhat.com>
1009
1010         fclose: don't fail on non-seekable input stream
1011         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
1012         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
1013         since fflush is allowed to fail in that case.
1014
1015 2011-04-30  Bruno Haible  <bruno@clisp.org>
1016
1017         dup3: cleanup
1018         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
1019
1020 2011-04-30  Bruno Haible  <bruno@clisp.org>
1021
1022         netdb: Make it work in C++ mode.
1023         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
1024         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
1025         module.
1026         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
1027         gl_MODULE_INDICATOR_FOR_TESTS.
1028         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
1029         * modules/netdb-c++-tests: New file.
1030         * tests/test-netdb-c++.cc: New file.
1031
1032 2011-04-30  Bruno Haible  <bruno@clisp.org>
1033
1034         New modules 'vfscanf', 'vscanf'.
1035         * modules/vfscanf: New file.
1036         * modules/vscanf: New file.
1037         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
1038         here.
1039         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
1040         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
1041
1042 2011-04-30  Bruno Haible  <bruno@clisp.org>
1043
1044         passfd: Add comments.
1045         * lib/passfd.c: Add comments about platforms.
1046
1047 2011-04-30  Bruno Haible  <bruno@clisp.org>
1048
1049         sys_uio: Make <sys/uio.h> self-contained.
1050         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
1051         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
1052
1053 2011-04-30  Bruno Haible  <bruno@clisp.org>
1054
1055         sys_socket: Ensure 'struct iovec' definition.
1056         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
1057         <sys/socket.h>.
1058         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
1059
1060 2011-04-30  Bruno Haible  <bruno@clisp.org>
1061
1062         sys_uio: Protect definition of 'struct iovec'.
1063         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
1064         it as a C struct.
1065
1066 2011-04-30  Bruno Haible  <bruno@clisp.org>
1067
1068         manywarnings: fix indentation
1069         * m4/manywarnings.m4: Indent by 2 spaces consistently.
1070
1071 2011-04-30  Pádraig Brady <P@draigBrady.com>
1072
1073         manywarnings: add -Wno-missing-field-initializers if needed.
1074         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
1075         option if it's needed to allow initialization with { 0, }
1076
1077 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
1078
1079         announce-gen: cosmetic improvement
1080         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
1081
1082 2011-04-29  Jim Meyering  <meyering@redhat.com>
1083
1084         vc-list-files: indent with spaces, not TABs
1085         * build-aux/vc-list-files: Convert leading TABs to spaces,
1086         to match the style of most other files in gnulib.
1087
1088         announce-gen: indent with spaces, not TABs
1089         * build-aux/announce-gen: Convert all TABs to spaces, to match
1090         the style of most other files in gnulib.
1091
1092 2011-04-29  Eric Blake  <eblake@redhat.com>
1093
1094         quotearg: avoid uninitialized variable use
1095         * lib/quotearg.c (quoting_options_from_style): Initialize
1096         remaining fields, and ensure that custom styles are only used via
1097         quoting_options rather than quoting_style.
1098
1099 2011-04-29  Jim Meyering  <meyering@redhat.com>
1100
1101         maint.mk: remove unused VC-tag variable
1102         * top/maint.mk (VC-tag): Remove unused variable.
1103
1104 2011-04-29  Bruno Haible  <bruno@clisp.org>
1105
1106         netdb: fix gai_strerror replacements
1107         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
1108         * modules/netdb: Substitute it.
1109
1110 2011-04-29  Jim Meyering  <meyering@redhat.com>
1111
1112         test-getcwd.c: avoid new set-but-not-used warning
1113         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
1114         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
1115         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
1116         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
1117
1118         test-hash.c: avoid a new shadowing warning
1119         * tests/test-hash.c (main): Don't shadow "dup".
1120
1121 2011-04-28  Eric Blake  <eblake@redhat.com>
1122
1123         getaddrinfo: fix gai_strerror signature
1124         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
1125         and work around mingw with UNICODE defined.
1126         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
1127         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
1128         * modules/netdb (Makefile.am): Substitute it.
1129         * lib/netdb.in.h (gai_strerror): Declare replacement.
1130         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
1131         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
1132         the fix.
1133
1134         getsockopt: avoid compiler warning
1135         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
1136         Reported by Matthias Bolte.
1137
1138         tests: drop unused link dependency
1139         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
1140         * modules/dirent-safer-tests (Makefile.am): Likewise.
1141         * modules/fdopendir-tests (Makefile.am): Likewise.
1142         * modules/mkfifoat-tests (Makefile.am): Likewise.
1143         * modules/openat-safer-tests (Makefile.am): Likewise.
1144         * modules/openat-tests (Makefile.am): Likewise.
1145         * modules/readlinkat-tests (Makefile.am): Likewise.
1146         * modules/symlinkat-tests (Makefile.am): Likewise.
1147         * modules/linkat-tests (Makefile.am): Likewise.
1148         (Depends-on): Switch to filenamecat-lgpl.
1149         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
1150         LIBINTL.
1151         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
1152         * tests/test-linkat.c (main): Don't require xalloc.
1153
1154         hash, mgetgroups: drop xalloc dependency
1155         * lib/hash.c (includes): Adjust includes.
1156         * lib/mgetgroups.c (includes): Likewise.
1157         (xgetgroups): Move...
1158         * lib/xgetgroups.c: ...to new file.
1159         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
1160         * modules/xgetgroups: New file, split from...
1161         * modules/mgetgroups: ...here.
1162         (Depends-on): Add xalloc-oversized.
1163         * modules/hash (Depends-on): Likewise.
1164         * modules/hash-tests (Depends-on): Drop xalloc.
1165         (test_hash_LDADD): Drop unused library.
1166         * tests/test-hash.c (main): Break xalloc dependency.
1167         (includes): Drop unused include.
1168
1169         xalloc-oversized: new module
1170         * modules/xalloc-oversized: New module.
1171         * modules/xalloc (Depends-on): Add it.
1172         * lib/xalloc.h (xalloc_oversized): Move...
1173         * lib/xalloc-oversized.h: ...into new file.
1174
1175         utimecmp: drop dependency on xmalloc
1176         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
1177         due to memory pressure.
1178         * modules/utimecmp (Depends-on): Drop xalloc.
1179
1180 2011-04-27  Eric Blake  <eblake@redhat.com>
1181
1182         getcwd: fix mingw bugs
1183         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
1184         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
1185         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
1186
1187 2011-04-27  Bruno Haible  <bruno@clisp.org>
1188
1189         mkstemps: Ensure declaration on MacOS X 10.5.
1190         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
1191         * doc/glibc-functions/mkstemps.texi: Document header file problem on
1192         MacOS X.
1193
1194 2011-04-27  Bruno Haible  <bruno@clisp.org>
1195
1196         mkstemp: More documentation.
1197         * doc/posix-functions/mkstemp.texi: Document header file problem on
1198         MacOS X.
1199
1200 2011-04-27  Bruno Haible  <bruno@clisp.org>
1201
1202         mkstemp: Tweak configure message when cross-compiling.
1203         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
1204         result as a guess.
1205
1206 2011-04-27  Bruno Haible  <bruno@clisp.org>
1207
1208         clean-temp: Clarify what it does.
1209         * lib/clean-temp.h: Add more comments.
1210         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
1211         module.
1212         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
1213         * doc/glibc-functions/mkstemps.texi: Likewise.
1214         * doc/glibc-functions/mkostemps.texi: Likewise.
1215
1216 2011-04-27  Eric Blake  <eblake@redhat.com>
1217
1218         fchdir: avoid extra chdir and fix test
1219         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
1220         getcwd-lgpl.
1221         * lib/fchdir.c (get_name): Any absolute name will do; it does not
1222         have to be canonical.
1223         (canonicalize_file_name): Drop unused macro.
1224         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
1225
1226         filenamecat-lgpl: fix licence
1227         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
1228         when it was first created.
1229
1230         linkat, renameat: add missing dependency
1231         * modules/linkat (Depends-on): Require getcwd-lgpl.
1232         * modules/renameat (Depends-on): Likewise.
1233
1234         tests: reduce dependencies
1235         * tests/test-linkat.c (main): Use lighter-weight getcwd.
1236         * tests/test-renameat.c (main): Likewise.
1237         * modules/linkat-tests (Depends-on): Relax dependency.
1238         * modules/renameat-tests (Depends-on): Likewise.
1239         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
1240         dependency explicit.
1241
1242         save-cwd: reduce default dependency
1243         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
1244         * lib/save-cwd.c: Update comments.
1245         * NEWS: Document the semantic change.
1246
1247         getcwd: enhance tests
1248         * tests/test-getcwd-lgpl.c: New file, taken from...
1249         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
1250         repeat long path stress tests from m4 probe.
1251         * modules/getcwd-lgpl-tests: New module.
1252         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
1253         * m4/getcwd-abort-bug.m4: Update comment.
1254         * m4/getcwd-path-max.m4: Likewise.
1255
1256         getcwd-lgpl: new module
1257         * modules/getcwd-lgpl: New module.
1258         * lib/getcwd-lgpl.c: New file.
1259         * doc/posix-functions/getcwd.texi (getcwd): Document it.
1260         * MODULES.html.sh (lacking POSIX:2008): Likewise.
1261         * modules/getcwd (configure.ac): Set C witness.
1262         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
1263
1264         getcwd: tweak comments
1265         * m4/getcwd-abort-bug.m4: Fix comments.
1266         * m4/getcwd-path-max.m4: Likewise.
1267         * m4/getcwd.m4: Likewise.
1268
1269 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
1270         and Eric Blake  <eblake@redhat.com>
1271
1272         mkstemp: replace if system version uses wrong permissions
1273         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
1274         read/write mode bits set in file created by mkstemp.
1275         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
1276
1277 2011-04-27  Eric Blake  <eblake@redhat.com>
1278
1279         passfd: avoid compiler warning
1280         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
1281         Reported by Laine Stump.
1282
1283 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
1284
1285         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
1286         required by the NetBSD (and perhaps other 4.4BSD derived) join.
1287
1288 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
1289         and Eric Blake  <eblake@redhat.com>
1290
1291         mkstemp: mention clean-temp module
1292         * lib/mkstemp.c: Add comment.
1293         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
1294
1295 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
1296
1297         inttypes: also provide default values for 32-bit tests
1298         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
1299         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
1300
1301 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
1302
1303         strtoumax: remove dependency on strtoimax
1304         This is like the strtoull change of yesterday.
1305         * modules/strtoumax (Files): Add lib/strtoimax.c.
1306         (Depends-on): Remove strtoimax and add verify.
1307
1308         inttypes-incomplete: new module
1309         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
1310         all but the PRI* and SCN* parts of gl_INTTYPES_H.
1311         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
1312         of gl_INTTYPES_H.
1313         (gl_INTTYPES_H): Rewrite in terms of these new macros.
1314         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
1315         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
1316         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
1317         * modules/strtoumax, modules/xstrtol (Depends-on):
1318         Depend on inttypes-incomplete, not inttypes.
1319         * modules/inttypes-incomplete: New module, containing the contents
1320         of the old modules/inttypes module, except that the Files: section
1321         omits m4/inttypes-pri.m4, and the configure.ac section invokes
1322         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
1323         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
1324         (Depends-on): Depend only on inttypes-incomplete.
1325         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
1326
1327         inttypes: omit now-redundant strtoimax and strtoumax work
1328         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
1329         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
1330
1331         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
1332         This supports apps that need pointers to strtoimax and strtoumax,
1333         and ports to HP-UX 11.00 64.bit, which has macros that expand to
1334         nonexistent functions.  See
1335         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
1336         et seq.
1337         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
1338         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
1339         a macro.
1340         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
1341
1342 2011-04-25  Simon Josefsson  <simon@josefsson.org>
1343
1344         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
1345
1346 2011-04-25  Bruno Haible  <bruno@clisp.org>
1347
1348         strtol, strtoul: Mark modules as obsolete.
1349         * modules/strtol (Status, Notice): New sections.
1350         * modules/strtoul (Status, Notice): New sections.
1351
1352 2011-04-25  Bruno Haible  <bruno@clisp.org>
1353
1354         strtod: Remove check for strtod, unless supporting old platforms.
1355         * modules/strtod-obsolete: New file.
1356         * m4/strtod-obsolete.m4: New file.
1357         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
1358         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
1359         * modules/strtod (Depends-on): Add strtod-obsolete.
1360         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
1361
1362 2011-04-25  Bruno Haible  <bruno@clisp.org>
1363
1364         strcase: Make module obsolete.
1365         * modules/strcase (Status, Notice): New sections.
1366
1367 2011-04-25  Bruno Haible  <bruno@clisp.org>
1368
1369         dup2: Remove check for dup2, unless supporting old obsolete platforms.
1370         * modules/dup2-obsolete: New file.
1371         * m4/dup2-obsolete.m4: New file.
1372         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
1373         gl_FUNC_DUP2_OBSOLETE is not also defined.
1374         * modules/dup2 (Depends-on): Add dup2-obsolete.
1375         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
1376
1377 2011-04-25  Bruno Haible  <bruno@clisp.org>
1378
1379         strnlen: Avoid memchr related link error on old obsolete platforms.
1380         * modules/memchr-obsolete: New file.
1381         * m4/memchr-obsolete.m4: New file.
1382         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
1383         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
1384         * modules/memchr (Depends-on): Add memchr-obsolete.
1385         * modules/strnlen (Depends-on): Likewise.
1386         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
1387
1388 2011-04-25  Jim Meyering  <meyering@redhat.com>
1389
1390         maint.mk: makefile_at_at_check extend and clean up
1391         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
1392         in addition to */Makefile.am.
1393         Exempt legitimate uses of @VAR@ notation, e.g.,
1394         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
1395         Remove obsolete coreutils-specific comment.
1396         Prompted by discussion here:
1397         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
1398
1399 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
1400
1401         strtoul: remove dependency on strtol
1402         This is so that 'configure' need not check for strtol merely because
1403         the application needs strtoul.
1404         * modules/strtoul (Files): Add lib/strtol.c.
1405         (Depends-on): Remove strtol.
1406
1407         strtoull: remove dependency on strtoul
1408         This is like the strtoll change.
1409         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
1410         (Depends-on): Remove strtoul.
1411
1412         strtoll: remove dependency on strtol
1413         This is so that 'configure' need not check for strtol merely because
1414         the application needs strtoll.
1415         * modules/strtoll (Files): Add lib/strtol.c.
1416         (Depends-on): Remove strtol.
1417
1418 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1419
1420         inttypes: Move some configure check to module 'imaxdiv'.
1421         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
1422         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
1423         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
1424
1425 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1426
1427         inttypes: Move some configure check to module 'imaxabs'.
1428         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
1429         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
1430         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
1431
1432 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1433
1434         inttypes: Remove configure tests that are not needed since 2009-12-31.
1435         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
1436         gl_cv_header_working_inttypes_h.
1437
1438 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1439
1440         * modules/strnlen (Depends-on): Remove memchr.
1441         The strnlen implementation doesn't need the memchr module's fixes; see
1442         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
1443
1444         strtol: remove dependency on wchar
1445         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
1446         * modules/strtol (Depends-on): Remove wchar.
1447
1448 2011-04-21  Eric Blake  <eblake@redhat.com>
1449
1450         passfd: fix test regression on Linux
1451         * modules/passfd-tests (configure.ac): Correct socketpair check.
1452
1453         passfd: speed up configure and drop unused code
1454         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
1455         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
1456         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
1457         Instead of probing at configure for unix_scm_rights_bsd44_way,
1458         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
1459         check to a struct member probe.
1460         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
1461         (sendfd, recvfd): Update preprocessor checks.
1462         * modules/passfd (Files): Reflect rename, and drop unused file.
1463         (Depends-on): Drop unused dependency.
1464
1465         passfd: allow compilation on mingw
1466         * modules/sys_socket (Depends-on): Add sys_uio.
1467         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
1468         iovec and a minimal struct msghdr.
1469         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
1470         * tests/test-sys_socket.c (main): Enhance test.
1471         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
1472         guaranteed to provide what we need.
1473         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
1474         * modules/passfd-tests (Depends-on): Add sys_wait.
1475         * tests/test-passfd.c (main): Skip test on mingw, for now.
1476         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
1477         partial 'struct msghdr' implementation.
1478
1479         sys_uio: new module
1480         * modules/sys_uio: New module.
1481         * modules/sys_uio-tests: Likewise.
1482         * lib/sys_uio.in.h: New file.
1483         * m4/sys_uio_h.m4: Likewise.
1484         * tests/test-sys_uio.c: Likewise.
1485         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
1486         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
1487
1488 2011-04-20  Jim Meyering  <meyering@redhat.com>
1489
1490         useless-if-before-free: avoid false-positive
1491         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
1492         disjunct so that it too requires a terminating ";".  Without that,
1493         this script would identify as useless one statement from gcc that
1494         was not:
1495           if (aligned_ptr)
1496             free (((void **) aligned_ptr) [-1]);
1497
1498 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
1499
1500         doc: update users.txt.
1501         * users.txt: Add barcode.
1502
1503 2011-04-19  Bruno Haible  <bruno@clisp.org>
1504
1505         ioctl: Remove link dependency on native Windows.
1506         * lib/fd-hook.h: Renamed from lib/close-hook.h.
1507         (gl_close_fn, gl_ioctl_fn): New types.
1508         (struct fd_hook): Renamed from struct close_hook. Change type of
1509         private_close_fn field. Add private_ioctl_fn field.
1510         (close_hook_fn): Add parameter for primary close method.
1511         (execute_close_hooks, execute_all_close_hooks): Likewise.
1512         (ioctl_hook_fn): New type.
1513         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
1514         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1515         argument.
1516         (unregister_fd_hook): Renamed from unregister_close_hook.
1517         * lib/fd-hook.c: Renamed from lib/close-hook.c.
1518         Don't include <unistd.h>.
1519         (close): Remove undef.
1520         (anchor): Update.
1521         (execute_close_hooks): Add argument for primary close method.
1522         (execute_all_close_hooks): Likewise.
1523         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
1524         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1525         argument. Allow each argument to be NULL.
1526         (unregister_fd_hook): Renamed from unregister_close_hook.
1527         * lib/close.c (rpl_close): Pass 'close' function pointer to
1528         execute_all_close_hooks.
1529         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
1530         (primary_ioctl): New function.
1531         (ioctl): Don't call ioctlsocket here. Instead, call
1532         execute_all_ioctl_hooks.
1533         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
1534         close method.
1535         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
1536         (fd_sockets_hook): Renamed from close_sockets_hook.
1537         (gl_sockets_startup, gl_sockets_cleanup): Update.
1538         * modules/fd-hook: Renamed from modules/close-hook. Update.
1539         * modules/close (Depends-on): Add fd-hook, remove close-hook.
1540         * modules/sockets (Depends-on): Likewise.
1541         * modules/ioctl (Depends-on): Add fd-hook.
1542         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
1543         GNULIB_SOCKET.
1544
1545 2011-04-19  Bruno Haible  <bruno@clisp.org>
1546
1547         Move the support of O_NONBLOCK in open() to the 'open' module.
1548         * modules/nonblocking (Depends-on): Remove 'open'.
1549         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
1550         gl_cv_have_open_O_NONBLOCK.
1551         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
1552         O_NONBLOCK support.
1553         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
1554
1555 2011-04-17  Bruno Haible  <bruno@clisp.org>
1556
1557         pipe2: Simplify code.
1558         * lib/pipe2.c (pipe2): Reduce code duplication.
1559
1560 2011-04-17  Bruno Haible  <bruno@clisp.org>
1561
1562         nonblocking: Add comment.
1563         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
1564
1565 2011-04-17  Bruno Haible  <bruno@clisp.org>
1566
1567         nonblocking: Add tests for sockets.
1568         * tests/test-nonblocking-socket.sh: New file.
1569         * tests/test-nonblocking-socket-main.c: New file.
1570         * tests/test-nonblocking-socket-child.c: New file.
1571         * tests/test-nonblocking-socket.h: New file.
1572         * tests/socket-server.h: New file.
1573         * tests/socket-client.h: New file.
1574         * modules/nonblocking-socket-tests: New file.
1575         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
1576
1577 2011-04-17  Bruno Haible  <bruno@clisp.org>
1578
1579         nonblocking: Add tests for pipes.
1580         * tests/test-nonblocking-pipe.sh: New file.
1581         * tests/test-nonblocking-pipe-main.c: New file.
1582         * tests/test-nonblocking-pipe-child.c: New file.
1583         * tests/test-nonblocking-pipe.h: New file.
1584         * tests/test-nonblocking-writer.h: New file.
1585         * tests/test-nonblocking-reader.h: New file.
1586         * tests/test-nonblocking-misc.h: New file.
1587         * modules/nonblocking-pipe-tests: New file.
1588         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
1589
1590 2011-04-16  Bruno Haible  <bruno@clisp.org>
1591
1592         gettext: Clarify the needed programmer actions.
1593         * modules/gettext (Notice): New field.
1594         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
1595
1596 2011-04-16  Bruno Haible  <bruno@clisp.org>
1597
1598         strchrnul: Tweak last commit.
1599         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
1600         bug.
1601         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
1602         as in _GL_FUNCDECL_SYS.
1603         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
1604         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
1605
1606 2011-04-15  Eric Blake  <eblake@redhat.com>
1607
1608         strchrnul: work around cygwin bug
1609         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
1610         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
1611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
1612         * modules/string (Makefile.am): Substitute it.
1613         * lib/string.in.h (strchrnul): Use it.
1614
1615 2011-04-15  Bruno Haible  <bruno@clisp.org>
1616
1617         Don't require lib/stdio-write.c when only module 'stdio' is used.
1618         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
1619         invocation.
1620         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
1621
1622 2011-04-14  Bruno Haible  <bruno@clisp.org>
1623
1624         Support non-blocking pipe I/O in read() on native Windows.
1625         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
1626         (read): New declaration.
1627         * lib/read.c: New file.
1628         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
1629         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
1630         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
1631         vscanf): New declarations.
1632         * lib/stdio-read.c: New file.
1633         * m4/read.m4: New file.
1634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
1635         REPLACE_READ.
1636         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
1637         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1638         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
1639         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
1640         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
1641         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1642         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1643         * modules/read: New file.
1644         * modules/nonblocking (Files): Add lib/stdio-read.c.
1645         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
1646         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
1647         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1648         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1649         * modules/pread (Depends-on): Add read.
1650         * modules/safe-read (Depends-on): Likewise.
1651         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
1652         gets, scanf, vfscanf, vscanf): Verify signatures.
1653         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
1654         problem with non-blocking pipes.
1655         * doc/posix-functions/fgetc.texi: Likewise.
1656         * doc/posix-functions/fgets.texi: Likewise.
1657         * doc/posix-functions/fread.texi: Likewise.
1658         * doc/posix-functions/fscanf.texi: Likewise.
1659         * doc/posix-functions/getc.texi: Likewise.
1660         * doc/posix-functions/getchar.texi: Likewise.
1661         * doc/posix-functions/gets.texi: Likewise.
1662         * doc/posix-functions/scanf.texi: Likewise.
1663         * doc/posix-functions/vfscanf.texi: Likewise.
1664         * doc/posix-functions/vscanf.texi: Likewise.
1665
1666 2011-04-14  Bruno Haible  <bruno@clisp.org>
1667
1668         Support non-blocking pipe I/O in write() on native Windows.
1669         * lib/write.c (rpl_write): Split a write request that failed merely
1670         because the byte count was larger than the pipe buffer's size.
1671         * doc/posix-functions/write.texi: Mention the problem with large byte
1672         counts.
1673
1674 2011-04-14  Bruno Haible  <bruno@clisp.org>
1675
1676         wchar: Ensure that wchar_t gets defined on uClibc.
1677         * lib/wchar.in.h: On uClibc, include <stddef.h>.
1678         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
1679
1680 2011-04-13  Bruno Haible  <bruno@clisp.org>
1681
1682         safe-write, full-read: Avoid unnecessary compilation units.
1683         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
1684         (Depends-on): Remove safe-read. Add ssize_t.
1685         * modules/full-read (Files): Add lib/full-write.c.
1686         (Depends-on): Add full-write.
1687
1688 2011-04-13  Bruno Haible  <bruno@clisp.org>
1689
1690         Support non-blocking pipe I/O and SIGPIPE in pwrite().
1691         * modules/pwrite (Depends-on): Add 'write'.
1692
1693 2011-04-13  Bruno Haible  <bruno@clisp.org>
1694
1695         Support non-blocking pipe I/O in write() on native Windows.
1696         * lib/unistd.in.h (write): Enable replacement also if
1697         GNULIB_UNISTD_H_NONBLOCKING is 1.
1698         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
1699         (rpl_write): When failing to write on a non-blocking pipe, change
1700         errno from ENOSPC to EAGAIN.
1701         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
1702         putchar, puts, vfprintf, vprintf): Enable replacement also if
1703         GNULIB_STDIO_H_NONBLOCKING is 1.
1704         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
1705         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
1706         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
1707         CALL_WITH_SIGPIPE_EMULATION.
1708         (CALL_WITH_SIGPIPE_EMULATION): Use them.
1709         * m4/nonblocking.m4: New file.
1710         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
1711         for non-blocking I/O support.
1712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1713         GNULIB_UNISTD_H_NONBLOCKING.
1714         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
1715         required for non-blocking I/O support.
1716         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
1717         * modules/nonblocking (Files): Add m4/nonblocking.m4,
1718         lib/stdio-write.c, m4/asm-underscore.m4.
1719         (Depends-on): Add stdio, unistd.
1720         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
1721         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
1722         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
1723         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
1724         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
1725         problem with non-blocking pipes.
1726         * doc/posix-functions/fputc.texi: Likewise.
1727         * doc/posix-functions/fputs.texi: Likewise.
1728         * doc/posix-functions/fwrite.texi: Likewise.
1729         * doc/posix-functions/printf.texi: Likewise.
1730         * doc/posix-functions/putc.texi: Likewise.
1731         * doc/posix-functions/putchar.texi: Likewise.
1732         * doc/posix-functions/puts.texi: Likewise.
1733         * doc/posix-functions/vfprintf.texi: Likewise.
1734         * doc/posix-functions/vprintf.texi: Likewise.
1735         * doc/posix-functions/write.texi: Likewise.
1736
1737 2011-04-10  Jim Meyering  <meyering@redhat.com>
1738
1739         maint.mk: prohibit doubled words
1740         Detect them also when they're separated by a newline.
1741         There are 3 ways to customize it:
1742           - disable the test on a per file basis, as usual with rules using
1743             $(VC_LIST_EXCEPT)
1744           - replace the default doubled-word-selecting regexp (affects all files)
1745           - ignore a particular file-vs-doubled-word match
1746         I nearly used that last one to ignore the "is is" match in
1747         coreutils' NEWS file, since the text was "ls -is is ..."
1748         To do that, I would have added this line to cfg.mk:
1749           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
1750         but it would have ignored any "is is" match in NEWS.
1751         Low probability, but still...
1752         Instead, I changed the text, slightly:
1753           -  ls -is is now consistent with ls -lis in ignoring values returned
1754           +  "ls -is" is now consistent with ls -lis in ignoring values returned
1755         * top/maint.mk (prohibit_double_word_RE_): Provide default.
1756         (prohibit_doubled_word_): Define.
1757         (sc_prohibit_doubled_word): New rule.
1758         (sc_prohibit_the_the): Remove.  Subsumed by the above.
1759
1760 2011-04-10  Jim Meyering  <meyering@redhat.com>
1761
1762         maint: fix doubled-word typo in comment
1763         * m4/gethostname.m4: s/is is/it is/
1764         * m4/getdomainname.m4: Likewise.
1765
1766 2011-04-10  Jim Meyering  <meyering@redhat.com>
1767
1768         maint: remove doubled word: s/it it/it/
1769         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
1770
1771 2011-04-10  Jim Meyering  <meyering@redhat.com>
1772
1773         maint.mk: remove useless semicolon and backslash
1774         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
1775         semicolon and backslash.
1776
1777 2011-04-10  Bruno Haible  <bruno@clisp.org>
1778
1779         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
1780         * modules/stdint-tests (Depends-on): Add wchar.
1781
1782 2011-04-10  Jim Meyering  <meyering@redhat.com>
1783
1784         maint: remove doubled words in comments, e.g., s/a a/a/
1785         * lib/strptime.c (day_of_the_week): s/the the/the/
1786         * tests/test-chown.h (test_chown): s/a a/a/
1787
1788         test-chown.h: correct a cast
1789         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
1790         when the destination is a stat.st_gid.
1791
1792 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
1793
1794         getaddrinfo: Fix test for sa_len member.
1795         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
1796         include <sys/types.h> before <sys/socket.h>.
1797
1798 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
1799
1800         maint: change "can not" to "cannot"
1801         * doc/posix-functions/iconv.texi (iconv): This one crossed line
1802         boundaries.
1803
1804 2011-04-09  Jim Meyering  <meyering@redhat.com>
1805
1806         maint: change "a a" to "a"
1807         * tests/test-lchown.h (test_lchown): s/a a/a/
1808
1809         maint.mk: prohibit \<the the\>
1810         * top/maint.mk (sc_prohibit_the_the): New rule.
1811
1812         maint: fix "the the" in comment
1813         * lib/count-one-bits.h: s/the the/the/
1814
1815         maint: change "can not" to "cannot"
1816         But do not change the occurrences in maintain.texi or in
1817         build-aux/po/Makefile.in.in, which I presume comes from gettext.
1818         * doc/gnulib-tool.texi: s/can not/cannot/
1819         * doc/posix-functions/accept.texi (accept): Likewise.
1820         * doc/posix-functions/socket.texi (socket): Likewise.
1821         * lib/mbrtowc.c: Likewise.
1822
1823         maint.mk: prohibit use of "can not"
1824         * top/maint.mk (sc_prohibit_can_not): New rule.
1825         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
1826
1827 2011-04-09  Bruno Haible  <bruno@clisp.org>
1828
1829         careadlinkat: Guard against misuse of careadlinkatcwd.
1830         * lib/careadlinkat.c: Include <stdlib.h>.
1831         (careadlinkatcwd): Check that the fd argument is as expected.
1832
1833 2011-04-09  Bruno Haible  <bruno@clisp.org>
1834
1835         careadlinkat: Use common coding style.
1836         * lib/careadlinkat.c: Move gnulib includes after system includes.
1837
1838 2011-04-09  Bruno Haible  <bruno@clisp.org>
1839
1840         careadlinkat: Clarify specification.
1841         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
1842         (careadlinkatcwd): Add comment.
1843         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
1844
1845 2011-04-09  Bruno Haible  <bruno@clisp.org>
1846
1847         areadlinkat: Avoid link error on many platforms.
1848         * modules/areadlinkat (Depends-on): Add areadlink.
1849
1850 2011-04-09  Bruno Haible  <bruno@clisp.org>
1851
1852         allocator, careadlinkat: Fix double-inclusion guard.
1853         * lib/allocator.h: Fix double-inclusion guard.
1854         * lib/careadlinkat.h: Likewise.
1855
1856 2011-04-09  Bruno Haible  <bruno@clisp.org>
1857
1858         relocatable-prog-wrapper: Update after module 'areadlink' changed.
1859         * lib/relocwrapper.c: Update dependencies hierarchy.
1860         * build-aux/install-reloc: Update list of files to be compiled.
1861         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
1862         lib/allocator.[hc].
1863
1864 2011-04-08  Eric Blake  <eblake@redhat.com>
1865
1866         strftime: silence gnulib-tool warning
1867         * modules/strftime-tests (Depends-on): Drop automatic dependency.
1868
1869 2011-04-08  Bruno Haible  <bruno@clisp.org>
1870
1871         verify: Fix syntax error with GCC 4.6 in C++ mode.
1872         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
1873         (HAVE_STATIC_ASSERT): New macro.
1874         (verify_true, verify): Use 'static_assert' if it is supported and
1875         '_Static_assert' is not supported.
1876
1877 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
1878
1879         allocator: New module.
1880         * modules/allocator, lib/allocator.c: New files.
1881         * lib/allocator.h (stdlib_allocator): New decl.
1882         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
1883         Remove.  Do not include <stdlib.h>.
1884         (careadlinkat): Use stdlib_allocator instead of rolling our own.
1885         * modules/careadlinkat (Files): Remove lib/allocator.h.
1886         (Depends-on): Add allocator.
1887
1888         stdlib: let modules use system malloc, realloc
1889         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
1890         if !_GL_USE_STDLIB_ALLOC.
1891         (malloc, realloc): Limit this change to a smaller scope.
1892
1893         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
1894         (malloc, realloc): Don't #undef; no longer needed.
1895         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1896         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1897         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1898         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1899         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1900         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1901         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1902         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1903
1904         careadlinkat: rename members to avoid problem
1905         * lib/allocator.h (struct allocator): Rename members from
1906         malloc/realloc to allocate/reallocate, to avoid problems if malloc
1907         and realloc are #define'd.  Reported by Eric Blake in
1908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
1909         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
1910
1911 2011-04-08  Eric Blake  <eblake@redhat.com>
1912
1913         nonblocking: reduce dependency
1914         * tests/test-nonblocking.c: Only test sockets when in use.
1915         * modules/nonblocking-tests (Depends-on): Drop socket.
1916         (Makefile.am): Link even if sockets are not present.
1917         * modules/pipe2-tests (Makefile.am): Likewise.
1918         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
1919
1920         pipe2: fix O_NONBLOCK support on mingw
1921         * modules/pipe2 (Depends-on): Add nonblocking.
1922         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
1923         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
1924         * tests/test-nonblocking.c (main): Likewise.
1925         * modules/pipe2-tests (Makefile.am): Avoid link failure.
1926
1927         fcntl-h: fix O_ACCMODE on cygwin
1928         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
1929         * lib/fcntl.in.h (O_ACCMODE): Fix it.
1930
1931         pipe-filter: drop O_NONBLOCK workarounds
1932         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
1933         * modules/pipe-filter-ii (Depends-on): Likewise.
1934         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
1935
1936         nonblocking: provide O_NONBLOCK for mingw
1937         * modules/nonblocking (Depends-on): Add open.
1938         (configure.ac): Set new witness macro.
1939         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
1940         * modules/fcntl-h (Makefile.am): Substitute it.
1941         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
1942         nonblocking module is in use.
1943         * lib/nonblocking.c: Adjust portability test.
1944         * lib/open.c (open): Don't let native open see gnulib flag.
1945         * tests/test-fcntl-h.c (main): Enhance test.
1946         * tests/test-open.h (test_open): Likewise.
1947         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
1948
1949         careadlinkat: fix compilation error on mingw
1950         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
1951         within struct allocator.
1952
1953 2011-04-06  Eric Blake  <eblake@redhat.com>
1954
1955         binary-io: relicense under LGPLv2+
1956         * modules/binary-io (License): Relax to LGPLv2+.
1957         Requested for libvirt, and required by pipe2.
1958
1959 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
1960
1961         verify: use _Static_assert if available
1962         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
1963         (verify_true, verify): Use it if available.  This generates better
1964         diagnostics with GCC 4.6.0 and later.
1965
1966 2011-04-05  Bruno Haible  <bruno@clisp.org>
1967
1968         Remove leftover generated .h files after config.status changed.
1969
1970         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
1971         GL_GENERATE_ALLOCA_H.
1972         * modules/alloca-opt (Makefile.am): Remove alloca.h if
1973         GL_GENERATE_ALLOCA_H evaluates to false.
1974
1975         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
1976         GL_GENERATE_ARGZ_H.
1977         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
1978         evaluates to false.
1979
1980         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
1981         GL_GENERATE_BYTESWAP_H.
1982         * modules/byteswap (Makefile.am): Remove byteswap.h if
1983         GL_GENERATE_BYTESWAP_H evaluates to false.
1984
1985         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
1986         GL_GENERATE_ERRNO_H.
1987         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
1988         evaluates to false.
1989
1990         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
1991         GL_GENERATE_FLOAT_H.
1992         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
1993         evaluates to false.
1994
1995         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
1996         GL_GENERATE_FNMATCH_H.
1997         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
1998         GL_GENERATE_FNMATCH_H evaluates to false.
1999
2000         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
2001         GL_GENERATE_GLOB_H.
2002         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
2003         evaluates to false.
2004
2005         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
2006         automake conditional GL_GENERATE_ICONV_H.
2007         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
2008         evaluates to false.
2009
2010         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
2011         GL_GENERATE_NETINET_IN_H.
2012         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
2013         GL_GENERATE_NETINET_IN_H evaluates to false.
2014
2015         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
2016         conditional GL_GENERATE_PTHREAD_H.
2017         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
2018         * modules/pthread (Makefile.am): Remove pthread.h if
2019         GL_GENERATE_PTHREAD_H evaluates to false.
2020
2021         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
2022         GL_GENERATE_SCHED_H.
2023         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
2024         evaluates to false.
2025
2026         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
2027         conditional GL_GENERATE_SELINUX_CONTEXT_H.
2028         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
2029         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
2030
2031         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
2032         GL_GENERATE_STDARG_H.
2033         * modules/stdarg (Makefile.am): Remove stdarg.h if
2034         GL_GENERATE_STDARG_H evaluates to false.
2035
2036         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
2037         GL_GENERATE_STDBOOL_H.
2038         * modules/stdbool (Makefile.am): Remove stdbool.h if
2039         GL_GENERATE_STDBOOL_H evaluates to false.
2040
2041         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
2042         conditional GL_GENERATE_STDDEF_H.
2043         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
2044         * modules/stddef (Makefile.am): Remove stddef.h if
2045         GL_GENERATE_STDDEF_H evaluates to false.
2046
2047         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
2048         GL_GENERATE_STDINT_H.
2049         * modules/stdint (Makefile.am): Remove stdint.h if
2050         GL_GENERATE_STDINT_H evaluates to false.
2051
2052         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
2053         GL_GENERATE_SYSEXITS_H.
2054         * modules/sysexits (Makefile.am): Remove sysexits.h if
2055         GL_GENERATE_SYSEXITS_H evaluates to false.
2056
2057         Reported by Karl Berry and Ralf Wildenhues.
2058
2059 2011-04-05  Bruno Haible  <bruno@clisp.org>
2060
2061         Ensure to rebuild generated .h files when config.status has changed.
2062         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
2063         config.status.
2064         * modules/ctype (Makefile.am): Likewise.
2065         * modules/dirent (Makefile.am): Likewise.
2066         * modules/errno (Makefile.am): Likewise.
2067         * modules/fcntl-h (Makefile.am): Likewise.
2068         * modules/float (Makefile.am): Likewise.
2069         * modules/getopt-posix (Makefile.am): Likewise.
2070         * modules/glob (Makefile.am): Likewise.
2071         * modules/iconv-h (Makefile.am): Likewise.
2072         * modules/inttypes (Makefile.am): Likewise.
2073         * modules/langinfo (Makefile.am): Likewise.
2074         * modules/locale (Makefile.am): Likewise.
2075         * modules/math (Makefile.am): Likewise.
2076         * modules/netdb (Makefile.am): Likewise.
2077         * modules/netinet_in (Makefile.am): Likewise.
2078         * modules/poll-h (Makefile.am): Likewise.
2079         * modules/pthread (Makefile.am): Likewise.
2080         * modules/pty (Makefile.am): Likewise.
2081         * modules/sched (Makefile.am): Likewise.
2082         * modules/search (Makefile.am): Likewise.
2083         * modules/selinux-h (Makefile.am): Likewise.
2084         * modules/signal (Makefile.am): Likewise.
2085         * modules/spawn (Makefile.am): Likewise.
2086         * modules/stdarg (Makefile.am): Likewise.
2087         * modules/stdbool (Makefile.am): Likewise.
2088         * modules/stddef (Makefile.am): Likewise.
2089         * modules/stdint (Makefile.am): Likewise.
2090         * modules/stdio (Makefile.am): Likewise.
2091         * modules/stdlib (Makefile.am): Likewise.
2092         * modules/string (Makefile.am): Likewise.
2093         * modules/strings (Makefile.am): Likewise.
2094         * modules/sys_file (Makefile.am): Likewise.
2095         * modules/sys_ioctl (Makefile.am): Likewise.
2096         * modules/sys_select (Makefile.am): Likewise.
2097         * modules/sys_socket (Makefile.am): Likewise.
2098         * modules/sys_stat (Makefile.am): Likewise.
2099         * modules/sys_time (Makefile.am): Likewise.
2100         * modules/sys_times (Makefile.am): Likewise.
2101         * modules/sys_utsname (Makefile.am): Likewise.
2102         * modules/sys_wait (Makefile.am): Likewise.
2103         * modules/sysexits (Makefile.am): Likewise.
2104         * modules/termios (Makefile.am): Likewise.
2105         * modules/time (Makefile.am): Likewise.
2106         * modules/unistd (Makefile.am): Likewise.
2107         * modules/wchar (Makefile.am): Likewise.
2108         * modules/wctype-h (Makefile.am): Likewise.
2109         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
2110
2111 2011-04-05  Bruno Haible  <bruno@clisp.org>
2112
2113         pipe2: Relicense under LGPLv2+.
2114         * modules/pipe2 (License): Change to LGPLv2+.
2115         Requested by Eric Blake, for libvirt.
2116
2117 2011-04-05  Bruce Korb  <bkorb@gnu.org>
2118
2119         bootstrap: compute gnulib_extra_files after updating build_aux
2120         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
2121         change build_aux or also supply gnulib_extra_files.  Handle correctly.
2122
2123 2011-04-05  Eric Blake  <eblake@redhat.com>
2124
2125         bootstrap: preserve git whitelist item sorting
2126         * build-aux/bootstrap (sort_patterns): New function.
2127         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
2128
2129 2011-04-05  Simon Josefsson  <simon@josefsson.org>
2130
2131         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
2132         sc_space_tab check.
2133
2134 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
2135
2136         areadlink, areadlinkat: rewrite in terms of careadlinkat
2137         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
2138         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
2139         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
2140         (malloc, realloc): Remove #undefs.
2141         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
2142         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
2143         readlink, ssize_t, stdint, unistd.
2144         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
2145         areadlink, stdint.
2146
2147         careadlinkat: new module
2148         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
2149         * modules/careadlinkat: New files, written by me with
2150         a review and feedback from Ben Pfaff in
2151         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
2152
2153 2011-04-01  Bruno Haible  <bruno@clisp.org>
2154
2155         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
2156         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
2157         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
2158         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
2159         Reported by Bruce Korb <bruce.korb@gmail.com>.
2160
2161 2011-04-01  Bruno Haible  <bruno@clisp.org>
2162
2163         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
2164         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
2165         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
2166         * modules/wcpcpy (Depends-on): Add extensions.
2167         * modules/wcpncpy (Depends-on): Likewise.
2168         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
2169         systems.
2170         * doc/posix-functions/wcpncpy.texi: Likewise.
2171         * doc/posix-functions/wcwidth.texi: Likewise.
2172
2173 2011-03-31  Eric Blake  <eblake@redhat.com>
2174
2175         nonblocking: fix mingw test failures
2176         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
2177         non-blocking flag on regular file.
2178         (get_nonblocking_flag): Set errno on invalid fd.
2179         * tests/test-nonblocking.c (main): Avoid test failure on
2180         directories if fchdir is not active.
2181         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
2182
2183 2011-03-31  Bruno Haible  <bruno@clisp.org>
2184
2185         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
2186         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
2187         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
2188         Reported by Simon Josefsson <simon@josefsson.org>.
2189
2190 2011-03-31  Bruno Haible  <bruno@clisp.org>
2191         and Eric Blake  <eblake@redhat.com>
2192
2193         nonblocking: new module
2194         * modules/nonblocking: New module.
2195         * modules/nonblocking-tests: Likewise.
2196         * lib/nonblocking.h: New file.
2197         * lib/nonblocking.c: Likewise.
2198         * tests/test-nonblocking.c: New test.
2199         * lib/ioctl.c (ioctl) [mingw]: Update comment.
2200
2201 2011-03-30  Bruno Haible  <bruno@clisp.org>
2202
2203         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
2204         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
2205         instead of 'printf' format for GCC >= 4.4.
2206         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
2207         (fprintf, printf, vfprintf, vprintf): Declare with
2208         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
2209         the system's vfprintf() function.
2210         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
2211
2212 2011-03-30  Eric Blake  <eblake@redhat.com>
2213
2214         passfd: fix scoping bug
2215         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
2216         before sendmsg/recvmsg.
2217
2218         passfd: standardize coding conventions
2219         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
2220         can be learned at compile time.
2221         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
2222         ifdefs.
2223         (sendfd, recvfd): Follow gnulib code conventions.
2224
2225         passfd: fix incorrect sendmsg arguments
2226         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
2227         incorrect msg_controllen value.
2228         * modules/passfd-tests (Depends-on): Check for alarm.
2229         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
2230         Reported by Bastien ROUCARIES.
2231
2232 2011-03-30  Bruno Haible  <bruno@clisp.org>
2233
2234         c-strcasestr: Relicense under LGPLv2+.
2235         * modules/c-strcasestr (License): Change to LGPLv2+.
2236         Requested by Eric Blake, for libvirt.
2237
2238 2011-03-30  Simon Josefsson  <simon@josefsson.org>
2239
2240         * users.txt: Add libidn2.  Fix libtasn1 link.
2241
2242 2011-03-30  Jim Meyering  <meyering@redhat.com>
2243
2244         tests: readlink* ("",... fails with EINVAL on newer kernels
2245         readlink and readlinkat have typically failed with ENOENT for
2246         the invalid, empty file name,  "".  However, with the advent
2247         of linux-2.6.39, they fail with EINVAL.
2248         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
2249         when operating on the empty file name.
2250         * tests/test-readlink.h (test_readlink): Likewise.
2251
2252 2011-03-29  Bruno Haible  <bruno@clisp.org>
2253
2254         Relicense some modules under LGPLv2+, for libidn2.
2255         * modules/array-mergesort (License): Change to LGPLv2+.
2256         * modules/c-strcaseeq (License): Likewise.
2257         * modules/striconveh (License): Likewise.
2258         * modules/striconveha (License): Likewise.
2259         * modules/uniconv/base (License): Likewise.
2260         * modules/uniconv/u8-conv-from-enc (License): Likewise.
2261         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
2262         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
2263         * modules/unictype/base (License): Likewise.
2264         * modules/unictype/bidiclass-of (License): Likewise.
2265         * modules/unictype/category-M (License): Likewise.
2266         * modules/unictype/category-none (License): Likewise.
2267         * modules/unictype/category-of (License): Likewise.
2268         * modules/unictype/category-test (License): Likewise.
2269         * modules/unictype/category-test-withtable (License): Likewise.
2270         * modules/unictype/combining-class (License): Likewise.
2271         * modules/unictype/joiningtype-of (License): Likewise.
2272         * modules/unictype/scripts (License): Likewise.
2273         * modules/uninorm/base (License): Likewise.
2274         * modules/uninorm/canonical-decomposition (License): Likewise.
2275         * modules/uninorm/composition (License): Likewise.
2276         * modules/uninorm/decompose-internal (License): Likewise.
2277         * modules/uninorm/decomposition-table (License): Likewise.
2278         * modules/uninorm/nfc (License): Likewise.
2279         * modules/uninorm/nfd (License): Likewise.
2280         * modules/uninorm/u32-normalize (License): Likewise.
2281         * modules/unistr/base (License): Likewise.
2282         * modules/unistr/u32-cpy (License): Likewise.
2283         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
2284         * modules/unistr/u32-to-u8 (License): Likewise.
2285         * modules/unistr/u32-uctomb (License): Likewise.
2286         * modules/unistr/u8-check (License): Likewise.
2287         * modules/unistr/u8-mblen (License): Likewise.
2288         * modules/unistr/u8-mbtouc (License): Likewise.
2289         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
2290         * modules/unistr/u8-mbtoucr (License): Likewise.
2291         * modules/unistr/u8-prev (License): Likewise.
2292         * modules/unistr/u8-strlen (License): Likewise.
2293         * modules/unistr/u8-to-u32 (License): Likewise.
2294         * modules/unistr/u8-uctomb (License): Likewise.
2295         * modules/unitypes (License): Likewise.
2296         Requested by Simon Josefsson.
2297
2298 2011-03-29  Simon Josefsson  <simon@josefsson.org>
2299
2300         lib-symbol-visibility: Add a notice.
2301         * modules/lib-symbol-visibility (Notice): New field.
2302
2303 2011-03-29  Bruno Haible  <bruno@clisp.org>
2304
2305         getaddrinfo: Doc fix.
2306         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
2307         section "fixed in Gnulib".
2308
2309 2011-03-28  Simon Josefsson  <simon@josefsson.org>
2310
2311         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
2312         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
2313
2314 2011-03-26  Bruno Haible  <bruno@clisp.org>
2315
2316         unictype/property-byname: Reduce the number of load-time relocations.
2317         * lib/unictype/pr_byname.c: Include <stdlib.h>.
2318         (UC_PROPERTY_INDEX_*): New enumeration values.
2319         (uc_property_byname): Convert an index from the lookup table to an
2320         uc_property_t.
2321         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
2322         values.
2323
2324 2011-03-26  Bruno Haible  <bruno@clisp.org>
2325
2326         unictype/property-byname: Allow omitted word separators and aliases.
2327         * lib/unictype/pr_byname.gperf: Add property names without word
2328         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
2329         for 'space'.
2330
2331 2011-03-26  Bruno Haible  <bruno@clisp.org>
2332
2333         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
2334         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
2335         also hyphens to space.
2336         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
2337         without spaces.
2338         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
2339
2340 2011-03-26  Bruno Haible  <bruno@clisp.org>
2341
2342         unictype/joiningtype-byname: Recognize long names as well.
2343         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
2344         a long name.
2345         * lib/unictype/joiningtype_byname.c: Include <string.h>,
2346         unictype/joiningtype_byname.h.
2347         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
2348         * lib/unictype/joiningtype_byname.gperf: New file.
2349         * modules/unictype/joiningtype-byname (Files): Add
2350         lib/unictype/joiningtype_byname.gperf.
2351         (Depends-on): Add gperf.
2352         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
2353         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
2354         long names.
2355
2356         Tests for module 'unictype/joiningtype-longname'.
2357         * modules/unictype/joiningtype-longname-tests: New file.
2358         * tests/unictype/test-joiningtype_longname.c: New file.
2359
2360         New module 'unictype/joiningtype-longname'.
2361         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
2362         * lib/unictype/joiningtype_longname.c: New file.
2363         * modules/unictype/joiningtype-longname: New file.
2364         * modules/unictype/joiningtype-all (Depends-on): Add
2365         unictype/joiningtype-longname.
2366
2367 2011-03-26  Bruno Haible  <bruno@clisp.org>
2368
2369         unictype/bidiclass-byname: Recognize long names as well.
2370         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
2371         name.
2372         * lib/unictype/bidi_byname.c: Include <string.h>,
2373         unictype/bidi_byname.h.
2374         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
2375         * lib/unictype/bidi_byname.gperf: New file.
2376         * modules/unictype/bidiclass-byname (Files): Add
2377         lib/unictype/bidi_byname.gperf.
2378         (Depends-on): Add gperf.
2379         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
2380         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
2381         long names.
2382
2383         Tests for module 'unictype/bidiclass-longname'.
2384         * modules/unictype/bidiclass-longname-tests: New file.
2385         * tests/unictype/test-bidi_longname.c: New file.
2386
2387         New module 'unictype/bidiclass-longname'.
2388         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
2389         * lib/unictype/bidi_longname.c: New file.
2390         * modules/unictype/bidiclass-longname: New file.
2391         * modules/unictype/bidiclass-all (Depends-on): Add
2392         unictype/bidiclass-longname.
2393
2394 2011-03-26  Bruno Haible  <bruno@clisp.org>
2395
2396         unictype/bidi*: Rename modules.
2397         * modules/unictype/bidiclass-all: Renamed from
2398         modules/unictype/bidicategory-all.
2399         * modules/unictype/bidiclass-name: Renamed from
2400         modules/unictype/bidiclass-name.
2401         (Description): Update.
2402         * modules/unictype/bidiclass-name-tests: Renamed from
2403         modules/unictype/bidicategory-name-tests.
2404         * modules/unictype/bidiclass-byname: Renamed from
2405         modules/unictype/bidicategory-byname.
2406         (Description): Update.
2407         * modules/unictype/bidiclass-byname-tests: Renamed from
2408         modules/unictype/bidicategory-byname-tests.
2409         * modules/unictype/bidiclass-of: Renamed from
2410         modules/unictype/bidicategory-of.
2411         (Description): Update.
2412         * modules/unictype/bidiclass-of-tests: Renamed from
2413         modules/unictype/bidicategory-of-tests.
2414         * modules/unictype/bidiclass-test: Renamed from
2415         modules/unictype/bidicategory-test.
2416         (Description): Update.
2417         * modules/unictype/bidiclass-test-tests: Renamed from
2418         modules/unictype/bidicategory-test-tests.
2419         * modules/unictype/bidicategory-all: New file, a simple redirection.
2420         * modules/unictype/bidicategory-name: Likewise.
2421         * modules/unictype/bidicategory-byname: Likewise.
2422         * modules/unictype/bidicategory-of: Likewise.
2423         * modules/unictype/bidicategory-test: Likewise.
2424         * modules/unictype/property-bidi-* (Dependencies): Update.
2425         * lib/unictype/bidi_*.c: Update comment.
2426
2427 2011-03-26  Bruno Haible  <bruno@clisp.org>
2428
2429         unictype/bidi*: Rename functions, part 2.
2430         * modules/unictype/bidicategory-name (configure.ac): Update required
2431         libunistring version.
2432         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
2433
2434 2011-03-25  Bruno Haible  <bruno@clisp.org>
2435
2436         New module 'unictype/combining-class-all'.
2437         * modules/unictype/combining-class-all: New file.
2438
2439         Tests for module 'unictype/combining-class-byname'.
2440         * modules/unictype/combining-class-byname-tests: New file.
2441         * tests/unictype/test-combiningclass_byname.c: New file.
2442
2443         New module 'unictype/combining-class-byname'.
2444         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
2445         * lib/unictype/combiningclass_byname.c: New file.
2446         * lib/unictype/combiningclass_byname.gperf: New file.
2447         * modules/unictype/combining-class-byname: New file.
2448
2449         Tests for module 'unictype/combining-class-longname'.
2450         * modules/unictype/combining-class-longname-tests: New file.
2451         * tests/unictype/test-combiningclass_longname.c: New file.
2452
2453         New module 'unictype/combining-class-longname'.
2454         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
2455         * lib/unictype/combiningclass_longname.c: New file.
2456         * modules/unictype/combining-class-longname: New file.
2457
2458         Tests for module 'unictype/combining-class-name'.
2459         * modules/unictype/combining-class-name-tests: New file.
2460         * tests/unictype/test-combiningclass_name.c: New file.
2461
2462         New module 'unictype/combining-class-name'.
2463         * lib/unictype.in.h (uc_combining_class_name): New declaration.
2464         * lib/unictype/combiningclass_name.c: New file.
2465         * modules/unictype/combining-class-name: New file.
2466
2467 2011-03-25  Bruno Haible  <bruno@clisp.org>
2468
2469         unictype/combining-class: Rename source files.
2470         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
2471         of unictype/combining.h.
2472         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
2473         Update.
2474         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
2475         * modules/unictype/combining-class (Description): Fix.
2476         (Files, Makefile.am): Update.
2477         * tests/unictype/test-combiningclass.c: Renamed from
2478         tests/unictype/test-combining.c.
2479         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
2480
2481 2011-03-25  Bruno Haible  <bruno@clisp.org>
2482
2483         unictype: Update list of canonical combining classes.
2484         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
2485
2486 2011-03-25  Bruno Haible  <bruno@clisp.org>
2487
2488         unictype/category-byname: Recognize long names as well.
2489         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
2490         a long name.
2491         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
2492         unictype/categ_byname.h.
2493         (UC_CATEGORY_INDEX_*): New enumeration values.
2494         (uc_general_category_byname): Use uc_general_category_lookup and
2495         convert from index to value.
2496         * lib/unictype/categ_byname.gperf: New file.
2497         * modules/unictype/category-byname (Files): Add
2498         lib/unictype/categ_byname.gperf.
2499         (Depends-on): Add gperf.
2500         (Makefile.am): Add rule for generating unictype/categ_byname.h.
2501         * tests/unictype/test-categ_byname.c (main): Test the recognition of
2502         long names.
2503
2504         Tests for module 'unictype/category-longname'.
2505         * modules/unictype/category-longname-tests: New file.
2506         * tests/unictype/test-categ_longname.c: New file.
2507
2508         New module 'unictype/category-longname'.
2509         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
2510         * lib/unictype/categ_longname.c: New file.
2511         * modules/unictype/category-longname: New file.
2512         * modules/unictype/category-all (Depends-on): Add it.
2513
2514 2011-03-25  Bruno Haible  <bruno@clisp.org>
2515
2516         Tests for module 'unictype/category-LC'.
2517         * modules/unictype/category-LC-tests: New file.
2518         * tests/unictype/test-categ_LC.c: New file, automatically generated.
2519
2520         New module 'unictype/category-LC'.
2521         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
2522         (UC_CATEGORY_LC): New declaration.
2523         (UC_CASED_LETTER): New macro.
2524         * lib/gen-uni-tables.c (is_category_LC): New function.
2525         (output_categories): Also handle category LC.
2526         (UC_CATEGORY_MASK_LC): New enumeration value.
2527         (general_category_byname): Also handle category LC.
2528         * lib/unictype/categ_LC.c: New file.
2529         * lib/unictype/categ_LC.h: New file, automatically generated.
2530         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
2531         category LC.
2532         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
2533         * modules/unictype/category-LC: New file.
2534         * modules/unictype/category-byname (Depends-on): Add
2535         unictype/category-LC.
2536         * modules/unictype/category-all (Depends-on): Likewise.
2537
2538 2011-03-25  Eric Blake  <eblake@redhat.com>
2539
2540         xmalloc: revert yesterday's regression
2541         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
2542         realloc's underlying behavior (allowing allocation of zero-size
2543         objects, especially if malloc-gnu is also in use).
2544
2545 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
2546
2547         maint.mk: add missing version to VC-tag
2548         * top/maint.mk: git tag was missing actual tag name; add it.
2549
2550         valgrind: do leak checking, and exit with code 1 on error (not 0)
2551         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
2552         to VALGRIND.
2553
2554 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
2555
2556         posix-modules: say what it does.
2557         * posix-modules: Add a line to the --help output saying what it does.
2558
2559 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
2560
2561         xmalloc: Do not leak if underlying realloc is C99 compatible.
2562         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
2563         This avoids a leak on C99-based systems.  See
2564         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
2565
2566 2011-03-24  Eric Blake  <eblake@redhat.com>
2567
2568         realloc: document portability problem
2569         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
2570         passing 0 size to realloc.
2571
2572 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
2573
2574         doc: update users.txt
2575         * users.txt: Add cvsps, tmpwatch
2576
2577 2011-03-23  Matt Rice  <ratmice@gmail.com>
2578
2579         doc: update users.txt
2580         * users.txt: Add gdb.
2581
2582 2011-03-23  Jim Meyering  <meyering@redhat.com>
2583
2584         doc: update users.txt
2585         Looking through matches up to the following URL (there are still
2586         several more pages), I found several projects that use gnulib:
2587         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
2588         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
2589         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
2590
2591 2011-03-22  Bruno Haible  <bruno@clisp.org>
2592
2593         unictype/bidi*: Rename functions.
2594         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
2595         uc_bidi_class, uc_is_bidi_class): New declarations.
2596         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
2597         uc_bidi_category_byname.
2598         (uc_bidi_category_byname): New function.
2599         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
2600         u_bidi_category_name.
2601         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
2602         (uc_bidi_category_name): New function.
2603         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
2604         uc_bidi_category.
2605         (uc_bidi_category): New function.
2606         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
2607         uc_is_bidi_category. Invoke uc_bidi_class.
2608         (uc_is_bidi_category): New function.
2609         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
2610         instead of uc_bidi_category_byname.
2611         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
2612         instead of uc_bidi_category_name.
2613         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
2614         uc_bidi_category.
2615         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
2616         instead of uc_is_bidi_category.
2617
2618 2011-03-21  Bruno Haible  <bruno@clisp.org>
2619
2620         New module 'unictype/joininggroup-all'.
2621         * modules/unictype/joininggroup-all: New file.
2622
2623         Tests for module 'unictype/joininggroup-of'.
2624         * modules/unictype/joininggroup-of-tests: New file.
2625         * tests/unictype/test-joininggroup_of.c: New file.
2626         * tests/unictype/test-joininggroup_of.h: New file, automatically
2627         generated by gen-uni-tables.
2628
2629         New module 'unictype/joininggroup-of'.
2630         * modules/unictype/joininggroup-of: New file.
2631         * lib/unictype/joininggroup_of.c: New file.
2632         * lib/unictype/joininggroup_of.h: New file, automatically generated by
2633         gen-uni-tables.
2634
2635         Tests for module 'unictype/joininggroup-byname'.
2636         * modules/unictype/joininggroup-byname-tests: New file.
2637         * tests/unictype/test-joininggroup_byname.c: New file.
2638
2639         New module 'unictype/joininggroup-byname'.
2640         * modules/unictype/joininggroup-byname: New file.
2641         * lib/unictype/joininggroup_byname.c: New file.
2642         * lib/unictype/joininggroup_byname.gperf: New file.
2643
2644         Tests for module 'unictype/joininggroup-name'.
2645         * modules/unictype/joininggroup-name-tests: New file.
2646         * tests/unictype/test-joininggroup_name.c: New file.
2647
2648         New module 'unictype/joininggroup-name'.
2649         * modules/unictype/joininggroup-name: New file.
2650         * lib/unictype/joininggroup_name.c: New file.
2651         * lib/unictype/joininggroup_name.h: New file.
2652
2653         New module 'unictype/joiningtype-all'.
2654         * modules/unictype/joiningtype-all: New file.
2655
2656         Tests for module 'unictype/joiningtype-of'.
2657         * modules/unictype/joiningtype-of-tests: New file.
2658         * tests/unictype/test-joiningtype_of.c: New file.
2659         * tests/unictype/test-joiningtype_of.h: New file, automatically
2660         generated by gen-uni-tables.
2661
2662         New module 'unictype/joiningtype-of'.
2663         * modules/unictype/joiningtype-of: New file.
2664         * lib/unictype/joiningtype_of.c: New file.
2665         * lib/unictype/joiningtype_of.h: New file, automatically generated by
2666         gen-uni-tables.
2667
2668         Tests for module 'unictype/joiningtype-byname'.
2669         * modules/unictype/joiningtype-byname-tests: New file.
2670         * tests/unictype/test-joiningtype_byname.c: New file.
2671
2672         New module 'unictype/joiningtype-byname'.
2673         * modules/unictype/joiningtype-byname: New file.
2674         * lib/unictype/joiningtype_byname.c: New file.
2675
2676         Tests for module 'unictype/joiningtype-name'.
2677         * modules/unictype/joiningtype-name-tests: New file.
2678         * tests/unictype/test-joiningtype_name.c: New file.
2679
2680         New module 'unictype/joiningtype-name'.
2681         * modules/unictype/joiningtype-name: New file.
2682         * lib/unictype/joiningtype_name.c: New file.
2683
2684         unictype: Add support for Arabic shaping properties.
2685         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
2686         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
2687         declarations.
2688         (UC_JOINING_GROUP_*): New enumeration values.
2689         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
2690         declarations.
2691         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
2692         (unicode_joining_type): New variable.
2693         (UC_JOINING_GROUP_*): New enumeration values.
2694         (unicode_joining_group): New variable.
2695         (fill_arabicshaping, joining_type_as_c_identifier,
2696         output_joining_type_test, output_joining_type,
2697         joining_group_as_c_identifier, output_joining_group_test,
2698         output_joining_group): New functions.
2699         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
2700         fill_arabicshaping and output_joining_type_test, output_joining_type,
2701         output_joining_group_test, output_joining_group.
2702         Reported by Simon Josefsson.
2703
2704 2011-03-21  Jim Meyering  <meyering@redhat.com>
2705
2706         strftime: fix a bug in yesterday's change
2707         * lib/strftime.c (add): Accommodate width's initial value of -1.
2708         Otherwise, nstrftime would copy uninitialized data into
2709         the result buffer.
2710
2711 2011-03-21  Jim Meyering  <meyering@redhat.com>
2712
2713         tests: add strftime-tests module
2714         * tests/test-strftime.c: New file.
2715         * modules/strftime-tests: New module.
2716
2717 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2718
2719         strftime: don't assume a byte count fits in 'int'
2720         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
2721         found this problem by static analysis, using gcc -Wstrict-overflow
2722         (GCC 4.5.2, x86-64).  This reported an optimization that depended
2723         on an integer overflow having undefined behavior, but it turns out
2724         that the argument is a size, which might not fit in 'int' anyway,
2725
2726 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2727
2728         stdio: don't require ignore_value around fwrite
2729
2730         This patch works around libc bug 11959
2731         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
2732         Without this patch, applications must often write
2733         ignore_value (fwrite (...)) even though the ignore_value is
2734         not helpful here.  It's common to write many objects, using
2735         fwrite/printf/etc., and then use ferror to detect output error.
2736
2737         I considered making this patch optional, but decided against it,
2738         because libc is obviously being inconsistent here: there is no
2739         reason libc should insist that user code must inspect fwrite
2740         return's value without also insisting that it inspect printf's,
2741         putchar's, etc.  If user code wants to have a strict style where
2742         all these functions' values are checked (so that ferror need not
2743         be checked), we could add support for that style in a new gnulib
2744         module, but in the meantime it's better to be consistent and to
2745         support common usage.
2746
2747         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
2748         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
2749         that we are compiling in checking mode, and if not C++, and
2750         if not already wrapping fwrite for some other reason.
2751         (fwrite): #define to rpl_fwrite if the latter is defined.
2752
2753 2011-03-20  Bruno Haible  <bruno@clisp.org>
2754
2755         verror: Fix compilation error introduced on 2011-02-13.
2756         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
2757         instead of __attribute__.
2758         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2759
2760 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2761             Bruno Haible  <bruno@clisp.org>
2762
2763         socklen: do not depend on sys_socket
2764         While trying to modify Emacs to use gnulib's socklen module,
2765         I discovered a circular dependency: socklen depends on sys_socket
2766         and vice versa.  Emacs can use socklen, but it does not need
2767         sys_socket because it has its own substitute for sys/socket.h.
2768         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
2769         gl_TYPE_SOCKLEN_T.
2770         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
2771         gl_PREREQ_SYS_H_SOCKET.
2772         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
2773         gl_PREREQ_SYS_H_SOCKET.
2774         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
2775         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
2776         * modules/socklen (Depends-on): Do not depend on sys_socket.
2777         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
2778
2779 2011-03-20  Jim Meyering  <meyering@redhat.com>
2780
2781         maint.mk: sort file names *after* new transformation
2782         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
2783         prefix would have led to an unwarranted failure in GNU parted.
2784         Sort after that transformation.
2785
2786 2011-03-19  Jim Meyering  <meyering@redhat.com>
2787
2788         maint.mk: fix po-file syntax-check rule
2789         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
2790         Patch by Bruno Haible.
2791
2792 2011-03-19  Bruno Haible  <bruno@clisp.org>
2793
2794         socklen: Update comment.
2795         * m4/socklen.m4: Update comment about platforms.
2796
2797 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2798             Bruno Haible  <bruno@clisp.org>
2799
2800         inet_ntop, inet_pton: Simplify.
2801         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
2802         documented to provide socklen_t and we already depend on sys_socket.
2803         * modules/inet_pton (Depends-on): Likewise.
2804         * lib/arpa_inet.in.h: Adjust comment.
2805
2806 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2807             Bruno Haible  <bruno@clisp.org>
2808
2809         netdb: Simplify.
2810         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
2811         documented to provide socklen_t and we already depend on sys_socket.
2812         * lib/netdb.in.h: Adjust comment.
2813
2814 2011-03-19  Bruno Haible  <bruno@clisp.org>
2815
2816         sys_socket, netdb: Document problem with socklen_t.
2817         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
2818         platforms.
2819         * doc/posix-headers/netdb.texi: Likewise.
2820
2821 2011-03-18  Eric Blake  <eblake@redhat.com>
2822
2823         maint.mk: let po check work in VPATH build
2824         * top/maint.mk (po_file): Allow cfg.mk override.
2825         (sc_po_check): Allow VPATH use.
2826         Reported by Jiri Denemark.
2827
2828 2011-03-16  Jim Meyering  <meyering@redhat.com>
2829
2830         maint.mk: allow fine-grained syntax-check exclusion via Make variables
2831         Before, you would have had to create one .x-sc_ file per rule in order
2832         to exempt offending files.  Now, you may instead use a Make variable --
2833         usually defined in cfg.mk -- whose name identifies the affected rule.
2834         * top/maint.mk (_sc_excl): Define.
2835         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
2836         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
2837
2838 2011-03-13  Bruno Haible  <bruno@clisp.org>
2839
2840         ignore-value tests: Avoid warnings.
2841         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
2842         empty for gcc < 3.4.
2843
2844 2011-03-13  Bruno Haible  <bruno@clisp.org>
2845
2846         passfd: Fix link error on Solaris.
2847         * modules/passfd (Description): Correct.
2848         (Depends-on): Add socketlib.
2849         (Link): New section.
2850         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
2851
2852 2011-03-13  Bruno Haible  <bruno@clisp.org>
2853
2854         passfd: Fix link error on AIX 5.2.
2855         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
2856
2857 2011-03-13  Bruno Haible  <bruno@clisp.org>
2858
2859         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
2860         * lib/sys_socket.in.h: Include <stddef.h>.
2861         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
2862         CMSG_FIRSTHDR. Remove unused variable.
2863
2864 2011-03-13  Bruno Haible  <bruno@clisp.org>
2865
2866         passfd: Fix compilation error on OpenBSD.
2867         * lib/passfd.c: Include <sys/uio.h>.
2868
2869 2011-03-13  Bruno Haible  <bruno@clisp.org>
2870
2871         passfd test: Fix warnings.
2872         * tests/test-passfd.c: Include <sys/wait.h>.
2873         (main): Fix typo.
2874
2875 2011-03-13  Bruno Haible  <bruno@clisp.org>
2876
2877         passfd module, part 4, tweaks.
2878         * tests/test-passfd.c: Reorder includes.
2879         (main): Fix perror and printf calls.
2880
2881 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2882
2883         passfd module, part 4.
2884         * modules/passfd-tests: New file.
2885         * tests/test-passfd.c: New file.
2886
2887 2011-03-13  Jim Meyering  <meyering@redhat.com>
2888
2889         Makefile: rely on GNU make; derive syntax-check rule names
2890         Rather than requiring that each sc_ rule be listed as a dependent
2891         of "check", use features of GNU make to derive the list.
2892         * Makefile (syntax-check-rules): Define.
2893         (check): Depend on the new variable, not the hard-coded list.
2894
2895 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
2896             Bruno Haible  <bruno@clisp.org>
2897
2898         passfd module, part 3.
2899         * lib/passfd.h (recvfd): Add a flags argument.
2900         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
2901         (recvfd): Add a flags argument.
2902         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
2903         exists.
2904         * modules/passfd (Depends-on): Add cloexec.
2905         Suggested by Eric Blake.
2906
2907 2011-03-13  Bruno Haible  <bruno@clisp.org>
2908
2909         passfd module, part 2, tweaks.
2910         * modules/passfd (Files): Reorder.
2911         (Depends-on): Remove errno.
2912         (Include): Remove <sys/socket.h>, <sys/un.h>.
2913         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
2914         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
2915         specification header. Include <sys/socket.h> always. Don't include
2916         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
2917         (sendfd): Clarify that it sets errno when it fails.
2918         (recvfd): Fix specification.
2919
2920 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2921
2922         passfd module, part 2.
2923         * modules/passfd: New file.
2924         * lib/passfd.h: New file.
2925         * lib/passfd.c: New file.
2926
2927 2011-03-12  Bruno Haible  <bruno@clisp.org>
2928
2929         wcswidth, mbswidth: Avoid integer overflow.
2930         * lib/wcswidth.c: Include <limits.h>.
2931         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
2932         * lib/mbswidth.c: Include <limits.h>.
2933         (mbsnwidth): Avoid 'int' overflow.
2934         Reported by Jim Meyering.
2935
2936 2011-03-12  Bruno Haible  <bruno@clisp.org>
2937
2938         futimens, utimensat: Avoid endless recursion on Solaris 10.
2939         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
2940         Solaris.
2941         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
2942         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
2943
2944 2011-03-11  Jim Meyering  <meyering@redhat.com>
2945
2946         maint.mk: relax a regexp to accommodate other formatting styles
2947         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
2948         between "ngettext" and the following "(".
2949
2950 2011-03-11  Pádraig Brady <P@draigBrady.com>
2951
2952         maint.mk: suppress a false positive warning
2953         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
2954         diagnostics are marked with ngettext.
2955
2956 2011-03-10  Eric Blake  <eblake@redhat.com>
2957
2958         wchar: add explicit dependencies, for Tru64
2959         * modules/mbmemcasecoll (Depends-on): Add wchar.
2960         * modules/mbtowc (Depends-on): Likewise.
2961         * modules/vasnprintf (Depends-on): Likewise.
2962         * modules/unistdio/u-printf-args (Depends-on): Likewise.
2963         * modules/wctomb (Depends-on): Likewise.
2964         Reported by Peter O'Gorman.
2965
2966 2011-03-08  Bruno Haible  <bruno@clisp.org>
2967
2968         passfd module, part 1, tweaks.
2969         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
2970         Improve indentation. Improve AC_MSG_CHECKING messages.
2971         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
2972         gl_SOCKET_FAMILIES.
2973
2974 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2975
2976         passfd module, part 1.
2977         * m4/afunix.m4: New file.
2978         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
2979         sockets.
2980
2981 2011-03-08  Bruno Haible  <bruno@clisp.org>
2982
2983         regex-quote: New API.
2984         * lib/regex-quote.h: Include <stdbool.h>.
2985         (struct regex_quote_spec): New type.
2986         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
2987         New declarations.
2988         (regex_quote_length, regex_quote_copy, regex_quote): Take a
2989         'const struct regex_quote_spec *' argument.
2990         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
2991         (pcre_special): New constant.
2992         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
2993         New functions.
2994         (regex_quote_length, regex_quote_copy, regex_quote): Take a
2995         'const struct regex_quote_spec *' argument.
2996         * modules/regex-quote (Depends-on): Add stdbool.
2997         * tests/test-regex-quote.c (check): Update for new API. Add test for
2998         anchored results.
2999         * NEWS: Mention the API change.
3000         Reported by Reuben Thomas and Eric Blake.
3001
3002 2011-03-06  Bruno Haible  <bruno@clisp.org>
3003
3004         regex-quote: Fix creation of POSIX extended regular expressions.
3005         * lib/regex-quote.c (ere_special): Add grouping and alternation
3006         operators.
3007
3008 2011-03-05  Bruno Haible  <bruno@clisp.org>
3009
3010         doc: Improve doc regarding autopoint vs. gnulib.
3011         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
3012         disable autopoint while running autoreconf.
3013         Suggested by Ralf Wildenhues.
3014
3015 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3016
3017         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
3018         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
3019
3020 2011-03-03  Bruce Korb  <bkorb@gnu.org>
3021
3022         parse-duration: remove xalloc.h dependency
3023         * lib/parse-duration.c (parse_period): handle NULL return from
3024         strdup instead of calling xstrdup().
3025         * modules/parse-duration: remove "xalloc" dependency
3026
3027 2011-03-03  Matthew Booth  <mbooth@redhat.com>
3028
3029         bootstrap: honor m4_base when running aclocal
3030         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
3031
3032 2011-03-02  Jim Meyering  <meyering@redhat.com>
3033
3034         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
3035         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
3036         on request from Matt Booth.
3037
3038 2011-03-01  Eric Blake  <eblake@redhat.com>
3039
3040         test-link: work on Hurd
3041         * tests/test-link.h (test_link): Hurd rejects linking directories
3042         with EISDIR instead of the POSIX-mandated EPERM.
3043
3044 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
3045
3046         stdio: simplify by moving files to printf-posix, sigpipe
3047         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
3048         since this symbol is needed only if printf is replaced.
3049         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
3050         Require gl_ASM_SYMBOL_PREFIX.
3051         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
3052         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
3053         (Depends-on): Add 'raise'.
3054         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
3055         * modules/stdio (Files): Remove lib/stdio-write.c,
3056         m4/asm-underscore.m4.
3057         (Depends-on): Remove 'raise'.
3058
3059         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
3060         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
3061         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
3062         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
3063
3064 2011-02-28  Bruno Haible  <bruno@clisp.org>
3065
3066         localcharset: Assume ANSI C behaviour of free().
3067         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
3068         calling free().
3069         Suggested by Simon Josefsson <simon@josefsson.org>.
3070
3071 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
3072             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
3073             Bruno Haible  <bruno@clisp.org>  (tiny change)
3074
3075         On Cygwin, use /proc file system instead of win32 API.
3076         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
3077         Win32 file names.
3078         (DllMain): Simplify by removing Cygwin specific code.
3079         (find_shared_library_fullname): Use Linux specific implementation also
3080         for Cygwin.
3081         (get_shared_library_fullname): Update accordingly.
3082         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
3083         Win32 file names.
3084         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
3085         Cygwin specific code.
3086
3087 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
3088             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
3089
3090         Fix OpenMP flag detection for various Fortran compilers.
3091         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
3092         OpenMP-conditional compilation construct, to force compile
3093         failure with missing OpenMP flag.
3094         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
3095
3096 2011-02-25  Eric Blake  <eblake@redhat.com>
3097
3098         strstr: expand test coverage
3099         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
3100         compilation.
3101         * tests/test-memmem.c (main): Duplicate tests.
3102         * tests/test-strcasestr.c (main): Likewise.
3103         * tests/test-c-strcasestr.c (main): Likewise.
3104
3105 2011-02-25  Jim Meyering  <meyering@redhat.com>
3106
3107         maint.mk: detect missing-NL-at-EOF, too
3108         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
3109         it also detects when a file lacks a newline at EOF.
3110         (require_exactly_one_NL_at_EOF_): Renamed from
3111         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
3112         since people may well have .x-sc_... file names tied to the
3113         existing name.  Suggested by Eric Blake.
3114
3115 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
3116
3117         dirname: move m4/dos.m4 functionality into lib/dosname.h
3118
3119         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
3120         extracts symbols from it, puts them into config.h; but it's much
3121         easier to use the symbols directly.  filename.h already does this,
3122         but it disagrees with dos.m4 in some respects.  This patch
3123         introduces a different include file dosname.h that packages up
3124         dos.m4, and then later we can work on merging filename.h and
3125         dosname.h.  Applications that need only the easy-to-configure
3126         symbols should consider including dosname.h rather than dirname.h.
3127         * NEWS: Mention incompatible changes.
3128         * m4/dos.m4: Remove.
3129         * lib/dosname.h, modules/dosname: New files.
3130         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
3131         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
3132         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
3133         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
3134         Include dosname.h, not dirname.h.
3135         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
3136         Include dosname.h, for definitions of symbols like ISSLASH
3137         that used to be in config.h.
3138         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
3139         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3140         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
3141         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3142         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
3143         * modules/rmdir (Files): Likewise.
3144         * modules/stat (Files): Likewise.
3145         * modules/unlink (Files): Likewise.
3146         * modules/dirname-lgpl (Depends-on): Add dosname.
3147         * modules/lstat (Depends-on): Likewise.
3148         * modules/openat (Depends-on): Likewise.
3149         * modules/rmdir (Depends-on): Likewise.
3150         * modules/savewd (Depends-on): Likewise.
3151         * modules/stat (Depends-on): Likewise.
3152         * modules/unlink (Depends-on): Likewise.
3153         * modules/openat (Depends-on): Remove dirname-lgpl.
3154         * modules/savewd (Depends-on): Likewise.
3155         * tests/test-dirname.c: Do not use removed symbols like
3156         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
3157         the remaining symbols, e.g., ISSLASH ('\\').
3158
3159 2011-02-25  Eric Blake  <eblake@redhat.com>
3160
3161         strstr: revert patches that introduced bug and pessimization
3162         * lib/str-two-way.h: Add another reference.
3163         (two_way_short_needle, two_way_long_needle): Revert changes from
3164         2011-02-24; they pessimize search speed.
3165         (critical_factorization): Partially revert changes from
3166         2010-06-22; they violate the requirement that the left half of the
3167         needle be smaller than the period of the needle.
3168
3169 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3170
3171         filenamecat: remove unnecessary dependency on dirname-lgpl
3172         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
3173         is no direct dependency, just an indirect one via filenamecat-lgpl.
3174
3175         remove: remove unnecessary use of m4/dos.m4
3176         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
3177         * modules/remove (FILES): Remove m4/dos.m4.
3178
3179         * lib/openat-proc.c: Don't include dirname.h; not needed.
3180
3181         backupfile: remove unnecessary use of m4/dos.m4
3182         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
3183         of its symbols are used by the backupfile code.  backupfile.c does
3184         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
3185         for the rare case of programs that want all their backup file
3186         names to live within 8+3 limits, and dos.m4 doesn't address that.
3187         * modules/backupfile (Files): Remove m4/dos.m4.
3188
3189 2011-02-24  Jim Meyering  <meyering@redhat.com>
3190
3191         strstr: fix a bug whereby strstr would mistakenly return NULL
3192         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
3193         in period calculation.
3194         (two_way_long_needle): Likewise.
3195         The original problem was reported by Mike Stump in
3196         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
3197         Ralf Wildenhues provided the short needle and haystack.
3198         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
3199         Add a more involved test to trigger the bug in two_way_long_needle.
3200
3201 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3202
3203         gnulib-tool: remove use of bold display in help screen
3204         * gnulib-tool (func_usage): Do not use bold display anymore in the
3205         help screen.  That was just meant to be a temporary emphasis for a
3206         backward-incompatible change.
3207
3208 2011-02-23  Bruno Haible  <bruno@clisp.org>
3209
3210         Fix misindentation of preprocessor directives.
3211         * lib/argp-namefrob.h: Reindent preprocessor directives.
3212         * lib/getopt_int.h (struct _getopt_data): Likewise.
3213         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
3214         * lib/vasnprintf.c (decode_long_double): Likewise.
3215         * tests/test-argmatch.c: Insert blank lines, for clarity.
3216         * tests/test-exclude.c: Likewise.
3217
3218 2011-02-22  Bruno Haible  <bruno@clisp.org>
3219
3220         ioctl: Fix for MacOS X in 64-bit mode.
3221         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
3222         value.
3223         Suggested by Eric Blake.
3224         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
3225
3226 2011-02-22  Jim Meyering  <meyering@redhat.com>
3227
3228         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
3229         * Makefile (sc_cpp_indent_check): Don't limit the check to files
3230         in lib/.
3231
3232 2011-02-22  Eric Blake  <eblake@redhat.com>
3233
3234         maint: avoid any CDPATH issue
3235         * Makefile (sc_cpp_indent_check): Anchor cd argument.
3236
3237         maint: adjust cpp indentation for my modules, as well
3238         * Makefile (sc_cpp_indent_check): Add my name.
3239         * lib/fbufmode.c: Filter through cppi.
3240         * lib/fpurge.c: Likewise.
3241         * lib/freadable.c: Likewise.
3242         * lib/freading.c: Likewise.
3243         * lib/fwritable.c: Likewise.
3244         * lib/fwriting.c: Likewise.
3245         * lib/sigaction.c: Likewise.
3246
3247 2011-02-22  Jim Meyering  <meyering@redhat.com>
3248
3249         maint: adjust cpp indentation to reflect nesting depth
3250         I.e., in a block of code that begins with an unnested "#if",
3251         put one space between the "#" in column 1 and following token.
3252         For example,
3253         -#include <sys/vfs.h>
3254         +# include <sys/vfs.h>
3255         Do this only in .c files that are part of a module I maintain.
3256         * lib/linkat.c: Filter through cppi.
3257         * lib/nanosleep.c: Likewise.
3258         * lib/openat.c: Likewise.
3259         * lib/openat-die.c: Likewise.
3260         * lib/dup3.c: Likewise.
3261         * lib/fchownat.c: Likewise.
3262         * lib/flock.c: Likewise.
3263         * lib/fsync.c: Likewise.
3264         * lib/fts.c: Likewise.
3265         * lib/getpass.c: Likewise.
3266         * lib/gettimeofday.c: Likewise.
3267         * lib/userspec.c: Likewise.
3268         * Makefile (sc_cpp_indent_check): New rule, to check this.
3269
3270 2011-02-22  Bruno Haible  <bruno@clisp.org>
3271
3272         New module 'wctomb'.
3273         * lib/stdlib.in.h (wctomb): New declaration.
3274         * lib/wctomb.c: New file.
3275         * lib/wctomb-impl.h: New file.
3276         * m4/wctomb.m4: New file.
3277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
3278         REPLACE_WCTOMB.
3279         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
3280         REPLACE_WCTOMB.
3281         * modules/wctomb: New file.
3282         * tests/test-stdlib-c++.cc: Test signature of wctomb.
3283         * doc/posix-functions/wctomb.texi: Mention the new module.
3284         * modules/wctob (Depends-on): Add wctomb.
3285
3286 2011-02-22  Bruno Haible  <bruno@clisp.org>
3287
3288         New module 'mbtowc'.
3289         * lib/stdlib.in.h (mbtowc): New declaration.
3290         * lib/mbtowc.c: New file.
3291         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
3292         * m4/mbtowc.m4: New file.
3293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
3294         REPLACE_MBTOWC.
3295         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
3296         REPLACE_MBTOWC.
3297         * modules/mbtowc: New file.
3298         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
3299         * doc/posix-functions/mbtowc.texi: Mention the new module.
3300         * modules/btowc (Depends-on): Add mbtowc.
3301
3302 2011-02-22  Bruno Haible  <bruno@clisp.org>
3303
3304         wcrtomb: Add more tests for native Windows platforms.
3305         * tests/test-wcrtomb-w32-1.sh: New file.
3306         * tests/test-wcrtomb-w32-2.sh: New file.
3307         * tests/test-wcrtomb-w32-3.sh: New file.
3308         * tests/test-wcrtomb-w32-4.sh: New file.
3309         * tests/test-wcrtomb-w32-5.sh: New file.
3310         * tests/test-wcrtomb-w32.c: New file.
3311         * modules/wcrtomb-tests (Files): Add them.
3312         (Makefile.am): Arrange to run these tests.
3313         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
3314         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
3315
3316 2011-02-20  Bruno Haible  <bruno@clisp.org>
3317
3318         wcrtomb: Enhance test.
3319         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
3320
3321 2011-02-20  Bruno Haible  <bruno@clisp.org>
3322
3323         mbrtowc: Tiny optimization.
3324         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
3325
3326 2011-02-20  Jim Meyering  <meyering@redhat.com>
3327
3328         test-exclude.c: remove unmatched #endif
3329         * tests/test-exclude.c: Remove stray #endif, left over from
3330         the change of a week ago.
3331
3332 2011-02-19  Jim Meyering  <meyering@redhat.com>
3333
3334         git-version-gen: skip "-dirty" check when appropriate
3335         * build-aux/git-version-gen: Don't run any git commands when the
3336         version string comes from .tarball-version.  Prior to this, we
3337         would run git update-index --refresh even from a just-unpacked
3338         tarball directory, and that could affect a .git/ directory in a
3339         parent of the build directory.  Reported by Mike Frysinger.
3340
3341 2011-02-19  Bruno Haible  <bruno@clisp.org>
3342
3343         unictype/property-byname: Reduce the size of the 'data' segment.
3344         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
3345
3346 2011-02-19  Bruno Haible  <bruno@clisp.org>
3347
3348         unictype/scripts: Reduce the size of the 'data' segment.
3349         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
3350         '%pic'.
3351         * lib/unictype/scripts_byname.gperf: Regenerated.
3352
3353 2011-02-19  Bruno Haible  <bruno@clisp.org>
3354
3355         stdint: Update documentation.
3356         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
3357
3358 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
3359
3360         stdint: omit redundant check for wchar.h
3361         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
3362         always tests whether wchar.h exists, so remove the now-redundant test.
3363
3364 2011-02-18  Bruno Haible  <bruno@clisp.org>
3365
3366         stdint: Cut dependency to module 'wchar'.
3367         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
3368         include the necessary prerequisites.
3369         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
3370         * modules/stdint (Depends-on): Remove wchar.
3371         (Makefile.am): Substitute HAVE_WCHAR_H.
3372         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
3373
3374 2011-02-18  Eric Blake  <eblake@redhat.com>
3375
3376         longlong: skip, rather than fail, on cross-compilation
3377         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
3378         when cross-compiling; regression from 2011-02-16.
3379
3380 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3381
3382         * NEWS: Mention 2011-02-08 change to stdlib.
3383
3384 2011-02-17  Bruno Haible  <bruno@clisp.org>
3385
3386         getloadavg: Add comments about platforms.
3387         * m4/getloadavg.m4: Add comment.
3388         * lib/getloadavg.c: Likewise.
3389
3390 2011-02-17  Bruno Haible  <bruno@clisp.org>
3391
3392         getloadavg: Fix link error on Solaris 2.6.
3393         * modules/getloadavg (Link): New section.
3394         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
3395         linking test-getloadavg.
3396         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
3397         getloadavg.
3398
3399 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3400
3401         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
3402         It was 'int', but this doesn't match the IRIX 6.5 manual.
3403         Suggested by Bruno Haible in
3404         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
3405
3406 2011-02-17  Bruno Haible  <bruno@clisp.org>
3407
3408         havelib: Fix comments.
3409         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
3410         change.
3411
3412 2011-02-17  Bruno Haible  <bruno@clisp.org>
3413
3414         havelib: Update config.rpath.
3415         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
3416
3417 2011-02-17  Bruno Haible  <bruno@clisp.org>
3418
3419         getloadavg test: Add some plausibility checks.
3420         * tests/test-getloadavg.c (check_avg): Print a warning when the value
3421         is improbable.
3422
3423 2011-02-16  Eric Blake  <eblake@redhat.com>
3424
3425         maintainer-makefile: make syntax-check a no-op from tarballs
3426         * top/maint.mk (no-vc-detected): New rule.
3427         (local-checks-available): Use it to avoid hanging if someone tries
3428         'make syntax-check' from a tarball.  Also append to any non-syntax
3429         checks already defined in cfg.mk.
3430
3431 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
3432
3433         longlong: tune, particularly for common case of c99
3434
3435         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
3436         or running anything if c99, or if unsigned long long int does not
3437         work.  In either case, we know the answer without further tests.
3438         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
3439         it at most once, and use its results for both long long int and
3440         unsigned long long int.  This is more likely to be efficient in
3441         the common case where the program wants to check for both long
3442         long int and unsigned long long int.
3443         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
3444         since the answer is already known.
3445
3446 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
3447
3448         getloadavg: set errno
3449         * lib/getloadavg.c: Set errno when returning -1.  If no other
3450         error number looks appropriate, set it to ENOSYS if the getloadavg
3451         looks like it can't possibly ever work, ENOTSUP otherwise.
3452         Suggested by Bruno Haible in
3453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
3454
3455         getloadavg: trim unused parts and speed up 'configure'
3456         * NEWS: Document this.
3457         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
3458         always compiled if getloadavg is absent.
3459         Move test code to ...
3460         * tests/test-getloadavg.c: New file, containing previous
3461         contents of test from lib/getloadavg.c.  It also contains
3462         suggestions by Bruno Haible in
3463         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
3464         * modules/getloadavg-tests: New file.
3465         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
3466         Do tests in the same order as they're needed for getloadavg.c.
3467         Omit setgid-related tests that generate symbols KMEM_GROUP,
3468         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
3469         Do only the tests that are needed to see whether the system has
3470         getloadavg, moving the other tests into ...
3471         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
3472         NLIST_NAME_UNION; nobody should be using it.  Do not define
3473         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
3474         relevant, as the user of this module shouldn't care how getloadavg
3475         is implemented.
3476
3477         getloadavg: omit unused var
3478         * lib/getloadavg.c (getloadavg): Omit unused local variable.
3479
3480 2011-02-15  Jim Meyering  <meyering@redhat.com>
3481
3482         doc: update users.txt
3483         * users.txt: Update iwhd's URL.
3484
3485 2011-02-13  Bruno Haible  <bruno@clisp.org>
3486
3487         Consistent macro naming for macros that use GCC __attribute__.
3488         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
3489         _ATTRIBUTE_NONNULL_.
3490         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
3491         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
3492         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
3493         ATTRIBUTE_DEPRECATED.
3494         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
3495         ATTRIBUTE_NORETURN.
3496         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3497         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3498         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3499         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3500         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
3501         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
3502         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
3503         ATTRIBUTE_SENTINEL.
3504         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
3505         ATTRIBUTE_RETURN_CHECK.
3506         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
3507         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
3508         ATTRIBUTE_NORETURN.
3509         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
3510         Reported by Paul Eggert.
3511
3512 2011-02-13  Bruno Haible  <bruno@clisp.org>
3513
3514         Don't interfere with a program's definition of __attribute__.
3515         * lib/argp.h (__attribute__): Remove definition.
3516         (_GL_ATTRIBUTE_FORMAT): New macro.
3517         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
3518         * lib/argp-fmtstream.h (__attribute__): Remove definition.
3519         (_GL_ATTRIBUTE_FORMAT): New macro.
3520         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
3521         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
3522         GCC 3 or newer.
3523         * lib/error.h (__attribute__): Remove definition.
3524         (_GL_ATTRIBUTE_FORMAT): New macro.
3525         (error, error_at_line): Use it.
3526         * lib/hash.h (__attribute__): Remove definition.
3527         (ATTRIBUTE_WUR): Update definition. Define always.
3528         * lib/openat.h (__attribute__): Remove definition.
3529         (ATTRIBUTE_NORETURN): Update definition. Define always.
3530         * lib/sigpipe-die.h (__attribute__): Remove definition.
3531         (ATTRIBUTE_NORETURN): Update definition. Define always.
3532         * lib/vasnprintf.h (__attribute__): Remove definition.
3533         (_GL_ATTRIBUTE_FORMAT): New macro.
3534         (asnprintf, vasnprintf): Use it.
3535         * lib/xalloc.h (__attribute__): Remove definition.
3536         (ATTRIBUTE_NORETURN): Update definition. Define always.
3537         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
3538         * lib/xmemdup0.h (__attribute__): Remove definition.
3539         (ATTRIBUTE_NORETURN): Update definition. Define always.
3540         * lib/xprintf.h (__attribute__): Remove definition.
3541         (_GL_ATTRIBUTE_FORMAT): New macro.
3542         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
3543         * lib/xstrtol.h (__attribute__): Remove definition.
3544         (ATTRIBUTE_NORETURN): Update definition. Define always.
3545         * lib/xvasprintf.h (__attribute__): Remove definition.
3546         (_GL_ATTRIBUTE_FORMAT): New macro.
3547         (xasprintf, xvasprintf): Use it.
3548         * tests/test-argmatch.c (__attribute__): Remove definition.
3549         (ATTRIBUTE_NORETURN): Update definition. Define always.
3550         * tests/test-exclude.c (__attribute__): Remove definition.
3551         (ATTRIBUTE_NORETURN): Update definition. Define always.
3552         Reported by Paul Eggert.
3553
3554 2011-02-13  Bruno Haible  <bruno@clisp.org>
3555
3556         mbrtowc: Add more tests for native Windows platforms.
3557         * tests/test-mbrtowc-w32-1.sh: New file.
3558         * tests/test-mbrtowc-w32-2.sh: New file.
3559         * tests/test-mbrtowc-w32-3.sh: New file.
3560         * tests/test-mbrtowc-w32-4.sh: New file.
3561         * tests/test-mbrtowc-w32-5.sh: New file.
3562         * tests/test-mbrtowc-w32.c: New file.
3563         * modules/mbrtowc-tests (Files): Add them.
3564         (Makefile.am): Arrange to run these tests.
3565         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
3566         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
3567
3568 2011-02-13  Bruno Haible  <bruno@clisp.org>
3569
3570         mbrtowc: Work around native Windows bug.
3571         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
3572         guess when no suitable locale for testing was found.
3573         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
3574
3575 2011-02-13  Bruno Haible  <bruno@clisp.org>
3576
3577         mbsinit: Work around mingw bug.
3578         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
3579         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
3580         Windows.
3581         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
3582
3583 2011-02-13  Bruno Haible  <bruno@clisp.org>
3584
3585         mbsinit: Don't crash for a NULL argument.
3586         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
3587         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
3588
3589 2011-02-13  Bruno Haible  <bruno@clisp.org>
3590
3591         Don't interfere with a program's definition of __attribute__.
3592         * lib/stdio.in.h (__attribute__): Remove definition.
3593         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
3594         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
3595         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
3596         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
3597         * lib/string.in.h (__attribute__): Remove definition.
3598         Reported by Paul Eggert.
3599
3600 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3601
3602         stdlib: don't get in the way of non-GCC __attribute__
3603         See thread starting at
3604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
3605         Revert previous stdlib change, installing the following instead:
3606         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
3607         to get in the way of a non-GCC compiler that supports __attribute__.
3608         (_GL_ATTRIBUTE_RETURN): New macro.
3609         (_Exit): Use it instead of __attribute__.
3610
3611 2011-02-12  Bruno Haible  <bruno@clisp.org>
3612
3613         quotearg test: Avoid test failure on mingw.
3614         * tests/test-quotearg.sh: Convert the locale identifier from native
3615         Windows syntax to Unix syntax.
3616
3617 2011-02-12  Bruno Haible  <bruno@clisp.org>
3618
3619         setlocale: Prefer gnulib's override over libintl's override.
3620         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
3621         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
3622         GNULIB_defined_setlocale is set.
3623
3624 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3625
3626         stdlib: support non-GCC __attribute__
3627
3628         Fix a serious and tricky problem encountered when attempting to
3629         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
3630         5.5, but it crashed due to memory corruption on Solaris 10 with
3631         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
3632         bits that are otherwise zero.  This tagging is optional inside
3633         Emacs but is preferred and is used when __attribute__ ((__aligned
3634         (8))) works, as it does with both recent-enough GCC and with Sun C
3635         5.11.  However, Sun C 5.11 is not GCC and does not #define
3636         __GNUC__ and __GNUC_MINOR__.
3637
3638         When I added the getloadavg module to Emacs, it brought in
3639         stdlib.in.h, which contained this fragment:
3640
3641            #ifndef __attribute__
3642            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
3643            #  define __attribute__(Spec)   /* empty */
3644            # endif
3645            #endif
3646
3647         When files that include <stdlib.h> were compiled with Sun C 5.11,
3648         the above code disabled __attribute__ ((__aligned (8))), which
3649         caused variables to not be properly aligned, which eventually led
3650         to the pointer corruption mentioned above.  (This was a bit hard
3651         to diagnose, unfortunately.)
3652
3653         Several "#define __attribute__(X) /* empty */" code snippets need
3654         to be eradicated from Gnulib to work with non-GCC compilers that
3655         support __attribute__.  The Autoconf way to do this is to test for
3656         each kind of attribute that we want support for, and selectively
3657         enable that in source code.
3658
3659         Fix this problem just for stdlib.h, by adding a test for the
3660         __noreturn__ attribute, and change stdlib.in.h to use that test
3661         when needed.  This technique can be easily generalized to the
3662         other *.in.h files and attributes, and a similar technique can be
3663         used for *.h and *.c files.  This patch is enough to solve the
3664         problem for Emacs + getloadavg, and I thought I'd publish it for
3665         feedback before undertaking further, similar fixes in other
3666         modules.
3667
3668         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
3669         because it's not needed for stdlib.h.  It merely substitutes the
3670         value directly into stdlib.h.  We may well need to #define it, or
3671         similar symbols, for other modules, but it's nice to also have an
3672         option to not #define it for applications like Emacs that do not
3673         need it.
3674
3675         * lib/stdlib.in.h (__attribute__): Do not #define.
3676         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
3677         be defined only if the _Exit module is also used.
3678         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
3679         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
3680         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
3681         platforms.
3682         * modules/_Exit (Files): Add m4/attribute.m4.
3683         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
3684         * m4/attribute.m4: New file.
3685
3686 2011-02-12  Bruno Haible  <bruno@clisp.org>
3687
3688         wcsrtombs: Work around bug on native Windows.
3689         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
3690         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
3691         instead of len.
3692         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
3693
3694 2011-02-12  Bruno Haible  <bruno@clisp.org>
3695
3696         mbsrtowcs: Work around bug on native Windows.
3697         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
3698         against mingw bug.
3699         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
3700
3701 2011-02-12  Bruno Haible  <bruno@clisp.org>
3702
3703         Avoid setlocale bugs in tests.
3704         * modules/btowc (Dependencies): Add setlocale.
3705         * modules/c-strcase (Dependencies): Likewise.
3706         * modules/mbmemcasecmp (Dependencies): Likewise.
3707         * modules/mbmemcasecoll (Dependencies): Likewise.
3708         * modules/mbrtowc (Dependencies): Likewise.
3709         * modules/mbscasecmp (Dependencies): Likewise.
3710         * modules/mbscasestr (Dependencies): Likewise.
3711         * modules/mbschr (Dependencies): Likewise.
3712         * modules/mbscspn (Dependencies): Likewise.
3713         * modules/mbsinit (Dependencies): Likewise.
3714         * modules/mbsncasecmp (Dependencies): Likewise.
3715         * modules/mbsnrtowcs (Dependencies): Likewise.
3716         * modules/mbspbrk (Dependencies): Likewise.
3717         * modules/mbspcasecmp (Dependencies): Likewise.
3718         * modules/mbsrchr (Dependencies): Likewise.
3719         * modules/mbsrtowcs (Dependencies): Likewise.
3720         * modules/mbsspn (Dependencies): Likewise.
3721         * modules/mbsstr (Dependencies): Likewise.
3722         * modules/nl_langinfo (Dependencies): Likewise.
3723         * modules/quotearg (Dependencies): Likewise.
3724         * modules/unicase/locale-language (Dependencies): Likewise.
3725         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
3726         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
3727         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
3728         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
3729         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
3730         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
3731         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
3732         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
3733         * modules/vasnprintf-posix (Dependencies): Likewise.
3734         * modules/wcrtomb (Dependencies): Likewise.
3735         * modules/wcsnrtombs (Dependencies): Likewise.
3736         * modules/wcsrtombs (Dependencies): Likewise.
3737
3738 2011-02-12  Bruno Haible  <bruno@clisp.org>
3739
3740         setlocale: Workaround native Windows bug.
3741         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
3742         succeeds but sets LC_CTYPE to "C", report a failure.
3743         * tests/test-setlocale2.sh: New file.
3744         * tests/test-setlocale2.c: New file.
3745         * modules/setlocale-tests (Files): Add the new files.
3746         (Makefile.am): Enable test-setlocale2.sh test.
3747         * doc/posix-functions/setlocale.texi: Mention workaround.
3748
3749 2011-02-11  Bruno Haible  <bruno@clisp.org>
3750
3751         Tests for module 'setlocale'.
3752         * modules/setlocale-tests: New file.
3753         * tests/test-setlocale1.sh: New file.
3754         * tests/test-setlocale1.c: New file.
3755
3756         New module 'setlocale'.
3757         * lib/locale.in.h (setlocale): New declaration.
3758         * lib/setlocale.c: New file, based on
3759         gettext/gettext-runtime/intl/setlocale.c.
3760         * m4/setlocale.m4: New file.
3761         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
3762         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
3763         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
3764         REPLACE_SETLOCALE.
3765         * modules/setlocale: New file.
3766         * tests/test-locale-c++.cc: Test the declaration of setlocale.
3767         * doc/posix-functions/setlocale.texi: Mention the new module.
3768
3769 2011-02-11  Bruno Haible  <bruno@clisp.org>
3770
3771         Prepare for locale dependent tests on mingw.
3772         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
3773         because it has the wrong locale encoding.
3774         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
3775         French_France.1252 instead of "fr".
3776         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
3777         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
3778         because it has the wrong locale encoding.
3779         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
3780         native Windows, try Turkish_Turkey.65001.
3781         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
3782         Chinese_China.54936.
3783
3784         Prepare for locale dependent tests on mingw.
3785         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
3786         differently.
3787         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3788         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3789         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3790         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3791
3792 2011-02-11  Eric Blake  <eblake@redhat.com>
3793
3794         strptime: avoid compiler warnings
3795         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
3796         compiler warnings about dead code.
3797         Reported by Daniel P. Berrange.
3798
3799 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
3800
3801         doc: update users.txt
3802         * users.txt: Add rcs.
3803
3804 2011-02-10  John W. Eaton  <jwe@gnu.org>
3805
3806         doc: update users.txt
3807         * users.txt: Add octave.
3808
3809 2011-02-10  Jim Meyering  <meyering@redhat.com>
3810
3811         doc: update users.txt
3812         * users.txt: Add iwhd.
3813
3814 2011-02-09  Bruno Haible  <bruno@clisp.org>
3815
3816         gnulib-tool: Make copyright notice adjustment more robust.
3817         * gnulib-tool (func_import): In sed_transform_main_lib_file,
3818         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
3819         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
3820         License".
3821         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
3822
3823 2011-02-06  Bruno Haible  <bruno@clisp.org>
3824
3825         New module 'towctrans'.
3826         * modules/towctrans: New file.
3827         * lib/wctype.in.h (towctrans): New declaration.
3828         * lib/towctrans.c: New file.
3829         * lib/towctrans-impl.h: New file.
3830         * m4/towctrans.m4: New file.
3831         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
3832         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
3833         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
3834         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
3835         * doc/posix-functions/towctrans.texi: Mention the new module.
3836
3837 2011-02-06  Bruno Haible  <bruno@clisp.org>
3838
3839         New module 'wctrans'.
3840         * modules/wctrans: New file.
3841         * lib/wctype.in.h (wctrans): New declaration.
3842         * lib/wctrans.c: New file.
3843         * lib/wctrans-impl.h: New file.
3844         * m4/wctrans.m4: New file.
3845         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
3846         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
3847         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
3848         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
3849         * doc/posix-functions/wctrans.texi: Mention the new module.
3850
3851 2011-02-06  Bruno Haible  <bruno@clisp.org>
3852
3853         New module 'iswctype'.
3854         * modules/iswctype: New file.
3855         * lib/wctype.in.h (iswctype): New declaration.
3856         * lib/iswctype.c: New file.
3857         * lib/iswctype-impl.h: New file.
3858         * m4/iswctype.m4: New file.
3859         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
3860         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
3861         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
3862         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
3863         * doc/posix-functions/iswctype.texi: Mention the new module and the
3864         HP-UX 11.00 problem.
3865
3866 2011-02-06  Bruno Haible  <bruno@clisp.org>
3867
3868         New module 'wctype'.
3869         * modules/wctype: Change to represent the wctype() substitute.
3870         * lib/wctype.in.h (wctype): New declaration.
3871         * lib/wctype.c: New file.
3872         * lib/wctype-impl.h: New file.
3873         * m4/wctype.m4: New file.
3874         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
3875         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
3876         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
3877         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
3878         * doc/posix-functions/wctype.texi: Mention the new module and the
3879         HP-UX 11.00 problem.
3880
3881 2011-02-06  Bruno Haible  <bruno@clisp.org>
3882
3883         wctype-h: Ensure wctype_t and wctrans_t are defined.
3884         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
3885         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3886         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3887         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
3888         HAVE_WCTRANS_T.
3889         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
3890
3891 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3892
3893         flock: fix license typo
3894
3895         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
3896         omitted.
3897
3898 2011-02-08  Bruno Haible  <bruno@clisp.org>
3899
3900         Split large sed scripts, for HP-UX sed.
3901         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
3902         to avoid HP-UX limit of 99 commands, in the near future.
3903         * modules/stdlib (Makefile.am): Likewise.
3904         * modules/unistd (Makefile.am): Likewise.
3905         * modules/wchar (Makefile.am): Likewise.
3906         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3907         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
3908         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
3909
3910 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3911             Bruno Haible  <bruno@clisp.org>
3912
3913         stdlib: improve random_r modularization
3914         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
3915         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
3916         you also need the random_r module to get this material right.
3917         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
3918         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
3919         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
3920
3921 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3922
3923         stdlib: don't depend on stdint
3924         * lib/stdlib.in.h: Don't include <stdint.h> merely because
3925         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
3926         be independent of whether stdint.h is needed.
3927         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
3928         here, instead of ...
3929         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
3930         struct random_data should be using the random_r module, not just
3931         the stdlib module (which wouldn't make sense: what package needs
3932         just struct random_data without also needing random_r?).
3933         * modules/stdlib (Depends-on): Remove stdint.
3934
3935         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
3936         See the thread rooted at
3937         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
3938         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
3939         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
3940         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
3941         __VMS)); previously it was always included (via fcntl--.h).
3942         (getloadavg): Do not use c_strtod.  Instead, approximate it by
3943         hand; this is good enough for load averages.  Also, do not use
3944         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
3945         flags directly if available and don't bother otherwise.  (Packages
3946         that need the extra reliability should use the modules that define
3947         these flags on older platforms that lack them.)
3948         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
3949         fcntl-safer.
3950
3951 2011-02-08  Jim Meyering  <meyering@redhat.com>
3952
3953         di-set.h, ino-map.h: add multiple-inclusion guard
3954         Technically, the guard is required only for ino-map.h, due to its
3955         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
3956         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
3957         * lib/ino-map.h: Likewise.
3958
3959 2011-02-06  Bruno Haible  <bruno@clisp.org>
3960
3961         iswblank: Ensure declaration on glibc systems.
3962         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
3963         * modules/iswblank (Dependencies): Add 'extensions'.
3964         * doc/posix-functions/iswblank.texi: Document the glibc problem.
3965
3966 2011-02-06  Bruno Haible  <bruno@clisp.org>
3967
3968         New module 'iswblank'.
3969         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
3970         * modules/iswblank: New file.
3971         * modules/wctype-h (Files): Remove lib/iswblank.c.
3972         (Makefile.am): Substitute GNULIB_ISWBLANK.
3973         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
3974         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
3975         (gl_WCTYPE_H_DEFAULTS): New macro.
3976         (gl_WCTYPE_H): Require it. Remove iswblank related code.
3977         * modules/iswblank-tests: New file.
3978         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
3979         * tests/test-wctype-h.c (main): Remove iswblank tests.
3980         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
3981         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
3982         of 'wctype-h'.
3983         * NEWS: Mention the change.
3984         * modules/mbchar (Depends-on): Add iswblank.
3985
3986 2011-02-08  Bruno Haible  <bruno@clisp.org>
3987
3988         di-set tests: Refactor.
3989         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
3990         unnecessary includes.
3991         (ASSERT): Remove macro.
3992         (main): Make C90 compliant by avoiding variable declaration after
3993         statement.
3994         * modules/di-set-tests (Files): Add tests/macros.h.
3995
3996 2011-02-08  Bruno Haible  <bruno@clisp.org>
3997
3998         ino-map tests: Refactor.
3999         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
4000         unnecessary includes.
4001         (ASSERT): Remove macro.
4002         (main): Make C90 compliant by avoiding variable declaration after
4003         statement.
4004         * modules/ino-map-tests (Files): Add tests/macros.h.
4005
4006 2011-02-08  Jim Meyering  <meyering@redhat.com>
4007
4008         di-set: add "const" to a cast
4009         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
4010         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
4011
4012 2011-02-06  Bruno Haible  <bruno@clisp.org>
4013
4014         Rename module 'wctype' to 'wctype-h'.
4015         * modules/wctype-h: Renamed from modules/wctype.
4016         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
4017         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
4018         (Files, Depends-on, Makefile.am): Update.
4019         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
4020         (Files, Makefile.am): Update.
4021         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
4022         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
4023         * doc/posix-headers/wctype.texi: Update.
4024         * doc/posix-functions/iswalnum.texi: Update.
4025         * doc/posix-functions/iswalpha.texi: Update.
4026         * doc/posix-functions/iswblank.texi: Update.
4027         * doc/posix-functions/iswcntrl.texi: Update.
4028         * doc/posix-functions/iswdigit.texi: Update.
4029         * doc/posix-functions/iswgraph.texi: Update.
4030         * doc/posix-functions/iswlower.texi: Update.
4031         * doc/posix-functions/iswprint.texi: Update.
4032         * doc/posix-functions/iswpunct.texi: Update.
4033         * doc/posix-functions/iswspace.texi: Update.
4034         * doc/posix-functions/iswupper.texi: Update.
4035         * doc/posix-functions/iswxdigit.texi: Update.
4036         * doc/posix-functions/towlower.texi: Update.
4037         * doc/posix-functions/towupper.texi: Update.
4038         * NEWS: Mention the change.
4039         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
4040         * modules/mbchar (Dependencies): Likewise.
4041         * modules/mbswidth (Dependencies): Likewise.
4042         * modules/quotearg (Dependencies): Likewise.
4043         * modules/regex (Dependencies): Likewise.
4044         * modules/wcscasecmp (Dependencies): Likewise.
4045         * modules/wcsncasecmp (Dependencies): Likewise.
4046         * modules/wcwidth (Dependencies): Likewise.
4047
4048 2011-02-06  Bruno Haible  <bruno@clisp.org>
4049
4050         New module 'wcswidth'.
4051         * modules/wcswidth: New file.
4052         * lib/wchar.in.h (wcswidth): New declaration.
4053         * lib/wcswidth.c: New file.
4054         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
4055         * m4/wcswidth.m4: New file.
4056         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
4057         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
4058         REPLACE_WCSWIDTH.
4059         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
4060         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
4061         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
4062         * doc/posix-functions/wcswidth.texi: Mention the new module.
4063
4064 2011-02-06  Bruno Haible  <bruno@clisp.org>
4065
4066         New module 'wcstok'.
4067         * modules/wcstok: New file.
4068         * lib/wchar.in.h (wcstok): New declaration.
4069         * lib/wcstok.c: New file.
4070         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
4071         * m4/wcstok.m4: New file.
4072         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
4073         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
4074         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
4075         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
4076         * doc/posix-functions/wcstok.texi: Mention the new module.
4077
4078 2011-02-06  Bruno Haible  <bruno@clisp.org>
4079
4080         New module 'wcsstr'.
4081         * modules/wcsstr: New file.
4082         * lib/wchar.in.h (wcsstr): New declaration.
4083         * lib/wcsstr.c: New file.
4084         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
4085         * m4/wcsstr.m4: New file.
4086         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
4087         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
4088         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
4089         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
4090         * doc/posix-functions/wcsstr.texi: Mention the new module.
4091
4092 2011-02-06  Bruno Haible  <bruno@clisp.org>
4093
4094         New module 'wcspbrk'.
4095         * modules/wcspbrk: New file.
4096         * lib/wchar.in.h (wcspbrk): New declaration.
4097         * lib/wcspbrk.c: New file.
4098         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
4099         * m4/wcspbrk.m4: New file.
4100         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
4101         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
4102         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
4103         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
4104         * doc/posix-functions/wcspbrk.texi: Mention the new module.
4105
4106 2011-02-06  Bruno Haible  <bruno@clisp.org>
4107
4108         New module 'wcsspn'.
4109         * modules/wcsspn: New file.
4110         * lib/wchar.in.h (wcsspn): New declaration.
4111         * lib/wcsspn.c: New file.
4112         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
4113         * m4/wcsspn.m4: New file.
4114         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
4115         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
4116         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
4117         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
4118         * doc/posix-functions/wcsspn.texi: Mention the new module.
4119
4120 2011-02-06  Bruno Haible  <bruno@clisp.org>
4121
4122         New module 'wcscspn'.
4123         * modules/wcscspn: New file.
4124         * lib/wchar.in.h (wcscspn): New declaration.
4125         * lib/wcscspn.c: New file.
4126         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
4127         * m4/wcscspn.m4: New file.
4128         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
4129         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
4130         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
4131         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
4132         * doc/posix-functions/wcscspn.texi: Mention the new module.
4133
4134 2011-02-06  Bruno Haible  <bruno@clisp.org>
4135
4136         New module 'wcsrchr'.
4137         * modules/wcsrchr: New file.
4138         * lib/wchar.in.h (wcsrchr): New declaration.
4139         * lib/wcsrchr.c: New file.
4140         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
4141         * m4/wcsrchr.m4: New file.
4142         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
4143         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
4144         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
4145         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
4146         * doc/posix-functions/wcsrchr.texi: Mention the new module.
4147
4148 2011-02-06  Bruno Haible  <bruno@clisp.org>
4149
4150         New module 'wcschr'.
4151         * modules/wcschr: New file.
4152         * lib/wchar.in.h (wcschr): New declaration.
4153         * lib/wcschr.c: New file.
4154         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
4155         * m4/wcschr.m4: New file.
4156         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
4157         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
4158         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
4159         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
4160         * doc/posix-functions/wcschr.texi: Mention the new module.
4161
4162 2011-02-06  Bruno Haible  <bruno@clisp.org>
4163
4164         New module 'wcsdup'.
4165         * modules/wcsdup: New file.
4166         * lib/wchar.in.h (wcsdup): New declaration.
4167         * lib/wcsdup.c: New file.
4168         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
4169         * m4/wcsdup.m4: New file.
4170         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
4171         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
4172         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
4173         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
4174         * doc/posix-functions/wcsdup.texi: Mention the new module.
4175
4176 2011-02-06  Bruno Haible  <bruno@clisp.org>
4177
4178         New module 'wcsxfrm'.
4179         * modules/wcsxfrm: New file.
4180         * lib/wchar.in.h (wcsxfrm): New declaration.
4181         * lib/wcsxfrm.c: New file.
4182         * lib/wcsxfrm-impl.h: New file.
4183         * m4/wcsxfrm.m4: New file.
4184         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
4185         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
4186         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
4187         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
4188         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
4189
4190 2011-02-06  Bruno Haible  <bruno@clisp.org>
4191
4192         New module 'wcscoll'.
4193         * modules/wcscoll: New file.
4194         * lib/wchar.in.h (wcscoll): New declaration.
4195         * lib/wcscoll.c: New file.
4196         * lib/wcscoll-impl.h: New file.
4197         * m4/wcscoll.m4: New file.
4198         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
4199         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
4200         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
4201         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
4202         * doc/posix-functions/wcscoll.texi: Mention the new module.
4203
4204 2011-02-06  Bruno Haible  <bruno@clisp.org>
4205
4206         New module 'wcsncasecmp'.
4207         * modules/wcsncasecmp: New file.
4208         * lib/wchar.in.h (wcsncasecmp): New declaration.
4209         * lib/wcsncasecmp.c: New file.
4210         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
4211         * m4/wcsncasecmp.m4: New file.
4212         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
4213         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
4214         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
4215         HAVE_WCSNCASECMP.
4216         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
4217         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
4218
4219 2011-02-06  Bruno Haible  <bruno@clisp.org>
4220
4221         New module 'wcscasecmp'.
4222         * modules/wcscasecmp: New file.
4223         * lib/wchar.in.h (wcscasecmp): New declaration.
4224         * lib/wcscasecmp.c: New file.
4225         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
4226         * m4/wcscasecmp.m4: New file.
4227         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
4228         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
4229         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
4230         HAVE_WCSCASECMP.
4231         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
4232         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
4233
4234 2011-02-05  Bruno Haible  <bruno@clisp.org>
4235
4236         New module 'wcsncmp'.
4237         * modules/wcsncmp: New file.
4238         * lib/wchar.in.h (wcsncmp): New declaration.
4239         * lib/wcsncmp.c: New file.
4240         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
4241         * m4/wcsncmp.m4: New file.
4242         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
4243         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
4244         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
4245         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
4246         * doc/posix-functions/wcsncmp.texi: Mention the new module.
4247
4248 2011-02-05  Bruno Haible  <bruno@clisp.org>
4249
4250         New module 'wcscmp'.
4251         * modules/wcscmp: New file.
4252         * lib/wchar.in.h (wcscmp): New declaration.
4253         * lib/wcscmp.c: New file.
4254         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
4255         * m4/wcscmp.m4: New file.
4256         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
4257         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
4258         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
4259         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
4260         * doc/posix-functions/wcscmp.texi: Mention the new module.
4261
4262 2011-02-05  Bruno Haible  <bruno@clisp.org>
4263
4264         New module 'wcsncat'.
4265         * modules/wcsncat: New file.
4266         * lib/wchar.in.h (wcsncat): New declaration.
4267         * lib/wcsncat.c: New file.
4268         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
4269         * m4/wcsncat.m4: New file.
4270         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
4271         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
4272         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
4273         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
4274         * doc/posix-functions/wcsncat.texi: Mention the new module.
4275
4276 2011-02-05  Bruno Haible  <bruno@clisp.org>
4277
4278         New module 'wcscat'.
4279         * modules/wcscat: New file.
4280         * lib/wchar.in.h (wcscat): New declaration.
4281         * lib/wcscat.c: New file.
4282         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
4283         * m4/wcscat.m4: New file.
4284         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
4285         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
4286         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
4287         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
4288         * doc/posix-functions/wcscat.texi: Mention the new module.
4289
4290 2011-02-05  Bruno Haible  <bruno@clisp.org>
4291
4292         New module 'wcpncpy'.
4293         * modules/wcpncpy: New file.
4294         * lib/wchar.in.h (wcpncpy): New declaration.
4295         * lib/wcpncpy.c: New file.
4296         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
4297         * m4/wcpncpy.m4: New file.
4298         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
4299         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
4300         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
4301         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
4302         * doc/posix-functions/wcpncpy.texi: Mention the new module.
4303
4304 2011-02-05  Bruno Haible  <bruno@clisp.org>
4305
4306         New module 'wcsncpy'.
4307         * modules/wcsncpy: New file.
4308         * lib/wchar.in.h (wcsncpy): New declaration.
4309         * lib/wcsncpy.c: New file.
4310         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
4311         * m4/wcsncpy.m4: New file.
4312         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
4313         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
4314         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
4315         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
4316         * doc/posix-functions/wcsncpy.texi: Mention the new module.
4317
4318 2011-02-05  Bruno Haible  <bruno@clisp.org>
4319
4320         New module 'wcpcpy'.
4321         * modules/wcpcpy: New file.
4322         * lib/wchar.in.h (wcpcpy): New declaration.
4323         * lib/wcpcpy.c: New file.
4324         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
4325         * m4/wcpcpy.m4: New file.
4326         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
4327         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
4328         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
4329         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
4330         * doc/posix-functions/wcpcpy.texi: Mention the new module.
4331
4332 2011-02-05  Bruno Haible  <bruno@clisp.org>
4333
4334         New module 'wcscpy'.
4335         * modules/wcscpy: New file.
4336         * lib/wchar.in.h (wcscpy): New declaration.
4337         * lib/wcscpy.c: New file.
4338         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
4339         * m4/wcscpy.m4: New file.
4340         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
4341         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
4342         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
4343         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
4344         * doc/posix-functions/wcscpy.texi: Mention the new module.
4345
4346 2011-02-05  Bruno Haible  <bruno@clisp.org>
4347
4348         New module 'wcsnlen'.
4349         * modules/wcsnlen: New file.
4350         * lib/wchar.in.h (wcsnlen): New declaration.
4351         * lib/wcsnlen.c: New file.
4352         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
4353         * m4/wcsnlen.m4: New file.
4354         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
4355         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
4356         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
4357         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
4358         * doc/posix-functions/wcsnlen.texi: Mention the new module.
4359
4360 2011-02-05  Bruno Haible  <bruno@clisp.org>
4361
4362         New module 'wcslen'.
4363         * modules/wcslen: New file.
4364         * lib/wchar.in.h (wcslen): New declaration.
4365         * lib/wcslen.c: New file.
4366         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
4367         * m4/wcslen.m4: New file.
4368         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
4369         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
4370         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
4371         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
4372         * doc/posix-functions/wcslen.texi: Mention the new module.
4373
4374 2011-02-05  Bruno Haible  <bruno@clisp.org>
4375
4376         New module 'wmemset'.
4377         * modules/wmemset: New file.
4378         * lib/wchar.in.h (wmemset): New declaration.
4379         * lib/wmemset.c: New file.
4380         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
4381         * m4/wmemset.m4: New file.
4382         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
4383         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
4384         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
4385         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
4386         * doc/posix-functions/wmemset.texi: Mention the new module.
4387
4388 2011-02-05  Bruno Haible  <bruno@clisp.org>
4389
4390         New module 'wmemmove'.
4391         * modules/wmemmove: New file.
4392         * lib/wchar.in.h (wmemmove): New declaration.
4393         * lib/wmemmove.c: New file.
4394         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
4395         * m4/wmemmove.m4: New file.
4396         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
4397         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
4398         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
4399         HAVE_WMEMMOVE.
4400         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
4401         * doc/posix-functions/wmemmove.texi: Mention the new module.
4402
4403 2011-02-05  Bruno Haible  <bruno@clisp.org>
4404
4405         New module 'wmemcpy'.
4406         * modules/wmemcpy: New file.
4407         * lib/wchar.in.h (wmemcpy): New declaration.
4408         * lib/wmemcpy.c: New file.
4409         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
4410         * m4/wmemcpy.m4: New file.
4411         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
4412         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
4413         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
4414         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
4415         * doc/posix-functions/wmemcpy.texi: Mention the new module.
4416
4417 2011-02-05  Bruno Haible  <bruno@clisp.org>
4418
4419         New module 'wmemcmp'.
4420         * modules/wmemcmp: New file.
4421         * lib/wchar.in.h (wmemcmp): New declaration.
4422         * lib/wmemcmp.c: New file.
4423         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
4424         * m4/wmemcmp.m4: New file.
4425         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
4426         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
4427         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
4428         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
4429         * doc/posix-functions/wmemcmp.texi: Mention the new module.
4430
4431 2011-02-07  Jim Meyering  <meyering@redhat.com>
4432
4433         di-set, ino-map: new modules, from coreutils
4434         * lib/di-set.c: New file.
4435         * lib/di-set.h: Likewise.
4436         * lib/ino-map.c: Likewise.
4437         * lib/ino-map.h: Likewise.
4438         * modules/di-set: Likewise.
4439         * modules/di-set-tests: Likewise.
4440         * modules/ino-map: Likewise.
4441         * modules/ino-map-tests: Likewise.
4442         * tests/test-di-set.c: Likewise.
4443         * tests/test-ino-map.c: Likewise.
4444
4445 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
4446
4447         getloadavg: merge minor changes from Emacs
4448
4449         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
4450         (getloadavg): Use memset, not bzero.
4451
4452         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
4453         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4454         clash (bug#86).
4455
4456 2010-11-14  Bruno Haible  <bruno@clisp.org>
4457
4458         Allow multiple gnulib generated replacements to coexist.
4459         * lib/getopt.in.h (struct option): Avoid identical redefinition.
4460         * lib/inttypes.in.h (imaxdiv_t): Likewise.
4461         * lib/langinfo.in.h (nl_item): Likewise.
4462         * lib/math.in.h (_NaN, NAN): Likewise.
4463         * lib/netdb.in.h (struct addrinfo): Likewise.
4464         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
4465         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
4466         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
4467         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
4468         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
4469         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
4470         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
4471         pthread_mutexattr_init, pthread_mutexattr_settype,
4472         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
4473         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
4474         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
4475         pthread_spin_trylock, pthread_spin_unlock): Likewise.
4476         * lib/sched.in.h (struct sched_param): Likewise.
4477         * lib/se-selinux.in.h (security_class_t, security_context_t,
4478         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
4479         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
4480         lsetfilecon, fsetfilecon, security_check_context,
4481         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
4482         Likewise.
4483         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
4484         Likewise.
4485         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
4486         _gl_function_taking_int_returning_void_t, union sigval,
4487         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
4488         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
4489         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
4490         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
4491         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
4492         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
4493         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
4494         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
4495         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
4496         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
4497         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
4498         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
4499         socklen_t, rpl_fd_isset): Likewise.
4500         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
4501         * lib/sys_time.in.h (struct timeval): Likewise.
4502         * lib/sys_times.in.h (struct tms): Likewise.
4503         * lib/sys_utsname.in.h (struct utsname):
4504         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
4505         * lib/unistd.in.h (getpagesize): Likewise.
4506         * lib/wchar.in.h (mbstate_t): Likewise.
4507         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4508         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
4509         towlower, towupper): Likewise.
4510         Reported by Sam Steingold <sds@gnu.org>.
4511
4512 2011-02-05  Eric Blake  <eblake@redhat.com>
4513
4514         unsetenv: work around Haiku issues
4515         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
4516         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
4517
4518 2010-12-30  Bruce Korb  <bkorb@gnu.org>
4519
4520         libposix: avoid calling error() within libposix
4521         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
4522         is defined.
4523
4524 2011-02-05  Eric Blake  <eblake@redhat.com>
4525
4526         strerror_r-posix: port to cygwin
4527         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
4528         implementation.
4529         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
4530         * tests/test-strerror_r.c (main): Fix test.
4531         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4532         issue.
4533
4534 2011-02-05  Bruno Haible  <bruno@clisp.org>
4535
4536         New module 'wmemchr'.
4537         * modules/wmemchr: New file.
4538         * lib/wchar.in.h (wmemchr): New declaration.
4539         * lib/wmemchr.c: New file.
4540         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
4541         * m4/wmemchr.m4: New file.
4542         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
4543         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
4544         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
4545         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
4546         * doc/posix-functions/wmemchr.texi: Mention the new module.
4547
4548 2011-02-04  Eric Blake  <eblake@redhat.com>
4549
4550         fdopendir: detect FreeBSD bug
4551         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
4552         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
4553
4554 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
4555
4556         stdbool: do not define HAVE_STDBOOL_H
4557         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
4558         AC_HEADER_STDBOOL.  All uses changed.  Do not define
4559         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
4560         imported from the latest Autoconf git.  It was motivated by Emacs,
4561         which uses gnulib but does not need HAVE_STDBOOL_H.
4562
4563 2011-02-04  Bruno Haible  <bruno@clisp.org>
4564
4565         wcsnrtombs: Prepare for new module wwcsnrtombs.
4566         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
4567         * lib/wcsnrtombs.c: Include it.
4568         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
4569
4570         wcsrtombs: Prepare for new module wwcsrtombs.
4571         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
4572         * lib/wcsrtombs.c: Include it.
4573         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
4574
4575         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
4576         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
4577         * lib/mbsnrtowcs.c: Include it.
4578         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
4579
4580         mbsrtowcs: Prepare for new module mbsrtowwcs.
4581         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
4582         * lib/mbsrtowcs.c: Include it.
4583         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
4584
4585 2011-02-04  Bruno Haible  <bruno@clisp.org>
4586
4587         vasnprintf: Reduce use of malloc for small format strings.
4588         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
4589         (arguments): Add room for the first 7 arguments.
4590         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
4591         (char_directives, u8_directives, u16_directives, u32_directives): Add
4592         room for the first 7 directives.
4593         * lib/printf-parse.c: Include <string.h>.
4594         (PRINTF_PARSE): Change memory handling code so that it uses the first
4595         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
4596         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
4597         Reported by Pádraig Brady <P@draigbrady.com>.
4598
4599 2011-01-31  Eric Blake  <eblake@redhat.com>
4600
4601         dup2: work around Haiku bug
4602         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
4603         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
4604         * doc/posix-functions/dup2.texi (dup2): Document the bug.
4605         * tests/test-dup2.c (main): Enhance test.
4606
4607 2011-01-31  Simon Josefsson  <simon@josefsson.org>
4608
4609         doc: off_t is not available in eglibc 2.11.2 stdio.h.
4610         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
4611         declared by eglibc 2.11.2.
4612         * lib/stdio.in.h: Likewise.
4613
4614 2011-01-31  Eric Blake  <eblake@redhat.com>
4615
4616         ignore-value: add missing test dependency
4617         * tests/test-ignore-value.c: Revert previous change; stdio.h
4618         provides off_t.
4619         * modules/ignore-value-tests (Depends-on): Add missing dependency.
4620
4621 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
4622
4623         mktime: clarify long_int width checking
4624         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
4625         the top level, to make it clearer that the assumption about
4626         long_int width is being checked.  See
4627         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
4628
4629 2011-01-30  Simon Josefsson  <simon@josefsson.org>
4630
4631         ignore-value: Fix self-test.
4632         * tests/test-ignore-value.c: Include sys/types.h for off_t.
4633
4634 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
4635
4636         TYPE_MAXIMUM: avoid theoretically undefined behavior
4637         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
4638         negative number, which the C Standard says has undefined behavior.
4639         In practice this is not a problem, but might as well do it by the book.
4640         Reported by Rich Felker and Eric Blake; see
4641         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
4642         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
4643         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
4644         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4645         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
4646         * m4/stdint.m4 (gl_STDINT_H): Likewise.
4647         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
4648
4649         mktime: #undef mktime before #defining it
4650         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
4651
4652         mktime: systematically normalize tm_isdst comparisons
4653         * lib/mktime.c (isdst_differ): New function.
4654         (__mktime_internal): Use it systematically for all isdst comparisons.
4655         This completes the fix for libc BZ #6723, and removes the need for
4656         normalizing tm_isdst.  See
4657         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
4658         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
4659
4660         mktime: fix some integer overflow issues and sidestep the rest
4661
4662         This was prompted by a bug report by Benjamin Lindner for MinGW
4663         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
4664         His bug is due to signed integer overflow (0 - INT_MIN), and I
4665         I scanned through mktime.c looking for other integer overflow
4666         problems, fixing all the bugs I found.
4667
4668         Although the C Standard says the resulting code is still not safe
4669         in the presence of integer overflow, in practice it should be good
4670         enough for all real-world two's-complement implementations, except
4671         for debugging environments that deliberately trap on integer
4672         overflow (e.g., gcc -ftrapv).
4673
4674         * lib/mktime.c (WRAPV): New macro.
4675         (SHR): Also check that long_int and time_t shift right in the
4676         usual way, before using the fast-but-unportable method.
4677         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
4678         used.  The code already assumed two's complement, so there's
4679         no need to test for alternatives.  All uses removed.
4680         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
4681         the C standard.  Problem reported by Rich Felker in
4682         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
4683         (twos_complement_arithmetic): Also check long_int and time_t.
4684         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
4685         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
4686         (__mktime_internal): Avoid integer overflow with unary subtraction
4687         in two instances where -1 - X is an adequate replacement for -X,
4688         since the calculations are approximate.
4689
4690 2011-01-29  Eric Blake  <eblake@redhat.com>
4691
4692         mktime: avoid infinite loop
4693         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
4694         type; behavior is still undefined but portable to all known targets.
4695         Reported by Rich Felker.
4696
4697 2011-01-29  Simon Josefsson  <simon@josefsson.org>
4698
4699         rename, unlink, same-inode: Relicense.
4700         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
4701         * modules/unlink (License): Likewise.
4702         * modules/same-inode (License): Likewise.
4703
4704 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4705
4706         mktime: avoid problems on NetBSD 5 / i386
4707         * lib/mktime.c (long_int): New type.  This works around a problem
4708         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
4709         but time_t is 64 bits, and where I expect the existing code is
4710         wrong in some cases.
4711         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
4712         (ydhms_diff): Bring back the compile-time check for wide-enough
4713         year and yday.
4714
4715         mktime: fix misspelling in comment
4716         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
4717         This merges all recent glibc changes of importance.
4718
4719 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4720
4721         move-if-change: cope with concurrent mv of identical file.
4722         * build-aux/move-if-change (CMPPROG): Accept environment
4723         variable as an override for `cmp'.
4724         (usage): Document CMPPROG.
4725         Adjust comparison to drop stdout.  Cope with failure of mv if
4726         the target file exists and is identical to the source, for
4727         parallel builds.
4728         Report from H.J. Lu against binutils in PR binutils/12283.
4729
4730 2011-01-28  Bruce Korb  <bkorb@gnu.org>
4731
4732         * users.txt: Mention sharutils.
4733
4734 2011-01-28  Simon Josefsson  <simon@josefsson.org>
4735
4736         * users.txt: Mention OATH Toolkit.
4737
4738 2011-01-27  Bruno Haible  <bruno@clisp.org>
4739
4740         Prepare for supporting FreeBSD 10.
4741         * build-aux/config.libpath: Remove handling of freebsd1*.
4742
4743 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
4744
4745         Prepare for supporting FreeBSD 10.
4746         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
4747         match FreeBSD 10.0.
4748
4749 2011-01-27  Bruno Haible  <bruno@clisp.org>
4750
4751         vma-iter, get-rusage-as: Add OpenBSD support.
4752         * modules/vma-iter (configure.ac): Test for mquery.
4753         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
4754         * lib/vma-iter.c: Include <sys/mman.h>.
4755         (vma_iterate): Add an implementation based on mquery().
4756         * lib/resource-ext.h (get_rusage_as): Update comments.
4757         * lib/get-rusage-as.c: Likewise.
4758         * lib/get-rusage-data.c: Likewise.
4759
4760 2011-01-26  Karl Berry  <karl@gnu.org>
4761
4762         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
4763         variables to make it easier to override the makeinfo program used.
4764
4765 2011-01-26  Eric Blake  <eblake@redhat.com>
4766
4767         fcntl: work around Haiku F_DUPFD bugs
4768         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
4769         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
4770         cloexec bit on duplication.
4771         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
4772
4773 2011-01-26  Bruno Haible  <bruno@clisp.org>
4774
4775         Enable memory leak tests on AIX.
4776         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
4777         * tests/test-fprintf-posix3.c (main): Likewise.
4778
4779 2011-01-26  Bruno Haible  <bruno@clisp.org>
4780
4781         Tests for module 'get-rusage-data'.
4782         * modules/get-rusage-data-tests: New file.
4783         * tests/test-get-rusage-data.c: New file.
4784
4785         New module 'get-rusage-data'.
4786         * lib/resource-ext.h (get_rusage_data): New declaration.
4787         * lib/get-rusage-data.c: New file.
4788         * modules/get-rusage-data: New file.
4789
4790 2011-01-25  Bruno Haible  <bruno@clisp.org>
4791
4792         get-rusage-as: Allow for easier testing.
4793         * lib/resource-ext.h (get_rusage_as): Add comment.
4794         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
4795         (main): New function for interactive testing.
4796
4797 2011-01-25  Bruno Haible  <bruno@clisp.org>
4798
4799         vma-iter: Treat Haiku like BeOS.
4800         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
4801         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
4802
4803 2011-01-25  Eric Blake  <eblake@redhat.com>
4804
4805         c-stack: fix regression on cygwin when libsigsegv is present
4806         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
4807
4808 2011-01-24  Bruno Haible  <bruno@clisp.org>
4809
4810         vma-iter: Avoid empty intervals.
4811         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
4812         on an empty interval.
4813
4814 2011-01-24  Jim Meyering  <meyering@redhat.com>
4815
4816         u64: remove unnecessary #include
4817         * lib/u64.h: Don't include <stddef.h>.  It was not used.
4818
4819 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4820
4821         Allow the user to avoid the HAVE_RAW_DECL_* macros.
4822         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
4823
4824 2011-01-23  Bruno Haible  <bruno@clisp.org>
4825
4826         New module 'vma-iter'.
4827         * lib/vma-iter.h: New file.
4828         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
4829         * modules/vma-iter: New file.
4830         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
4831         for get_rusage_as_via_iterator.
4832         (vma_iterate_callback): New function.
4833         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
4834         * modules/get-rusage-as (Depends-on): Add vma-iter.
4835
4836 2011-01-23  Bruno Haible  <bruno@clisp.org>
4837
4838         uninorm: Tweak includes.
4839         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
4840         Reported by Jim Meyering.
4841
4842 2011-01-23  Bruno Haible  <bruno@clisp.org>
4843
4844         get-rusage-as: Improve on NetBSD.
4845         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
4846         /proc, like on FreeBSD.
4847
4848 2011-01-23  Jim Meyering  <meyering@redhat.com>
4849
4850         xreadlink.h: remove unnecessary #include
4851         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
4852
4853         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
4854         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
4855
4856 2011-01-23  Bruno Haible  <bruno@clisp.org>
4857
4858         get-rusage-as: Fix bug.
4859         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
4860         original limit when aborting the first loop.
4861
4862 2011-01-23  Bruno Haible  <bruno@clisp.org>
4863
4864         wctype: Ensure valid C syntax.
4865         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
4866         unconditionally, instead of gl_NEXT_HEADERS conditionally.
4867
4868 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
4869
4870         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
4871         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
4872         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
4873         as they are needed only for configure's test case.
4874         This removes two unnecessary symbols from config.h.
4875
4876         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
4877         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
4878         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
4879         AC_CHECK_HEADERS_ONCE on a header that we also invoke
4880         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
4881         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
4882         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
4883         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4884         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4885         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4886         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
4887         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4888         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4889         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4890         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4891         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4892         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
4893         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4894
4895 2011-01-21  Eric Blake  <eblake@redhat.com>
4896
4897         maintainer-makefile: work with older git for submodule check
4898         * top/maint.mk (public-submodule-commit): Rewrite to avoid
4899         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
4900         Reported by Matthias Bolte.
4901
4902         bootstrap: minor portability fixes
4903         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
4904         (usage): Omit leading capital and trailing . on help phrases, per
4905         GNU Coding Standards.
4906         (check_versions, top level): Prefix messages with script name.
4907
4908 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
4909
4910         bootstrap: support --no-git option
4911         * build-aux/bootstrap: Add --no-git option, to be used when
4912         --gnulib-srcdir points to the exact desired checkout.
4913
4914 2011-01-21  Eric Blake  <eblake@redhat.com>
4915
4916         strerror_r-posix: work with glibc 2.13
4917         * lib/strerror_r.c (strerror_r): Fix return type.
4918
4919 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4920             Bruno Haible  <bruno@clisp.org>
4921
4922         uN_strstr: New unit tests.
4923         * modules/unistr/u8-strstr-tests: New file.
4924         * modules/unistr/u16-strstr-tests: New file.
4925         * modules/unistr/u32-strstr-tests: New file.
4926         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
4927         * tests/unistr/test-u8-strstr.c: New file.
4928         * tests/unistr/test-u16-strstr.c: New file.
4929         * tests/unistr/test-u32-strstr.c: New file.
4930
4931 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4932             Bruno Haible  <bruno@clisp.org>
4933
4934         Make uN_strstr functions O(n) worst-case.
4935         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
4936         16-bit and 32-bit unit cases, use the unibyte algorithm from
4937         lib/mbsstr.c.
4938         * lib/unistr/u8-strstr.c: Include <string.h>.
4939         (UNIT_IS_UINT8_T): New macro.
4940         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
4941         (U_STRLEN, U_STRNLEN): New macros.
4942         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
4943         (U_STRLEN, U_STRNLEN): New macros.
4944         * modules/unistr/u8-strstr (Depends-on): Add strstr.
4945         (configure.ac): Update required libunistring version.
4946         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
4947         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
4948         malloca.
4949         (configure.ac): Update required libunistring version.
4950         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
4951         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
4952         malloca.
4953         (configure.ac): Update required libunistring version.
4954
4955 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4956             Bruno Haible  <bruno@clisp.org>
4957
4958         Prepare for faster uN_strstr functions.
4959         * lib/str-kmp.h: Support definable UNITs.
4960         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
4961         needle_len argument.
4962         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
4963         * lib/mbscasestr.c (mbscasestr): Likewise.
4964
4965 2011-01-21  Pádraig Brady <P@draigBrady.com>
4966
4967         malloca-tests: make faster by unsetting MALLOC_PERTURB_
4968         * tests/test-malloca.c (main): Unset the environment variable
4969         to greatly speed up the test.
4970         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
4971         * modules/malloca-tests: Depend on unsetenv.
4972
4973 2011-01-21  Pádraig Brady <P@draigBrady.com>
4974
4975         ignore-value: remove stdint dependency
4976         * lib/ignore-value.h: Remove <stdint.h>
4977         * modules/ignore-value: Remove stdint dependency.
4978
4979 2011-01-21  Jim Meyering  <meyering@redhat.com>
4980
4981         maint.mk: adjust variable name to be consistent with other gl_ vars
4982         * top/maint.mk (gl_public_submodule_commit): Rename the variable
4983         to be lower case.
4984
4985 2011-01-20  Jim Meyering  <meyering@redhat.com>
4986
4987         maint.mk: make "check" depend on public-submodule-commit by default
4988         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
4989
4990 2011-01-20  Bruno Haible  <bruno@clisp.org>
4991
4992         mbfile, mbiter: Complete change from 2008-12-21.
4993         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
4994         * m4/mbiter.m4 (gl_MBITER): Likewise.
4995
4996 2011-01-20  Jim Meyering  <meyering@redhat.com>
4997
4998         init.sh: insert space between each function name and "()"
4999         * tests/init.sh: Make it a little easier to see that a function's
5000         name is "warn_", and not "warn" when looking at the first part of
5001         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
5002
5003 2011-01-20  Jim Meyering  <meyering@redhat.com>
5004
5005         mountlist: clean up code formatting
5006         * lib/mountlist.c (read_file_system_list): Split a long line,
5007         correct bracing style, use NULL in place of "(struct statfs *)0",
5008         don't parenthesize return value, add spaces around "=" and after
5009         ";-in-for-stmt".
5010
5011 2011-01-14  Markus Duft <mduft@gentoo.org>
5012
5013         mountlist: add support for Interix
5014         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
5015         Apply statvfs to all entries of /dev/fs.
5016         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
5017         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
5018
5019 2011-01-20  Jim Meyering  <meyering@redhat.com>
5020
5021         maint.mk: improve the public-submodule-commit rule
5022         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
5023         to suppress printing of its commands... unless V=1.
5024         Add git submodule's --quiet option to suppress printing of e.g.,
5025         "Entering gnulib" output.
5026         "cd" into $(srcdir) before running git submodule.
5027
5028 2011-01-20  Bruno Haible  <bruno@clisp.org>
5029
5030         include_next: Fix bug introduced on 2011-01-18.
5031         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
5032         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
5033         ac_cv_header_... variable if the second argument is not 'check'.
5034         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
5035         gl_NEXT_HEADERS_INTERNAL.
5036
5037 2011-01-20  Bruno Haible  <bruno@clisp.org>
5038
5039         Allow the user to avoid the GNULIB_TEST_* macros.
5040         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
5041         Suggested by Paul Eggert.
5042
5043 2011-01-14  Jim Meyering  <meyering@redhat.com>
5044
5045         bootstrap: avoid failure when there is no .gitmodules file
5046         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
5047         has been assigned to, even when its value is the empty string.
5048         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
5049         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
5050         Reported by John W. Eaton <jwe@gnu.org>.
5051
5052 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
5053
5054         assume <ctype.h>, ..., <time.h> exist
5055         For years gnulib has been assuming the existence of the headers
5056         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
5057         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
5058         them, since they don't appear to be needed.
5059         * README (Portability guidelines): Document this.
5060         * lib/flock.c: Assume <fcntl.h> exists.
5061         * lib/regex_internal.h: Assume <locale.h> exists.
5062         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
5063         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
5064         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
5065         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
5066         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
5067         * m4/regex.m4 (gl_REGEX): Likewise.
5068         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
5069         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
5070         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
5071         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
5072         * tests/test-argp.c: Likewise.
5073         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
5074
5075         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
5076         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
5077         AA_APPLE_UNIVERSAL_BUILD.  See
5078         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
5079         * NEWS: Document this.
5080
5081 2011-01-19  Eric Blake  <eblake@redhat.com>
5082
5083         c-stack: assume stack overflow if SA_SIGINFO unsupported
5084         * lib/c-stack.c (SIGACTION_WORKS): Rename...
5085         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
5086         sigaction will work.
5087         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
5088         behavior match Linux.
5089         * tests/test-c-stack.c (main): Prefer NULL for pointers.
5090
5091         stdbool-tests: accomodate Haiku
5092         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
5093
5094         binary-io: fix O_TEXT on Haiku
5095         * modules/binary-io (Depends-on): Add fcntl-h.
5096         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
5097         than blindly undefining O_TEXT.
5098         Reported by Scott McCreary.
5099
5100 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
5101
5102         include_next: do not check for standard headers like stddef.h
5103
5104         I found this problem when modifying Emacs to use gnulib.
5105         I noticed that it added HAVE_STDDEF_H to config.h, even though
5106         gnulib always assumes <stddef.h> exists as per README and this
5107         symbol is unnecessary.
5108         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
5109         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
5110         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
5111         faster for headers like stddef.h that are known to exist.
5112         (gl_CHECK_NEXT_HEADERS): Use it.
5113         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
5114         rather than gl_CHECK_NEXT_HEADERS.
5115         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
5116         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
5117
5118 2011-01-18  Eric Blake  <eblake@redhat.com>
5119
5120         ansi-c++-opt: skip C++ dependency style if C++ is unused
5121         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
5122         tests when we know C++ compilation is not desired.
5123         Reported by Scott McCreary.
5124
5125 2011-01-18  Bruno Haible  <bruno@clisp.org>
5126
5127         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
5128         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
5129         (main): Perform test also when getrlimit and setrlimit don't exist or
5130         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
5131         limiting the address space size using setrlimit, compare the address
5132         space size before and after the the test.
5133         * tests/test-dprintf-posix2.c: Likewise.
5134         * tests/test-fprintf-posix3.sh: Update skip messages.
5135         * tests/test-dprintf-posix2.sh: Likewise.
5136         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
5137         * modules/dprintf-posix-tests (Depends-on): Likewise.
5138         Reported by Bruce Korb <bkorb@gnu.org> and
5139         Gary V. Vaughan <gary@gnu.org>.
5140
5141 2011-01-18  Bruno Haible  <bruno@clisp.org>
5142
5143         get-rusage-as: Improvement for Cygwin.
5144         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
5145         areas that are merely reserved.
5146
5147 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
5148
5149         strftime: remove dependencies on multibyte modules
5150
5151         strftime depended on mbrlen, mbsinit, and wchar, but these modules
5152         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
5153         only if __osf__ is defined, and I suspect OSF doesn't need these
5154         other modules.  If my guess is wrong, we'll need to come up with a
5155         variant of strftime that doesn't need the multibyte modules.
5156
5157         I discovered this problem when attempting modify Emacs to use the
5158         strftime module.  With the previous gnulib, this caused Emacs to
5159         need 31 new files, ranging from lib/config.charset to
5160         m4/wint_t.m4.  This was overkill and I expect would be offputting
5161         to the Emacs maintainers.  After this change, only 6 new files are
5162         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
5163         stdbool.m4, and tm_gmtoff.m4.
5164
5165         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
5166         Suggested by Bruno Haible in
5167         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
5168         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
5169         and do not check for wchar.h.
5170         * modules/strftime (Files): Remove m4/mbstate_t.m4.
5171         (Depends-on): Remove mbrlen, mbsinit, wchar.
5172
5173 2011-01-18  Bruno Haible  <bruno@clisp.org>
5174
5175         Tests for module 'get-rusage-as'.
5176         * modules/get-rusage-as-tests: New file.
5177         * tests/test-get-rusage-as.c: New file.
5178
5179         New module 'get-rusage-as'.
5180         * modules/get-rusage-as: New file.
5181         * lib/resource-ext.h: New file.
5182         * lib/get-rusage-as.c: New file.
5183
5184 2011-01-17  Eric Blake  <eblake@redhat.com>
5185
5186         sigaction: relax license from LGPLv3+ to LGPLv2+
5187         * modules/sigaction (License): Relax to LGPLv2+.
5188
5189 2011-01-14  Bruno Haible  <bruno@clisp.org>
5190
5191         filemode: Make function declarations usable in C++ mode.
5192         * lib/filemode.h: Enclose function declarations in extern "C" block.
5193         Reported by John W. Eaton <jwe@gnu.org>.
5194
5195 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
5196
5197         save-cwd: no longer include "xgetcwd.h"
5198         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
5199         This avoids a compilation failure in projects that use save-cwd
5200         without also using the xgetcwd module.
5201
5202 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5203
5204         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
5205         This is so that a program like Emacs, which needs only dtoastr,
5206         does not have to bother with distributing and compiling ftoastr
5207         and ldtoastr.
5208         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
5209         * modules/dtoastr, modules/ldtoastr: New files.
5210         * modules/ftoastr: Now works just for 'float'.
5211         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
5212         (Makefile.am): Remove ftoastr.h (not needed and no effect),
5213         dtoastr.c, ldtoastr.c.
5214
5215 2011-01-11  Jim Meyering  <meyering@redhat.com>
5216
5217         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
5218         There is no need to work around the lack of the fchdir function,
5219         since gnulib can now provide a replacement when required.
5220         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
5221         * modules/save-cwd (Depends-on): Add fchdir.
5222
5223 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5224
5225         openat, save-cwd: avoid xmalloc
5226
5227         This removes a direct (but undocumented) dependency of openat on
5228         xalloc, along with an indirect dependency via save-cwd.  It also
5229         removes a dependency of save-cwd on xgetcwd, and thereby
5230         indirectly on xalloc.  This change causes the openat substitute
5231         to fall back on save_cwd when memory is tight, and for save_cwd to
5232         fail instead of dying when memory is tight, but that's good enough.
5233         Problem and initial idea for fix reported by Bastien Roucaries in
5234         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
5235
5236         * lib/openat-proc.c: Include stdlib.h (for malloc), not
5237         xalloc.h (for xmalloc).
5238         (openat_proc_name): Use malloc, not xmalloc.
5239         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
5240         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
5241
5242         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
5243         This avoids heap allocation for file names whose lengths are in
5244         the range 512..1023, with the upper bound increasing to at most
5245         4031 depending on the platform's PATH_MAX.  (We do not want
5246         pathmax.h here as it might supply a non-constant PATH_MAX.)
5247         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
5248         Perhaps they should be moved to malloca.h?
5249         (OPENAT_BUFFER_SIZE): Use them.
5250
5251 2011-01-10  Bruno Haible  <bruno@clisp.org>
5252
5253         doc: Update users.txt.
5254         * users.txt: Add recutils.
5255
5256 2011-01-09  Karl Berry  <karl@gnu.org>
5257
5258         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
5259
5260         * doc/configmake.texi: New file.
5261         * doc/gnulib.texi: Include it.
5262         * modules/configmake: Move documentation from here.
5263
5264 2011-01-09  Bruno Haible  <bruno@clisp.org>
5265
5266         Update to Unicode 6.0.0.
5267         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
5268         (get_lbp): Update for Unicode 6.0.0.
5269         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
5270         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
5271         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
5272         U+11001, U+11038..U+11046. Remove U+06DE.
5273         (uc_width): Fix bounds of planes.
5274         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5275         lib/uniwidth/width.c.
5276         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
5277         trailing whitespace removed.
5278         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
5279         without comments, but with the original copyright notice.
5280         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
5281         * lib/unicase/ignorable.h: Likewise.
5282         * lib/unicase/tocasefold.h: Likewise.
5283         * lib/unicase/tolower.h: Likewise.
5284         * lib/unicase/totitle.h: Likewise.
5285         * lib/unicase/toupper.h: Likewise.
5286         * lib/unictype/bidi_of.h: Likewise.
5287         * lib/unictype/blocks.h: Likewise.
5288         * lib/unictype/categ_C.h: Likewise.
5289         * lib/unictype/categ_Cn.h: Likewise.
5290         * lib/unictype/categ_L.h: Likewise.
5291         * lib/unictype/categ_Ll.h: Likewise.
5292         * lib/unictype/categ_Lm.h: Likewise.
5293         * lib/unictype/categ_Lo.h: Likewise.
5294         * lib/unictype/categ_Lu.h: Likewise.
5295         * lib/unictype/categ_M.h: Likewise.
5296         * lib/unictype/categ_Mc.h: Likewise.
5297         * lib/unictype/categ_Me.h: Likewise.
5298         * lib/unictype/categ_Mn.h: Likewise.
5299         * lib/unictype/categ_N.h: Likewise.
5300         * lib/unictype/categ_Nd.h: Likewise.
5301         * lib/unictype/categ_No.h: Likewise.
5302         * lib/unictype/categ_P.h: Likewise.
5303         * lib/unictype/categ_Po.h: Likewise.
5304         * lib/unictype/categ_S.h: Likewise.
5305         * lib/unictype/categ_Sc.h: Likewise.
5306         * lib/unictype/categ_Sk.h: Likewise.
5307         * lib/unictype/categ_Sm.h: Likewise.
5308         * lib/unictype/categ_So.h: Likewise.
5309         * lib/unictype/categ_of.h: Likewise.
5310         * lib/unictype/combining.h: Likewise.
5311         * lib/unictype/ctype_alnum.h: Likewise.
5312         * lib/unictype/ctype_alpha.h: Likewise.
5313         * lib/unictype/ctype_graph.h: Likewise.
5314         * lib/unictype/ctype_lower.h: Likewise.
5315         * lib/unictype/ctype_print.h: Likewise.
5316         * lib/unictype/ctype_punct.h: Likewise.
5317         * lib/unictype/ctype_upper.h: Likewise.
5318         * lib/unictype/decdigit.h: Likewise.
5319         * lib/unictype/digit.h: Likewise.
5320         * lib/unictype/numeric.h: Likewise.
5321         * lib/unictype/pr_alphabetic.h: Likewise.
5322         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5323         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5324         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5325         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5326         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5327         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5328         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5329         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5330         * lib/unictype/pr_case_ignorable.h: Likewise.
5331         * lib/unictype/pr_cased.h: Likewise.
5332         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
5333         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
5334         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
5335         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
5336         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
5337         * lib/unictype/pr_combining.h: Likewise.
5338         * lib/unictype/pr_composite.h: Likewise.
5339         * lib/unictype/pr_currency_symbol.h: Likewise.
5340         * lib/unictype/pr_decimal_digit.h: Likewise.
5341         * lib/unictype/pr_deprecated.h: Likewise.
5342         * lib/unictype/pr_format_control.h: Likewise.
5343         * lib/unictype/pr_grapheme_base.h: Likewise.
5344         * lib/unictype/pr_grapheme_extend.h: Likewise.
5345         * lib/unictype/pr_grapheme_link.h: Likewise.
5346         * lib/unictype/pr_id_continue.h: Likewise.
5347         * lib/unictype/pr_id_start.h: Likewise.
5348         * lib/unictype/pr_ideographic.h: Likewise.
5349         * lib/unictype/pr_lowercase.h: Likewise.
5350         * lib/unictype/pr_math.h: Likewise.
5351         * lib/unictype/pr_numeric.h: Likewise.
5352         * lib/unictype/pr_other_alphabetic.h: Likewise.
5353         * lib/unictype/pr_other_id_continue.h: Likewise.
5354         * lib/unictype/pr_other_math.h: Likewise.
5355         * lib/unictype/pr_punctuation.h: Likewise.
5356         * lib/unictype/pr_sentence_terminal.h: Likewise.
5357         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5358         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5359         * lib/unictype/pr_unified_ideograph.h: Likewise.
5360         * lib/unictype/pr_uppercase.h: Likewise.
5361         * lib/unictype/pr_xid_continue.h: Likewise.
5362         * lib/unictype/pr_xid_start.h: Likewise.
5363         * lib/unictype/scripts.h: Likewise.
5364         * lib/unictype/scripts_byname.gperf: Likewise.
5365         * lib/unictype/sy_java_ident.h: Likewise.
5366         * lib/unigbrk/gbrkprop.h: Likewise.
5367         * lib/unilbrk/lbrkprop1.h: Likewise.
5368         * lib/unilbrk/lbrkprop2.h: Likewise.
5369         * lib/uninorm/decomposition-table2.h: Likewise.
5370         * lib/uniwbrk/wbrkprop.h: Likewise.
5371         * tests/unicase/test-cased.c: Likewise.
5372         * tests/unicase/test-ignorable.c: Likewise.
5373         * tests/unicase/test-uc_tolower.c: Likewise.
5374         * tests/unicase/test-uc_totitle.c: Likewise.
5375         * tests/unicase/test-uc_toupper.c: Likewise.
5376         * tests/unictype/test-categ_C.c: Likewise.
5377         * tests/unictype/test-categ_Cn.c: Likewise.
5378         * tests/unictype/test-categ_L.c: Likewise.
5379         * tests/unictype/test-categ_Ll.c: Likewise.
5380         * tests/unictype/test-categ_Lm.c: Likewise.
5381         * tests/unictype/test-categ_Lo.c: Likewise.
5382         * tests/unictype/test-categ_Lu.c: Likewise.
5383         * tests/unictype/test-categ_M.c: Likewise.
5384         * tests/unictype/test-categ_Mc.c: Likewise.
5385         * tests/unictype/test-categ_Me.c: Likewise.
5386         * tests/unictype/test-categ_Mn.c: Likewise.
5387         * tests/unictype/test-categ_N.c: Likewise.
5388         * tests/unictype/test-categ_Nd.c: Likewise.
5389         * tests/unictype/test-categ_No.c: Likewise.
5390         * tests/unictype/test-categ_P.c: Likewise.
5391         * tests/unictype/test-categ_Po.c: Likewise.
5392         * tests/unictype/test-categ_S.c: Likewise.
5393         * tests/unictype/test-categ_Sc.c: Likewise.
5394         * tests/unictype/test-categ_Sk.c: Likewise.
5395         * tests/unictype/test-categ_Sm.c: Likewise.
5396         * tests/unictype/test-categ_So.c: Likewise.
5397         * tests/unictype/test-ctype_alnum.c: Likewise.
5398         * tests/unictype/test-ctype_alpha.c: Likewise.
5399         * tests/unictype/test-ctype_graph.c: Likewise.
5400         * tests/unictype/test-ctype_lower.c: Likewise.
5401         * tests/unictype/test-ctype_print.c: Likewise.
5402         * tests/unictype/test-ctype_punct.c: Likewise.
5403         * tests/unictype/test-ctype_upper.c: Likewise.
5404         * tests/unictype/test-decdigit.h: Likewise.
5405         * tests/unictype/test-digit.h: Likewise.
5406         * tests/unictype/test-numeric.h: Likewise.
5407         * tests/unictype/test-pr_alphabetic.c: Likewise.
5408         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5409         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
5410         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
5411         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5412         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5413         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5414         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5415         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5416         * tests/unictype/test-pr_case_ignorable.c: Likewise.
5417         * tests/unictype/test-pr_cased.c: Likewise.
5418         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
5419         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
5420         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
5421         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
5422         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
5423         * tests/unictype/test-pr_combining.c: Likewise.
5424         * tests/unictype/test-pr_composite.c: Likewise.
5425         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5426         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5427         * tests/unictype/test-pr_deprecated.c: Likewise.
5428         * tests/unictype/test-pr_format_control.c: Likewise.
5429         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5430         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5431         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5432         * tests/unictype/test-pr_id_continue.c: Likewise.
5433         * tests/unictype/test-pr_id_start.c: Likewise.
5434         * tests/unictype/test-pr_ideographic.c: Likewise.
5435         * tests/unictype/test-pr_lowercase.c: Likewise.
5436         * tests/unictype/test-pr_math.c: Likewise.
5437         * tests/unictype/test-pr_numeric.c: Likewise.
5438         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5439         * tests/unictype/test-pr_other_id_continue.c: Likewise.
5440         * tests/unictype/test-pr_other_math.c: Likewise.
5441         * tests/unictype/test-pr_punctuation.c: Likewise.
5442         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5443         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5444         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5445         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5446         * tests/unictype/test-pr_uppercase.c: Likewise.
5447         * tests/unictype/test-pr_xid_continue.c: Likewise.
5448         * tests/unictype/test-pr_xid_start.c: Likewise.
5449         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5450         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5451         changes.
5452         * lib/unictype/categ_Cc.h: Likewise.
5453         * lib/unictype/categ_Cf.h: Likewise.
5454         * lib/unictype/categ_Co.h: Likewise.
5455         * lib/unictype/categ_Cs.h: Likewise.
5456         * lib/unictype/categ_Lt.h: Likewise.
5457         * lib/unictype/categ_Nl.h: Likewise.
5458         * lib/unictype/categ_Pc.h: Likewise.
5459         * lib/unictype/categ_Pd.h: Likewise.
5460         * lib/unictype/categ_Pe.h: Likewise.
5461         * lib/unictype/categ_Pf.h: Likewise.
5462         * lib/unictype/categ_Pi.h: Likewise.
5463         * lib/unictype/categ_Ps.h: Likewise.
5464         * lib/unictype/categ_Z.h: Likewise.
5465         * lib/unictype/categ_Zl.h: Likewise.
5466         * lib/unictype/categ_Zp.h: Likewise.
5467         * lib/unictype/categ_Zs.h: Likewise.
5468         * lib/unictype/ctype_blank.h: Likewise.
5469         * lib/unictype/ctype_cntrl.h: Likewise.
5470         * lib/unictype/ctype_digit.h: Likewise.
5471         * lib/unictype/ctype_space.h: Likewise.
5472         * lib/unictype/ctype_xdigit.h: Likewise.
5473         * lib/unictype/mirror.h: Likewise.
5474         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5475         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5476         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5477         * lib/unictype/pr_bidi_control.h: Likewise.
5478         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5479         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5480         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5481         * lib/unictype/pr_bidi_pdf.h: Likewise.
5482         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5483         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5484         * lib/unictype/pr_dash.h: Likewise.
5485         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5486         * lib/unictype/pr_diacritic.h: Likewise.
5487         * lib/unictype/pr_extender.h: Likewise.
5488         * lib/unictype/pr_hex_digit.h: Likewise.
5489         * lib/unictype/pr_hyphen.h: Likewise.
5490         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5491         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5492         * lib/unictype/pr_ignorable_control.h: Likewise.
5493         * lib/unictype/pr_iso_control.h: Likewise.
5494         * lib/unictype/pr_join_control.h: Likewise.
5495         * lib/unictype/pr_left_of_pair.h: Likewise.
5496         * lib/unictype/pr_line_separator.h: Likewise.
5497         * lib/unictype/pr_logical_order_exception.h: Likewise.
5498         * lib/unictype/pr_non_break.h: Likewise.
5499         * lib/unictype/pr_not_a_character.h: Likewise.
5500         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5501         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5502         * lib/unictype/pr_other_id_start.h: Likewise.
5503         * lib/unictype/pr_other_lowercase.h: Likewise.
5504         * lib/unictype/pr_other_uppercase.h: Likewise.
5505         * lib/unictype/pr_paired_punctuation.h: Likewise.
5506         * lib/unictype/pr_paragraph_separator.h: Likewise.
5507         * lib/unictype/pr_pattern_syntax.h: Likewise.
5508         * lib/unictype/pr_pattern_white_space.h: Likewise.
5509         * lib/unictype/pr_private_use.h: Likewise.
5510         * lib/unictype/pr_quotation_mark.h: Likewise.
5511         * lib/unictype/pr_radical.h: Likewise.
5512         * lib/unictype/pr_soft_dotted.h: Likewise.
5513         * lib/unictype/pr_space.h: Likewise.
5514         * lib/unictype/pr_titlecase.h: Likewise.
5515         * lib/unictype/pr_variation_selector.h: Likewise.
5516         * lib/unictype/pr_white_space.h: Likewise.
5517         * lib/unictype/pr_zero_width.h: Likewise.
5518         * lib/unictype/sy_c_ident.h: Likewise.
5519         * lib/unictype/sy_c_whitespace.h: Likewise.
5520         * lib/unictype/sy_java_whitespace.h: Likewise.
5521         * lib/uninorm/composition-table.gperf: Likewise.
5522         * lib/uninorm/decomposition-table1.h: Likewise.
5523         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
5524         LB8.
5525         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5526         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5527         * modules/unictype/*: Bump version number of expected libunistring
5528         version.
5529
5530 2011-01-09  Bruno Haible  <bruno@clisp.org>
5531
5532         Update to Unicode 5.2.0.
5533         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
5534         trailing whitespace removed.
5535
5536 2011-01-09  Bruno Haible  <bruno@clisp.org>
5537
5538         New Unicode character properties, from Unicode 5.2.0.
5539         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
5540         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
5541         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
5542         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
5543         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
5544         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
5545         uc_is_property_cased, uc_is_property_case_ignorable,
5546         uc_is_property_changes_when_lowercased,
5547         uc_is_property_changes_when_uppercased,
5548         uc_is_property_changes_when_titlecased,
5549         uc_is_property_changes_when_casefolded,
5550         uc_is_property_changes_when_casemapped): New declarations.
5551         * lib/unictype/pr_byname.gperf: Add the new properties.
5552         * modules/unictype/property-byname (Depends-on): Depend on the new
5553         properties modules.
5554         * modules/unictype/property-all (Depends-on): Likewise.
5555         * MODULES.html.sh (Unicode string functions): Add
5556         unictype/property-case-ignorable, unictype/property-cased,
5557         unictype/property-changes-when-casefolded,
5558         unictype/property-changes-when-casemapped,
5559         unictype/property-changes-when-lowercased,
5560         unictype/property-changes-when-titlecased,
5561         unictype/property-changes-when-uppercased.
5562
5563         New module 'unictype/property-changes-when-casemapped'.
5564         * modules/unictype/property-changes-when-casemapped: New file.
5565         * lib/unictype/pr_changes_when_casemapped.c: New file.
5566         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
5567         generated by gen-uni-tables.
5568         * modules/unictype/property-changes-when-casemapped-tests: New file.
5569         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
5570         automatically generated by gen-uni-tables.
5571
5572         New module 'unictype/property-changes-when-casefolded'.
5573         * modules/unictype/property-changes-when-casefolded: New file.
5574         * lib/unictype/pr_changes_when_casefolded.c: New file.
5575         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
5576         generated by gen-uni-tables.
5577         * modules/unictype/property-changes-when-casefolded-tests: New file.
5578         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
5579         automatically generated by gen-uni-tables.
5580
5581         New module 'unictype/property-changes-when-titlecased'.
5582         * modules/unictype/property-changes-when-titlecased: New file.
5583         * lib/unictype/pr_changes_when_titlecased.c: New file.
5584         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
5585         generated by gen-uni-tables.
5586         * modules/unictype/property-changes-when-titlecased-tests: New file.
5587         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
5588         automatically generated by gen-uni-tables.
5589
5590         New module 'unictype/property-changes-when-uppercased'.
5591         * modules/unictype/property-changes-when-uppercased: New file.
5592         * lib/unictype/pr_changes_when_uppercased.c: New file.
5593         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
5594         generated by gen-uni-tables.
5595         * modules/unictype/property-changes-when-uppercased-tests: New file.
5596         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
5597         automatically generated by gen-uni-tables.
5598
5599         New module 'unictype/property-changes-when-lowercased'.
5600         * modules/unictype/property-changes-when-lowercased: New file.
5601         * lib/unictype/pr_changes_when_lowercased.c: New file.
5602         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
5603         generated by gen-uni-tables.
5604         * modules/unictype/property-changes-when-lowercased-tests: New file.
5605         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
5606         automatically generated by gen-uni-tables.
5607
5608         New module 'unictype/property-case-ignorable'.
5609         * modules/unictype/property-case-ignorable: New file.
5610         * lib/unictype/pr_case_ignorable.c: New file.
5611         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
5612         by gen-uni-tables.
5613         * modules/unictype/property-case-ignorable-tests: New file.
5614         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
5615         generated by gen-uni-tables.
5616
5617         New module 'unictype/property-cased'.
5618         * modules/unictype/property-cased: New file.
5619         * lib/unictype/pr_cased.c: New file.
5620         * lib/unictype/pr_cased.h: New file, automatically generated by
5621         gen-uni-tables.
5622         * modules/unictype/property-cased-tests: New file.
5623         * tests/unictype/test-pr_cased.c: New file, automatically generated by
5624         gen-uni-tables.
5625
5626 2011-01-09  Bruno Haible  <bruno@clisp.org>
5627
5628         Update to Unicode 5.2.0.
5629         * lib/gen-uni-tables.c (output_predicate, output_category,
5630         output_combclass, output_bidi_category, output_decimal_digit_test,
5631         output_decimal_digit, output_digit_test, output_digit,
5632         output_numeric_test, output_numeric, output_mirror, output_scripts,
5633         output_scripts_byname, output_blocks, output_ident_category): Fix
5634         comment header.
5635         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
5636         get_wbp.
5637         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
5638         items.
5639         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
5640         Changes_When_Lowercased, Changes_When_Uppercased,
5641         Changes_When_Titlecased, Changes_When_Casefolded,
5642         Changes_When_Casemapped.
5643         (is_property_alphabetic, is_property_default_ignorable_code_point):
5644         Update for Unicode 5.2.0.
5645         (is_property_cased, is_property_case_ignorable,
5646         is_property_changes_when_lowercased,
5647         is_property_changes_when_uppercased,
5648         is_property_changes_when_titlecased,
5649         is_property_changes_when_casefolded,
5650         is_property_changes_when_casemapped): New functions.
5651         (output_properties): Output also the properties cased, case_ignorable,
5652         changes_when_lowercased, changes_when_uppercased,
5653         changes_when_titlecased, changes_when_casefolded,
5654         changes_when_casemapped.
5655         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
5656         Unicode TR#11 revision 17 -> 19.
5657         (LBP_CP): New enumeration value.
5658         (LBP_*): Adjust values accordingly.
5659         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5660         TR#14 revision 22 -> 24.
5661         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
5662         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
5663         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5664         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
5665         is_WBP_MIDLETTER.
5666         (output_composition_tables): Allow for 24 bits instead of 16 bits in
5667         the code1 and code2 of each composition rule.
5668         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
5669         * lib/unicase/ignorable.h: Likewise.
5670         * lib/unicase/tocasefold.h: Likewise.
5671         * lib/unicase/tolower.h: Likewise.
5672         * lib/unicase/totitle.h: Likewise.
5673         * lib/unicase/toupper.h: Likewise.
5674         * lib/unictype/bidi_of.h: Likewise.
5675         * lib/unictype/blocks.h: Likewise.
5676         * lib/unictype/categ_C.h: Likewise.
5677         * lib/unictype/categ_Cf.h: Likewise.
5678         * lib/unictype/categ_Cn.h: Likewise.
5679         * lib/unictype/categ_L.h: Likewise.
5680         * lib/unictype/categ_Ll.h: Likewise.
5681         * lib/unictype/categ_Lm.h: Likewise.
5682         * lib/unictype/categ_Lo.h: Likewise.
5683         * lib/unictype/categ_Lu.h: Likewise.
5684         * lib/unictype/categ_M.h: Likewise.
5685         * lib/unictype/categ_Mc.h: Likewise.
5686         * lib/unictype/categ_Mn.h: Likewise.
5687         * lib/unictype/categ_N.h: Likewise.
5688         * lib/unictype/categ_Nd.h: Likewise.
5689         * lib/unictype/categ_Nl.h: Likewise.
5690         * lib/unictype/categ_No.h: Likewise.
5691         * lib/unictype/categ_P.h: Likewise.
5692         * lib/unictype/categ_Pd.h: Likewise.
5693         * lib/unictype/categ_Po.h: Likewise.
5694         * lib/unictype/categ_S.h: Likewise.
5695         * lib/unictype/categ_Sc.h: Likewise.
5696         * lib/unictype/categ_So.h: Likewise.
5697         * lib/unictype/categ_of.h: Likewise.
5698         * lib/unictype/combining.h: Likewise.
5699         * lib/unictype/ctype_alnum.h: Likewise.
5700         * lib/unictype/ctype_alpha.h: Likewise.
5701         * lib/unictype/ctype_graph.h: Likewise.
5702         * lib/unictype/ctype_lower.h: Likewise.
5703         * lib/unictype/ctype_print.h: Likewise.
5704         * lib/unictype/ctype_punct.h: Likewise.
5705         * lib/unictype/ctype_upper.h: Likewise.
5706         * lib/unictype/decdigit.h: Likewise.
5707         * lib/unictype/digit.h: Likewise.
5708         * lib/unictype/numeric.h: Likewise.
5709         * lib/unictype/pr_alphabetic.h: Likewise.
5710         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5711         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5712         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5713         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5714         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5715         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5716         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5717         * lib/unictype/pr_combining.h: Likewise.
5718         * lib/unictype/pr_composite.h: Likewise.
5719         * lib/unictype/pr_currency_symbol.h: Likewise.
5720         * lib/unictype/pr_dash.h: Likewise.
5721         * lib/unictype/pr_decimal_digit.h: Likewise.
5722         * lib/unictype/pr_deprecated.h: Likewise.
5723         * lib/unictype/pr_diacritic.h: Likewise.
5724         * lib/unictype/pr_extender.h: Likewise.
5725         * lib/unictype/pr_grapheme_base.h: Likewise.
5726         * lib/unictype/pr_grapheme_extend.h: Likewise.
5727         * lib/unictype/pr_grapheme_link.h: Likewise.
5728         * lib/unictype/pr_id_continue.h: Likewise.
5729         * lib/unictype/pr_id_start.h: Likewise.
5730         * lib/unictype/pr_ideographic.h: Likewise.
5731         * lib/unictype/pr_ignorable_control.h: Likewise.
5732         * lib/unictype/pr_logical_order_exception.h: Likewise.
5733         * lib/unictype/pr_lowercase.h: Likewise.
5734         * lib/unictype/pr_numeric.h: Likewise.
5735         * lib/unictype/pr_other_alphabetic.h: Likewise.
5736         * lib/unictype/pr_punctuation.h: Likewise.
5737         * lib/unictype/pr_sentence_terminal.h: Likewise.
5738         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5739         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5740         * lib/unictype/pr_unified_ideograph.h: Likewise.
5741         * lib/unictype/pr_uppercase.h: Likewise.
5742         * lib/unictype/pr_xid_continue.h: Likewise.
5743         * lib/unictype/pr_xid_start.h: Likewise.
5744         * lib/unictype/pr_zero_width.h: Likewise.
5745         * lib/unictype/scripts.h: Likewise.
5746         * lib/unictype/scripts_byname.gperf: Likewise.
5747         * lib/unictype/sy_java_ident.h: Likewise.
5748         * lib/unigbrk/gbrkprop.h: Likewise.
5749         * lib/unilbrk/lbrkprop1.h: Likewise.
5750         * lib/unilbrk/lbrkprop2.h: Likewise.
5751         * lib/unilbrk/lbrktables.h: Likewise.
5752         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
5753         LBP_CP. Implement rule LB30.
5754         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
5755         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
5756         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
5757         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
5758         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
5759         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
5760         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
5761         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
5762         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
5763         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
5764         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
5765         bits instead of 16 bits in the code1 and code2 of each composition
5766         rule.
5767         (uc_composition): Update for Unicode 5.2.0.
5768         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
5769         * lib/uninorm/decomposition-table2.h: Likewise.
5770         * lib/uniwbrk/wbrkprop.h: Likewise.
5771         * tests/unicase/test-cased.c: Likewise.
5772         * tests/unicase/test-ignorable.c: Likewise.
5773         * tests/unicase/test-uc_tolower.c: Likewise.
5774         * tests/unicase/test-uc_totitle.c: Likewise.
5775         * tests/unicase/test-uc_toupper.c: Likewise.
5776         * tests/unictype/test-categ_C.c: Likewise.
5777         * tests/unictype/test-categ_Cf.c: Likewise.
5778         * tests/unictype/test-categ_Cn.c: Likewise.
5779         * tests/unictype/test-categ_L.c: Likewise.
5780         * tests/unictype/test-categ_Ll.c: Likewise.
5781         * tests/unictype/test-categ_Lm.c: Likewise.
5782         * tests/unictype/test-categ_Lo.c: Likewise.
5783         * tests/unictype/test-categ_Lu.c: Likewise.
5784         * tests/unictype/test-categ_M.c: Likewise.
5785         * tests/unictype/test-categ_Mc.c: Likewise.
5786         * tests/unictype/test-categ_Mn.c: Likewise.
5787         * tests/unictype/test-categ_N.c: Likewise.
5788         * tests/unictype/test-categ_Nd.c: Likewise.
5789         * tests/unictype/test-categ_Nl.c: Likewise.
5790         * tests/unictype/test-categ_No.c: Likewise.
5791         * tests/unictype/test-categ_P.c: Likewise.
5792         * tests/unictype/test-categ_Pd.c: Likewise.
5793         * tests/unictype/test-categ_Po.c: Likewise.
5794         * tests/unictype/test-categ_S.c: Likewise.
5795         * tests/unictype/test-categ_Sc.c: Likewise.
5796         * tests/unictype/test-categ_So.c: Likewise.
5797         * tests/unictype/test-ctype_alnum.c: Likewise.
5798         * tests/unictype/test-ctype_alpha.c: Likewise.
5799         * tests/unictype/test-ctype_graph.c: Likewise.
5800         * tests/unictype/test-ctype_lower.c: Likewise.
5801         * tests/unictype/test-ctype_print.c: Likewise.
5802         * tests/unictype/test-ctype_punct.c: Likewise.
5803         * tests/unictype/test-ctype_upper.c: Likewise.
5804         * tests/unictype/test-decdigit.h: Likewise.
5805         * tests/unictype/test-digit.h: Likewise.
5806         * tests/unictype/test-numeric.h: Likewise.
5807         * tests/unictype/test-pr_alphabetic.c: Likewise.
5808         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5809         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5810         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
5811         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5812         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5813         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5814         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5815         * tests/unictype/test-pr_combining.c: Likewise.
5816         * tests/unictype/test-pr_composite.c: Likewise.
5817         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5818         * tests/unictype/test-pr_dash.c: Likewise.
5819         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5820         * tests/unictype/test-pr_deprecated.c: Likewise.
5821         * tests/unictype/test-pr_diacritic.c: Likewise.
5822         * tests/unictype/test-pr_extender.c: Likewise.
5823         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5824         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5825         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5826         * tests/unictype/test-pr_id_continue.c: Likewise.
5827         * tests/unictype/test-pr_id_start.c: Likewise.
5828         * tests/unictype/test-pr_ideographic.c: Likewise.
5829         * tests/unictype/test-pr_ignorable_control.c: Likewise.
5830         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
5831         * tests/unictype/test-pr_lowercase.c: Likewise.
5832         * tests/unictype/test-pr_numeric.c: Likewise.
5833         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5834         * tests/unictype/test-pr_punctuation.c: Likewise.
5835         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5836         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5837         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5838         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5839         * tests/unictype/test-pr_uppercase.c: Likewise.
5840         * tests/unictype/test-pr_xid_continue.c: Likewise.
5841         * tests/unictype/test-pr_xid_start.c: Likewise.
5842         * tests/unictype/test-pr_zero_width.c: Likewise.
5843         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5844         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
5845         changed behaviour: line breaking is now disallowed between a letter
5846         or '=' and '('.
5847         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5848         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5849         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
5850         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
5851         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5852         lib/uniwidth/width.c.
5853         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
5854         without comments, but with the original copyright notice.
5855         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5856         changes.
5857         * lib/unictype/categ_Cc.h: Likewise.
5858         * lib/unictype/categ_Co.h: Likewise.
5859         * lib/unictype/categ_Cs.h: Likewise.
5860         * lib/unictype/categ_Lt.h: Likewise.
5861         * lib/unictype/categ_Me.h: Likewise.
5862         * lib/unictype/categ_Pc.h: Likewise.
5863         * lib/unictype/categ_Pe.h: Likewise.
5864         * lib/unictype/categ_Pf.h: Likewise.
5865         * lib/unictype/categ_Pi.h: Likewise.
5866         * lib/unictype/categ_Ps.h: Likewise.
5867         * lib/unictype/categ_Sk.h: Likewise.
5868         * lib/unictype/categ_Sm.h: Likewise.
5869         * lib/unictype/categ_Z.h: Likewise.
5870         * lib/unictype/categ_Zl.h: Likewise.
5871         * lib/unictype/categ_Zp.h: Likewise.
5872         * lib/unictype/categ_Zs.h: Likewise.
5873         * lib/unictype/ctype_blank.h: Likewise.
5874         * lib/unictype/ctype_cntrl.h: Likewise.
5875         * lib/unictype/ctype_digit.h: Likewise.
5876         * lib/unictype/ctype_space.h: Likewise.
5877         * lib/unictype/ctype_xdigit.h: Likewise.
5878         * lib/unictype/mirror.h: Likewise.
5879         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5880         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5881         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5882         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5883         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5884         * lib/unictype/pr_bidi_control.h: Likewise.
5885         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5886         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5887         * lib/unictype/pr_bidi_pdf.h: Likewise.
5888         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5889         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5890         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5891         * lib/unictype/pr_format_control.h: Likewise.
5892         * lib/unictype/pr_hex_digit.h: Likewise.
5893         * lib/unictype/pr_hyphen.h: Likewise.
5894         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5895         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5896         * lib/unictype/pr_iso_control.h: Likewise.
5897         * lib/unictype/pr_join_control.h: Likewise.
5898         * lib/unictype/pr_left_of_pair.h: Likewise.
5899         * lib/unictype/pr_line_separator.h: Likewise.
5900         * lib/unictype/pr_math.h: Likewise.
5901         * lib/unictype/pr_non_break.h: Likewise.
5902         * lib/unictype/pr_not_a_character.h: Likewise.
5903         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5904         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5905         * lib/unictype/pr_other_id_continue.h: Likewise.
5906         * lib/unictype/pr_other_id_start.h: Likewise.
5907         * lib/unictype/pr_other_lowercase.h: Likewise.
5908         * lib/unictype/pr_other_math.h: Likewise.
5909         * lib/unictype/pr_other_uppercase.h: Likewise.
5910         * lib/unictype/pr_paired_punctuation.h: Likewise.
5911         * lib/unictype/pr_paragraph_separator.h: Likewise.
5912         * lib/unictype/pr_pattern_syntax.h: Likewise.
5913         * lib/unictype/pr_pattern_white_space.h: Likewise.
5914         * lib/unictype/pr_private_use.h: Likewise.
5915         * lib/unictype/pr_quotation_mark.h: Likewise.
5916         * lib/unictype/pr_radical.h: Likewise.
5917         * lib/unictype/pr_soft_dotted.h: Likewise.
5918         * lib/unictype/pr_space.h: Likewise.
5919         * lib/unictype/pr_titlecase.h: Likewise.
5920         * lib/unictype/pr_variation_selector.h: Likewise.
5921         * lib/unictype/pr_white_space.h: Likewise.
5922         * lib/unictype/sy_c_ident.h: Likewise.
5923         * lib/unictype/sy_c_whitespace.h: Likewise.
5924         * lib/unictype/sy_java_whitespace.h: Likewise.
5925         * modules/uni*/*: Bump version number of expected libunistring version.
5926         Reported by Simon Josefsson.
5927
5928 2011-01-09  Karl Heuer  <kwzh@gnu.org>
5929
5930         useless-if-before-free: fix typo in --help and make the internal,
5931         automatic version date update process work once again.
5932         --help output contained a NUL character instead of the
5933         backslash-zero that was intended.  Also, the "must lie within
5934         the first 8 lines" line is on line 9, and hence not getting
5935         automatically updated.
5936         * build-aux/useless-if-before-free: Fix the former by adding a
5937         backslash, and the latter by condensing the three lines of what-it-does
5938         to a single line, leaving one line of slack for the future.
5939
5940 2011-01-09  Bruno Haible  <bruno@clisp.org>
5941
5942         uniwidth/width: Fix width of U+1D173..U+1D17A.
5943         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
5944         symbolic_width, output_width_property_test): New functions.
5945         (main): Invoke output_nonspacing_property, output_width_property_test.
5946         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
5947         U+1D173..U+1D17A.
5948         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
5949         1.
5950         * modules/uniwidth/*: Bump version number of expected libunistring
5951         version.
5952         * modules/unilbrk/*: Likewise.
5953
5954 2011-01-08  Bruno Haible  <bruno@clisp.org>
5955
5956         uninorm tests: Preserve copyright of Unicode data file.
5957         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
5958         Mention modifications.
5959
5960 2011-01-08  Bruno Haible  <bruno@clisp.org>
5961
5962         gen-uni-tables: Prepare for Unicode 5.2.0.
5963         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
5964         (debug_output_lbp, output_lbp): Update.
5965
5966 2011-01-08  Bruno Haible  <bruno@clisp.org>
5967
5968         unilbrk: Clarify gen-uni-tables.c code.
5969         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
5970         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
5971         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
5972
5973 2011-01-07  Bruno Haible  <bruno@clisp.org>
5974
5975         strtod: Restore errno when successfully parsing Infinity or NaN.
5976         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
5977         restore the original errno.
5978
5979 2011-01-07  Bruno Haible  <bruno@clisp.org>
5980
5981         remove test: Avoid failure on HP-UX 11.
5982         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
5983
5984 2011-01-07  Bruno Haible  <bruno@clisp.org>
5985
5986         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
5987         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
5988         error code.
5989
5990 2011-01-07  Pádraig Brady <P@draigBrady.com>
5991
5992         ignore-value: fixup comments, and add Eric Blake
5993         as an author since he rewrote the macros.
5994         * lib/ignore-value.h (ignore_value):  State that
5995         we now support aggregates.  Also specify exactly
5996         when the GCC warn_unused_result feature was added.
5997
5998 2011-01-06  Eric Blake  <eblake@redhat.com>
5999
6000         ignore-value: support aggregate types
6001         * lib/ignore-value.h (ignore_value): Provide separate gcc
6002         definition.
6003         * modules/ignore-value-tests: New test module.
6004         * tests/test-ignore-value.c: New test.
6005
6006         maint.mk: improve sc_prohibit_strcmp regex
6007         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
6008         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
6009         definition of STRNEQ.
6010
6011         signal: work around Haiku issue with SIGBUS
6012         * lib/siglist.h: Add comment.
6013         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
6014         strsignal's favoring of SIGSEGV.
6015         * tests/test-signal.c (main): Avoid test failure.
6016         * doc/posix-headers/signal.texi (signal.h): Document the issue.
6017         Reported by Scott McCreary.
6018
6019         maint.mk: add pre-release check to ensure submodule commits are public
6020         * top/maint.mk (public-submodule-commit): New rule.
6021         (submodule-checks): New variable.
6022         (alpha beta stable): Depend on the variable.
6023
6024 2011-01-05  Pádraig Brady <P@draigBrady.com>
6025         and Jim Meyering  <meyering@redhat.com>
6026
6027         ignore-value: make ignore_value more generic; deprecate ignore_ptr
6028         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
6029         (ATTRIBUTE_DEPRECATED): Define.
6030         (_ignore_case): New function.
6031         (ignore_value): New macro, to replace the old function.
6032         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
6033         * modules/ignore-value (Depends-on): Add stdint.
6034
6035 2011-01-04  Eric Blake  <eblake@redhat.com>
6036
6037         doc: regenerate INSTALL
6038         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
6039         @firstparagraphindent support, now that autoconf dropped it.
6040         (INSTALL_PRELUDE): Reinstate old macro.
6041         * doc/install.texi: Resync from autoconf.
6042         * doc/INSTALL: Reflect recent autoconf update.
6043         * doc/INSTALL.ISO: Likewise.
6044         * doc/INSTALL.UTF-8: Likewise.
6045         Reported by Karl Berry.
6046
6047 2011-01-04  Bruce Korb  <address@hidden>
6048
6049         git-version-gen: avoid a sub-shell
6050         * build-aux/git-version-gen: Redirect stderr in `...` via
6051         "exec 2>...", rather than via an added sub-shell.
6052
6053 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
6054
6055         git-version-gen: use (...) rather than sh -c '...'
6056         * build-aux/git-version-gen: Rather than hard-coding a shell's name
6057         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
6058
6059 2011-01-03  Jim Meyering  <meyering@redhat.com>
6060
6061         git-version-gen: convert leading TABs to spaces
6062         * build-aux/git-version-gen: Expand leading TABs.
6063
6064         git-version-gen: handle failed "git rev-list"
6065         * build-aux/git-version-gen: Rather than leaking a "fatal" error
6066         from git and proceeding as if it had succeeded but printed no SHA1
6067         checksums, suppress the diagnostic and handle the failure.
6068         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
6069
6070         git-version-gen: include command name in one more diagnostic
6071         * build-aux/git-version-gen: When the required .tarball-version file
6072         was missing or unreadable, you might see the diagnostic from "cat",
6073         but no trace of the name of the invoking script.  Now, you still see
6074         the diagnostic from cat, but also get one from "git-version-gen: ".
6075         Inspired by a patch from Bruce Korb.
6076
6077         update-copyright: adjust test to match changed code
6078         * tests/test-update-copyright.sh: Change test's expected output
6079         to match new actual output.
6080
6081 2011-01-02  Bruno Haible  <bruno@clisp.org>
6082
6083         getlogin_r: Avoid test failure on HP-UX 11.
6084         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
6085         ERANGE when the second argument is zero.
6086         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
6087         portability problem.
6088
6089 2011-01-02  Bruce Korb  <bkorb@gnu.org>
6090
6091         * build-aux/update-copyright: doc Simon's changes
6092
6093 2011-01-02  Simon Josefsson  <simon@josefsson.org>
6094
6095         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
6096         environment variable.
6097
6098 2011-01-02  Bruno Haible  <bruno@clisp.org>
6099
6100         unigbrk: Avoid gcc warnings.
6101         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
6102         unused variable.
6103         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
6104         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
6105         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
6106         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
6107         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
6108         Change type of first argument to 'const char *'.
6109         (main): Remove unused variable.
6110         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
6111         type of first argument to 'const char *'.
6112         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
6113         Likewise.
6114         (main): Change type of variable 's'.
6115         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
6116         to 'int'.
6117
6118 2011-01-02  Bruno Haible  <bruno@clisp.org>
6119
6120         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
6121         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
6122         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
6123         bug.
6124         * lib/pwrite.c: Undo 2010-12-31 patch.
6125         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
6126
6127 2011-01-02  Bruno Haible  <bruno@clisp.org>
6128
6129         pread: Fix test whether it works.
6130         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
6131
6132 2011-01-02  Bruno Haible  <bruno@clisp.org>
6133
6134         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
6135         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
6136         ends in "6". Don't require a specific month name. Try also the locale
6137         names found on HP-UX 11 and Solaris 7.
6138
6139 2011-01-02  Bruno Haible  <bruno@clisp.org>
6140
6141         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
6142         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
6143         C linkage.
6144         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
6145
6146 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6147
6148         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
6149         for consistency, since the "cluster" term is not used elsewhere.
6150         * lib/unigbrk.in.h: Update name.
6151         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
6152         * lib/unigbrk/u16-grapheme-next.c: Update name.
6153         * lib/unigbrk/u16-grapheme-prev.c: Update name.
6154         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
6155         * lib/unigbrk/u32-grapheme-next.c: Update name.
6156         * lib/unigbrk/u32-grapheme-prev.c: Update name.
6157         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
6158         * lib/unigbrk/u8-grapheme-next.c: Update name.
6159         * lib/unigbrk/u8-grapheme-prev.c: Update name.
6160         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
6161         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
6162         Suggested by Bruno Haible.
6163
6164 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6165
6166         Remove module 'u8-grapheme-len' as too redundant with
6167         'u8-grapheme-next'.
6168         * modules/unigbrk/u8-grapheme-len: Delete file.
6169         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
6170         * lib/unigbrk.in.h: Remove prototype for deleted function.
6171         * lib/unigbrk/u8-grapheme-len.c: Delete file.
6172         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
6173
6174         Remove module 'u16-grapheme-len' as too redundant with
6175         'u16-grapheme-next'.
6176         * modules/unigbrk/u16-grapheme-len: Delete file.
6177         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
6178         * lib/unigbrk.in.h: Remove prototype for deleted function.
6179         * lib/unigbrk/u16-grapheme-len.c: Delete file.
6180         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
6181
6182         Remove module 'u32-grapheme-len' as too redundant with
6183         'u32-grapheme-next'.
6184         * modules/unigbrk/u32-grapheme-len: Delete file.
6185         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
6186         * lib/unigbrk.in.h: Remove prototype for deleted function.
6187         * lib/unigbrk/u32-grapheme-len.c: Delete file.
6188         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
6189
6190         Suggested by Bruno Haible.
6191
6192 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6193
6194         * unigbrk.in.h: Fix typo: "ben" => "been".
6195         Reported by Bruno Haible.
6196
6197 2011-01-01  Jim Meyering  <meyering@redhat.com>
6198
6199         maint: update almost all copyright ranges to include 2011
6200         Run the new "make update-copyright" rule.
6201
6202 2011-01-01  Jim Meyering  <meyering@redhat.com>
6203
6204         maint: update-copyright: exempt doc/INSTALL*
6205         * Makefile (update-copyright): Also exclude doc/INSTALL*,
6206         since they are generated.  Suggested by Bruno Haible.
6207
6208 2011-01-01  Jim Meyering  <meyering@redhat.com>
6209
6210         maint: refine the update-copyright rule
6211         * Makefile (update-copyright): Also exclude any file that includes
6212         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
6213         code that merely generates the comment.
6214
6215 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
6216
6217         New module 'u8-grapheme-len'.
6218         * modules/unigbrk/u8-grapheme-len: New file.
6219         * modules/unigbrk/u8-grapheme-len-tests: New file.
6220         * lib/unigbrk.in.h: Add prototype for new function.
6221         * lib/unigbrk/u8-grapheme-len.c: New file.
6222         * tests/unigbrk/test-u8-grapheme-len.c: New file.
6223
6224         New module 'u16-grapheme-len'.
6225         * modules/unigbrk/u16-grapheme-len: New file.
6226         * modules/unigbrk/u16-grapheme-len-tests: New file.
6227         * lib/unigbrk.in.h: Add prototype for new function.
6228         * lib/unigbrk/u16-grapheme-len.c: New file.
6229         * tests/unigbrk/test-u16-grapheme-len.c: New file.
6230
6231         New module 'u32-grapheme-len'.
6232         * modules/unigbrk/u32-grapheme-len: New file.
6233         * modules/unigbrk/u32-grapheme-len-tests: New file.
6234         * lib/unigbrk.in.h: Add prototype for new function.
6235         * lib/unigbrk/u32-grapheme-len.c: New file.
6236         * tests/unigbrk/test-u32-grapheme-len.c: New file.
6237
6238         New module 'u8-grapheme-next'.
6239         * modules/unigbrk/u8-grapheme-next: New file.
6240         * modules/unigbrk/u8-grapheme-next-tests: New file.
6241         * lib/unigbrk.in.h: Add prototype for new function.
6242         * lib/unigbrk/u8-grapheme-next.c: New file.
6243         * tests/unigbrk/test-u8-grapheme-next.c: New file.
6244
6245         New module 'u16-grapheme-next'.
6246         * modules/unigbrk/u16-grapheme-next: New file.
6247         * modules/unigbrk/u16-grapheme-next-tests: New file.
6248         * lib/unigbrk.in.h: Add prototype for new function.
6249         * lib/unigbrk/u16-grapheme-next.c: New file.
6250         * tests/unigbrk/test-u16-grapheme-next.c: New file.
6251
6252         New module 'u32-grapheme-next'.
6253         * modules/unigbrk/u32-grapheme-next: New file.
6254         * modules/unigbrk/u32-grapheme-next-tests: New file.
6255         * lib/unigbrk.in.h: Add prototype for new function.
6256         * lib/unigbrk/u32-grapheme-next.c: New file.
6257         * tests/unigbrk/test-u32-grapheme-next.c: New file.
6258
6259         New module 'u8-grapheme-prev'.
6260         * modules/unigbrk/u8-grapheme-prev: New file.
6261         * modules/unigbrk/u8-grapheme-prev-tests: New file.
6262         * lib/unigbrk.in.h: Add prototype for new function.
6263         * lib/unigbrk/u8-grapheme-prev.c: New file.
6264         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
6265
6266         New module 'u16-grapheme-prev'.
6267         * modules/unigbrk/u16-grapheme-prev: New file.
6268         * modules/unigbrk/u16-grapheme-prev-tests: New file.
6269         * lib/unigbrk.in.h: Add prototype for new function.
6270         * lib/unigbrk/u16-grapheme-prev.c: New file.
6271         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
6272
6273         New module 'u32-grapheme-prev'.
6274         * modules/unigbrk/u32-grapheme-prev: New file.
6275         * modules/unigbrk/u32-grapheme-prev-tests: New file.
6276         * lib/unigbrk.in.h: Add prototype for new function.
6277         * lib/unigbrk/u32-grapheme-prev.c: New file.
6278         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
6279
6280         New module 'u8-grapheme-breaks'.
6281         * modules/unigbrk/u8-grapheme-breaks: New file.
6282         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
6283         * lib/unigbrk.in.h: Add prototype for new function.
6284         * lib/unigbrk/u8-grapheme-breaks.c: New file.
6285         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
6286
6287         New module 'u16-grapheme-breaks'.
6288         * modules/unigbrk/u16-grapheme-breaks: New file.
6289         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
6290         * lib/unigbrk.in.h: Add prototype for new function.
6291         * lib/unigbrk/u16-grapheme-breaks.c: New file.
6292         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
6293
6294         New module 'u32-grapheme-breaks'.
6295         * modules/unigbrk/u32-grapheme-breaks: New file.
6296         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
6297         * lib/unigbrk.in.h: Add prototype for new function.
6298         * lib/unigbrk/u32-grapheme-breaks.c: New file.
6299         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
6300
6301         New module 'ulc-grapheme-breaks'.
6302         * modules/unigbrk/ulc-grapheme-breaks: New file.
6303         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
6304         * m4/locale-ar.m4: New file.
6305         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
6306         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
6307         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
6308
6309 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
6310
6311         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
6312         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
6313         modified how this file was generated before I initially submitted
6314         the module, but failed to regenerate it.  This meant that several
6315         of the level2 entries were wrong.
6316         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
6317         Remove the division-by-2 that is folded into the table now that
6318         gbrkprop.h has been regenerated properly.  Now -1 entries are
6319         handled correctly.
6320
6321         New module 'unigbrk/uc-gbrk-prop-tests'.
6322         * modules/unigbrk/uc-gbrk-prop-tests: New file.
6323         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
6324         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
6325         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
6326
6327 2011-01-01  Bruno Haible  <bruno@clisp.org>
6328
6329         Avoid use of hexadecimal escapes.
6330         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
6331         instead of hexadecimal escapes.
6332
6333 2011-01-01  Jim Meyering  <meyering@redhat.com>
6334
6335         maint: new rule to update copyright year ranges
6336         * Makefile (update-copyright): New rule.
6337
6338         maint: indent with TABs in Makefile
6339         * Makefile: Expand leading sequences of spaces to TABs
6340
6341         version-etc: update the copyright year it reports
6342         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
6343
6344 2010-12-31  Bruno Haible  <bruno@clisp.org>
6345
6346         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
6347         * lib/isfinite.c (zerof, zerod, zerol): New variables.
6348         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
6349         zero.
6350
6351 2010-12-31  Bruno Haible  <bruno@clisp.org>
6352
6353         pwrite: Work around HP-UX 11.11 bug.
6354         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
6355         works and set REPLACE_PWRITE if not.
6356         * lib/pwrite.c (pwrite): Add an implementation that uses the system
6357         function.
6358         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
6359
6360 2010-12-31  Bruno Haible  <bruno@clisp.org>
6361
6362         pread: Work around HP-UX 11 bugs.
6363         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
6364         and set REPLACE_PREAD if not.
6365         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
6366
6367 2010-12-31  Eric Blake  <eblake@redhat.com>
6368
6369         nl_langinfo: fix YESEXPR on Irix 6.5
6370         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
6371         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
6372         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
6373         it.
6374
6375 2010-12-31  Bruno Haible  <bruno@clisp.org>
6376
6377         iconv: Document HP-UX 11 bug.
6378         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
6379
6380 2010-12-31  Bruno Haible  <bruno@clisp.org>
6381
6382         ldexpl: Fix link error on HP-UX 11.
6383         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
6384         LDEXPL_LIBM, using $ISNANL_LIBM.
6385
6386 2010-12-31  Eric Blake  <eblake@redhat.com>
6387
6388         ftello: avoid compilation failure with SunStudio c89
6389         * lib/ftello.c (ftello): Use lseek, not llseek.
6390
6391         tests: avoid failing coreutils tests on cygwin
6392         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
6393         (create_exe_shims_): Return 0 when skipping.
6394
6395 2010-12-31  Bruno Haible  <bruno@clisp.org>
6396
6397         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
6398         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
6399
6400 2010-12-31  Bruno Haible  <bruno@clisp.org>
6401
6402         waitpid: Fix link error in C++ mode.
6403         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
6404
6405 2010-12-31  Bruno Haible  <bruno@clisp.org>
6406
6407         isnan: Use GCC built-ins when possible.
6408         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
6409         __builtin_isnan.
6410         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
6411         (isnan): Define using GCC built-ins for GCC >= 4.0.
6412
6413 2010-12-31  Bruno Haible  <bruno@clisp.org>
6414
6415         isnand: Fix mistake.
6416         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
6417         __builtin_isnand.
6418
6419 2010-12-31  Bruno Haible  <bruno@clisp.org>
6420
6421         open: Avoid C++ error on HP-UX 11.
6422         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
6423
6424 2010-12-31  Bruno Haible  <bruno@clisp.org>
6425
6426         time_r: Add missing declarations on HP-UX 11.
6427         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
6428         instead of HAVE_LOCALTIME_R.
6429         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
6430         HAVE_LOCALTIME_R always.
6431         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
6432         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
6433         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
6434         HAVE_LOCALTIME_R.
6435         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
6436         * doc/posix-functions/localtime_r.texi: Likewise.
6437
6438 2010-12-29  Eric Blake  <eblake@redhat.com>
6439
6440         mountlist: tweak previous commit
6441         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
6442         Reported by Paul Eggert.
6443
6444         mountlist: fix local drive detection on cygwin
6445         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
6446         that works for cygwin.
6447
6448 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
6449
6450         ftoastr, snprintf: ftoastr + snprintf module
6451         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
6452         since the snprintf module now should be good enough here.
6453         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
6454         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
6455         and gl_MODULE_INDICATOR([snprintf]), but the former enables
6456         GNULIB_SNPRINTF only for the test directory, and the latter
6457         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
6458         seems to suffice by itself.
6459
6460 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
6461
6462         alloca: one step towards thread-safety
6463         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
6464         need for a static variable.  All callers changed.  This does not
6465         make the alloca replacement thread-safe, but it's one step.
6466
6467         tests: minor indenting change
6468         * tests/init.sh: Sync from coreutils housekeeping patch
6469         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
6470         to keep lines within 80 columns.
6471
6472 2010-12-28  Jim Meyering  <meyering@redhat.com>
6473
6474         regex: don't infloop on persistent failing calloc
6475         * lib/regexec.c (build_trtable): Return failure indication upon
6476         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
6477         In glibc, this was fixed for version 2.13:
6478         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
6479
6480 2010-12-28  Bruno Haible  <bruno@clisp.org>
6481             Paul Eggert <eggert@cs.ucla.edu>
6482
6483         linkat: Make implementation robust against system behaviour variations.
6484         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
6485         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
6486         way, and to -2 if it needs a generic runtime test.
6487         * lib/linkat.c (solaris_optimized_link_immediate,
6488         solaris_optimized_link_follow): New functions.
6489         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
6490         (check_same_link): Use it.
6491
6492 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
6493
6494         New module 'unigbrk/base'.
6495         * modules/unigbrk/base: New file.
6496         * lib/unigbrk.in.h: New file.
6497
6498         New module 'unigbrk/uc-gbrk-prop'.
6499         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
6500         * modules/unigbrk/uc-gbrk-prop: New file.
6501         * lib/unigbrk/gbrkprop.h: New file.
6502         * lib/unigbrk/uc-gbrk-prop.c: New file.
6503
6504         New module 'unigbrk/uc-is-grapheme-break'.
6505         * modules/unigbrk/uc-is-grapheme-break: New file.
6506         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
6507         * lib/unigbrk/uc-is-grapheme-break.c: New file.
6508         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
6509         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
6510         * tests/unigbrk/GraphemeBreakTest.txt: New file.
6511
6512         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
6513
6514 2010-12-27  Bruno Haible  <bruno@clisp.org>
6515
6516         linkat test: Avoid failure on Solaris 11 2010-11.
6517         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
6518
6519 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6520
6521         utimens: work around glibc rounding bug on more platforms
6522         * lib/utimens.c (fdutimens): Work around rounding bug even if
6523         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
6524         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
6525
6526 2010-12-27  Bruno Haible  <bruno@clisp.org>
6527
6528         select tests: Improve comments.
6529         * tests/test-select.c (do_select): Add comments.
6530
6531 2010-12-27  Bruno Haible  <bruno@clisp.org>
6532
6533         select tests: Safer way of handling timeout.
6534         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
6535         at every invocation.
6536
6537 2010-12-27  Bruno Haible  <bruno@clisp.org>
6538
6539         select tests: Use 'bool' where appropriate.
6540         * tests/test-select.c (connect_to_socket): Change argument type to
6541         'bool'.
6542
6543 2010-12-27  Bruno Haible  <bruno@clisp.org>
6544
6545         select tests: Use existing modules.
6546         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
6547         (configure.ac): Don't test for unistd.h.
6548         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
6549         declared in <unistd.h>.
6550
6551 2010-12-27  Bruno Haible  <bruno@clisp.org>
6552
6553         mbrtowc: Work around a Solaris 7 bug.
6554         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
6555         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
6556         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
6557         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
6558         MBRTOWC_NULL_ARG1_BUG.
6559         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
6560         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
6561         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
6562         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
6563
6564 2010-12-27  Jim Meyering  <meyering@redhat.com>
6565
6566         read-file.c: tweak syntax
6567         * lib/read-file.c (fread_file): Remove space after "*" in function
6568         definitions.
6569
6570 2010-12-27  Bruno Haible  <bruno@clisp.org>
6571
6572         times test: Avoid gcc warnings on OSF/1.
6573         * tests/test-times.c (main): Cast printf arguments from clock_t to
6574         'long int'.
6575
6576 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6577
6578         utimens: work around glibc rounding bug on older Linux kernels
6579         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
6580         on Linux with a glibc whose utimes might not work, then work
6581         around a longstanding glibc bug involving rounding rather than
6582         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
6583         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6584
6585 2010-12-26  Bruno Haible  <bruno@clisp.org>
6586
6587         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
6588         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
6589         _GL_CXXALIAS_SYS.
6590         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6591
6592 2010-12-26  Bruno Haible  <bruno@clisp.org>
6593
6594         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
6595         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
6596         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6597         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
6598         looking for the declaration.
6599         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
6600         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
6601         problem.
6602         * doc/posix-functions/inet_pton.texi: Likewise.
6603
6604 2010-12-26  Bruno Haible  <bruno@clisp.org>
6605
6606         arpa_inet: Use the common idioms with C++ support.
6607         * lib/arpa_inet.in.h: Include c++defs.h.
6608         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
6609         support.
6610         * modules/arpa_inet (Depends-on): Add c++defs.
6611         (Makefile.am): Substitute the contents of c++defs.h.
6612         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
6613         * modules/arpa_inet-c++-tests: New file.
6614         * tests/test-arpa_inet-c++.cc: New file.
6615
6616 2010-12-25  Bruno Haible  <bruno@clisp.org>
6617
6618         Fix more C++ link errors on Solaris 8.
6619         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
6620         $(LIB_EACCESS).
6621         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
6622         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
6623         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
6624         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
6625         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
6626
6627 2010-12-25  Bruno Haible  <bruno@clisp.org>
6628
6629         printf-posix: Fix link error when a non-GCC compiler is used.
6630         * lib/stdio.in.h (printf): When not using GCC, override printf
6631         correctly.
6632         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6633
6634 2010-12-25  Bruno Haible  <bruno@clisp.org>
6635
6636         strerror_r-posix: Update doc.
6637         * doc/posix-functions/strerror_r.texi: Update doc about the return
6638         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
6639
6640 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6641
6642         utimens: simplify the logic of the previous change
6643         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
6644         This should not affect whether the test succeeds or fails.
6645
6646         utimens: configure better on hosts with NFS clock skew
6647         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
6648         uses the clock of the local host.  It might use the clock of the
6649         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
6650         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6651
6652 2010-12-25  Bruno Haible  <bruno@clisp.org>
6653
6654         ptsname test: Avoid failure on Solaris.
6655         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
6656         open a pseudo-terminal; don't use BSD-style ptys.
6657         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
6658
6659 2010-12-25  Bruno Haible  <bruno@clisp.org>
6660
6661         ptsname: Avoid ERANGE failure on some systems.
6662         * lib/ptsname.c (buffer): Increase size.
6663
6664 2010-12-25  Bruno Haible  <bruno@clisp.org>
6665
6666         rename, renameat: Avoid test failures at NFS mounted locations.
6667         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
6668         so that subsequent mkdir calls succeed.
6669
6670 2010-12-25  Bruno Haible  <bruno@clisp.org>
6671
6672         iswblank: Fix C++ link error on Solaris 8.
6673         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
6674         _GL_FUNCDECL_SYS.
6675
6676 2010-12-25  Bruno Haible  <bruno@clisp.org>
6677
6678         unistd: Fix C++ link error on Solaris 8.
6679         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
6680
6681 2010-12-25  Bruno Haible  <bruno@clisp.org>
6682
6683         readlink doc: Mention an old glibc bug.
6684         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
6685
6686 2010-12-25  Bruno Haible  <bruno@clisp.org>
6687
6688         fcntl-h: Fix for use of C++ on glibc systems.
6689         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6690         also on glibc systems in C++ mode.
6691         Reported by Gary V. Vaughan <gary@gnu.org>.
6692
6693 2010-12-25  Bruno Haible  <bruno@clisp.org>
6694
6695         roundl-ieee: Make it work on OSF/1 5.1 with cc.
6696         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
6697
6698 2010-12-25  Bruno Haible  <bruno@clisp.org>
6699
6700         truncl-ieee: Make it work on OSF/1 5.1 with cc.
6701         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
6702         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
6703         test whether truncl works according to ISO C 99 with IEC 60559.
6704         * m4/truncl-ieee.m4: New file.
6705         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
6706         m4/signbit.m4.
6707         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
6708
6709 2010-12-25  Bruno Haible  <bruno@clisp.org>
6710
6711         ceill-ieee: Make it work on OSF/1 5.1 with cc.
6712         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
6713         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
6714         test whether ceill works according to ISO C 99 with IEC 60559.
6715         * m4/ceill-ieee.m4: New file.
6716         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
6717         m4/signbit.m4.
6718         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
6719
6720 2010-12-25  Bruno Haible  <bruno@clisp.org>
6721
6722         Ensure all prerequisites of <wchar.h> are included.
6723         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
6724         before <wchar.h>.
6725         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
6726         gl_MBRLEN_NUL_RETVAL): Likewise.
6727         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6728         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
6729         AC_FUNC_MBRTOWC): Likewise.
6730         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6731         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
6732         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6733         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6734         Likewise.
6735         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6736         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
6737         (gl_WCHAR_H): Improve comments.
6738         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6739
6740 2010-12-25  Bruno Haible  <bruno@clisp.org>
6741
6742         strtok_r: Fix C syntax error in autoconf macro.
6743         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
6744         characters in test program.
6745
6746 2010-12-24  Bruno Haible  <bruno@clisp.org>
6747
6748         ceil, trunc, round: Fix gcc warnings.
6749         * lib/ceil.c (MIN): Undefine before redefining.
6750         * lib/trunc.c (MIN): Likewise.
6751         * lib/round.c (MIN): Likewise.
6752         Include <math.h> first.
6753
6754 2010-12-24  Bruno Haible  <bruno@clisp.org>
6755
6756         select tests: Avoid failures on OSF/1 5.1.
6757         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
6758         failure of closing the last socket; it may fail with ECONNRESET.
6759
6760 2010-12-24  Eric Blake  <eblake@redhat.com>
6761
6762         stdint: avoid HP-UX 10.20 preprocessor bug
6763         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
6764         than #if.
6765         * tests/test-floor2.c (main): Likewise.
6766         Reported by Peter O'Gorman.
6767
6768         pipe: make obsoletion transition easier
6769         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
6770         * modules/pipe (Files): Include revived file.
6771         (Include): Drop reference, to mirror getdate's behavior.
6772
6773 2010-12-24  Bruno Haible  <bruno@clisp.org>
6774
6775         sys_socket: Hide mismatch of declarations on NonStop Kernel.
6776         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
6777         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
6778         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6779
6780 2010-12-24  Bruno Haible  <bruno@clisp.org>
6781
6782         gethostname: Ensure declaration on NonStop Kernel.
6783         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
6784         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6785
6786 2010-12-24  Bruno Haible  <bruno@clisp.org>
6787
6788         sys_select: Ensure all necessary types on NonStop Kernel.
6789         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
6790         include <sys/time.h>.
6791         * doc/posix-headers/sys_select.texi: Mention that it's missing on
6792         NonStop Kernel.
6793         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6794
6795 2010-12-24  Bruno Haible  <bruno@clisp.org>
6796
6797         sys_select: Remove unneeded include.
6798         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
6799         have <sys/select.h>.
6800
6801 2010-12-24  Bruno Haible  <bruno@clisp.org>
6802
6803         gethostname: Provide a fallback for HOST_NAME_MAX.
6804         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
6805         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
6806         instead.
6807         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6808
6809 2010-12-24  Bruno Haible  <bruno@clisp.org>
6810
6811         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
6812         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
6813         (SA_RESTART): Likewise.
6814         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6815
6816 2010-12-24  Bruno Haible  <bruno@clisp.org>
6817
6818         signal: Define NSIG.
6819         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
6820         * tests/test-signal.c (nsig): New variable.
6821         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6822
6823 2010-12-24  Bruno Haible  <bruno@clisp.org>
6824
6825         rename, renameat: Avoid test failures on OSF/1 5.1.
6826         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
6827         alternative error codes.
6828         * tests/test-renameat.c (main): Likewise.
6829
6830 2010-12-24  Bruno Haible  <bruno@clisp.org>
6831
6832         *printf: Detect large precisions bug on Solaris 10/SPARC.
6833         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
6834         by Paul Eggert.
6835         * tests/test-snprintf-posix.h (test_function): Add this test code here
6836         too.
6837         * tests/test-sprintf-posix.h (test_function): Likewise.
6838         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6839         * tests/test-vasprintf-posix.c (test_function): Likewise.
6840         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
6841         around by gnulib.
6842         * doc/posix-functions/printf.texi: Likewise.
6843         * doc/posix-functions/snprintf.texi: Likewise.
6844         * doc/posix-functions/sprintf.texi: Likewise.
6845         * doc/posix-functions/vfprintf.texi: Likewise.
6846         * doc/posix-functions/vprintf.texi: Likewise.
6847         * doc/posix-functions/vsnprintf.texi: Likewise.
6848         * doc/posix-functions/vsprintf.texi: Likewise.
6849         * doc/posix-functions/dprintf.texi: Undo last commit.
6850         * doc/posix-functions/vdprintf.texi: Likewise.
6851
6852 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
6853
6854         tests: port test-fdutimensat.c to Solaris 8
6855         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
6856         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
6857         On Solaris 8, it fails with errno == ENOSYS, because there is no
6858         futimens (so it can't use the fd), and there is no lutimens (so it
6859         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
6860
6861         vsnprintf: make more consistent with snprintf; doc fixes
6862
6863         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
6864         the byte count return problem was promoted from the snprintf-posix
6865         to the snprintf module.
6866         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
6867         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
6868         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
6869         * tests/test-snprintf.c (main): Check the byte count returned.
6870         * tests/test-vsnprintf.c (main): Likewise.
6871
6872 2010-12-23  Eric Blake  <eblake@redhat.com>
6873
6874         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
6875         * modules/sigpipe (License): Relax license.
6876
6877 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
6878
6879         doc: document Solaris printf bug with large float precisions
6880         * doc/posix-functions/dprintf.texi (dprintf):
6881         * doc/posix-functions/fprintf.texi (fprintf):
6882         * doc/posix-functions/printf.texi (printf):
6883         * doc/posix-functions/snprintf.texi (snprintf):
6884         * doc/posix-functions/sprintf.texi (sprintf):
6885         * doc/posix-functions/vdprintf.texi (vdprintf):
6886         * doc/posix-functions/vfprintf.texi (vfprintf):
6887         * doc/posix-functions/vprintf.texi (vprintf):
6888         * doc/posix-functions/vsnprintf.texi (vsnprintf):
6889         * doc/posix-functions/vsprintf.texi (vsprintf):
6890         Mention that these functions mishandle large floating point
6891         precisions on Solaris 10.  The same bug is also present in Solaris
6892         8, and I assume earlier.  This causes "cd gnulib-tests; make
6893         check" to fail on Solaris 8 (and I assume, later) when building
6894         the latest coreutils, in test-vasprintf-posix's call to
6895         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
6896         the wide flavors (e.g., wprintf) so this patch just updates the
6897         documentation for the narrow ones.
6898
6899         test-posixtm.c: add two tests
6900         * tests/test-posixtm.c: Add two tests, to highlight the
6901         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
6902         around this bug; this is merely to document it.
6903
6904 2010-12-22  Bruno Haible  <bruno@clisp.org>
6905
6906         getlogin_r: Work around portability problem on OSF/1.
6907         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
6908         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
6909         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
6910         test for a truncated result.
6911         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
6912         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
6913         * modules/getlogin_r (Depends-on): Add memchr.
6914         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
6915
6916 2010-12-22  Bruno Haible  <bruno@clisp.org>
6917
6918         ptsname: Avoid test failure on OSF/1 5.1.
6919         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
6920         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
6921         (same_slave): New function.
6922         (main): Use it to compare ptsname's result with the expected file name.
6923
6924 2010-12-22  Bruno Haible  <bruno@clisp.org>
6925
6926         Port extended stdio modules to HP NonStop Kernel.
6927         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
6928         macros.
6929         * lib/fbufmode.c: Update comments.
6930         * lib/fflush.c: Likewise.
6931         * lib/fpurge.c: Likewise.
6932         * lib/freadable.c: Likewise.
6933         * lib/freadahead.c: Likewise.
6934         * lib/freading.c: Likewise.
6935         * lib/freadptr.c: Likewise.
6936         * lib/freadseek.c: Likewise.
6937         * lib/fseeko.c: Likewise.
6938         * lib/fseterr.c: Likewise.
6939         * lib/fwritable.c: Likewise.
6940         * lib/fwriting.c: Likewise.
6941         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6942
6943 2010-12-22  Bruno Haible  <bruno@clisp.org>
6944
6945         ttyname_r: Work around bug on OSF/1 5.1.
6946         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
6947         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
6948         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
6949         present.
6950         * lib/ttyname_r.c (ttyname_r): Update comments.
6951
6952 2010-12-22  Bruno Haible  <bruno@clisp.org>
6953
6954         round: Implement result sign according to IEEE 754.
6955         * lib/round.c (MIN, MINUS_ZERO): New macros.
6956         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
6957         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
6958         * tests/test-round-ieee.c (main): Likewise.
6959         * tests/test-roundl-ieee.c (main): Likewise.
6960
6961         trunc: Implement result sign according to IEEE 754.
6962         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
6963         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
6964         * tests/test-trunc2.c: Include minus-zero.h.
6965         (MINUS_ZERO): New macro.
6966         (trunc_reference): Keep in sync with lib/trunc.c.
6967         * tests/test-truncf2.c: Include minus-zero.h.
6968         (MINUS_ZERO): New macro.
6969         (truncf_reference): Keep in sync with lib/trunc.c.
6970         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
6971         * tests/test-trunc-ieee.c (main): Likewise.
6972         * tests/test-truncl-ieee.c (main): Likewise.
6973
6974         ceil: Implement result sign according to IEEE 754.
6975         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
6976         (FUNC): Return -0.0 for -1 < x < 0.
6977         * tests/test-ceil2.c: Include minus-zero.h.
6978         (MINUS_ZERO): New macro.
6979         (ceil_reference): Keep in sync with lib/ceil.c.
6980         * tests/test-ceilf2.c: Include minus-zero.h.
6981         (MINUS_ZERO): New macro.
6982         (ceilf_reference): Keep in sync with lib/ceil.c.
6983         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
6984         * tests/test-ceil-ieee.c (main): Likewise.
6985         * tests/test-ceill-ieee.c (main): Likewise.
6986
6987         floor: Implement result sign according to IEEE 754.
6988         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
6989         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
6990         * tests/test-floorf2.c (floorf_reference): Likewise.
6991         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
6992         * tests/test-floor-ieee.c (main): Likewise.
6993         * tests/test-floorl-ieee.c (main): Likewise.
6994
6995 2010-12-22  Bruno Haible  <bruno@clisp.org>
6996
6997         getaddrinfo: Update doc.
6998         * doc/posix-functions/gai_strerror.texi: Return type is also different
6999         on AIX and HP-UX.
7000
7001 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7002
7003         getaddrinfo, inet_ntop: Update doc for Solaris.
7004         * doc/posix-functions/gai_strerror.texi: Return type is also an
7005         issue on Solaris 9 and earlier.
7006         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
7007         on Solaris 10 and earlier.
7008
7009 2010-12-21  Bruno Haible  <bruno@clisp.org>
7010
7011         New module 'roundl-ieee'.
7012         * modules/roundl-ieee: New file.
7013         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
7014         test whether roundl works according to ISO C 99 with IEC 60559.
7015         * m4/roundl-ieee.m4: New file.
7016         * modules/roundl-ieee-tests: New file.
7017         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
7018         * tests/test-roundl.c (main): Remove signbit tests.
7019         * modules/roundl-tests (Depends-on): Remove signbit.
7020         * doc/posix-functions/roundl.texi: Mention the new module.
7021
7022 2010-12-21  Bruno Haible  <bruno@clisp.org>
7023
7024         New module 'truncl-ieee'.
7025         * modules/truncl-ieee: New file.
7026         * modules/truncl-ieee-tests: New file.
7027         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
7028         * tests/test-truncl.c (main): Remove signbit tests.
7029         * modules/truncl-tests (Depends-on): Remove signbit.
7030         * doc/posix-functions/truncl.texi: Mention the new module.
7031
7032 2010-12-21  Bruno Haible  <bruno@clisp.org>
7033
7034         New module 'ceill-ieee'.
7035         * modules/ceill-ieee: New file.
7036         * modules/ceill-ieee-tests: New file.
7037         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
7038         * tests/test-ceill.c (main): Remove signbit tests.
7039         * modules/ceill-tests (Depends-on): Remove signbit.
7040         * doc/posix-functions/ceill.texi: Mention the new module.
7041
7042 2010-12-21  Bruno Haible  <bruno@clisp.org>
7043
7044         New module 'floorl-ieee'.
7045         * modules/floorl-ieee: New file.
7046         * modules/floorl-ieee-tests: New file.
7047         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
7048         * tests/test-floorl.c (main): Remove signbit tests.
7049         * modules/floorl-tests (Depends-on): Remove signbit.
7050         * doc/posix-functions/floorl.texi: Mention the new module.
7051
7052 2010-12-21  Bruno Haible  <bruno@clisp.org>
7053
7054         New module 'round-ieee'.
7055         * modules/round-ieee: New file.
7056         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
7057         whether round works according to ISO C 99 with IEC 60559.
7058         * m4/round-ieee.m4: New file.
7059         * modules/round-ieee-tests: New file.
7060         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
7061         * tests/test-round1.c (main): Remove signbit tests.
7062         * modules/round-tests (Depends-on): Remove 'signbit'.
7063         * doc/posix-functions/round.texi: Mention the new module.
7064
7065 2010-12-21  Bruno Haible  <bruno@clisp.org>
7066
7067         New module 'trunc-ieee'.
7068         * modules/trunc-ieee: New file.
7069         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
7070         whether trunc works according to ISO C 99 with IEC 60559.
7071         * m4/trunc-ieee.m4: New file.
7072         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
7073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
7074         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
7075         * modules/trunc-ieee-tests: New file.
7076         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
7077         * tests/test-trunc1.c (main): Remove signbit tests.
7078         * modules/trunc-tests (Depends-on): Remove 'signbit'.
7079         * doc/posix-functions/trunc.texi: Mention the new module.
7080
7081 2010-12-21  Bruno Haible  <bruno@clisp.org>
7082
7083         New module 'ceil-ieee'.
7084         * modules/ceil-ieee: New file.
7085         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
7086         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
7087         ISO C 99 with IEC 60559.
7088         * m4/ceil-ieee.m4: New file.
7089         * modules/ceil (Files): Add lib/ceil.c.
7090         (Depends-on): Add 'float'.
7091         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7092         * lib/math.in.h (ceil): New declaration.
7093         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
7094         REPLACE_CEIL.
7095         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
7096         * modules/ceil-ieee-tests: New file.
7097         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
7098         * tests/test-math-c++.cc: Check the signature of 'ceil'.
7099         * doc/posix-functions/ceil.texi: Mention the new module.
7100
7101 2010-12-21  Bruno Haible  <bruno@clisp.org>
7102
7103         New module 'floor-ieee'.
7104         * modules/floor-ieee: New file.
7105         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
7106         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
7107         ISO C 99 with IEC 60559.
7108         * m4/floor-ieee.m4: New file.
7109         * modules/floor (Files): Add lib/floor.c.
7110         (Depends-on): Add 'float'.
7111         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7112         * lib/math.in.h (floor): New declaration.
7113         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
7114         REPLACE_FLOOR.
7115         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
7116         * modules/floor-ieee-tests: New file.
7117         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
7118         * tests/test-math-c++.cc: Check the signature of 'floor'.
7119         * doc/posix-functions/floor.texi: Mention the new module.
7120
7121 2010-12-21  Bruno Haible  <bruno@clisp.org>
7122
7123         New module 'roundf-ieee'.
7124         * modules/roundf-ieee: New file.
7125         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
7126         test whether roundf works according to ISO C 99 with IEC 60559.
7127         * m4/roundf-ieee.m4: New file.
7128         * modules/roundf-ieee-tests: New file.
7129         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
7130         * tests/test-roundf1.c (main): Remove signbit tests.
7131         * modules/roundf-tests (Depends-on): Remove 'signbit'.
7132         * doc/posix-functions/roundf.texi: Mention the new module.
7133
7134 2010-12-21  Bruno Haible  <bruno@clisp.org>
7135
7136         New module 'truncf-ieee'.
7137         * modules/truncf-ieee: New file.
7138         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
7139         test whether truncf works according to ISO C 99 with IEC 60559.
7140         * m4/truncf-ieee.m4: New file.
7141         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
7142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
7143         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
7144         * modules/truncf-ieee-tests: New file.
7145         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
7146         * tests/test-truncf1.c (main): Remove signbit tests.
7147         * modules/truncf-tests (Depends-on): Remove 'signbit'.
7148         * doc/posix-functions/truncf.texi: Mention the new module.
7149
7150 2010-12-21  Bruno Haible  <bruno@clisp.org>
7151
7152         New module 'ceilf-ieee'.
7153         * modules/ceilf-ieee: New file.
7154         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
7155         test whether ceilf works according to ISO C 99 with IEC 60559.
7156         * m4/ceilf-ieee.m4: New file.
7157         * modules/ceilf-ieee-tests: New file.
7158         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
7159         * tests/test-ceilf1.c (main): Remove signbit tests.
7160         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
7161         * doc/posix-functions/ceilf.texi: Mention the new module.
7162
7163 2010-12-21  Bruno Haible  <bruno@clisp.org>
7164
7165         New module 'floorf-ieee'.
7166         * modules/floorf-ieee: New file.
7167         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
7168         test whether floorf works according to ISO C 99 with IEC 60559.
7169         * m4/floorf-ieee.m4: New file.
7170         * modules/floorf-ieee-tests: New file.
7171         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
7172         * tests/test-floorf1.c (main): Remove signbit tests.
7173         * modules/floorf-tests (Depends-on): Remove 'signbit'.
7174         * doc/posix-functions/floorf.texi: Mention the new module.
7175
7176 2010-12-21  Bruno Haible  <bruno@clisp.org>
7177
7178         Support for minus zero in autoconf macros.
7179         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
7180         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
7181         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
7182         * tests/minus-zero.h: Update comments.
7183
7184 2010-12-21  Bruno Haible  <bruno@clisp.org>
7185
7186         Tests for module 'ceil'.
7187         * modules/ceil-tests: New file.
7188         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
7189         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
7190
7191 2010-12-21  Bruno Haible  <bruno@clisp.org>
7192
7193         Tests for module 'floor'.
7194         * modules/floor-tests: New file.
7195         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
7196         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
7197
7198 2010-12-21  Bruno Haible  <bruno@clisp.org>
7199
7200         math: Fix indentation.
7201         * lib/math.in.h (floorf): Fix indentation.
7202
7203 2010-12-21  Bruno Haible  <bruno@clisp.org>
7204
7205         Fix cross-compilation guesses on Solaris.
7206         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
7207         not match "solaris2.10".
7208         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7209         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
7210         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
7211
7212 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
7213
7214         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
7215         This fixes a problem observed with the latest coreutils snapshot
7216         that caused a test to fail on Solaris 8.  src/csplit.c's call
7217         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
7218         earlier, instead of returning the number of bytes that would have
7219         been generated; this causes csplit to incorrectly report memory
7220         exhaustion.
7221         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
7222         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
7223         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
7224         comments to match.
7225         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
7226         Fix typo in matching older versions of Solaris: "solaris2.10"
7227         is matched by the shell pattern "solaris2.[0-9]*".  This matters
7228         only for guessing while cross-compiling.
7229         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
7230
7231 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
7232
7233         ftoastr: fix comment again
7234         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
7235         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
7236         Also, simplify example a bit by using flags = 0.
7237
7238 2010-12-20  Bruno Haible  <bruno@clisp.org>
7239
7240         round*, trunc*: Update documentation regarding glibc.
7241         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
7242         * doc/posix-functions/round.texi: Likewise.
7243         * doc/posix-functions/roundl.texi: Likewise.
7244         * doc/posix-functions/truncf.texi: Likewise.
7245         * doc/posix-functions/trunc.texi: Likewise.
7246         * doc/posix-functions/truncl.texi: Likewise.
7247
7248 2010-12-20  Bruno Haible  <bruno@clisp.org>
7249
7250         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
7251         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
7252         * doc/posix-functions/round.texi: Likewise.
7253         * doc/posix-functions/roundl.texi: Likewise.
7254
7255 2010-12-20  Bruno Haible  <bruno@clisp.org>
7256
7257         ttyname_r: Add missing declaration on HP-UX 11.
7258         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
7259         HAVE_TTYNAME_R.
7260         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
7261         declared. Set HAVE_TTYNAME_R always.
7262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7263         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
7264         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
7265         HAVE_TTYNAME_R.
7266         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
7267
7268 2010-12-20  Bruno Haible  <bruno@clisp.org>
7269
7270         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
7271         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
7272         * doc/posix-functions/getlogin_r.texi: Likewise.
7273         * tests/test-getlogin.c: Include <errno.h>.
7274         (main): Avoid test failure on HP-UX 11.11.
7275         * tests/test-getlogin_r.c (main): Likewise.
7276
7277 2010-12-20  Bruno Haible  <bruno@clisp.org>
7278
7279         getlogin_r: Add missing declaration on HP-UX 11.
7280         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
7281         declared also when it exists as a function.
7282         * doc/posix-functions/getlogin_r.texi: Document this workaround.
7283
7284 2010-12-20  Bruno Haible  <bruno@clisp.org>
7285
7286         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
7287         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
7288         through wcrtomb.
7289
7290 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
7291
7292         ftoastr: fix comment
7293         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
7294         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
7295
7296 2010-12-19  Bruno Haible  <bruno@clisp.org>
7297
7298         isnan: Ensure it is a macro.
7299         * lib/math.in.h (isnan): Define as a macro if not already a macro.
7300         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
7301         Solaris.
7302
7303 2010-12-19  Bruno Haible  <bruno@clisp.org>
7304
7305         ldexpl test: Fix link error on OSF/1 5.1.
7306         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
7307
7308 2010-12-19  Bruno Haible  <bruno@clisp.org>
7309
7310         wctype: Make it work in C++ mode on OSF/1 5.1.
7311         * lib/wctype.in.h (iswblank): Declare but not define here.
7312         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
7313         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
7314         * modules/wctype (Files): Add lib/iswblank.c.
7315
7316 2010-12-19  Bruno Haible  <bruno@clisp.org>
7317
7318         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
7319         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
7320         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
7321
7322 2010-12-19  Bruno Haible  <bruno@clisp.org>
7323
7324         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
7325         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
7326         _POSIX_PII_SOCKET.
7327         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
7328         * doc/posix-functions/recvfrom.texi: Likewise.
7329         * doc/posix-functions/send.texi: Likewise.
7330         * doc/posix-functions/sendto.texi: Likewise.
7331
7332 2010-12-19  Bruno Haible  <bruno@clisp.org>
7333
7334         tcgetsid: Add missing declaration on OSF/1 5.1.
7335         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
7336         HAVE_TCGETSID.
7337         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
7338         Don't set HAVE_TCGETSID.
7339         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
7340         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
7341         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
7342         HAVE_TCGETSID.
7343         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
7344
7345 2010-12-19  Bruno Haible  <bruno@clisp.org>
7346
7347         stdio: Fix problem with popen() declaration on OSF/1 5.1.
7348         * lib/stdio.in.h: During the include_next statement, let recursive
7349         includes of this file include only the system header file.
7350
7351 2010-12-19  Bruno Haible  <bruno@clisp.org>
7352
7353         iconv_open: Fix regression from 2010-12-04.
7354         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
7355         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
7356
7357 2010-12-19  Bruno Haible  <bruno@clisp.org>
7358
7359         stdbool test: Avoid a gcc warning.
7360         * tests/test-stdbool.c (main): Fail if e1 is false.
7361         Reported by Jim Meyering.
7362
7363 2010-12-19  Jim Meyering  <meyering@redhat.com>
7364
7365         setenv: restore to working order
7366         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
7367         mistakenly removed.
7368         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
7369         HAVE_SETENV.
7370         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
7371         HAVE_SETENV.
7372
7373 2010-12-19  Bruno Haible  <bruno@clisp.org>
7374
7375         Document some different function declarations on OSF/1 5.1.
7376         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
7377         * doc/posix-functions/inet_ntop.texi: Likewise.
7378         * doc/posix-functions/gethostname.texi: Likewise.
7379         * lib/unistd.in.h (gethostname): Update comment.
7380
7381 2010-12-19  Bruno Haible  <bruno@clisp.org>
7382
7383         doc: Mention vasprintf-posix module.
7384         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
7385         the 'vasprintf-posix' module.
7386         * doc/glibc-functions/vasprintf.texi: Likewise.
7387
7388 2010-12-19  Bruno Haible  <bruno@clisp.org>
7389
7390         unsetenv: Add missing declaration on OSF/1 5.1.
7391         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
7392         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
7393         Don't set HAVE_UNSETENV. In the test program, set _BSD.
7394         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
7395         not HAVE_UNSETENV.
7396         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
7397         HAVE_UNSETENV.
7398         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
7399
7400 2010-12-19  Bruno Haible  <bruno@clisp.org>
7401
7402         setenv: Add missing declaration on OSF/1 5.1.
7403         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
7404         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
7405         declared. Don't set HAVE_SETENV.
7406         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
7407         not HAVE_SETENV.
7408         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
7409         HAVE_SETENV.
7410         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
7411
7412 2010-12-19  Bruno Haible  <bruno@clisp.org>
7413
7414         nl_langinfo tests: Avoid gcc warning.
7415         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
7416
7417 2010-12-19  Bruno Haible  <bruno@clisp.org>
7418
7419         mknod: Avoid error in C++ mode on OSF/1 with GCC.
7420         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
7421         _GL_CXXALIAS_SYS.
7422
7423 2010-12-19  Bruno Haible  <bruno@clisp.org>
7424
7425         stdbool: Relax test.
7426         * tests/test-stdbool.c (e): Don't require that casts from a variable's
7427         address to 'bool' work in static initializer, for compilers other than
7428         GCC.
7429
7430 2010-12-19  Bruno Haible  <bruno@clisp.org>
7431
7432         ftello: Add missing declaration on OSF/1 5.1.
7433         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
7434         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
7435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
7436         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
7437         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
7438
7439 2010-12-19  Bruno Haible  <bruno@clisp.org>
7440
7441         fseeko: Add missing declaration on OSF/1 5.1.
7442         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
7443         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
7444         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
7445         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
7446         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
7447
7448 2010-12-19  Bruno Haible  <bruno@clisp.org>
7449
7450         fchdir: Add missing declaration on OSF/1 5.1.
7451         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
7452         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
7453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
7454         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
7455         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
7456
7457 2010-12-19  Bruno Haible  <bruno@clisp.org>
7458
7459         relocatable-prog-wrapper: Separate from relocatable-prog.
7460         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
7461         uninstall-relocwrapper rule here.
7462         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
7463         Reported by Ian Beckwith <ianb@erislabs.net>.
7464
7465 2010-12-19  Bruno Haible  <bruno@clisp.org>
7466
7467         unistr/u8-mbsnlen: Add missing dependency.
7468         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
7469         Reported by Ian Beckwith <ianb@erislabs.net>.
7470
7471 2010-12-19  Bruno Haible  <bruno@clisp.org>
7472
7473         iconv: Make it possible again to use this module without 'iconv-h'.
7474         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
7475         if it is not defined.
7476         Reported by Ian Beckwith <ianb@erislabs.net>.
7477
7478 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7479
7480         acl: port to Solaris 8 when copying from tmpfs to ufs
7481         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
7482         error number.  Problem observed on Solaris 8 with latest
7483         coreutils, with "mv A B", where A is on a tmpfs file system and B
7484         is on a ufs file system.  This caused coreutils' mv/part-symlink
7485         test to fail.
7486
7487         tests: set fail=0 at start
7488         * tests/init.sh (setup_): Move fail=0 initialization here ...
7489         (mktempd_): ... from here, so that tests can rely on fail being
7490         set to 0 initially.  This fixes a problem in coreutils; see:
7491         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
7492
7493 2010-12-18  Bruno Haible  <bruno@clisp.org>
7494
7495         memmem-simple: Stylistic changes.
7496         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
7497         Fix preprocessor directive indentation.
7498
7499 2010-12-15  Pádraig Brady <P@draigBrady.com>
7500
7501         memmem, memmem-simple: reorganize and expand empty needle check
7502         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
7503         functional checks to memmem-simple so that one has a fully functional
7504         memmem by using just this module.
7505         Restrict the performance only check to the memmem module.
7506         Also expand the empty needle check to ensure the correct
7507         pointer is returned, not just a non NULL pointer.
7508         * doc/glibc-functions/memmem.texi: Rearrange the portability
7509         documentation to correlate with the rearranged checks.
7510         Clarify exactly how the memmem and memmem-simple modules
7511         relate to each other.
7512
7513 2010-12-15  Pádraig Brady <P@draigBrady.com>
7514             Bruno Haible  <bruno@clisp.org>
7515
7516         Improve cross-compilation guesses for uClibc.
7517         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
7518         that uClibc does not have the glibc bug.
7519         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
7520         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
7521
7522 2010-12-14  Eric Blake  <eblake@redhat.com>
7523
7524         configmake: provide fallbacks for oldest supported autotools
7525         * m4/configmake.m4: New file.
7526         * modules/configmake (Files): Ship it.
7527         (configure.ac): Use it to guarantee fallbacks.
7528
7529 2010-12-13  Pádraig Brady <P@draigBrady.com>
7530
7531         read-file: Improve handling of large files
7532         * lib/read-file.c (fread_file): Minimize realloc()s
7533         for regular files, and better manage sizes around SIZE_MAX.
7534
7535 2010-12-13  Eric Blake  <eblake@redhat.com>
7536
7537         cloexec, fcntl: relax license
7538         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
7539         consent from all contributors.
7540         * modules/fcntl (License): Likewise.
7541
7542 2010-12-10  Bruno Haible  <bruno@clisp.org>
7543
7544         Tests for module 'pipe-posix'.
7545         * modules/pipe-posix-tests: New file.
7546         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
7547
7548 2010-12-10  Bruno Haible  <bruno@clisp.org>
7549
7550         pipe-posix: Make it work in C++ mode.
7551         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
7552         (pipe): Use common idiom, not a macro definition.
7553         * lib/pipe.c: New file.
7554         * m4/pipe.m4: New file.
7555         * modules/pipe-posix (Description): Enhance.
7556         (Files): Add lib/pipe.c, m4/pipe.m4.
7557         (configure.ac): Invoke gl_FUNC_PIPE.
7558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
7559         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
7560         * tests/test-unistd-c++.cc: Check the signature of pipe.
7561
7562 2010-12-10  Bruno Haible  <bruno@clisp.org>
7563
7564         Rename module 'pipe' to 'spawn-pipe'.
7565         * modules/spawn-pipe: New file, renamed from modules/pipe.
7566         (Files, configure.ac, Makefile.am): Update.
7567         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
7568         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
7569         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
7570         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
7571         "spawn-pipe.h" instead of "pipe.h".
7572         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
7573         to gl_SPAWN_PIPE.
7574         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
7575         (Files, Makefile.am): Update.
7576         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
7577         Update.
7578         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
7579         Include "spawn-pipe.h" instead of "pipe.h".
7580         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
7581         * lib/javacomp.c: Likewise.
7582         * lib/javaversion.c: Likewise.
7583         * lib/pipe-filter-gi.c: Likewise.
7584         * lib/pipe-filter-ii.c: Likewise.
7585         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
7586         * modules/javacomp (Depends-on): Likewise.
7587         * modules/javaversion (Depends-on): Likewise.
7588         * modules/pipe-filter-gi (Depends-on): Likewise.
7589         * modules/pipe-filter-ii (Depends-on): Likewise.
7590         * MODULES.html.sh (Executing programs): Update.
7591         * NEWS: Mention the change.
7592
7593 2010-12-10  Eric Blake  <eblake@redhat.com>
7594
7595         pipe-posix: new module
7596         * modules/pipe-posix: New file.
7597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
7598         (gl_UNISTD_H): Check for declaration.
7599         * modules/unistd (Makefile.am): Substitute it.
7600         * lib/unistd.in.h (pipe): Provide it for mingw.
7601         * doc/posix-functions/pipe.texi (pipe): Update documentation.
7602         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
7603
7604 2010-12-07  Bruno Haible  <bruno@clisp.org>
7605
7606         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
7607         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
7608         u8_strcmp_gnu.
7609         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
7610
7611 2010-12-06  Bruno Haible  <bruno@clisp.org>
7612
7613         Update internal documentation.
7614         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
7615
7616 2010-12-04  Bruno Haible  <bruno@clisp.org>
7617
7618         Put more information about failed tests into the test return codes.
7619         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
7620         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
7621         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
7622         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7623         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
7624         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7625         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7626         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
7627         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
7628         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7629         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
7630         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
7631         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7632         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7633         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
7634         returns a bit mask.
7635         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
7636         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
7637         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
7638         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
7639         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7640         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
7641         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
7642         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
7643         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
7644         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
7645         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7646         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
7647         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
7648         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
7649         * m4/link.m4 (gl_FUNC_LINK): Likewise.
7650         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
7651         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
7652         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
7653         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7654         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
7655         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
7656         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
7657         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
7658         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7659         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7660         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
7661         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
7662         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
7663         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
7664         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
7665         gl_PRINTF_PRECISION): Likewise.
7666         * m4/regex.m4 (gl_REGEX): Likewise.
7667         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
7668         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
7669         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
7670         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7671         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
7672         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
7673         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
7674         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
7675         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
7676         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7677         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
7678         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
7679         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
7680         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
7681         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7682         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7683         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
7684         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7685         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7686         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
7687         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
7688         enumerated value.
7689         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
7690
7691 2010-12-04  Bruno Haible  <bruno@clisp.org>
7692
7693         Update for Solaris 11 2010-11.
7694         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
7695         Express, released in November 2010.
7696
7697 2010-12-04  Bruno Haible  <bruno@clisp.org>
7698
7699         nproc: Relax license.
7700         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
7701         and Paul Eggert.
7702         Requested by Ludovic Courtès <ludo@gnu.org>.
7703
7704 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7705
7706         utimecmp: fine-grained src to nearby coarse-grained dest
7707
7708         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
7709         and the source is on a file system with higher-resolution time
7710         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
7711         not work, and the time stamps are close together, the algorithm to
7712         determine the exact resolution from the read-back mtime was buggy:
7713         it had a "!=" where it should have had an "==".  This bug has been
7714         in the code ever since it was introduced to gnulib.
7715         Problem reported by Dan Jacobson in
7716         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
7717
7718 2010-11-30  Bruno Haible  <bruno@clisp.org>
7719
7720         strerror_r-posix: Fix autoconf test.
7721         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
7722
7723 2010-11-28  Bruno Haible  <bruno@clisp.org>
7724             Paul Eggert  <eggert@cs.ucla.edu>
7725
7726         Tests for module 'getdomainname'.
7727         * modules/getdomainname-tests: New file.
7728         * tests/test-getdomainname.c: New file, based on
7729         tests/test-gethostname.c.
7730
7731 2010-11-28  Bruno Haible  <bruno@clisp.org>
7732             Paul Eggert  <eggert@cs.ucla.edu>
7733
7734         getdomainname: Use the system function when possible.
7735         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
7736         (getdomainname): Replace if needed. Provide the declaration if it is
7737         missing. Don't use _GL_CXXALIAS_SYS_CAST.
7738         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
7739         (getdomainname): When the system has getdomainname, call the system
7740         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
7741         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
7742         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
7743         found in libnsl. Look for the declaration also in <netdb.h>. Replace
7744         the function if its second argument is of type 'int' or if it is found
7745         in libnsl.
7746         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
7747         <sys/systeminfo.h> and sysinfo().
7748         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
7749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7750         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
7751         HAVE_GETDOMAINNAME.
7752         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
7753         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
7754         * doc/glibc-functions/getdomainname.texi: Document the problems with
7755         the getdomainname declaration.
7756
7757 2010-11-28  Bruno Haible  <bruno@clisp.org>
7758
7759         sys_socket: Ensure ss_family field on AIX.
7760         * lib/sys_socket.in.h (ss_family): New macro definition.
7761         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
7762         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
7763         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
7764         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7765         * modules/sys_socket (Makefile.am): Substitute
7766         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7767         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
7768
7769 2010-11-27  Bruno Haible  <bruno@clisp.org>
7770
7771         readline: Improve configure output.
7772         * m4/readline.m4 (gl_FUNC_READLINE): Make the
7773         "checking for readline..." result understandable.
7774
7775 2010-11-27  Bruno Haible  <bruno@clisp.org>
7776
7777         *printf-posix: Detect a bug on Solaris 10/x86.
7778         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
7779         for floating-point output.
7780         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
7781         directive.
7782         * tests/test-snprintf-posix.h (test_function): Likewise.
7783         * tests/test-sprintf-posix.h (test_function): Likewise.
7784         * tests/test-vasprintf-posix.c (test_function): Likewise.
7785         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
7786         * doc/posix-functions/printf.texi: Likewise.
7787         * doc/posix-functions/snprintf.texi: Likewise.
7788         * doc/posix-functions/sprintf.texi: Likewise.
7789         * doc/posix-functions/vfprintf.texi: Likewise.
7790         * doc/posix-functions/vprintf.texi: Likewise.
7791         * doc/posix-functions/vsnprintf.texi: Likewise.
7792         * doc/posix-functions/vsprintf.texi: Likewise.
7793         * doc/glibc-functions/obstack_printf.texi: Likewise.
7794         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7795
7796 2010-11-27  Bruno Haible  <bruno@clisp.org>
7797
7798         Fix link error when module libunistring-optional is in use.
7799         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
7800         * modules/striconveha-tests (Makefile.am): Likewise.
7801
7802 2010-11-27  Bruno Haible  <bruno@clisp.org>
7803
7804         regex: Mention link dependencies.
7805         * modules/regex (Link): New section.
7806         * modules/rpmatch (Link): Likewise.
7807         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
7808
7809 2010-11-27  Bruno Haible  <bruno@clisp.org>
7810
7811         ftoastr: Fix compilation error on Solaris.
7812         * lib/ftoastr.c: Include <config.h>.
7813
7814 2010-11-27  Bruno Haible  <bruno@clisp.org>
7815
7816         getloadavg: Update documentation.
7817         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
7818
7819 2010-11-27  Bruno Haible  <bruno@clisp.org>
7820
7821         sys_socket: Fix test whether the functions are declared.
7822         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
7823         not <sys/select.h>.
7824
7825 2010-11-27  Bruno Haible  <bruno@clisp.org>
7826
7827         getpass: Make sure to get system declaration on some platforms.
7828         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
7829         gl_USE_SYSTEM_EXTENSIONS.
7830         * modules/getpass (Depends-on): Add extensions.
7831
7832 2010-11-26  Bruno Haible  <bruno@clisp.org>
7833
7834         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
7835         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
7836         'iconv' module is present.
7837         (ICONV_CONST): New macro.
7838         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
7839         ICONV_CONST.
7840         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
7841         set ICONV_CONST.
7842         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
7843         here.
7844         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
7845         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
7846         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
7847         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
7848         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
7849         present.
7850
7851 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7852
7853         ftoastr: comment fix
7854         * lib/ftoastr.c: "little" -> "little or no" in comment
7855
7856 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7857
7858         stdint: port to GCC 4.3 + OSX + Octave
7859         On this platform, stdint.h is buggy and defines int64_t to long
7860         long int.  The replacement defined it to long int, causing
7861         problems with C++ style name mangling.  Instead, trust the system
7862         definition if INT64_MAX is defined, and likewise for the unsigned
7863         variant.   Problem reported by Jarno Rajahalme in
7864         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
7865         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
7866         and don't mess with int64_t and INT64_MAX in this case.
7867         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
7868
7869 2010-11-24  Bruno Haible  <bruno@clisp.org>
7870
7871         doc: Corrections regarding MacOS X 10.4 and 10.5.
7872         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
7873         MacOS X.
7874         Reported by Simon Josefsson.
7875
7876 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
7877
7878         Uninstall ".bin" files installed by relocwrapper.
7879         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
7880         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
7881         unless it is already there.
7882
7883 2010-11-21  Bruno Haible  <bruno@clisp.org>
7884
7885         Update for NetBSD 5.0.
7886         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7887         NetBSD; the test fails on NetBSD 5.0.
7888         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7889         about NetBSD.
7890
7891 2010-11-21  Bruno Haible  <bruno@clisp.org>
7892
7893         Update for HP-UX 11.23 and HP-UX 11.31.
7894         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
7895         HP-UX.
7896
7897 2010-11-21  Bruno Haible  <bruno@clisp.org>
7898
7899         Update for MacOS X 10.5.
7900         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7901         MacOS X; the test fails on MacOS X 10.5.8.
7902         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7903         about MacOS X.
7904
7905 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
7906
7907         bootstrap: add bootstrap_sync option.
7908         See discussion at
7909         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
7910         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
7911         * build-aux/bootstrap: Accept --bootstrap-sync to update
7912         bootstrap if it is not identical to the local gnulib's
7913         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
7914         enable this by default.  Accept --no-bootstrap-sync to disable
7915         it.
7916
7917 2010-11-20  Bruno Haible  <bruno@clisp.org>
7918
7919         Ensure that <features.h> is included before __GLIBC__ is tested.
7920         * lib/printf-parse.h: Include <features.h>.
7921         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
7922         Reported by Mike Frysinger <vapier@gentoo.org>.
7923
7924         Ensure that <features.h> is included before __GLIBC__ is tested.
7925         * lib/wchar.in.h: Include <features.h>.
7926         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
7927         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
7928         Reported by Mike Frysinger <vapier@gentoo.org>.
7929
7930         Ensure that <features.h> is included before __GLIBC__ is tested.
7931         * lib/arpa_inet.in.h: Include <features.h>.
7932         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
7933         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
7934         Reported by Mike Frysinger <vapier@gentoo.org>.
7935
7936         Ensure that <features.h> is included before __GLIBC__ is tested.
7937         * build-aux/link-warning.h: Include <features.h>.
7938         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
7939         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
7940         Reported by Mike Frysinger <vapier@gentoo.org>.
7941
7942         Ensure that <features.h> is included before __GLIBC__ is tested.
7943         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
7944         Reported by Mike Frysinger <vapier@gentoo.org>.
7945
7946 2010-11-20  Bruno Haible  <bruno@clisp.org>
7947
7948         memmem: Fix autoconf test.
7949         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
7950
7951 2010-11-20  Bruno Haible  <bruno@clisp.org>
7952
7953         Port to uClibc.
7954         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
7955         * lib/fcntl.in.h: Likewise.
7956         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
7957         * lib/mbrtowc.c (mbrtowc): Likewise.
7958         * lib/relocatable.c (find_shared_library_fullname): Likewise.
7959         * lib/strerror_r.c: Likewise.
7960         * lib/unistr/u8-strnlen.c: Likewise.
7961         * lib/vasnprintf.c (decimal_point_char): Likewise.
7962         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7963         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
7964         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
7965         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
7966         * tests/test-sigaction.c (handler, main): Likewise.
7967         * lib/freading.h: Treat uClibc like a non-glibc platform.
7968         * lib/freading.c: Likewise.
7969         * lib/gettext.h: Likewise.
7970         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
7971         Likewise.
7972         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
7973         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
7974         * lib/propername.c (proper_name_utf8): Likewise.
7975         * lib/spawn.in.h: Likewise.
7976         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
7977         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
7978         mem_cd_iconveh_internal): Likewise.
7979         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
7980         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
7981         strstr, strcasestr): Likewise.
7982         * lib/unicodeio.c (unicode_to_mb): Likewise.
7983         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
7984         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
7985         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
7986         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
7987         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
7988         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
7989         * lib/unistr/u8-stpncpy.c: Likewise.
7990         * lib/vasnprintf.c (VASNPRINTF): Likewise.
7991         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
7992         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7993         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7994         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
7995         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
7996         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
7997         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
7998         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7999         Likewise.
8000         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8001         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8002         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
8003         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8004         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8005         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8006         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8007         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8008         * tests/test-getopt.h (OPTIND_MIN): Likewise.
8009         * tests/test-striconveha.c (main): Likewise.
8010         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8011         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
8012         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
8013         * doc/posix-functions/getline.texi: Likewise.
8014         Reported by Mike Frysinger <vapier@gentoo.org>.
8015
8016 2010-11-20  Bruno Haible  <bruno@clisp.org>
8017
8018         nproc: Fix condition.
8019         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
8020         HAVE_PTHREAD_AFFINITY_NP.
8021
8022 2010-11-20  Bruno Haible  <bruno@clisp.org>
8023
8024         Fix a comment.
8025         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
8026
8027 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8028
8029         ftoastr: don't assume snprintf
8030         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
8031         Implement a subset of snprintf here, by using sprintf safely.
8032         * modules/ftoastr (Depends-on): Remove snprintf.
8033
8034 2010-11-19  Jim Meyering  <meyering@redhat.com>
8035
8036         test-rename.h: fix compilation failure
8037         * tests/test-rename.h (test_rename): Add omitted "}".
8038
8039 2010-11-17  Jim Meyering  <meyering@redhat.com>
8040
8041         maint.mk: add a URL discussing the no-@acronym policy
8042         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
8043
8044 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8045
8046         ftoastr: depend on snprintf, improve comments
8047         * lib/ftoastr.c: Also mention Loitsch's draft.
8048         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
8049         needed in the current implementation, but it might simplify
8050         speeding up the code later.
8051         * modules/ftoastr: Depend on snprintf; this improves portability.
8052         Suggested by Bruno Haible in the same email.
8053
8054         ftoastr: port to hosts lacking strtof and strtold
8055         Problem reported by Bruno Haible in
8056         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
8057         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
8058         environment and strtold (and presumably strtof) are not available.
8059         * modules/ftoastr (Files): Add m4/c-strtod.m4.
8060         (configure.ac): Require gl_C99_STRTOLD.
8061
8062 2010-11-18  Bruno Haible  <bruno@clisp.org>
8063
8064         c-strtold: Avoid link error on AIX 7.
8065         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
8066         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
8067         (gl_C_STRTOLD): Test whether strtold_l exists.
8068         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8069
8070 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8071
8072         intprops: new macro INT_BITS_STRLEN_BOUND
8073         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
8074         ftoastr.h.  This exposes an internal of intprops.h that was formerly
8075         not exposed.  Also, it uses a slightly tighter bound than before;
8076         though this makes no practical difference, we might as well be as
8077         tight as we easily can.
8078
8079         ftoastr: new module, for lossless conversion of floats to short strings
8080         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
8081         * modules/ftoastr: New files.
8082
8083 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8084
8085         bootstrap: port to Solaris sed
8086         * build-aux/bootstrap (get_version): Port to Solaris sed.
8087         See Ralf Wildenhues's note in
8088         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
8089
8090 2010-11-14  Jim Meyering  <meyering@redhat.com>
8091
8092         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
8093         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
8094         and move definition closer to sole use.
8095
8096 2010-11-13  Jim Meyering  <meyering@redhat.com>
8097
8098         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
8099         Now we require at least autoconf-2.59, which means the work-around
8100         is no longer needed.
8101         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
8102         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8103         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
8104         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
8105         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
8106
8107 2010-11-13  Bruno Haible  <bruno@clisp.org>
8108
8109         rename, renameat: Avoid test failures at NFS mounted locations.
8110         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
8111         functions.
8112         (test_rename): Use assert_nonexistent.
8113         * tests/test-rename.c: Include <dirent.h>.
8114         * tests/test-renameat.c: Likewise.
8115         Reported by Gary V. Vaughan <gary@gnu.org>.
8116
8117         rename, renameat: Document Linux bug with NFS
8118         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
8119         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
8120         * doc/posix-functions/renameat.texi: Likewise.
8121         Suggested by Eric Blake.
8122
8123 2010-11-13  Bruno Haible  <bruno@clisp.org>
8124
8125         rename test: Add comments.
8126         * tests/test-rename.h (test_rename): Add structure and comments.
8127
8128 2010-11-13  Eric Blake  <eblake@redhat.com>
8129
8130         maintainer-makefile: cover a few more files
8131         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
8132         scripts generated within C files, for libvirt.
8133
8134 2010-11-13  Bruno Haible  <bruno@clisp.org>
8135
8136         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
8137         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
8138         character, return the number of bytes that belong together, not always
8139         1.
8140         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
8141         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
8142         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
8143         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
8144         number of bytes of an invalid character.
8145         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
8146         (main): Invoke it.
8147         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
8148         results.
8149         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
8150         malformed byte sequences.
8151         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
8152         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
8153         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
8154         Reported by Ben Pfaff and Paolo Bonzini.
8155
8156 2010-11-13  Bruno Haible  <bruno@clisp.org>
8157
8158         openat: Work around glibc bug with fchownat() and empty file names.
8159         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
8160         (gl_FUNC_FCHOWNAT): Invoke it.
8161         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
8162         * doc/posix-functions/fchownat.texi: Document the glibc bug.
8163         Reported by Gary V. Vaughan <gary@gnu.org>.
8164
8165 2010-11-13  Bruno Haible  <bruno@clisp.org>
8166
8167         openat: Ensure autoconf macro ordering.
8168         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
8169         gl_USE_SYSTEM_EXTENSIONS.
8170         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
8171
8172 2010-11-13  Bruno Haible  <bruno@clisp.org>
8173
8174         Update comments.
8175         * lib/unistr/u8-check.c: Update file name in comments.
8176         * lib/unistr/u8-mblen.c: Likewise.
8177         * lib/unistr/u8-prev.c: Likewise.
8178         * lib/unistr/u8-strmblen.c: Likewise.
8179         * lib/unistr/u8-strmbtouc.c: Likewise.
8180
8181 2010-11-13  Jim Meyering  <meyering@redhat.com>
8182
8183         tests: avoid test failure on Solaris 10 due to lack of PATH export
8184         * tests/test-update-copyright.sh: Don't forget to export PATH.
8185
8186         init.sh: ensure that IFS is defined, just in case...
8187         * tests/init.sh (setup_): Ensure that IFS is defined,
8188         so that saving and restoring it works as expected.  This
8189         appears to be useful at least for an old version of dash
8190         from a long time ago (RH 6).  See here for details:
8191         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
8192
8193         maint.mk: tighten "test a == b" check
8194         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
8195         test to files that contain something like #!/bin/sh.
8196         Without this, coreutils would get two false positives in
8197         the comments of C source files.
8198
8199 2010-11-12  Eric Blake  <eblake@redhat.com>
8200
8201         bootstrap: fix typo in previous attempt
8202         * build-aux/bootstrap (buildreq): Correct the grouping.
8203         Reported by Paul Eggert.
8204
8205         maintainer-makefile: prohibit test x == x
8206         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
8207         Based on a report by Matthias Bolte.
8208
8209         bootstrap: allow FreeBSD gzip
8210         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
8211         which has no '.' and goes to stderr.
8212         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
8213         Reported by Matthias Bolte.
8214
8215         maintainer-makefile: check for i18n setup
8216         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
8217         will likely work.
8218
8219 2010-11-12  Bruno Haible  <bruno@clisp.org>
8220
8221         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
8222         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
8223         * lib/nanosleep.c (nanosleep): Likewise.
8224
8225 2010-11-11  Bruno Haible  <bruno@clisp.org>
8226
8227         fcntl-h: Fix for use of C++ on glibc systems.
8228         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
8229         also on glibc systems in C++ mode.
8230         Reported by Gary V. Vaughan <gary@gnu.org>.
8231
8232 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8233
8234         mknod: avoid false failure with dash
8235         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
8236
8237 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
8238
8239         unlink: Fix "is it should" typo in diagnostic.
8240         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
8241         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
8242
8243 2010-11-11  Bruno Haible  <bruno@clisp.org>
8244
8245         Tests for module 'strerror_r-posix'.
8246         * modules/strerror_r-posix-tests: New file.
8247         * tests/test-strerror_r.c: New file.
8248         * tests/test-string-c++.cc: Check the signature of strerror_r.
8249
8250         New module 'strerror_r-posix'.
8251         * lib/string.in.h (strerror_r): New declaration.
8252         * lib/strerror_r.c: New file.
8253         * m4/strerror_r.m4: New file.
8254         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
8255         of strerror_r.
8256         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
8257         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
8258         * modules/strerror_r-posix: New file.
8259         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
8260         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
8261         * doc/posix-functions/strerror_r.texi: Mention the new module and the
8262         portability problems.
8263
8264 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
8265
8266         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
8267         line is also considered for output. Quoted function name in shell
8268         command, so temporary files for functions like MyClass::operator()
8269         are removed correctly without errors.
8270
8271 2010-11-09  Bruno Haible  <bruno@clisp.org>
8272
8273         * doc/posix-functions/strerror.texi: List more failing platforms.
8274
8275         * doc/posix-functions/strerror.texi: Add a comment.
8276
8277 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8278
8279         fdopendir: fix bug on MacOS X when low on file descriptors
8280
8281         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
8282         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
8283         All callers changed.
8284         (fdopendir): Invoke save_cwd at the top level, not after using
8285         multiple dup() calls to use up file descriptors.  Then retry
8286         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
8287         less than the maximum number of open file descriptors, because
8288         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
8289         on Mac OS X 10.6.4 for tar 1.24
8290         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
8291         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
8292         and for tar 1.25
8293         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
8294
8295 2010-11-07  Bruno Haible  <bruno@clisp.org>
8296
8297         vasnprintf: Support I flag on glibc systems.
8298         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
8299         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
8300         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
8301         snprintf function.
8302         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
8303         glibc systems.
8304         * tests/test-vasnprintf-posix3.c: New file.
8305         * modules/vasnprintf-posix-tests (Files): Add it.
8306         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
8307
8308 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
8309
8310         [html] Fix copy/paste bug: Use unique name for compiler warnings.
8311         * MODULES.html.sh: For compiler warnings, use name
8312         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
8313
8314 2010-11-05  Eric Blake  <eblake@redhat.com>
8315
8316         ceil, floor: avoid spurious failure with icc
8317         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
8318         [denormals-as-zero] when optimizing without -mieee-fp option.
8319         * tests/test-floorf2.c (floorf_reference): Likewise.
8320         * tests/test-ceilf1.c (dummy): New function.
8321         (main): Use it to outsmart icc's optimization.
8322         * tests/test-floorf1.c (dummy, main): Likewise.
8323
8324         tests: require working signbit
8325         * modules/ceilf-tests (Depends-on): Add signbit.
8326         * modules/ceill-tests (Depends-on): Likewise.
8327         * modules/floorf-tests (Depends-on): Likewise.
8328         * modules/floorl-tests (Depends-on): Likewise.
8329         * modules/round-tests (Depends-on): Likewise.
8330         * modules/roundf-tests (Depends-on): Likewise.
8331         * modules/roundl-tests (Depends-on): Likewise.
8332         * modules/trunc-tests (Depends-on): Likewise.
8333         * modules/truncf-tests (Depends-on): Likewise.
8334         * modules/truncl-tests (Depends-on): Likewise.
8335
8336         strtod: work around icc bug
8337         * lib/strtod.c (minus_zero): Define to working value.
8338         (strtod): Use it to avoid icc bug.
8339
8340         copysign: enhance tests
8341         * modules/copysign-tests (Files): Add minus-zero.h.
8342         * tests/test-copysign.c (main): Also test zeros.
8343
8344 2010-11-04  Eric Blake  <eblake@redhat.com>
8345
8346         ceil, floor, round, trunc: enhance tests of -0
8347         * tests/test-ceilf1.c (main): Ensure correct sign of result.
8348         * tests/test-ceill.c (main): Likewise.
8349         * tests/test-floorf1.c (main): Likewise.
8350         * tests/test-floorl.c (main): Likewise.
8351         * tests/test-round1.c (main): Likewise.
8352         * tests/test-roundf1.c (main): Likewise.
8353         * tests/test-roundl.c (main): Likewise.
8354         * tests/test-trunc1.c (main): Likewise.
8355         * tests/test-truncf1.c (main): Likewise.
8356         * tests/test-truncl.c (main): Likewise.
8357
8358 2010-11-04  Eric Blake  <eblake@redhat.com>
8359
8360         frexp, tests: work around ICC bug with -zero
8361         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
8362         works with more compilers.
8363         * tests/minus-zero.h: New file.
8364         * modules/ceilf-tests (Files): Include it.
8365         * modules/ceill-tests (Files): Likewise.
8366         * modules/floorf-tests (Files): Likewise.
8367         * modules/floorl-tests (Files): Likewise.
8368         * modules/frexp-nolibm-tests (Files): Likewise.
8369         * modules/frexp-tests (Files): Likewise.
8370         * modules/frexpl-nolibm-tests (Files): Likewise.
8371         * modules/frexpl-tests (Files): Likewise.
8372         * modules/isnan-tests (Files): Likewise.
8373         * modules/isnand-nolibm-tests (Files): Likewise.
8374         * modules/isnand-tests (Files): Likewise.
8375         * modules/isnanf-nolibm-tests (Files): Likewise.
8376         * modules/isnanf-tests (Files): Likewise.
8377         * modules/isnanl-nolibm-tests (Files): Likewise.
8378         * modules/isnanl-tests (Files): Likewise.
8379         * modules/round-tests (Files): Likewise.
8380         * modules/roundf-tests (Files): Likewise.
8381         * modules/roundl-tests (Files): Likewise.
8382         * modules/ldexpl-tests (Files): Likewise.
8383         * modules/signbit-tests (Files): Likewise.
8384         * modules/snprintf-posix-tests (Files): Likewise.
8385         * modules/sprintf-posix-tests (Files): Likewise.
8386         * modules/strtod-tests (Files): Likewise.
8387         * modules/trunc-tests (Files): Likewise.
8388         * modules/truncf-tests (Files): Likewise.
8389         * modules/truncl-tests (Files): Likewise.
8390         * modules/vsnprintf-posix-tests (Files): Likewise.
8391         * modules/vsprintf-posix-tests (Files): Likewise.
8392         * modules/vasnprintf-posix-tests (Files): Likewise.
8393         * modules/vasprintf-posix-tests (Files): Likewise.
8394         * tests/test-ceilf1.c (main): Use it.
8395         * tests/test-ceill.c (main): Likewise.
8396         * tests/test-floorf1.c (main): Likewise.
8397         * tests/test-floorl.c (main): Likewise.
8398         * tests/test-frexp.c (main): Likewise.
8399         * tests/test-frexpl.c (main): Likewise.
8400         * tests/test-isnan.c (main): Likewise.
8401         * tests/test-isnand.h (main): Likewise.
8402         * tests/test-isnanf.h (main): Likewise.
8403         * tests/test-isnanl.h (main): Likewise.
8404         * tests/test-ldexpl.c (main): Likewise.
8405         * tests/test-round.c (main): Likewise.
8406         * tests/test-roundf.c (main): Likewise.
8407         * tests/test-roundl.c (main): Likewise.
8408         * tests/test-signbit.c (test_signbitf, test_signbitd)
8409         (test_signbitl): Likewise.
8410         * tests/test-snprintf-posix.h (test_function): Likewise.
8411         * tests/test-sprintf-posix.h (test_function): Likewise.
8412         * tests/test-strtod.c (main): Likewise.
8413         * tests/test-trunc1.c (main): Likewise.
8414         * tests/test-truncf1.c (main): Likewise.
8415         * tests/test-truncl.c (main): Likewise.
8416
8417         isnanl: work around icc bug
8418         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
8419
8420 2010-11-03  Eric Blake  <eblake@redhat.com>
8421
8422         tests: fix compiler warnings
8423         * tests/test-getopt.h (test_getopt): Fix condition.
8424         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8425         * tests/test-pipe2.c (main): Likewise.
8426         * tests/test-quotearg-simple.c (main): Avoid icc warning.
8427
8428         utimens: fix broken m4 test
8429         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
8430
8431 2010-10-28  Bruno Haible  <bruno@clisp.org>
8432
8433         posix_spawn*, getdtablesize: Relax license.
8434         * modules/posix_spawn (License): Change to LGPLv2+.
8435         * modules/posix_spawnp (License): Likewise.
8436         * modules/posix_spawn-internal (License): Likewise.
8437         * modules/posix_spawnattr_init (License): Likewise.
8438         * modules/posix_spawnattr_getflags (License): Likewise.
8439         * modules/posix_spawnattr_setflags (License): Likewise.
8440         * modules/posix_spawnattr_getpgroup (License): Likewise.
8441         * modules/posix_spawnattr_setpgroup (License): Likewise.
8442         * modules/posix_spawnattr_getschedparam (License): Likewise.
8443         * modules/posix_spawnattr_setschedparam (License): Likewise.
8444         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
8445         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
8446         * modules/posix_spawnattr_getsigdefault (License): Likewise.
8447         * modules/posix_spawnattr_setsigdefault (License): Likewise.
8448         * modules/posix_spawnattr_getsigmask (License): Likewise.
8449         * modules/posix_spawnattr_setsigmask (License): Likewise.
8450         * modules/posix_spawnattr_destroy (License): Likewise.
8451         * modules/posix_spawn_file_actions_init (License): Likewise.
8452         * modules/posix_spawn_file_actions_addclose (License): Likewise.
8453         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
8454         * modules/posix_spawn_file_actions_addopen (License): Likewise.
8455         * modules/posix_spawn_file_actions_destroy (License): Likewise.
8456         * modules/getdtablesize (License): Likewise.
8457         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
8458
8459 2010-10-26  Bruno Haible  <bruno@clisp.org>
8460
8461         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
8462         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
8463         Cygwin and mingw.
8464         Suggested by Eric Blake.
8465
8466 2010-10-26  Bruno Haible  <bruno@clisp.org>
8467
8468         stdio: Work around compilation error due to renameat() on Solaris 10.
8469         * lib/stdio.in.h: Include <unistd.h> on Solaris.
8470         * lib/renameat.c: Don't include <unistd.h> here.
8471         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
8472         Reported by Paul Eggert and Eric Blake.
8473
8474 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8475
8476         renameat: port to Solaris 10, which declares renameat in unistd.h
8477
8478         * lib/renameat.c: Include unistd.h before stdio.h, because
8479         Solaris 10 declares renameat in unistd.h.  Problem encountered
8480         when building GNU tar 1.24 on Solaris 10.
8481
8482 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8483
8484         fdopendir: fix C89 compilation
8485         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
8486         compilers.
8487
8488 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
8489
8490         inttostr: simplify by removing unnecessary redundancy
8491         * lib/anytostr.c: Don't include verify.h.
8492         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
8493         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
8494         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
8495         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
8496         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
8497         Likewise.
8498         * modules/inttostr (Depends-on): Remove 'verify'.
8499
8500 2010-10-23  Bruno Haible  <bruno@clisp.org>
8501
8502         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
8503         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
8504         Reported by Eric Blake.
8505
8506 2010-10-23  Bruno Haible  <bruno@clisp.org>
8507
8508         Tests: Fix LOCALE_JA on MirBSD 10.
8509         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
8510         to an UTF-8 locale.
8511         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
8512         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
8513         Reported by Eric Blake.
8514
8515 2010-10-21  Bruno Haible  <bruno@clisp.org>
8516
8517         nl_langinfo test: Avoid test failure on NetBSD 5.
8518         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
8519         Reported by Eric Blake.
8520
8521 2010-10-21  Eric Blake  <eblake@redhat.com>
8522
8523         c-stack: work around libsigsegv 2.8 bug
8524         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
8525         overflow on at least PowerPC64.
8526
8527 2010-10-17  Bruno Haible  <bruno@clisp.org>
8528
8529         userspec: Drop redundant file.
8530         * modules/userspec (Files): Remove lib/inttostr.h.
8531
8532 2010-10-17  Bruno Haible  <bruno@clisp.org>
8533
8534         nl_langinfo tests: Silence some warnings.
8535         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
8536         Reported by Jim Meyering.
8537
8538 2010-10-17  Bruno Haible  <bruno@clisp.org>
8539
8540         Make use of GCC's attribute __alloc_size__.
8541         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
8542         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
8543         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
8544         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
8545         __alloc_size__.
8546         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
8547         Suggested by Jim Meyering.
8548
8549 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
8550
8551         bootstrap: anchor .gitignore entries.
8552         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
8553         with...
8554         (insert_vc_ignore): ... this new function, which prepends `/' to
8555         all .gitignore entries before passing them to
8556         insert_sorted_if_absent.
8557
8558 2010-10-16  Bruno Haible  <bruno@clisp.org>
8559
8560         nextafter: Fix configure check.
8561         * modules/nextafter (configure.ac): Correct expected prototype.
8562
8563 2010-10-16  Bruno Haible  <bruno@clisp.org>
8564
8565         termios: Update documentation.
8566         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
8567
8568 2010-10-16  Bruno Haible  <bruno@clisp.org>
8569
8570         tests: Make them compile with TinyCC.
8571         * tests/test-strstr.c (main): Remove parentheses around array
8572         initializer.
8573
8574 2010-10-15  Eric Blake  <eblake@redhat.com>
8575
8576         ignore-value: make header idempotent
8577         * lib/ignore-value.h: Add double-inclusion guards.
8578         Reported by Stefan Berger.
8579
8580 2010-10-15  Jim Meyering  <meyering@redhat.com>
8581
8582         GNUmakefile: handle "stable" target, not "major"
8583         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
8584         lists in maint.mk and announce-gen.  Without this, "make stable"
8585         would fail to ensure that $(VERSION) is up to date.
8586
8587 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
8588
8589         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
8590         & co.
8591
8592 2010-10-14  Bruno Haible  <bruno@clisp.org>
8593
8594         vasnprintf: Don't set errno to 0.
8595         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
8596         block that sets it to 0.
8597         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
8598
8599 2010-10-14  Bruno Haible  <bruno@clisp.org>
8600
8601         socketlib: Fix.
8602         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
8603         gl_PREREQ_SYS_H_WINSOCK2.
8604         Reported by Ian Beckwith <ianb@erislabs.net>.
8605
8606 2010-10-13  Jim Meyering  <meyering@redhat.com>
8607
8608         test-select-stdin.c: avoid warn_unused_result warnings
8609         * tests/test-select-stdin.c: Include "macros.h".
8610         ASSERT that read and fflush succeed.
8611
8612 2010-10-13  Jim Meyering  <meyering@redhat.com>
8613
8614         git-version-gen: do require git-VC'd files in cwd
8615         * build-aux/git-version-gen: Reject a git version string
8616         if there are no commits associated with the current directory.
8617         This avoids an unlikely false-positive (unrelated dir whose parent
8618         repository also contains a tag matching v*), as pointed out
8619         by Giuseppe Scrivano in
8620         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
8621
8622 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8623
8624         argv-iter: omit nonconforming declaration
8625         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
8626         enum arg_iter_err declaration, which doesn't conform to C99.
8627         Solaris 10 cc warns about this.
8628
8629 2010-10-13  Eric Blake  <eblake@redhat.com>
8630
8631         termios: fix compilation on mingw
8632         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
8633         (gl_TERMIOS_H): Adjust it on mingw.
8634         * modules/termios (Makefile.am): Substitute new key.
8635         * lib/termios.in.h (includes): Make include_next conditional.
8636         * doc/posix-headers/termios.texi (termios.h): Update
8637         documentation.
8638         Reported by Daniel P. Berrange.
8639
8640 2010-10-13  Jim Meyering  <meyering@redhat.com>
8641
8642         git-version-gen: don't require that .git/ be in the current dir
8643         * build-aux/git-version-gen: Adjust this script so that it works
8644         when run from any working directory beneath the top-level .git/-
8645         containing directory.  Inspired by a patch from Giuseppe Scrivano,
8646         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
8647
8648         test-select: avoid warn_unused_result warnings
8649         * tests/test-select.c: Include "macros.h".
8650         ASSERT that each call to read, write, and pipe succeeds.
8651         While not technically required, also check each "close".
8652         * modules/select-tests (Files): Add tests/macros.h.
8653
8654         test-symlinkat: remove declaration of unused local
8655         * tests/test-symlinkat.c (main): Remove unused local, "buf".
8656
8657         test-inttostr: avoid shadowing warnings
8658         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
8659         and use malloc rather than the stack for the same reason as
8660         mentioned in the comment justifying the other allocation.
8661
8662 2010-10-11  Bruno Haible  <bruno@clisp.org>
8663
8664         stdlib: Allow multiple gnulib generated replacements to coexist.
8665         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
8666         Reported by Sam Steingold <sds@gnu.org>.
8667
8668 2010-10-11  Jim Meyering  <meyering@redhat.com>
8669
8670         fix a documentation typo
8671         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
8672
8673 2010-10-11  Eric Blake  <eblake@redhat.com>
8674
8675         futimens: work around Solaris 11 bug
8676         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
8677         * tests/test-futimens.h (test_futimens): Enhance, rather than
8678         weaken test.
8679         * doc/posix-functions/futimens.texi (futimens): Document the bug.
8680
8681 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
8682
8683         Indentation.
8684         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
8685         higher-level operators more to the left.
8686
8687 2010-10-11  Jim Meyering  <meyering@redhat.com>
8688
8689         test-futimens: avoid unwarranted test failure on Solaris 5.11
8690         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
8691         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
8692         because it tries to dereference the NULL name argument.
8693
8694 2010-10-11  Bruno Haible  <bruno@clisp.org>
8695
8696         Indentation.
8697         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
8698         indentation.
8699
8700 2010-10-11  Jim Meyering  <meyering@redhat.com>
8701
8702         spawn.in.h: make indentation consistent with parentheses
8703         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
8704         Make indentation consistent with parentheses.
8705
8706 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
8707
8708         Fix mismatched parens in previous commit
8709         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
8710         parens.
8711
8712 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8713
8714         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
8715
8716         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
8717         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
8718         * lib/malloca.c: Include "verify.h".
8719         (verify1): Remove, replacing with a verify call.
8720         * lib/relocwrapper.c (verify1): Likewise.
8721         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
8722         Likewise.
8723         * modules/malloca (Depends-on): Add 'verify'.
8724         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
8725         * modules/vasnprintf (Depends-on): Add 'verify'.
8726         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
8727         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8728         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8729         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8730         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8731         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8732         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8733
8734         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
8735
8736         Formerly the style was sometimes 2*X - 1, because the C standard
8737         was wrongly thought to disallow ?: in integral constant expressions.
8738         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
8739         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
8740         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
8741         * lib/stdint.in.h (_verify_intmax_size): Likewise.
8742         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
8743         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
8744         verify that time_t cannot be floating.
8745
8746 2010-10-08  Eric Blake  <eblake@redhat.com>
8747
8748         time: enforce recent POSIX ruling that time_t is integral
8749         * lib/time.in.h (__time_t_must_be_integral): Detect any
8750         problematic systems, allowing the rest of gnulib to assume POSIX.
8751
8752 2010-10-08  Jim Meyering  <meyering@redhat.com>
8753
8754         fdopendir: fix a bug on systems lacking openat and /proc support
8755         OpenBSD 4.7 is one such system.  The most noticeable effect was
8756         failure of any application making nontrivial use of fts: rm, du,
8757         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
8758           ./rm: traversal failed: `a': Bad file descriptor
8759         Debugging that, you see that even though FD 6 was closed just
8760         prior to the opendir call in fd_clone_opendir, its resulting
8761         dir->dd_fd was 8, rather than the expected value of 6:
8762
8763         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
8764         93                close (fd);
8765         (gdb) n
8766         94                dir = fd_clone_opendir (dupfd);
8767         (gdb) n
8768         95                saved_errno = errno;
8769         (gdb) p dir->dd_fd
8770         $11 = 8
8771
8772         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
8773         The problem is that on OpenBSD, fd_clone_opendir has to resort
8774         to using the old-style save/restore CWD mechanism, due to its
8775         lack of openat/proc support, and *that* would steal the FD (6)
8776         that opendir was supposed to use.
8777
8778         The fix is to squirrel away the desired FD so that save_cwd uses a
8779         different one, and then free the dest FD right before calling opendir.
8780         That guarantees opendir will use the required file descriptor.
8781
8782         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
8783
8784 2010-10-08  Bruno Haible  <bruno@clisp.org>
8785
8786         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
8787         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
8788
8789 2010-10-08  Bruno Haible  <bruno@clisp.org>
8790
8791         nanosleep: Make replacement POSIX compliant.
8792         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
8793         is out of range.
8794         Reported by Jim Meyering.
8795
8796 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8797
8798         bootstrap: add hook for altering gnulib.mk, for Bison
8799         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
8800         the Bison bootstrapping process can rewrite file names and variables
8801         in this file before later parts of 'bootstrap' use the file.
8802         Bison wants to include lib/gnulib.mk from the top-level makefile,
8803         so it needs the file names in this file to be relative to the top
8804         level, not relative to lib; plus it needs variable names to be
8805         rewritten.
8806         (slurp): Use the new function.
8807
8808         bootstrap: reformat for readability
8809         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
8810
8811 2010-10-08  Eric Blake  <eblake@redhat.com>
8812
8813         docs: update cygwin progress
8814         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
8815         1.7.7.
8816         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
8817         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
8818         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
8819         * doc/posix-functions/carg.texi (carg): Likewise.
8820         * doc/posix-functions/cargf.texi (cargf): Likewise.
8821         * doc/posix-functions/casin.texi (casin): Likewise.
8822         * doc/posix-functions/casinf.texi (casinf): Likewise.
8823         * doc/posix-functions/casinh.texi (casinh): Likewise.
8824         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
8825         * doc/posix-functions/catan.texi (catan): Likewise.
8826         * doc/posix-functions/catanf.texi (catanf): Likewise.
8827         * doc/posix-functions/catanh.texi (catanh): Likewise.
8828         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
8829         * doc/posix-functions/ccos.texi (ccos): Likewise.
8830         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
8831         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
8832         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
8833         * doc/posix-functions/cexp.texi (cexp): Likewise.
8834         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
8835         * doc/posix-functions/cimag.texi (cimag): Likewise.
8836         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
8837         * doc/posix-functions/clog.texi (clog): Likewise.
8838         * doc/posix-functions/clogf.texi (clogf): Likewise.
8839         * doc/posix-functions/conj.texi (conj): Likewise.
8840         * doc/posix-functions/conjf.texi (conjf): Likewise.
8841         * doc/posix-functions/cpow.texi (cpow): Likewise.
8842         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
8843         * doc/posix-functions/cproj.texi (cproj): Likewise.
8844         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
8845         * doc/posix-functions/creal.texi (creal): Likewise.
8846         * doc/posix-functions/crealf.texi (crealf): Likewise.
8847         * doc/posix-functions/csin.texi (csin): Likewise.
8848         * doc/posix-functions/csinf.texi (csinf): Likewise.
8849         * doc/posix-functions/csinh.texi (csinh): Likewise.
8850         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
8851         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
8852         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
8853         * doc/posix-functions/ctan.texi (ctan): Likewise.
8854         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
8855         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
8856         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
8857         * doc/posix-headers/complex.texi (complex.h): Likewise.
8858
8859 2010-10-07  Jim Meyering  <meyering@redhat.com>
8860
8861         parse-datetime: avoid compilation failure on OpenBSD 4.7
8862         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
8863         This works around a compilation failure on OpenBSD 4.7:
8864         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
8865
8866 2010-10-07  Eric Blake  <eblake@redhat.com>
8867
8868         docs: update cygwin progress
8869         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
8870         1.7.6.
8871         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
8872         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
8873         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
8874         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
8875         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
8876         Likewise.
8877         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
8878         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
8879         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
8880         Likewise.
8881         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
8882         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
8883         Likewise.
8884         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
8885         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
8886         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
8887         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
8888         Likewise.
8889         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
8890         Likewise.
8891         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
8892
8893         docs: update parse-datetime history
8894         * doc/parse-datetime.texi (Authors of parse_datetime): Better
8895         documentation of this function's history and alternatives.
8896
8897         cygwin: use more robust version check
8898         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
8899         exclude an eventual cygwin 1.9.1.
8900         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8901         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8902         (gl_FUNC_STRCASESTR): Likewise.
8903         Reported by Bruno Haible.
8904
8905 2010-10-06  Bruno Haible  <bruno@clisp.org>
8906
8907         string, sys_select: Avoid #including large headers unless necessary.
8908         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
8909         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
8910         OSF/1, BeOS, Haiku.
8911         Reported by Jim Meyering.
8912
8913 2010-10-05  Eric Blake  <eblake@redhat.com>
8914
8915         memmem, strstr, strcasestr: fix bug with long periodic needle
8916         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
8917         periodic needle having false positive.
8918         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
8919         and cygwin 1.7.7.
8920         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
8921         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8922         (gl_FUNC_STRCASESTR): Likewise.
8923         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8924         * tests/test-memmem.c (main): Expose the bug.
8925         * tests/test-strcasestr.c (main): Likewise.
8926         * tests/test-strstr.c (main): Likewise.
8927         * tests/test-c-strcasestr.c (main): Likewise.
8928         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
8929         * doc/posix-functions/strstr.texi (strstr): Likewise.
8930         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
8931         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
8932
8933 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8934
8935         parse-datetime: do some more renaming
8936         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
8937         parse_datetime, not get_date.  Mention the renaming.
8938         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
8939         in comments.
8940         * m4/bison.m4: Likewise.
8941
8942 2010-10-05  Eric Blake  <eblake@redhat.com>
8943
8944         parse-datetime: better name than get_date
8945         * NEWS: Reword the deprecation notice.
8946         * modules/get_date: Rename to modules/parse-datetime.
8947         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
8948         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
8949         * lib/get_date.y: Rename to lib/parse-datetime.y.
8950         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
8951         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
8952         * doc/getdate.texi: Provide fallback wrapper.
8953         * lib/getdate.h: Move guts, and wrap...
8954         * lib/parse-datetime.h: ...new file.
8955         * lib/parse-datetime.y (get_date): Rename...
8956         (parse_datetime): ...to this.
8957         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
8958         (gl_PARSE_DATETIME): ...to this.
8959         * doc/posix-functions/getdate.texi (get_date): Provide fallback
8960         documentation.
8961         * modules/getdate (Files): Provide fallback docs and header.
8962         (Notice, Depends-on): Update references.
8963         * tests/test-parse-datetime.c: Likewise.
8964         * DEPENDENCIES: Likewise.
8965         * MODULES.html.sh (Date and time <time.h>): Likewise.
8966         * doc/parse-datetime.texi (Date input formats)
8967         (Authors of parse_datetime): Likewise.
8968         * modules/parse-datetime (Files, configure.ac, Makefile.am)
8969         (Include): Likewise.
8970         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
8971         * gnulib-tool: Likewise.
8972         * m4/bison.m4 (gl_BISON): Likewise.
8973         Suggested by Bruno Haible.
8974
8975 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8976
8977         more ports to Solaris tr, which needs [] around ranges
8978         * gnulib-tool: Solaris tr needs [] around ranges.
8979         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8980         * tests/test-pipe-filter-gi1.c (main): Likewise.
8981         * tests/test-pipe-filter-ii1.c (main): Likewise.
8982
8983 2010-10-05  Eric Blake  <eblake@redhat.com>
8984
8985         bootstrap: fix Solaris regression
8986         * build-aux/bootstrap (check_versions): Solaris tr still needs []
8987         around ranges.
8988         Reported by Pádraig Brady.
8989
8990         bootstrap: work with pkg-config
8991         * build-aux/bootstrap (check_versions): Also transliterate - in
8992         prerequisite name.
8993         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
8994         prerequisites that were already found, to avoid confusion.
8995         Reported by Justin Clift.
8996
8997         faccessat: remove unused wrappers
8998         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
8999         presence of these wrappers dragged in -lgen on Solaris.
9000         Reported by Clemens Brogi; fix suggested by Paul Eggert.
9001
9002 2010-10-05  Jim Meyering  <meyering@redhat.com>
9003
9004         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
9005         * Makefile (sc_pragma_columns): New syntax-check rule.
9006
9007 2010-10-04  Bruno Haible  <bruno@clisp.org>
9008
9009         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
9010         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
9011         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
9012         Reported by Bruce Korb and Eric Blake.
9013
9014 2010-10-04  Bruno Haible  <bruno@clisp.org>
9015
9016         threadlib: Make option --with-libpth-prefix work.
9017         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
9018         use $LIBPTH, not just -lpth.
9019
9020 2010-10-04  Bruno Haible  <bruno@clisp.org>
9021
9022         Avoid line length limitation from HP NonStop system header files.
9023         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
9024         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
9025         * lib/ctype.in.h: Likewise.
9026         * lib/dirent.in.h: Likewise.
9027         * lib/errno.in.h: Likewise.
9028         * lib/fcntl.in.h: Likewise.
9029         * lib/float.in.h: Likewise.
9030         * lib/getopt.in.h: Likewise.
9031         * lib/iconv.in.h: Likewise.
9032         * lib/inttypes.in.h: Likewise.
9033         * lib/langinfo.in.h: Likewise.
9034         * lib/locale.in.h: Likewise.
9035         * lib/math.in.h: Likewise.
9036         * lib/netdb.in.h: Likewise.
9037         * lib/netinet_in.in.h: Likewise.
9038         * lib/poll.in.h: Likewise.
9039         * lib/pthread.in.h: Likewise.
9040         * lib/pty.in.h: Likewise.
9041         * lib/sched.in.h: Likewise.
9042         * lib/se-selinux.in.h: Likewise.
9043         * lib/search.in.h: Likewise.
9044         * lib/signal.in.h: Likewise.
9045         * lib/spawn.in.h: Likewise.
9046         * lib/stdarg.in.h: Likewise.
9047         * lib/stddef.in.h: Likewise.
9048         * lib/stdint.in.h: Likewise.
9049         * lib/stdio.in.h: Likewise.
9050         * lib/stdlib.in.h: Likewise.
9051         * lib/string.in.h: Likewise.
9052         * lib/strings.in.h: Likewise.
9053         * lib/sys_file.in.h: Likewise.
9054         * lib/sys_ioctl.in.h: Likewise.
9055         * lib/sys_select.in.h: Likewise.
9056         * lib/sys_socket.in.h: Likewise.
9057         * lib/sys_stat.in.h: Likewise.
9058         * lib/sys_time.in.h: Likewise.
9059         * lib/sys_times.in.h: Likewise.
9060         * lib/sys_utsname.in.h: Likewise.
9061         * lib/sys_wait.in.h: Likewise.
9062         * lib/sysexits.in.h: Likewise.
9063         * lib/termios.in.h: Likewise.
9064         * lib/time.in.h: Likewise.
9065         * lib/unistd.in.h: Likewise.
9066         * lib/wchar.in.h: Likewise.
9067         * lib/wctype.in.h: Likewise.
9068         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
9069         * modules/ctype (Makefile.am): Likewise.
9070         * modules/dirent (Makefile.am): Likewise.
9071         * modules/errno (Makefile.am): Likewise.
9072         * modules/fcntl-h (Makefile.am): Likewise.
9073         * modules/float (Makefile.am): Likewise.
9074         * modules/getopt-posix (Makefile.am): Likewise.
9075         * modules/iconv-h (Makefile.am): Likewise.
9076         * modules/inttypes (Makefile.am): Likewise.
9077         * modules/langinfo (Makefile.am): Likewise.
9078         * modules/locale (Makefile.am): Likewise.
9079         * modules/math (Makefile.am): Likewise.
9080         * modules/netdb (Makefile.am): Likewise.
9081         * modules/netinet_in (Makefile.am): Likewise.
9082         * modules/poll-h (Makefile.am): Likewise.
9083         * modules/pthread (Makefile.am): Likewise.
9084         * modules/pty (Makefile.am): Likewise.
9085         * modules/sched (Makefile.am): Likewise.
9086         * modules/search (Makefile.am): Likewise.
9087         * modules/selinux-h (Makefile.am): Likewise.
9088         * modules/signal (Makefile.am): Likewise.
9089         * modules/spawn (Makefile.am): Likewise.
9090         * modules/stdarg (Makefile.am): Likewise.
9091         * modules/stddef (Makefile.am): Likewise.
9092         * modules/stdint (Makefile.am): Likewise.
9093         * modules/stdio (Makefile.am): Likewise.
9094         * modules/stdlib (Makefile.am): Likewise.
9095         * modules/string (Makefile.am): Likewise.
9096         * modules/strings (Makefile.am): Likewise.
9097         * modules/sys_file (Makefile.am): Likewise.
9098         * modules/sys_ioctl (Makefile.am): Likewise.
9099         * modules/sys_select (Makefile.am): Likewise.
9100         * modules/sys_socket (Makefile.am): Likewise.
9101         * modules/sys_stat (Makefile.am): Likewise.
9102         * modules/sys_time (Makefile.am): Likewise.
9103         * modules/sys_times (Makefile.am): Likewise.
9104         * modules/sys_utsname (Makefile.am): Likewise.
9105         * modules/sys_wait (Makefile.am): Likewise.
9106         * modules/sysexits (Makefile.am): Likewise.
9107         * modules/termios (Makefile.am): Likewise.
9108         * modules/time (Makefile.am): Likewise.
9109         * modules/unistd (Makefile.am): Likewise.
9110         * modules/wchar (Makefile.am): Likewise.
9111         * modules/wctype (Makefile.am): Likewise.
9112
9113 2010-10-04  Bruno Haible  <bruno@clisp.org>
9114
9115         read-file tests: Avoid a test failure on NonStop Kernel.
9116         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
9117         a regular file.
9118         Reported by Joachim Schmitz <schmitz@hp.com>.
9119
9120 2010-10-03  Bruno Haible  <bruno@clisp.org>
9121
9122         gnulib-tool: Fixes for --create-testdir with --libtool.
9123         * gnulib-tool (func_get_automake_snippet): Don't augment
9124         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
9125         an executable.
9126         (func_create_testdir): Handle module 'alloca' like func_import.
9127         Reported by Bruce Korb <bruce.korb@gmail.com>.
9128
9129 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
9130
9131         Avoid some lines longer than 80 characters.
9132         * lib/stdint.in.h: Break long comment lines.
9133         * lib/math.in.h: Likewise.
9134         (_GL_NUM_UINT_WORDS): New macro, for readability.
9135         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
9136         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
9137         * lib/stdlib.in.h: Likewise.
9138         * lib/spawn.in.h: Likewise.
9139         * lib/sys_socket.in.h: Update an URL.
9140         * lib/sys_stat.in.h: Break long line.
9141
9142 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
9143
9144         Improve pmccabe2html.
9145         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
9146         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
9147         when the sources change. Remove the line in the HTML about "Used
9148         ranges" (which implied that there might be other unused ranges),
9149         rename "Resume" to "Summary" (easier to understand for more users).
9150         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
9151         styles, and some unnecessary blank lines.
9152
9153 2010-10-03  Bruno Haible  <bruno@clisp.org>
9154             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
9155
9156         acl: Add support for ACLs on NonStop Kernel.
9157         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
9158         Check whether the function aclsort() exists.
9159         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
9160         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
9161         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9162         (acl_nontrivial [HAVE_ACLSORT]: New function.
9163         (file_has_acl): Implement for NonStop Kernel.
9164         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9165         (qset_acl): Implement for NonStop Kernel.
9166         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
9167         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9168         (main): Implement for NonStop Kernel.
9169         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
9170         Kernel. Handle this flavor.
9171         * tests/test-set-mode-acl.sh: Likewise.
9172         * tests/test-copy-acl.sh: Likewise.
9173         * tests/test-copy-file.sh: Likewise.
9174
9175 2010-10-03  Bruno Haible  <bruno@clisp.org>
9176
9177         Info about ACLs on NonStop Kernel.
9178         * doc/acl-resources.txt: Add info about NonStop Kernel.
9179         References by Joachim Schmitz <schmitz@hp.com>.
9180
9181 2010-10-02  Bruno Haible  <bruno@clisp.org>
9182
9183         Define missing EDQUOT on NonStop Kernel.
9184         * lib/errno.in.h (EDQUOT): Assign a value if missing.
9185         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
9186         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
9187         missing.
9188         * doc/posix-headers/errno.texi: Mention the NSK bug.
9189         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
9190         Reported by Joachim Schmitz <schmitz@hp.com>.
9191
9192 2010-10-02  Bruno Haible  <bruno@clisp.org>
9193
9194         Update doc for POSIX:2008.
9195         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
9196         Update URL of POSIX specification.
9197
9198 2010-10-02  Bruno Haible  <bruno@clisp.org>
9199
9200         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
9201         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
9202         from gnulib, not from Automake.
9203
9204 2010-10-02  Bruno Haible  <bruno@clisp.org>
9205
9206         New module 'system-posix'.
9207         * modules/system-posix: New file.
9208         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
9209         module is present.
9210         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
9211         GNULIB_SYSTEM_POSIX.
9212         * modules/stdlib (Depends-on): Remove sys_wait.
9213         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
9214         * doc/posix-functions/system.texi: Mention the new module.
9215         * doc/posix-headers/stdlib.texi: Likewise.
9216         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
9217         define test_sys_wait_macros to a no-op.
9218         Reported by Sam Steingold <sds@gnu.org>.
9219
9220 2010-09-30  Bruno Haible  <bruno@clisp.org>
9221
9222         More renaming from 'getdate' to 'get_date'.
9223         * doc/get_date.texi: Renamed from doc/getdate.texi.
9224         * modules/get_date (Files): Update.
9225         * MODULES.html.sh (Date and time <time.h>): Update.
9226         * DEPENDENCIES: Update.
9227         * gnulib-tool: Update comment.
9228         * m4/bison.m4 (gl_BISON): Likewise.
9229         * m4/get_date.m4 (gl_GET_DATE): Likewise.
9230
9231 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
9232
9233         bootstrap: support ACLOCAL_FLAGS during aclocal
9234         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
9235         can add additional -I dir for third-party .m4 files.
9236
9237 2010-09-30  Eric Blake  <eblake@redhat.com>
9238
9239         bootstrap: use glibtoolize on MacOS
9240         * build-aux/bootstrap (check_versions): Convert libtool into
9241         libtoolize.
9242         (tool search): Move libtool check earlier, and look for
9243         glibtoolize for MacOS.
9244         (gnulib_tool_options): Auto-add --libtool when appropriate.
9245         Reported by Justin Clift.
9246
9247         poll: fix typo that broke test on MacOS
9248         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
9249         Reported by Justin Clift.
9250
9251         getdate: rename to get_date
9252         Note: getdate.h is not renamed, to minimize client impact.
9253         * modules/getdate: Mark obsolete.  Move old contents...
9254         * modules/get_date: ...to new module name.
9255         * modules/getdate-tests: Move...
9256         * modules/get_date-tests: ...here.
9257         * m4/getdate.m4: Move...
9258         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
9259         * lib/getdate.y: Move...
9260         * lib/get_date.y: ...here.
9261         * tests/test-getdate.c: Move...
9262         * tests/test-get_date.c: ...here.
9263         * doc/posix-functions/getdate.texi (getdate): Update name.
9264         * NEWS: Mention the change.
9265
9266 2010-09-29  Bruno Haible  <bruno@clisp.org>
9267
9268         Separate the module 'waitpid' from the module 'sys_wait'.
9269         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
9270         present.
9271         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
9272         gl_MODULE_INDICATOR_FOR_TESTS.
9273         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
9274         * modules/sys_wait (Depends-on): Remove waitpid.
9275         (Makefile.am): Substitute GNULIB_WAITPID.
9276         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
9277         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
9278         signature only if the 'waitpid' module is present.
9279         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
9280         * NEWS: Mention the change.
9281         * modules/grantpt (Depends-on): Add waitpid.
9282         * modules/wait-process (Depends-on): Likewise.
9283
9284 2010-09-29  Bruno Haible  <bruno@clisp.org>
9285
9286         More tests for module 'sys_wait'.
9287         * modules/sys_wait-c++-tests: New file.
9288         * tests/test-sys_wait-c++.cc: New file.
9289         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
9290         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9291
9292 2010-09-29  Bruno Haible  <bruno@clisp.org>
9293
9294         New module 'waitpid'.
9295         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
9296         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
9297         Don't include <process.h>.
9298         (waitpid): Declare only, using modern idiom.
9299         * m4/waitpid.m4: New file.
9300         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
9301         * modules/waitpid: New file.
9302         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
9303         (Makefile.am): Update.
9304         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9305
9306 2010-09-28  Bruno Haible  <bruno@clisp.org>
9307
9308         poll: Assume ANSI C.
9309         * lib/poll.c (poll): Use an ANSI C declaration.
9310
9311 2010-09-28  Bruno Haible  <bruno@clisp.org>
9312
9313         poll-h: Create poll.h on all platforms.
9314         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
9315         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
9316         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
9317         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
9318         (gl_REPLACE_POLL_H): Don't set POLL_H.
9319         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
9320         * modules/poll-h (Depends-on): Add include_next.
9321         (Makefile.am): Create poll.h unconditionally. Substitute also
9322         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
9323
9324 2010-09-28  Bruno Haible  <bruno@clisp.org>
9325
9326         Tests for module 'poll-h'.
9327         * modules/poll-h-c++-tests: New file.
9328         * tests/test-poll-h-c++.cc: New file.
9329
9330         Tests for module 'poll-h'.
9331         * modules/poll-h-tests: New file.
9332         * tests/test-poll-h.c: New file.
9333
9334 2010-09-28  Bruno Haible  <bruno@clisp.org>
9335
9336         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
9337         * modules/poll-h (Depends-on): Add 'extensions'.
9338
9339 2010-09-28  Bruno Haible  <bruno@clisp.org>
9340
9341         New module 'poll-h'.
9342         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
9343         (poll): Use modern idiom.
9344         * modules/poll-h: New file.
9345         * modules/poll (Files): Remove lib/poll.in.h.
9346         (Depends-on): Add poll-h.
9347         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
9348         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
9349         * m4/poll_h.m4: New file.
9350         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
9351         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
9352         and invoke gl_REPLACE_POLL_H.
9353         * lib/poll.c: Use common idiom.
9354         * tests/test-poll.c: Likewise.
9355         * doc/posix-headers/poll.texi: Mention the poll-h module.
9356         Suggested by Eric Blake.
9357
9358 2010-09-26  Bruno Haible  <bruno@clisp.org>
9359
9360         sys_wait: Implement WSTOPSIG.
9361         * lib/sys_wait.in.h (WSTOPSIG): New macro.
9362         Reported by Simon Josefsson.
9363
9364 2010-09-26  Simon Josefsson  <simon@josefsson.org>
9365
9366         stdlib, sys_wait: Avoid compilation error on mingw.
9367         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
9368
9369 2010-09-26  Bruno Haible  <bruno@clisp.org>
9370
9371         stdlib tests: Avoid code duplication.
9372         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
9373         * modules/sys_wait-tests (Files): Likewise.
9374         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
9375         * tests/test-stdlib.c: Include test-sys_wait.h.
9376         (main): Invoke test_sys_wait_macros.
9377         * tests/test-sys_wait.c: Include test-sys_wait.h.
9378         (main): Invoke test_sys_wait_macros.
9379
9380 2010-09-25  Simon Josefsson  <simon@josefsson.org>
9381
9382         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
9383         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
9384         sure Windows sockets are working before calling getaddrinfo.
9385         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
9386         * doc/gnulib.texi (Windows sockets): Fix typo.
9387
9388 2010-09-25  Bruno Haible  <bruno@clisp.org>
9389
9390         Tests for module 'regex-quote'.
9391         * modules/regex-quote-tests: New file.
9392         * tests/test-regex-quote.c: New file.
9393
9394         New module 'regex-quote'.
9395         * lib/regex-quote.h: New file.
9396         * lib/regex-quote.c: New file.
9397         * modules/regex-quote: New file.
9398         Suggested by Reuben Thomas <rrt@sc3d.org>.
9399
9400 2010-09-24  Bruno Haible  <bruno@clisp.org>
9401
9402         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
9403         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
9404
9405 2010-09-23  Bruno Haible  <bruno@clisp.org>
9406
9407         setenv: Relax license.
9408         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
9409         Blake.
9410         Requested by Eric Blake.
9411
9412 2010-09-22  Bruno Haible  <bruno@clisp.org>
9413
9414         termios: Relax license.
9415         * modules/termios (License): Change to LGPLv2+.
9416         Requested by Eric Blake.
9417
9418 2010-09-22  Bruno Haible  <bruno@clisp.org>
9419
9420         threadlib: Allow the package to change the default to 'no'.
9421         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
9422         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
9423         Reported by Paul Eggert.
9424
9425 2010-09-22  Pádraig Brady  <P@draigbrady.com>
9426             Bruno Haible  <bruno@clisp.org>
9427
9428         Fix endless loop in mbmemcasecoll.
9429         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
9430         byte.
9431         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
9432
9433 2010-09-22  Bruno Haible  <bruno@clisp.org>
9434
9435         Tests for module 'memcoll'.
9436         * modules/memcoll-tests: New file.
9437         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
9438
9439         memcoll, xmemcoll: Clarify size vs. length.
9440         * modules/memcoll.c (memcoll0): Clarify specification.
9441         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
9442         passed to collate_error.
9443
9444 2010-09-22  Bruno Haible  <bruno@clisp.org>
9445
9446         Tests for module 'memcasecmp'.
9447         * modules/memcasecmp-tests: New file.
9448         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
9449
9450 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9451
9452         * lib/pthread.in.h: Add split double-inclusion guard, and include
9453         system <pthread.h> if there is one.  Use @@-style as in other
9454         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
9455         pthread.h doesn't.
9456         (pthread_mutexattr_destroy, pthread_mutexattr_init):
9457         (pthread_mutexattr_settype, pthread_mutex_trylock):
9458         New static inline functions, if there's no system <pthread.h>.
9459         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
9460         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
9461         Approximate with mutexes if the system lacks spinlocks, as in
9462         MacOS.
9463         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
9464         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
9465         @@-style.  Check for spinlocks separately.
9466         (gl_PTHREAD_DEFAULTS): New macro.
9467         * modules/pthread: Redo to use a more typical style for in.h files.
9468
9469 2010-09-21  Eric Blake  <eblake@redhat.com>
9470
9471         net_if: enhance tests
9472         * tests/test-net_if.c (main): Move signature checks earlier.
9473         Print failures to stderr.
9474         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
9475         Document the bug that we do not yet fix.
9476
9477 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9478
9479         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
9480         about gnulib, not GSS.
9481
9482 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9483
9484         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
9485         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
9486         for Emacs.
9487         * build-aux/pmccabe2html: Make Makefile.am example code more
9488         cut-and-paste friendly.
9489
9490 2010-09-21  Simon Josefsson  <simon@josefsson.org>
9491
9492         * tests/test-net_if.c: New file.
9493         * modules/net_if-tests: New file.
9494
9495 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
9496
9497         pthread: add pthread_spin_destroy
9498         * lib/pthread.in.h (pthread_spin_destroy): New function.
9499
9500 2010-09-19  Bruno Haible  <bruno@clisp.org>
9501
9502         gnulib-tool: Fix --help output.
9503         * gnulib-tool (func_usage): Fix help message.
9504         Reported by Reuben Thomas <rrt@sc3d.org>.
9505
9506 2010-09-18  Jim Meyering  <meyering@redhat.com>
9507
9508         maint.mk: avoid unexpanded \n in two diagnostics
9509         * top/maint.mk (sc_prohibit_always_true_header_tests):
9510         Don't use a literal \n in a halt=... assignment.  It would not be
9511         expanded, and the two \n bytes would appear in the diagnostic output
9512         rather than the desired newline.  Use halt=$$(printf ... instead.
9513         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
9514
9515 2010-09-18  Bruno Haible  <bruno@clisp.org>
9516
9517         netinet_in: Doc tweak.
9518         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
9519         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9520
9521 2010-09-18  Jim Meyering  <meyering@redhat.com>
9522
9523         init.sh: correct an outdated comment
9524         * tests/init.sh (create_exe_shims_):  s/function/alias/
9525
9526         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
9527         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
9528         a file named "*.exe" is removed between the glob expansion and the
9529         processing of that oddly named file.
9530
9531 2010-09-17  Eric Blake  <eblake@redhat.com>
9532
9533         mirbsd: add some more support
9534         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
9535         in BSD family.
9536         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
9537         devices as OpenBSD.
9538         * m4/host-os.m4 (mirbsd): Add MirBSD.
9539
9540         tests: fix unportable assumption on sys/wait.h
9541         * tests/test-sys_wait.c (main): Relax test.
9542         * tests/test-stdlib.c (main): Likewise.
9543
9544         init.sh: accomodate directory with no .exes
9545         * tests/init.sh: Accomodate directory containing only scripts.
9546
9547         tests: avoid compiler warning
9548         * tests/test-stdlib.c (main): Use the variable.
9549
9550         fdutimens, fdutimensat: update signature, again
9551         * lib/utimens.h (gl_futimens): Delete, and move signature...
9552         (fdutimens): ...here.
9553         (fdutimensat): Rearrange signature.
9554         (lutimensat): Rename variable for clarity.
9555         * lib/fdutimensat.c (fdutimensat): Update signature.
9556         * lib/utimens.c (fdutimens): Likewise.
9557         (gl_futimens): Delete.
9558         (utimens, lutimens): Update callers.
9559         * lib/futimens.c (futimens): Likewise.
9560         * tests/test-fdutimensat.c: Likewise.
9561         * tests/test-utimens.c: Likewise.
9562         * tests/test-futimens.h: Update comment.
9563         * NEWS: Mention this.
9564         Suggested by Paul Eggert.
9565
9566 2010-09-17  Bruno Haible  <bruno@clisp.org>
9567
9568         Take over the maintenance of some older macros from Autoconf.
9569         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
9570         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
9571         GNU Autoconf.
9572         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
9573         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
9574
9575 2010-09-17  Eric Blake  <eblake@redhat.com>
9576
9577         fdutimensat: drop atflag validation
9578         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
9579         with valid fd, to close a race scenario where futimens is
9580         unsupported and FILE was replaced by a symlink.
9581         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
9582         accordingly.
9583         Suggested by Paul Eggert.
9584
9585 2010-09-16  Bruno Haible  <bruno@clisp.org>
9586
9587         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
9588         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
9589
9590 2010-09-16  Bruno Haible  <bruno@clisp.org>
9591
9592         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
9593         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
9594         login_tty exists.
9595         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9596
9597 2010-09-16  Bruno Haible  <bruno@clisp.org>
9598
9599         login_tty: Make the replacement code work on BSD systems.
9600         * lib/login_tty.c: Include <sys/ioctl.h>.
9601         (login_tty): Use ioctl TIOCSCTTY when available.
9602         * modules/login_tty (Depends-on): Add sys_ioctl.
9603         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9604
9605 2010-09-16  Bruno Haible  <bruno@clisp.org>
9606
9607         login_tty: Stricter unit test.
9608         * modules/login_tty-tests (Depends-on): Add tcgetsid.
9609         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
9610         and tcgetsid() after login_tty.
9611         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9612
9613 2010-09-16  Bruno Haible  <bruno@clisp.org>
9614
9615         New module 'tcgetsid'.
9616         * lib/tcgetsid.c: New file.
9617         * m4/tcgetsid.m4: New file.
9618         * modules/tcgetsid: New file.
9619         * modules/termios (Depends-on): Add c++defs, warn-on-use.
9620         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
9621         GNULIB_TCGETSID, HAVE_TCGETSID.
9622         * lib/termios.in.h: Include <sys/types.h>.
9623         (tcgetsid): New declaration.
9624         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
9625         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
9626         * doc/posix-functions/tcgetsid.texi: Mention the new module.
9627         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
9628
9629 2010-09-16  Bruno Haible  <bruno@clisp.org>
9630
9631         Tests for module 'termios'.
9632         * modules/termios-c++-tests: New file.
9633         * modules/termios-tests: New file.
9634         * tests/test-termios-c++.cc: New file.
9635         * tests/test-termios.c: New file.
9636
9637         New module 'termios'.
9638         * modules/termios: New file.
9639         * lib/termios.in.h: New file.
9640         * m4/termios_h.m4: New file.
9641         * doc/posix-headers/termios.texi: Mention the new module.
9642
9643 2010-09-16  Eric Blake  <eblake@redhat.com>
9644
9645         fdutimensat: add an atflag parameter
9646         * lib/fdutimensat.c (fdutimensat): Add new parameter.
9647         * lib/utimens.h (fdutimensat): Update prototype.
9648         * tests/test-fdutimensat.c: Adjust test to match.
9649         * NEWS: Document the change.
9650         Suggested by Paul Eggert.
9651
9652 2010-09-16  Bruno Haible  <bruno@clisp.org>
9653
9654         Fix typos in comments.
9655         * lib/striconveh.h: Fix typo in comment.
9656         * lib/login_tty.c (login_tty): Likewise.
9657
9658 2010-09-15  Bruno Haible  <bruno@clisp.org>
9659
9660         stdlib: clarify MirBSD WEXITSTATUS bug
9661         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
9662         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9663
9664 2010-09-15  Eric Blake  <eblake@redhat.com>
9665
9666         stdlib: work around MirBSD WEXITSTATUS bug
9667         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
9668         * modules/stdlib (Depends-on): Add sys_wait.
9669         * tests/test-sys_wait.c (main): Enhance test.
9670         * tests/test-stdlib.c (main): Likewise.
9671         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
9672
9673         docs: mention MacOS issue with WEXITSTATUS(constant)
9674         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
9675         issue.
9676         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9677
9678         strnlen: add tests
9679         * modules/strnlen-tests: New file.
9680         * tests/test-strnlen.c: Likewise.
9681
9682 2010-09-14  Bruno Haible  <bruno@clisp.org>
9683
9684         unistr/base: Avoid link errors when module 'libunistring' is also used.
9685         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
9686         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
9687         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
9688         Declare also when HAVE_LIBUNISTRING is set.
9689         Reported by Pádraig Brady <P@draigbrady.com>.
9690
9691 2010-09-14  Eric Blake  <eblake@redhat.com>
9692
9693         test-rawmemchr: make more robust
9694         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
9695         (Depends-on, configure.ac): Add needed prerequisites to use it.
9696         * modules/memchr-tests (Files, Depends-on, configure.ac):
9697         Likewise, to avoid implicit reliance on memchr module prereqs.
9698         * tests/test-memchr.c (main): Ensure proper masking.
9699         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
9700         reads.
9701
9702         memchr: detect glibc Alpha bug
9703         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
9704         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
9705         Alpha.
9706         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
9707         * tests/test-memchr.c (main): Enhance test.
9708         Reported by Nelson H. F. Beebe.
9709
9710 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9711
9712         fts, getcwd, glob: audit for dirfd returning -1
9713         * lib/fts.c (opendir): Remove #define; no longer used.
9714         (opendirat): New arg PDIR_FD.  All callers changed.
9715         (fts_build, _opendir2): Use new opendirat to avoid the need for
9716         dirfd, or for checking whether dirfd returns a negative value.
9717         Don't use opendir; always use openat followed by fdopendir.
9718         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
9719         it.
9720         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
9721         returns -1 here.
9722         * modules/fts (Depends-on): Remove dirfd.
9723         * modules/getcwd (Depends-on): Likewise.
9724
9725 2010-09-13  Eric Blake  <eblake@redhat.com>
9726
9727         float: fix broken MirBSD header
9728         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
9729         * doc/posix-headers/float.texi (float.h): Document it.
9730
9731 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9732
9733         fts: use O_NOFOLLOW to avoid race condition when opening a directory
9734         * lib/fts.c (opendirat): New arg extra_flags.
9735         (__opendir2): Use it to avoid following symlinks when opening
9736         a directory, if symlinks are not supposed to be followed.  See
9737         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
9738
9739         fdopendir: preserve argument fd before returning
9740         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
9741         (fdopendir_with_dup, fd_clone_opendir): New static functions.
9742         (fdopendir): Use them, arranging for FD to be open to the same
9743         directory that it was when it started.  (It might be temporarily
9744         closed while fdopendir is running, so this not thread- or
9745         signal-safe.)  Be careful to do the right thing even when file
9746         descriptors are scarce and dup fails with errno == EMFILE.  See
9747         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
9748
9749 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
9750
9751         regex: Pass the system regex if its only problem is 32-bit regoff_t.
9752         * NEWS: Document change.
9753         * m4/regex.m4: Disable test for regoff_t size.
9754
9755 2010-09-13  Jim Meyering  <meyering@redhat.com>
9756
9757         fts: don't operate on an invalid file descriptor after failed dup
9758         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
9759         negative file descriptor.
9760
9761 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
9762
9763         savedir: add streamsavedir, deprecate fdsavedir
9764         * NEWS: Mention deprecation of fdsavedir.
9765         * lib/savedir.c (streamsavedir): New extern function, whose name
9766         ends in "savedir" to be consistent with the others.  This differs
9767         from savedirstream in that it doesn't close its argument.  The
9768         next version of GNU tar will use this instead of fdsavedir, to
9769         avoid some race conditions and conserve file descriptors.
9770         (savedirstream): Reimplement as a wrapper around streamsavedir.
9771         (fdsavedir): Add a comment deprecating this function.  As far as
9772         I know, only GNU tar used it, and GNU tar doesn't need it any more.
9773         * lib/savedir.h (streamsavedir): New decl.
9774         (fdsavedir): Add a comment deprecating this.
9775
9776 2010-09-10  Bruno Haible  <bruno@clisp.org>
9777
9778         langinfo: Fix last commit.
9779         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
9780         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
9781         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9782
9783 2010-09-10  Bruno Haible  <bruno@clisp.org>
9784
9785         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
9786         * lib/progreloc.c (O_EXEC): Define fallback.
9787
9788 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
9789
9790         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
9791         * NEWS: Document recent changes to fcntl-h.
9792         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
9793         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
9794         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
9795         Similarly for O_SEARCH; this last was already true, but not documented.
9796         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
9797         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
9798         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
9799         Likewise.
9800         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
9801         is zero, not whether it is defined.
9802         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
9803         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
9804         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
9805
9806 2010-09-10  Bruno Haible  <bruno@clisp.org>
9807
9808         langinfo, nl_langinfo: Fix for IRIX 5.3.
9809         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
9810         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
9811         HAVE_LANGINFO_YESEXPR.
9812         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
9813         HAVE_LANGINFO_YESEXPR.
9814         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
9815         HAVE_LANGINFO_T_FMT_AMPM is 0.
9816         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
9817         HAVE_LANGINFO_YESEXPR is 0.
9818         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
9819         NOEXPR.
9820         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
9821         * doc/posix-functions/nl_langinfo.texi: Likewise.
9822         Reported by Eric Blake.
9823
9824 2010-09-10  Bruno Haible  <bruno@clisp.org>
9825
9826         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
9827         * doc/glibc-functions/login_tty.texi: Mention the include file problem
9828         on FreeBSD 8.0 and OpenBSD 4.6.
9829         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
9830         * m4/pty_h.m4 (gl_PTY_H): Likewise.
9831         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
9832         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
9833         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
9834         ac_includes_default.
9835         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9836
9837 2010-09-09  Eric Blake  <eblake@redhat.com>
9838
9839         strsignal: work around NetBSD bug
9840         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
9841         * lib/string.in.h (includes): Likewise.
9842         * doc/posix-functions/strsignal.texi (strsignal): Document the
9843         bug.
9844         Reported by Nelson H. F. Beebe.
9845
9846         gnulib-tool: work with NetBSD /bin/sh
9847         * gnulib-tool (func_cache_var, func_cache_lookup_module)
9848         (func_get_description, func_get_comment, func_get_status)
9849         (func_get_notice, func_get_applicability, func_get_filelist)
9850         (func_get_dependencies, func_get_autoconf_early_snippet)
9851         (func_get_autoconf_snippet, func_get_automake_snippet)
9852         (func_get_include_directive, func_get_link_directive)
9853         (func_get_license, func_get_maintainer, func_import): Avoid
9854         shell syntax errors from parsing syntax extensions.
9855
9856 2010-09-09  Bruno Haible  <bruno@clisp.org>
9857
9858         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9859         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
9860         a reliable way to determine whether the 'alias' command works.
9861
9862 2010-09-08  Jim Meyering  <meyering@redhat.com>
9863
9864         init.sh: penalize a set-x-impaired shell; don't disqualify it
9865         * tests/init.sh: Too many shells corrupt application stderr when
9866         you set -x, so we can't afford to disqualify them, since at least
9867         on Irix-6.5, that would disqualify all bourne shells.
9868         Instead, use a two-pass approach.
9869         On the first pass, try to find a shell that meets the stricter
9870         condition that set -x does not corrupt stderr.
9871         If no shell meets the stricter condition, retest each candidate
9872         shell, but without that extra condition.  Finally, when
9873         VERBOSE=yes is requested and set -x might cause trouble, simply
9874         issue a warning and refrain from enabling debug output.
9875
9876 2010-09-08  Eric Blake  <eblake@redhat.com>
9877
9878         unsetenv: fix OpenBSD bug
9879         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
9880         * doc/posix-functions/unsetenv.texi (unsetenv): Update
9881         documentation.
9882         Reported by Jim Meyering.
9883
9884         strtod: work around IRIX 6.5 bug
9885         * lib/strtod.c (strtod): Reparse number on shorter string if
9886         exponent parse was invalid.
9887         * tests/test-strtod.c (main): Add check for "0x1p 2".
9888         Reported by Tom G. Christensen.
9889
9890         getopt: optimize previous patch
9891         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
9892         empty variable.  Speed up awk script.
9893         Reported by Paolo Bonzini.
9894
9895 2010-09-08  Jim Meyering  <meyering@redhat.com>
9896
9897         test.sh: disqualify shells for which set -x corrupts stderr
9898         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
9899         and OpenBSD 4.7.  They make it so with "set -x", environment settings
9900         appear in stderr output.  For example, this command:
9901             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
9902         prints "P=1" on those two systems:
9903
9904 2010-09-08  Bruno Haible  <bruno@clisp.org>
9905
9906         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9907         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
9908         commands, because some shells ignore redirections when there is an
9909         error in the command lookup.
9910         Reported by Eric Blake.
9911
9912 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
9913
9914         * lib/regex.h: Fix a mention of `regex_compile' (should be
9915         `re_compile_pattern').
9916         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
9917         (re_set_registers): Correct name of parameter in comment.
9918
9919         * doc/regex.texi: Add documentation for missing syntax flags.
9920         Remove commented-out documentation of defunct syntax option
9921         RE_NO_EMPTY_ALTS.
9922         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
9923         Add documentation of re_set_registers.
9924         Document trick to re-use a pattern buffer by setting fastmap manually.
9925         Update documentation of struct re_pattern_buffer per public members.
9926         Uncomment documentation of equivalence class operators and
9927         collating symbol operators, since they are now implemented,
9928         Explain leftmost-longest matching in relation to alternatives.
9929         Tidy documentation of substring matching.
9930         Remove POSIX documentation, which is done better in
9931         glibc, and refer the reader there. Keep BSD API documentation, as
9932         that is not readily available elsewhere.
9933
9934 2010-09-07  Eric Blake  <eblake@redhat.com>
9935
9936         getopt: handle POSIXLY_CORRECT set but not exported
9937         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
9938         export state of POSIXLY_CORRECT, due to bash set -o posix.
9939         Reported by Dustin J. Mitchell.
9940
9941 2010-09-05  Bruno Haible  <bruno@clisp.org>
9942
9943         gnulib-tool: Highlight the changed options.
9944         * gnulib-tool (func_usage): Display the --import, --add-import,
9945         --remove-import explanations in bold font.
9946
9947 2010-09-06  Karl Berry  <karl@gnu.org>
9948
9949         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
9950
9951 2010-09-05  Bruno Haible  <bruno@clisp.org>
9952
9953         uniwidth/width: Update comment.
9954         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
9955         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
9956
9957 2010-09-05  Bruno Haible  <bruno@clisp.org>
9958
9959         isinf, isnan: Relax license.
9960         * modules/isinf (License): Change from GPL to LGPL, with consent from
9961         Ben Pfaff.
9962         * modules/isnan (License): Likewise.
9963         Requested by Ludovic Courtès.
9964
9965 2010-09-04  Bruno Haible  <bruno@clisp.org>
9966
9967         gnulib-tool: Help migration from --import to --add-import or --update.
9968         * gnulib-tool: Emit a verbose error message when --import is used
9969         without any module name.
9970
9971 2010-09-04  Bruno Haible  <bruno@clisp.org>
9972
9973         Update doc about gnulib-tool.
9974         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
9975         'gnulib-tool --update' in more detail.
9976         Reported by Eric Blake.
9977
9978 2010-09-04  Bruno Haible  <bruno@clisp.org>
9979
9980         gnulib-tool: Change --import. New options --add/remove-import.
9981         * gnulib-tool: New options --add-import, --remove-import.
9982         (func_usage): Document them.
9983         (have_associative): Define always.
9984         (func_import): In import mode, don't merge the specified settings with
9985         the cached settings. Implement remove-import mode.
9986         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
9987         Explain when to use them versus --import.
9988         (Simple update): Use --add-import instead of --import.
9989         * NEWS: Mention the change.
9990
9991 2010-09-04  Bruno Haible  <bruno@clisp.org>
9992
9993         * doc/gnulib-tool.texi (Initial import): Update paragraph about
9994         separate gnulib.mk.
9995
9996 2010-09-04  Bruno Haible  <bruno@clisp.org>
9997
9998         gnulib-tool: Don't talk about CVS any more.
9999         * gnulib-tool (func_usage, func_import): Write "version control"
10000         instead of CVS.
10001
10002 2010-09-04  Jim Meyering  <meyering@redhat.com>
10003
10004         maint.mk: avoid obscure sc_copyright_check failure in coreutils
10005         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
10006         false positives (whose names may be ill-chosen) when searching
10007         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
10008         would cause a false-positive.
10009
10010         avoid coreutils "make distcheck" failure
10011         Coreutils tests with an absolute build directory name that contains
10012         a space.  Not quoting this directory name caused a failure.
10013         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
10014         * tests/test-vc-list-files-cvs.sh: Likewise.
10015
10016 2010-09-04  Bruno Haible  <bruno@clisp.org>
10017
10018         gnulib-tool: Avoid error when run in a package without Makefile.am.
10019         * gnulib-tool: When collecting the m4dirs in a package that does not
10020         have a Makefile.am, eliminate those directories that contain no
10021         gnulib-cache.m4. Fix expression that counts these directories.
10022
10023 2010-09-04  Bruno Haible  <bruno@clisp.org>
10024
10025         update-copyright test: Improve output when perl is missing or too old.
10026         * tests/test-update-copyright.sh: Move test of Perl version down after
10027         the test whether Perl exists. Provide an explanation relating Perl's
10028         error message to Automake's SKIP: message.
10029
10030 2010-09-04  Bruno Haible  <bruno@clisp.org>
10031
10032         Don't augment PATH in TESTS_ENVIRONMENT.
10033         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
10034         set abs_aux_dir instead of augmenting PATH.
10035         * modules/vc-list-files-tests (Makefile.am): Likewise.
10036         * tests/test-update-copyright.sh: Augment PATH here.
10037         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
10038         path_prepend_.
10039         * tests/test-vc-list-files-git.sh: Likewise.
10040
10041 2010-09-04  Jim Meyering  <meyering@redhat.com>
10042
10043         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
10044         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
10045
10046 2010-09-04  Bruno Haible  <bruno@clisp.org>
10047
10048         strdup: Fix compilation error in C++ mode.
10049         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
10050         the macro.
10051
10052 2010-09-04  Bruno Haible  <bruno@clisp.org>
10053
10054         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
10055         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
10056         macro into a function.
10057         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10058
10059 2010-09-04  Bruno Haible  <bruno@clisp.org>
10060
10061         Set PATH_SEPARATOR the same way autoconf does.
10062         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
10063         the value of PATH_SEPARATOR the same way autoconf-generated configure
10064         scripts do.
10065         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
10066         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
10067
10068 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
10069
10070         Set PATH_SEPARATOR the same way autoconf does.
10071         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
10072         the same way autoconf-generated configure scripts do.
10073         * posix-modules: Likewise.
10074
10075 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10076
10077         hash: fix safe_hasher const typo
10078         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
10079         const; otherwise, there is a type error later.
10080
10081 2010-09-02  Jim Meyering  <meyering@redhat.com>
10082
10083         test-update-copyright.sh: require perl 5.8.0
10084         * tests/test-update-copyright.sh: Require 5.8.0,
10085         which Tom G. Christensen has confirmed is adequate,
10086         while 5.6.1 is not.
10087
10088 2010-09-02  Eric Blake  <eblake@redhat.com>
10089
10090         tests: init.sh improvements for re-exec'ing with zsh
10091         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
10092         -vx through shell re-exec.
10093         Reported by Tom G. Christensen.
10094
10095         wctype: fix typo in previous commit
10096         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
10097         Reported by Ludovic Courtès.
10098
10099 2010-09-02  Jim Meyering  <meyering@redhat.com>
10100
10101         test-update-copyright.sh: skip test if Perl is too old
10102         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
10103         Reported by Tom G. Christensen.
10104
10105 2010-09-02  Bruno Haible  <bruno@clisp.org>
10106
10107         wctype: Avoid compilation error on IRIX 6.5.30.
10108         * lib/wctype.in.h (iswblank): Declare with a replacement if
10109         REPLACE_ISWBLANK is set.
10110         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
10111         declared. Set REPLACE_ISWBLANK.
10112         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
10113         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
10114         * doc/posix-headers/wctype.texi: Likewise.
10115         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10116
10117 2010-09-01  Bruno Haible  <bruno@clisp.org>
10118
10119         New module 'socketlib'.
10120         * modules/socketlib: New file.
10121         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
10122         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
10123         * modules/sockets (Depends-on): Add socketlib.
10124         Suggested by Sam Steingold <sds@gnu.org>.
10125
10126 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10127
10128         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
10129
10130         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
10131         when one needs search access to a directory but not read access.
10132         On systems where it is available, it works in some cases where
10133         O_RDONLY does not, namely on directories that are searchable but
10134         not readable, and which need only to be searchable.  If O_SEARCH
10135         is not available, fall back to the traditional method of using
10136         O_RDONLY.
10137
10138         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
10139         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
10140         when opening a directory that needs only to be searchable.
10141         * lib/chdir-safer.c (chdir_no_follow): Likewise.
10142         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
10143         * lib/openat-proc.c (openat_proc_name): Likewise.
10144         * lib/openat.c (openat_needs_fchdir): Likewise.
10145         * lib/save-cwd.c (save_cwd): Likewise.
10146         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
10147
10148 2010-08-28  Bruno Haible  <bruno@clisp.org>
10149
10150         New module 'host-cpu-c-abi'.
10151         * modules/host-cpu-c-abi: New file.
10152         * m4/host-cpu-c-abi.m4: New file, based on part of
10153         clisp/src/m4/general.m4.
10154         Requested by Sam Steingold <sds@gnu.org>.
10155
10156 2010-08-31  Eric Blake  <eblake@redhat.com>
10157         and Jim Meyering  <meyering@redhat.com>
10158
10159         hash: factor, and guard against misbehaving hasher function
10160         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
10161         of table->hasher's return value.  Also protect against a hash value
10162         so large that adding it to table->bucket results in a NULL pointer.
10163         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
10164         Use it in place of open-coded check-and-abort.
10165
10166 2010-08-30  Bruno Haible  <bruno@clisp.org>
10167
10168         hash: silence spurious clang warning
10169         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
10170         Reported by Eric Blake.
10171
10172 2010-08-30  Eric Blake  <eblake@redhat.com>
10173
10174         strstr, memmem, strcasestr: avoid leaked shell message
10175         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
10176         FreeBSD.
10177         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10178         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
10179
10180         tests: silence clang warning
10181         * tests/test-malloca.c (do_allocation): Avoid dead store.
10182
10183 2010-08-29  Bruno Haible  <bruno@clisp.org>
10184
10185         gettext: Fix recent mistake.
10186         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
10187
10188 2010-08-29  Bruno Haible  <bruno@clisp.org>
10189
10190         selinux-h: Offer a --without-selinux option.
10191         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
10192         --without-selinux was specified, skip all tests and define
10193         HAVE_SELINUX_SELINUX_H to 0.
10194         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
10195         set LIB_SELINUX to empty.
10196         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
10197         gl_LIBSELINUX. If --without-selinux was specified, replace
10198         selinux/context.h.
10199         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
10200
10201 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10202             Bruno Haible  <bruno@clisp.org>
10203
10204         Make the module 'realloc-gnu' work again on AIX and OSF/1.
10205         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
10206         of HAVE_REALLOC.
10207         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
10208         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
10209         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
10210         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
10211
10212 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10213             Bruno Haible  <bruno@clisp.org>
10214
10215         Make the module 'calloc-gnu' work again on AIX and OSF/1.
10216         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
10217         HAVE_CALLOC.
10218         * lib/xmalloc.c: Update accordingly.
10219         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
10220         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
10221         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
10222
10223 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10224             Bruno Haible  <bruno@clisp.org>
10225
10226         Make the module 'malloc-gnu' work again on AIX and OSF/1.
10227         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
10228         HAVE_MALLOC.
10229         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
10230         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
10231         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
10232
10233 2010-08-29  Bruno Haible  <bruno@clisp.org>
10234
10235         Update modules list.
10236         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
10237         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
10238         (String handling <string.h>): Add astrxfrm.
10239         (File system functions): Add readlinkat.
10240
10241 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10242
10243         Tests for module 'realloc-gnu'.
10244         * modules/realloc-gnu-tests: New file.
10245         * tests/test-realloc-gnu.c: New file.
10246
10247         Tests for module 'calloc-gnu'.
10248         * modules/calloc-gnu-tests: New file.
10249         * tests/test-calloc-gnu.c: New file.
10250
10251         Tests for module 'malloc-gnu'.
10252         * modules/malloc-gnu-tests: New file.
10253         * tests/test-malloc-gnu.c: New file.
10254
10255 2010-08-28  Bruno Haible  <bruno@clisp.org>
10256
10257         Rename module 'realloc' -> 'realloc-gnu'.
10258         * modules/realloc-gnu: New file, copied from modules/realloc.
10259         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
10260         obsolete.
10261         * modules/mgetgroups (Depends-on): Update.
10262         * doc/posix-functions/realloc.texi: Update.
10263         * NEWS: Mention the change.
10264
10265         Rename module 'calloc' -> 'calloc-gnu'.
10266         * modules/calloc-gnu: New file, copied from modules/calloc.
10267         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
10268         obsolete.
10269         * doc/posix-functions/calloc.texi: Update.
10270         * NEWS: Mention the change.
10271
10272         Rename module 'malloc' -> 'malloc-gnu'.
10273         * modules/malloc-gnu: New file, copied from modules/malloc.
10274         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
10275         obsolete.
10276         * modules/argp (Depends-on): Update.
10277         * modules/regex (Depends-on): Update.
10278         * doc/posix-functions/malloc.texi: Update.
10279         * NEWS: Mention the change.
10280
10281 2010-08-28  Eric Blake  <eblake@redhat.com>
10282
10283         pread, pwrite: add missing dependency
10284         * modules/pread (Depends-on): Add extensions.
10285         * modules/pwrite (Depends-on): Likewise.
10286
10287 2010-08-28  Bruno Haible  <bruno@clisp.org>
10288
10289         unistr/u*-strchr: Fix tests dependencies.
10290         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
10291         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
10292         Reported by Ian Beckwith <ianb@erislabs.net>.
10293
10294 2010-08-28  Bruno Haible  <bruno@clisp.org>
10295
10296         read-file: Don't occupy too much unused memory.
10297         * lib/read-file.c (fread_file): Shrink the buffer at the end.
10298
10299 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
10300             Eric Blake  <eblake@redhat.com>
10301             Bruno Haible  <bruno@clisp.org>
10302
10303         read-file: Avoid memory reallocations with regular files.
10304         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
10305         (fread_file): With regular files, use the remaining length as the
10306         initial buffer size.  Check against overflow.
10307         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
10308         sys_stat.
10309
10310 2010-08-28  Bruno Haible  <bruno@clisp.org>
10311
10312         ftello: Relax license.
10313         * modules/ftello (License): Relax to LGPLv2+.
10314         Reported by Eric Blake.
10315
10316 2010-08-28  Bruno Haible  <bruno@clisp.org>
10317
10318         Avoid relocwrapper link errors due to gnulib replacement functions.
10319         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
10320         function.
10321         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10322
10323 2010-08-28  Bruno Haible  <bruno@clisp.org>
10324
10325         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
10326         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
10327         defined.
10328         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
10329         Suggested by Eric Blake.
10330
10331 2010-08-28  Bruno Haible  <bruno@clisp.org>
10332
10333         sys_socket, netdb: Ensure socklen_t gets defined.
10334         * modules/sys_socket (Depends-on): Add socklen.
10335         * modules/netdb (Depends-on): Likewise.
10336         * modules/getaddrinfo (Depends-on): Remove socklen.
10337         * modules/getsockopt (Depends-on): Likewise.
10338         * modules/setsockopt (Depends-on): Likewise.
10339         * tests/test-sys_socket.c: Check that socklen_t is defined.
10340         * tests/test-netdb.c: Likewise.
10341         * m4/socklen.m4: Update comments.
10342         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10343
10344 2010-08-27  Eric Blake  <eblake@redhat.com>
10345
10346         login_tty: add missing dependency
10347         * modules/login_tty (Depends-on): Add pty.
10348
10349 2010-08-26  Eric Blake  <eblake@redhat.com>
10350
10351         lib-symbol-versions: fix m4 quoting
10352         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
10353         format for AC_LINK_IFELSE.
10354
10355         glob: fix compile test
10356         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
10357
10358         btowc: fix missing file
10359         * modules/btowc (Files): Also ship locale-fr.m4.
10360
10361         lseek: fix link test
10362         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
10363         AC_LINK_IFELSE.
10364
10365         include_next: silence autoconf 2.68 warning
10366         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
10367         AC_COMPILE_IFELSE as special.
10368         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
10369         autoconf < 2.68.
10370
10371         acl: fix compilation test
10372         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
10373         AC_COMPILE_IFELSE.
10374
10375 2010-08-26  Bruno Haible  <bruno@clisp.org>
10376
10377         Modernize AC_TRY_RUN invocations.
10378         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
10379         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
10380         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
10381         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
10382         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
10383         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10384         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
10385         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
10386         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10387         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10388         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
10389         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10390         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
10391         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10392         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
10393         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
10394         gl_MBRLEN_NUL_RETVAL): Likewise.
10395         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10396         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
10397         Likewise.
10398         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10399         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10400         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
10401         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
10402         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
10403         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
10404         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
10405         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10406         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
10407         Likewise.
10408         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
10409         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
10410         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
10411         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10412         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10413         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
10414         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10415         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
10416         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10417         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10418
10419 2010-08-26  Bruno Haible  <bruno@clisp.org>
10420
10421         Modernize AC_TRY_LINK invocations.
10422         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
10423         AC_TRY_LINK.
10424         * m4/argp.m4 (gl_ARGP): Likewise.
10425         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10426         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10427         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
10428         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
10429         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
10430         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
10431         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10432         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10433         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
10434         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
10435         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
10436         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
10437         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
10438         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10439         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10440         * m4/hostent.m4 (gl_HOSTENT): Likewise.
10441         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10442         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
10443         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10444         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
10445         Likewise.
10446         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
10447         Likewise.
10448         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
10449         Likewise.
10450         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10451         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
10452         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
10453         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10454         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10455         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10456         * m4/servent.m4 (gl_SERVENT): Likewise.
10457         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10458         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10459         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10460         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10461         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10462         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10463         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10464         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10465         * modules/tsearch-tests (configure.ac): Likewise.
10466
10467 2010-08-26  Bruno Haible  <bruno@clisp.org>
10468
10469         Modernize AC_TRY_COMPILE invocations.
10470         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
10471         AC_TRY_COMPILE.
10472         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
10473         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
10474         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
10475         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
10476         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
10477         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
10478         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
10479         * m4/lock.m4 (gl_LOCK): Likewise.
10480         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
10481         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10482         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
10483         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
10484         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
10485         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
10486         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
10487         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
10488         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
10489         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
10490         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
10491         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
10492         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
10493         extraneous semicolon.
10494
10495 2010-08-26  Jim Meyering  <meyering@redhat.com>
10496
10497         stat-time: relax license LGPL
10498         * modules/stat-time (License): Change from GPL to LGPL,
10499         with consent from all contributors, for use in libguile.
10500         Requested by Ludovic Courtès.
10501
10502 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
10503
10504         poll: return immediately on POLLHUP.
10505         * lib/poll.c (poll): Always set timeout before wait_timeout is
10506         computed.
10507
10508 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10509
10510         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
10511         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
10512         rmdir ("dir/.//"), unlinkat.
10513
10514 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10515
10516         stdbool: avoid spurious failure with modern xlc
10517         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10518
10519 2010-08-24  Bruno Haible  <bruno@clisp.org>
10520
10521         getloadavg: simplify code
10522         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
10523         gl_have_func. Update comments.
10524
10525 2010-08-24  Eric Blake  <eblake@redhat.com>
10526
10527         getloadavg: don't define SVR4 on cygwin
10528         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
10529         only define SVR4 when -lkvm is required.
10530         Reported by Yaakov Selkowitz.
10531
10532 2010-08-24  Bruno Haible  <bruno@clisp.org>
10533
10534         priv-set: fix comment
10535         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
10536
10537 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10538
10539         priv-set: fix comments
10540         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
10541         to match code, as suggested by David Bartley in:
10542         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
10543
10544 2010-08-23  Eric Blake  <eblake@redhat.com>
10545
10546         stdbool: avoid rejecting clang
10547         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10548         * tests/test-stdbool.c: Enable more tests if using the system
10549         <stdbool.h> instead of the gnulib replacement.
10550         (main): Move xlc bug test to a runtime test for all compilers.
10551         Reported by Anders Kaseorg.
10552
10553         argz: fix shell quoting issue
10554         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
10555         Reported by Charles Wilson.
10556
10557 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
10558             Erik Faye-Lund <kusmabite@gmail.com>
10559
10560         poll, select: handle ERROR_BROKEN_PIPE.
10561         * lib/poll.c (win32_compute_revents): Return POLLHUP when
10562         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10563         * lib/select.c (win32_compute_revents): Do not mark a pipe
10564         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10565
10566 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
10567
10568         fts: allow compilation with C++
10569         * lib/fts_.h: Specify extern "C" linkage with C++.
10570
10571 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10572
10573         Fix gnulib-tool sed script de-commentation for AIX sed.
10574         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
10575         sed.
10576
10577 2010-08-17  Eric Blake  <eblake@redhat.com>
10578
10579         test-stddef: test for (some) offsetof bugs
10580         * tests/test-stddef.c: Enhance test to ensure correct type of
10581         offsetof.
10582         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
10583         that we are not fixing at this time.
10584
10585 2010-08-15  Bruno Haible  <bruno@clisp.org>
10586
10587         stpncpy: Allow stpncpy to be defined as a macro.
10588         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
10589         if it's already correctly declared.
10590         * lib/string.in.h (stpncpy): Undefine before redefining.
10591         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
10592
10593 2010-08-14  Bruno Haible  <bruno@clisp.org>
10594
10595         Rename module 'memxfrm' to 'amemxfrm'.
10596         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
10597         (amemxfrm): Renamed from memxfrm.
10598         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
10599         (amemxfrm): Renamed from memxfrm.
10600         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
10601         * NEWS: Mention the change.
10602         * MODULES.html.sh (String handling <string.h>): Update.
10603         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
10604         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
10605         * lib/unicase/u16-casexfrm.c: Likewise.
10606         * lib/unicase/u32-casexfrm.c: Likewise.
10607         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
10608         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
10609         * lib/uninorm/u16-normxfrm.c: Likewise.
10610         * lib/uninorm/u32-normxfrm.c: Likewise.
10611         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
10612         memxfrm.
10613         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
10614         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
10615         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
10616         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
10617         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
10618         Suggested by Paul Eggert.
10619
10620 2010-08-14  Bruno Haible  <bruno@clisp.org>
10621
10622         Tests for module 'astrxfrm'.
10623         * modules/astrxfrm-tests: New file.
10624         * tests/test-astrxfrm.c: New file.
10625
10626         New module 'astrxfrm'.
10627         * lib/astrxfrm.h: New file.
10628         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
10629         * modules/astrxfrm: New file.
10630
10631 2010-08-14  Reuben Thomas <rrt@sc3d.org>
10632
10633         regex: Tweak doc.
10634         * doc/regex.texi (Overview): Don't mention regex.c.
10635         (GNU Regular Expression Compiling): Likewise.
10636         (Match-end-of-line Operator): Mention 'not_eol'.
10637
10638 2010-08-14  Brian Gough  <bjg@gnu.org>
10639             Bruno Haible  <bruno@clisp.org>
10640
10641         git-merge-changelog: add doc relating to use with bzr and hg.
10642         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
10643
10644 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
10645
10646         pthread: fix pthread.h creation for srcdir != builddir
10647         * modules/pthread (Makefile.am): Fix the rule to work also in a
10648         non-srcdir build.
10649
10650 2010-08-13  Karl Berry  <karl@gnu.org>
10651
10652         * doc/regex.texi (Predefined Syntaxes): @smallexample.
10653         * doc/posix-*/*: force line break before @url of POSIX
10654         specifications.
10655         Suggested by Werner Lemberg.
10656
10657 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10658
10659         strtod: fix const diagnostic
10660         * lib/strtod.c (strtod): Don't assign const char * to char *,
10661         as this elicits a warning from GCC when warnings are enabled.
10662
10663 2010-08-10  Pádraig Brady <P@draigbrady.com>
10664         and Eric Blake  <eblake@redhat.com>
10665
10666         copy-acl: ignore ENOTSUP on HP-UX
10667         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
10668         so that it is available for HP-UX.
10669         * lib/copy-acl.c (qcopy_acl): Use it.
10670         Reported by Patrick M. Callahan.
10671
10672 2010-08-10  Eric Blake  <eblake@redhat.com>
10673
10674         open, chown: relax license
10675         * modules/open (License): Change to LGPLv2+, with consent by all
10676         authors, for use in augeas.
10677         * modules/chown (License): Likewise.
10678         * modules/lchown (Likewise): Likewise.
10679         Requested by Adam Stokes.
10680
10681 2010-08-09  Karl Berry  <karl@gnu.org>
10682
10683         * build-aux/ar-lib: new file, import from Automake.
10684         * config/srclist.txt: autocheck for updates.
10685
10686 2010-08-09  Eric Blake  <eblake@redhat.com>
10687
10688         readlinkat: adjust client modules
10689         * modules/areadlinkat (Depends-on): Use readlinkat, not
10690         symlinkat.
10691         * modules/areadlinkat-with-size (Depends-on): Likewise.
10692
10693         mknod: be more vocal about danger of running tests as root
10694         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
10695         root, since that is just asking for problems.
10696         Suggested by Bruno Haible, based on a report by Rainer Tammer.
10697
10698         readlinkat: split into its own module
10699         * modules/symlinkat: Split readlinkat...
10700         * modules/readlinkat: ...into separate module.
10701         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
10702         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
10703         * lib/symlinkat.c (readlinkat): Move...
10704         * lib/readlinkat.c: ...into new file.
10705         * modules/symlinkat-tests: Split readlinkat test...
10706         * modules/readlinkat-tests: ...into separate module.
10707         * tests/test-symlinkat.c: Split...
10708         * tests/test-readlinkat.c: ...into new file.
10709         * NEWS: Document the split.
10710         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10711         * lib/unistd.in.h (readlinkat): Likewise.
10712         Suggested by Bruno Haible.
10713
10714 2010-08-08  Bruno Haible  <bruno@clisp.org>
10715
10716         memxfrm: Speed up.
10717         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
10718         that usually only one call to strxfrm is necessary for each string
10719         part.
10720         Reported by Paul Eggert <eggert@cs.ucla.edu>.
10721
10722 2010-08-07  Karl Berry  <karl@gnu.org>
10723
10724         * doc/posix-headers/limits.texi,
10725         * doc/posix-functions/malloc.texi,
10726         * doc/posix-functions/strsignal.texi: missing @item.
10727         * doc/ld-version-script.texi: spurious leading i.
10728         * doc/regex.texi (Interval Operators): no commas inside @var.
10729
10730 2010-08-01  Bruno Haible  <bruno@clisp.org>
10731
10732         Integrate the regex documentation.
10733         * doc/gnulib.texi: Define 'cn' index.
10734         (Regular expressions): New a chapter that includes regex.texi and
10735         regexprops-generic.texi.
10736         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
10737         syntax.
10738
10739         Whitespace cleanup.
10740         * doc/regex.texi: Remove trailing spaces.
10741
10742         Add regex documentation.
10743         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
10744         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
10745         Written by Kathy A. Hargreaves and Karl Berry.
10746
10747 2010-08-01  Bruno Haible  <bruno@clisp.org>
10748
10749         link: Update documentation.
10750         * doc/posix-functions/link.texi: Update regarding Solaris.
10751
10752 2010-07-31  Bruno Haible  <bruno@clisp.org>
10753
10754         Update modules list.
10755         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
10756         (String handling <string.h>): Add memcmp2, memxfrm.
10757         (Container data structures): Add xlist, xsublist, xoset.
10758         (Core language properties): Add alignof, unused-parameter.
10759         (Process control, Numeric conversion functions <stdlib.h>): Renamed
10760         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
10761         (Unibyte characters <ctype.h>): New section.
10762         (String handling <string.h>): New section.
10763         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
10764         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
10765         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
10766         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
10767         tan, tanh, tanl, y0, y1, yn.
10768         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
10769         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
10770         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
10771         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
10772         unlockpt, vdprintf, vdprintf-posix.
10773         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
10774         (File system functions): Add concat-filename, sys_file, sys_ioctl,
10775         xconcat-filename.
10776         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
10777         getdtablesize, pipe2, pipe2-safer.
10778         (Security): New section.
10779         (Networking functions): Add accept4.
10780         (Signal handling): Add sigpipe.
10781         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
10782         mbmemcasecoll.
10783         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
10784         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
10785         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
10786         pipe-filter-ii.
10787         (Misc): Add argp-version-etc, login_tty, parse-duration.
10788
10789 2010-07-31  Bruno Haible  <bruno@clisp.org>
10790
10791         Improve doc in MODULES.html.
10792         * modules/linkat (Description): Add the word "function".
10793         * modules/mkfifo (Description): Likewise.
10794         * modules/mknod (Description): Likewise.
10795         * modules/remove (Description): Likewise.
10796         * modules/renameat (Description): Likewise.
10797         * modules/stat (Description): Likewise.
10798         * modules/symlink (Description): Likewise.
10799         * modules/unlink (Description): Likewise.
10800
10801 2010-07-31  Bruno Haible  <bruno@clisp.org>
10802
10803         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
10804         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
10805         option --enable/disable-c++ instead of --enable/disable-cxx.
10806         * NEWS: Mention the change.
10807
10808 2010-07-31  Bruno Haible  <bruno@clisp.org>
10809
10810         readlink, areadlink: Relax test a bit.
10811         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
10812         alternative to ENOTDIR.
10813         * tests/test-areadlink.h (test_areadlink): Likewise.
10814         Reported by Rainer Tammer.
10815
10816 2010-07-31  Bruno Haible  <bruno@clisp.org>
10817
10818         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
10819         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
10820         character, perform the search using U_STRCHR.
10821         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
10822         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
10823         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
10824         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
10825         Suggested by Paolo Bonzini.
10826
10827 2010-07-31  Bruno Haible  <bruno@clisp.org>
10828
10829         unistr/u*-strstr: Fix dependencies.
10830         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
10831         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
10832         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
10833
10834 2010-07-31  Bruno Haible  <bruno@clisp.org>
10835
10836         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
10837         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
10838         the beginning of the loop.
10839         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
10840         cases in 'switch' statement.
10841
10842         unistr/u8-strchr: Fix several bugs.
10843         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
10844         the string. When not found, return NULL, not a pointer near the end.
10845
10846         More tests for unistr/u8-strchr.
10847         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
10848         that the function does not read past the first occurrence of the byte
10849         being searched.
10850         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
10851         * tests/unistr/test-u16-strchr.c (main): New function.
10852         * tests/unistr/test-u32-strchr.c (main): New function.
10853
10854 2010-07-31  Bruno Haible  <bruno@clisp.org>
10855
10856         posix-modules: Ignore backup files of documentation files.
10857         * posix-modules: grep only through files named *.texi.
10858
10859 2010-07-31  Bruno Haible  <bruno@clisp.org>
10860
10861         symlinkat: Fix documentation.
10862         * doc/posix-functions/readlinkat.texi: Fix module name.
10863
10864 2010-07-31  Bruno Haible  <bruno@clisp.org>
10865
10866         fchownat: Replace also when chown has the trailing slash bug.
10867         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
10868         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
10869         introduced on 2010-04-10.
10870         Reported by Rainer Tammer.
10871
10872 2010-07-31  Bruno Haible  <bruno@clisp.org>
10873
10874         linkat: Work around AIX 7.1 bug.
10875         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
10876         whether linkat handles trailing slash correctly. If not, replace linkat
10877         and define LINKAT_TRAILING_SLASH_BUG.
10878         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
10879         check whether (fd1,file1) points to a directory if file1 or file2 ends
10880         in a slash. Code taken from lib/link.c.
10881         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
10882         Reported by Rainer Tammer.
10883
10884 2010-07-31  Bruno Haible  <bruno@clisp.org>
10885
10886         Correctly determine whether pow is available in libc on AIX 7 with xlc.
10887         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
10888         This disables an xlc optimization that was causing wrong test results.
10889         Reported by Rainer Tammer.
10890
10891 2010-07-31  Bruno Haible  <bruno@clisp.org>
10892
10893         iconv: Work around AIX 6.1..7.1 bug.
10894         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
10895         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
10896         cross-compiling, guess no on all versions of AIX.
10897         Reported by Rainer Tammer.
10898
10899 2010-07-31  Bruno Haible  <bruno@clisp.org>
10900
10901         readlink: Relax test a bit.
10902         * tests/test-readlink.h (test_readlink): Allow different errno value
10903         when readlink is called with a file name that ends in / and refers to
10904         a file.
10905         Suggested by Eric Blake.
10906         Reported by Rainer Tammer.
10907
10908 2010-07-31  Bruno Haible  <bruno@clisp.org>
10909
10910         copysign: Does not require -lm on glibc systems.
10911         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
10912         gl_COMMON_DOUBLE_MATHFUNC.
10913         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
10914
10915 2010-07-31  Bruno Haible  <bruno@clisp.org>
10916
10917         duplocale: Work around AIX 7.1 bug.
10918         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
10919         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
10920         * lib/duplocale.c (rpl_duplocale): Update comment.
10921         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
10922         Reported by Rainer Tammer.
10923
10924 2010-07-30  Bruno Haible  <bruno@clisp.org>
10925
10926         dirfd: Avoid link error on AIX 7.1.
10927         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
10928         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
10929         exist, set REPLACE_DIRFD.
10930         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
10931         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
10932         * doc/posix-functions/dirfd.texi: Update.
10933         Reported by Rainer Tammer.
10934
10935 2010-07-30  Eric Blake  <eblake@redhat.com>
10936
10937         strtod: next round of AIX fixes
10938         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
10939         exponent.
10940         * tests/test-strtod.c (main): Enhance tests.
10941         * doc/posix-functions/strtod.texi (strtod): Document next bug.
10942         Reported by Rainer Tammer.
10943
10944         futimens: fix configure check
10945         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
10946         Reported by Bruno Haible.
10947
10948 2010-07-30  Bruno Haible  <bruno@clisp.org>
10949
10950         getline: Update regarding AIX.
10951         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
10952         Reported by Rainer Tammer.
10953
10954 2010-07-30  Bruno Haible  <bruno@clisp.org>
10955
10956         wcwidth: Drop replacement on AIX 7.
10957         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
10958         AIX 7.
10959         Reported by Rainer Tammer.
10960
10961 2010-07-30  Bruno Haible  <bruno@clisp.org>
10962
10963         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
10964         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
10965         a 'char *'.
10966         Reported by Rainer Tammer.
10967
10968 2010-07-30  Bruno Haible  <bruno@clisp.org>
10969
10970         unlink: Update regarding AIX.
10971         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
10972         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
10973         Reported by Rainer Tammer.
10974
10975 2010-07-30  Bruno Haible  <bruno@clisp.org>
10976
10977         symlink: Update regarding AIX.
10978         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
10979         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
10980         Reported by Rainer Tammer.
10981
10982 2010-07-30  Bruno Haible  <bruno@clisp.org>
10983
10984         strndup: Update regarding AIX.
10985         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
10986         AIX 7.
10987         Reported by Rainer Tammer.
10988
10989 2010-07-30  Bruno Haible  <bruno@clisp.org>
10990
10991         stat: Update regarding AIX.
10992         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
10993         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
10994         Reported by Rainer Tammer.
10995
10996 2010-07-30  Bruno Haible  <bruno@clisp.org>
10997
10998         truncl: Fix autoconf test.
10999         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
11000         whether truncl works.
11001         Reported by Rainer Tammer.
11002
11003 2010-07-30  Bruno Haible  <bruno@clisp.org>
11004
11005         round: Update regarding AIX.
11006         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
11007         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
11008         Reported by Rainer Tammer.
11009
11010 2010-07-30  Bruno Haible  <bruno@clisp.org>
11011
11012         rename: Update regarding AIX.
11013         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
11014         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
11015         Reported by Rainer Tammer.
11016
11017 2010-07-30  Bruno Haible  <bruno@clisp.org>
11018
11019         printf.m4: Update regarding AIX.
11020         * m4/printf.m4: Update comments regarding AIX.
11021         Reported by Rainer Tammer.
11022
11023 2010-07-30  Bruno Haible  <bruno@clisp.org>
11024
11025         iconv: Update regarding AIX.
11026         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
11027         AIX 7.
11028         Reported by Rainer Tammer.
11029
11030 2010-07-30  Bruno Haible  <bruno@clisp.org>
11031
11032         getopt: Update regarding AIX.
11033         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
11034         no on AIX.
11035         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
11036         Reported by Rainer Tammer.
11037
11038 2010-07-30  Bruno Haible  <bruno@clisp.org>
11039
11040         ldexpl; Update regarding AIX.
11041         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
11042         on AIX 7.
11043         Reported by Rainer Tammer.
11044
11045 2010-07-30  Bruno Haible  <bruno@clisp.org>
11046
11047         frexpl: Update regarding AIX.
11048         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
11049         on AIX 7.
11050         Reported by Rainer Tammer.
11051
11052 2010-07-30  Bruno Haible  <bruno@clisp.org>
11053
11054         open, fopen: Update regarding AIX.
11055         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
11056         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11057         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
11058         * doc/posix-functions/fopen.texi: Likewise.
11059         Reported by Rainer Tammer.
11060
11061 2010-07-30  Bruno Haible  <bruno@clisp.org>
11062
11063         chown: Update doc regarding AIX.
11064         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
11065         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
11066         Reported by Rainer Tammer.
11067
11068 2010-07-30  Eric Blake  <eblake@redhat.com>
11069
11070         strtod: fix bug in replacement function on AIX
11071         * lib/strtod.c (strtod): Special case broken "0x" parse in
11072         underlying strtod.
11073         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
11074         * doc/posix-functions/strtod.texi (strtod): Likewise.
11075         Reported by Rainer Tammer.
11076
11077 2010-07-30  Bruno Haible  <bruno@clisp.org>
11078
11079         mbrlen: Fix cross-compilation guess for AIX.
11080         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
11081         guess. Leftover from 2008-12-22.
11082
11083 2010-07-30  Bruno Haible  <bruno@clisp.org>
11084
11085         mbrtowc: Fix cross-compilation guess for AIX.
11086         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
11087         guess. Leftover from 2008-12-21.
11088
11089 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
11090
11091         init.sh: work around trap limitation of some shells
11092         * tests/init.sh (setup_): Move exit trap outside of shell function.
11093
11094 2010-07-29  Eric Blake  <eblake@redhat.com>
11095
11096         strtod: aid debugging
11097         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
11098         understanding why strtod is rejected.
11099
11100 2010-07-28  Bruno Haible  <bruno@clisp.org>
11101
11102         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
11103         * lib/unistr/u8-chr.c: Include <string.h>.
11104         * tests/unistr/test-u8-chr.c: Likewise.
11105         * tests/unistr/test-u16-chr.c: Likewise.
11106         * tests/unistr/test-u32-chr.c: Likewise.
11107         * tests/unistr/test-u8-strchr.c: Likewise.
11108         * tests/unistr/test-u16-strchr.c: Likewise.
11109         * tests/unistr/test-u32-strchr.c: Likewise.
11110         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
11111         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
11112         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
11113         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
11114
11115 2010-07-28  Bruno Haible  <bruno@clisp.org>
11116
11117         Use spaces for indentation, not tabs.
11118         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
11119
11120 2010-07-27  Bruno Haible  <bruno@clisp.org>
11121
11122         mbspcasecmp: Fix function specification.
11123         * lib/string.in.h (mbspcasecmp): Fix specification comment.
11124         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
11125         Reported by Eric Blake <eblake@redhat.com>.
11126
11127 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
11128
11129         timespec: use cast and not conditional, as truncation isn't possible
11130         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
11131         instead of a conditional.  Comment about the situation in more detail.
11132         This undoes most of the 2009-10-29 patch.
11133
11134 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
11135
11136         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
11137         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
11138         * lib/unistr/u8-strchr.c: Likewise.
11139         * modules/unistr/u8-chr: Depend on memchr.
11140
11141         unistr/u*-strchr: add tests
11142         * modules/unistr/u8-strchr-tests: New file.
11143         * modules/unistr/u16-strchr-tests: New file.
11144         * modules/unistr/u32-strchr-tests: New file.
11145         * tests/unistr/test-strchr.h: New file.
11146         * tests/unistr/test-u8-strchr.c: New file.
11147         * tests/unistr/test-u16-strchr.c: New file.
11148         * tests/unistr/test-u32-strchr.c: New file.
11149
11150         unistr/u*-chr: test multibyte sequences more
11151         * tests/unistr/test-chr.h: Do complete testing of the characters in the
11152         test vector.
11153         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
11154         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
11155         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
11156
11157         unistr/u*-chr: test multibyte sequences
11158         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
11159
11160         unistr/u*-chr: prepare for multibyte tests
11161         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
11162         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
11163         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
11164         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
11165         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
11166         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
11167
11168 2010-07-18  Bruno Haible  <bruno@clisp.org>
11169
11170         unistr/u8-strchr: Optimize non-ASCII argument case.
11171         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
11172         because the first byte often matches anyway.
11173         Reported by Pádraig Brady <P@draigbrady.com>.
11174
11175 2010-07-15  Karl Berry  <karl@gnu.org>
11176
11177         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
11178
11179 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
11180
11181         getcwd: on Solaris, work better if ancestors are inaccessible
11182         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
11183         buffer and size, try again with a large buffer.  This works better
11184         on Solaris, since its getcwd succeeds even if the path to the root
11185         is inaccessible, and this is helpful in common cases such as .zfs
11186         hidden directories.  Problem reported by J Chapman Flack in
11187         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
11188         Use system getcwd if it's declared, not merely if it's partly
11189         working; use the partly-working test only to avoid needless effort
11190         if the system getcwd fails.
11191         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
11192         comment that was already obsolete and is now even more obsolete.
11193         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
11194         now might call strdup.
11195
11196 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
11197
11198         pthread: Add enough so that coreutils/src/sort.c compiles.
11199         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
11200         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
11201         gnulib. Include <sched.h> and <time.h>, as per POSIX.
11202         Include <sys/types.h>, in case it defines pthread_t.
11203         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
11204         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
11205         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
11206         (pthread_rwlockattr_t, pthread_spinlock_t):
11207         New typedefs, if HAVE_PTHREAD_T is not defined.
11208         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
11209         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
11210         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
11211         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
11212         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
11213         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
11214         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
11215         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
11216         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
11217         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
11218         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
11219         New macros.
11220         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
11221         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
11222         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
11223         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
11224         (pthread_spin_unlock): New dummy functions.
11225         (pthread_create): Return EAGAIN; don't set errno.
11226         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
11227         require AC_C_INLINE.
11228         * modules/pthread (Depends-on): Add sched, time.
11229         (pthread.h): Use AM_V_GEN.
11230
11231 2010-07-13  Bruno Haible  <bruno@clisp.org>
11232
11233         striconveh: Don't malloc memory if the result buffer is sufficient.
11234         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
11235         buffer if its size is sufficient.
11236         Reported by Ludovic Courtès <ludo@gnu.org>.
11237
11238 2010-07-13  Bruno Haible  <bruno@clisp.org>
11239
11240         strtod: Add safety check.
11241         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
11242
11243 2010-07-12  Bruno Haible  <bruno@clisp.org>
11244
11245         Unify tests that set gl_cv_func_ldexpl_no_libm.
11246         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
11247         gl_FUNC_LDEXPL.
11248         (gl_FUNC_LDEXPL): Invoke it.
11249         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11250
11251 2010-07-12  Bruno Haible  <bruno@clisp.org>
11252
11253         Unify tests that set gl_cv_func_ldexp_no_libm.
11254         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
11255         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
11256         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
11257         (configure.ac): Simply invoke gl_FUNC_LDEXP.
11258         * modules/strtod (Files): Add m4/ldexp.m4.
11259
11260 2010-07-12  Bruno Haible  <bruno@clisp.org>
11261
11262         Unify tests that set gl_cv_func_frexpl_no_libm.
11263         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
11264         gl_FUNC_FREXPL_NO_LIBM.
11265         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
11266         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11267
11268 2010-07-12  Bruno Haible  <bruno@clisp.org>
11269
11270         Unify tests that set gl_cv_func_frexp_no_libm.
11271         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
11272         gl_FUNC_FREXP_NO_LIBM.
11273         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
11274         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11275
11276 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
11277
11278         memcoll: clarify sizes versus lengths, document better, and tweak perf
11279         * lib/memcoll.c (strcoll_loop, memcoll0):
11280         Improve quality of descriptive comments.  Name variables
11281         consistently as to whether they are lengths (which do not include
11282         terminating null) versus sizes (which do).
11283         * lib/xmemcoll.c (xmemcoll0): Likewise.
11284         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
11285         returned when s1size == 0; this is easier to compile and saves
11286         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
11287
11288 2010-07-12  Bruno Haible  <bruno@clisp.org>
11289
11290         Tests for module '_Exit'.
11291         * modules/_Exit-tests: New file.
11292         * tests/test-_Exit.sh: New file.
11293         * tests/test-_Exit.c: New file.
11294
11295         New module '_Exit'.
11296         * lib/stdlib.in.h (__attribute__): New macro.
11297         (_Exit): New declaration.
11298         * lib/_Exit.c: New file.
11299         * m4/_Exit.m4: New file.
11300         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
11301         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
11302         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
11303         * modules/_Exit: New file.
11304         * tests/test-stdlib-c++.cc (_Exit): Check signature.
11305         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
11306
11307 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
11308
11309         strtod: make it more-accurate typically, and don't require libm
11310         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
11311         Include limits.h.  Don't include string.h.
11312         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
11313         (locale_isspace): New function, so that no casts are needed to
11314         check whether *s is a space.
11315         (ldexp): Provide an unused dummy if not available.
11316         (scale_radix_exp, parse_number, underlying_strtod): New functions.
11317         (strtod): Use them.  This implementation prefers to use the
11318         underlying strtod if available, falling back on our own code
11319         only to fix known bugs.  This is more likely to produce an
11320         accurate result.  Also, it avoids the use of libm functions.
11321         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
11322         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
11323         was absent, but it caused a test failure with coreutils.
11324         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
11325         with libm.
11326         * modules/strtod (Makefile.am, Link): libm is no longer needed.
11327         * modules/strtod-tests (Makefile.am): Likewise.
11328
11329 2010-07-11  Pádraig Brady  <P@draigBrady.com>
11330             Bruno Haible  <bruno@clisp.org>
11331
11332         unistr/u8-strchr: Optimize ASCII argument case.
11333         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
11334
11335 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11336
11337         (x)memcoll: minor tweaks
11338         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
11339         is after the type that it qualifies.
11340         (memcoll0): Likewise.
11341         * lib/memcoll.h (memcoll0): Likewise.
11342         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
11343         * lib/xmemcoll.h (xmemcoll0): Likewise.
11344         * lib/memcoll.c (memcoll0): Correct the comment.  This function
11345         differs from memcoll in that the NUL byte is part of the argument.
11346         Omit the abort-checks, as performance is a real issue here.  Plus,
11347         the checks were wrong anyway (an off-by-one error).  Omit local
11348         variable 'diff', as it's a bit clearer that way.
11349         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
11350         no longer needed.
11351
11352 2010-07-08  Chen Guo <chenguo4@yahoo.com>
11353
11354         (x)memcoll: speedup when input is known to be NUL delimited
11355         * lib/memcoll.c: Include stdlib.
11356         (memcoll0) New function.
11357         (strcoll_loop) New function, refactored for use in both memcoll
11358         and memcoll0.
11359         * lib/memcoll.h: Add prototype for memcoll0.
11360         * lib/xmemcoll.c: (xmemcoll0) New function.
11361         (collate_error) New function, refactored for use in both xmemcoll
11362         and xmemcoll0.
11363         * lib/xmemcoll.h: Add prototype for xmemcoll0.
11364         * m4/memcoll.m4: add inline invocation.
11365
11366 2010-07-06  Pádraig Brady  <P@draigBrady.com>
11367
11368         * build-aux/bootstrap: Remove any local translations
11369         from the translation project synchronization directory,
11370         so that local only translations are not distributed.
11371
11372 2010-07-04  Bruno Haible  <bruno@clisp.org>
11373
11374         fsusage: Clarify which code applies to which platforms.
11375         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
11376         platform.
11377         * lib/fsusage.c (get_fs_usage): Likewise.
11378
11379 2010-07-04  Bruno Haible  <bruno@clisp.org>
11380
11381         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
11382         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
11383         Reported by Martin Lambers <marlam@marlam.de>.
11384
11385 2010-07-04  Jim Meyering  <meyering@redhat.com>
11386
11387         hash: once again explicitly disallow insertion of NULL
11388         * lib/hash.c (hash_insert0): Reinstate just-removed test:
11389         inserting a NULL pointer cannot work with these functions.
11390         Add a comment with details.
11391         This reverts part of the 2010-07-01 commit, 5bef1a35
11392         "hash: extend module to deal with non-pointer keys".
11393
11394 2010-07-01  Bruno Haible  <bruno@clisp.org>
11395
11396         stdbool: Update doc.
11397         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
11398         Info from Christian Weisgerber <naddy@mips.inka.de>.
11399
11400 2010-07-01  Jim Meyering  <meyering@redhat.com>
11401
11402         hash: extend module to deal with non-pointer keys
11403         * lib/hash.c (hash_insert0): New interface, much like hash_insert
11404         but that allows insertion of non-pointer entries.
11405         Do not disallow an ENTRY value of NULL.
11406         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
11407         * lib/hash.h (hash_insert0): Declare.
11408
11409 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11410
11411         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
11412         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
11413         not present (i.e. with autoconf 2.59 and when using gettextize, not
11414         gnulib), require AC_GNU_SOURCE instead.
11415
11416 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
11417
11418         idpriv-drop: Fix tests.
11419         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
11420         not to the test-idpriv-droptemp program.
11421
11422 2010-06-29  Bruno Haible  <bruno@clisp.org>
11423
11424         string: Fix syntax error with g++ 2.96.
11425         * lib/string.in.h (__pure__): Remove definition.
11426         (_GL_ATTRIBUTE_PURE): New macro.
11427         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
11428         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
11429         Reported by Christian Weisgerber <naddy@mips.inka.de>.
11430
11431 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
11432
11433         unitypes: Fix bug introduced on 2010-05-18.
11434         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
11435
11436 2010-06-22  Eric Blake  <eblake@redhat.com>
11437
11438         memmem: slight optimization
11439         * lib/str-two-way.h (critical_factorization): Update comments.
11440         Reduce work during factorization phase.
11441         Reported by Carlos Bueno <carlos@bueno.org>.
11442
11443 2010-06-21  Bruno Haible  <bruno@clisp.org>
11444
11445         Fix HAVE_CALLOC_POSIX misnomer.
11446         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
11447         !HAVE_CALLOC_POSIX.
11448         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
11449         HAVE_CALLOC_POSIX.
11450         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
11451         instead of HAVE_CALLOC_POSIX.
11452         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
11453         HAVE_CALLOC_POSIX.
11454
11455         Use modern idiom for calloc() replacement.
11456         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
11457         AC_FUNC_CALLOC.
11458         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
11459         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
11460         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11461         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
11462         (gl_REPLACE_CALLOC): New macro.
11463
11464 2010-06-21  Bruno Haible  <bruno@clisp.org>
11465
11466         Fix HAVE_REALLOC_POSIX misnomer.
11467         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
11468         !HAVE_REALLOC_POSIX.
11469         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
11470         HAVE_REALLOC_POSIX.
11471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
11472         instead of HAVE_REALLOC_POSIX.
11473         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
11474         HAVE_REALLOC_POSIX.
11475
11476         Use modern idiom for realloc() replacement.
11477         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
11478         AC_FUNC_REALLOC.
11479         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
11480         Autoconf's AC_FUNC_REALLOC.
11481         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11482         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
11483         (gl_REPLACE_REALLOC): New macro.
11484         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11485
11486 2010-06-21  Bruno Haible  <bruno@clisp.org>
11487
11488         Fix HAVE_MALLOC_POSIX misnomer.
11489         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
11490         !HAVE_MALLOC_POSIX.
11491         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
11492         HAVE_MALLOC_POSIX.
11493         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
11494         instead of HAVE_MALLOC_POSIX.
11495         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
11496         HAVE_MALLOC_POSIX.
11497
11498         Use modern idiom for malloc() replacement.
11499         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
11500         AC_FUNC_MALLOC.
11501         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
11502         Autoconf's AC_FUNC_MALLOC.
11503         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11504         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
11505         (gl_REPLACE_MALLOC): New macro.
11506         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11507
11508 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
11509
11510         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
11511         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
11512         This macro takes 3 arguments, not 4.
11513
11514 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
11515
11516         ipv6: fix detection under mingw
11517         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
11518         in6_addr.
11519
11520 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
11521
11522         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
11523         that strtod() works when cross-compiling to a glibc version known
11524         to work.
11525
11526 2010-06-15  Bruno Haible  <bruno@clisp.org>
11527
11528         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
11529
11530 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
11531
11532         select: Correct timeout.
11533         * lib/select.c (rpl_select): Compute wait_timeout correctly.
11534
11535 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11536
11537         git-version-gen: init shell var to avoid env var influence
11538         * build-aux/git-version-gen (v): Init shell var to empty.
11539
11540 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
11541
11542         priv-set: Don't assume that priv.h exists merely because getppriv does.
11543         See Jan Andersen's bug report about AIX 5L in
11544         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
11545         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
11546         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
11547         * lib/priv-set.h: Likewise.
11548         * tests/test-priv-set.c: Likewise.
11549
11550 2010-06-13  Bruno Haible  <bruno@clisp.org>
11551
11552         relocatable: Make it easier to test whether to install wrappers.
11553         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
11554         RELOCATABLE_VIA_WRAPPER.
11555
11556 2010-06-13  Bruno Haible  <bruno@clisp.org>
11557
11558         gnulib-tool: Display specified modules and dependencies differently.
11559         * gnulib-tool (func_show_module_list): New function.
11560         (func_import, func_create_testdir): Invoke it.
11561         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
11562
11563 2010-06-13  Bruno Haible  <bruno@clisp.org>
11564
11565         gnulib-tool: Align code of func_import and func_create_testdir.
11566         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
11567         specified_modules.
11568
11569 2010-06-12  Jim Meyering  <meyering@redhat.com>
11570
11571         test-inttostr: avoid spurious failure on Solaris 9
11572         * tests/test-inttostr.c (main): Skip the test when snprintf fails
11573         to accept "%ju".  Reported by Bruno Haible.
11574
11575 2010-06-11  Jim Meyering  <meyering@redhat.com>
11576
11577         test-sys_socket: mark variables as used more readably
11578         * tests/test-sys_socket.c (main): Mark otherwise unused variables
11579         as "used" explicitly via (void) statement casts.  This is more
11580         readable than using them in an artificial return expression.
11581         Suggestion from Bruno Haible.
11582
11583 2010-06-11  Bruno Haible  <bruno@clisp.org>
11584
11585         Avoid some more warnings from "gcc -Wwrite-strings".
11586         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
11587         to 'const char *'.
11588         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
11589         * tests/test-c-strcasestr.c (main): Likewise.
11590         * tests/test-mbscasestr1.c (main): Likewise.
11591         * tests/test-mbscasestr2.c (main): Likewise.
11592         * tests/test-memmem.c (main): Likewise.
11593         * tests/test-strstr.c (main): Likewise.
11594         * tests/test-strcasestr.c (main): Likewise.
11595
11596 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11597
11598         init.sh: change framework_failure_ to fail with status 99, not 1
11599         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
11600         automake's parallel-tests rule that this is an unexpected failure,
11601         even if the test is listed in XFAIL_TESTS.
11602
11603 2010-06-11  Jim Meyering  <meyering@redhat.com>
11604
11605         test-inttostr: avoid warnings about 4-6KB literal strings
11606         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
11607         Include "macros.h", for its definition of ASSERT.
11608         (CK): s/assert/ASSERT/
11609         * modules/inttostr-tests (Files): Add macros.h.
11610
11611         init.sh: don't use $ME_ or skip_ before they are defined
11612         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
11613         their first uses.  Also hoist their companions: warn_, fail_,
11614         framework_failure_, $stderr_fileno.  Prompted by a patch from
11615         Stefano Lattarini.
11616
11617         test-sys_socket: avoid set-but-not-used warnings from gcc
11618         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
11619         avoid warning about set-but-not-used variables.
11620
11621         test-xvasprintf: avoid 'const' discard warnings
11622         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
11623         "const" when assigning from literal strings.
11624         (test_xasprintf): Add "void" in function argument list to placate
11625         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
11626
11627         tests: avoid compilation warnings in argmatch and exclude tests...
11628         in packages that define ARGMATCH_DIE_DECL, like coreutils.
11629         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
11630         Since it always exits, declare with the "noreturn" attribute.
11631         * tests/test-argmatch.c: Likewise.
11632
11633         tests: avoid 'const' discard warnings in mbsstr tests
11634         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
11635         * tests/test-mbsstr2.c (main): Likewise.
11636
11637         test-verify: avoid warning from gcc's -Wmissing-declarations
11638         * tests/test-verify.c (function): Declare to be static.
11639
11640         test-inttostr.c: include <string.h> for use of strcmp
11641         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
11642
11643         test-linkat: avoid failed assertion on "other" architectures
11644         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
11645         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
11646         sparc: https://bugs.launchpad.net/bugs/591968
11647
11648 2010-06-11  Jim Meyering  <meyering@redhat.com>
11649
11650         printf.m4: avoid autoconf's "Expanded Before Required" warning
11651         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
11652         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
11653         autoconf warning.
11654
11655 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
11656
11657         Replacement header templates are now named with ".in", not "_".
11658         * doc/gnulib-intro.texi: Correct.
11659
11660 2010-06-10  Jim Meyering  <meyering@redhat.com>
11661
11662         inttostr-tests: depend on snprintf, not snprintf-posix
11663         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
11664         snprintf-posix, to avoid this aclocal failure:
11665           missing file gnulib-tests/vasnprintf.c
11666           configure.ac:45: error: expected source file, required through \
11667           AC_LIBSOURCES, not found
11668
11669 2010-06-10  Jim Meyering  <meyering@redhat.com>
11670
11671         inttostr: add a new function, inttostr, and tests
11672         The namesake function was not available.  The existence of the
11673         template file, inttostr.c makes its addition nontrivial.
11674         * lib/anytostr.c: Rename from inttostr.c.
11675         (anytostr): Rename from inttostr.
11676         * lib/inttostr.c: New file.
11677         * modules/inttostr (Files): Add anytostr.c.
11678         (Makefile.am): Set lib_SOURCES instead of ...
11679         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
11680         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
11681         * lib/offtostr.c: Likewise.
11682         * lib/uinttostr.c: Likewise.
11683         * lib/umaxtostr.c: Likewise.
11684         * modules/inttostr-tests: New file.
11685         * tests/test-inttostr.c: New file.  Test these functions.
11686
11687 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
11688             Bruno Haible  <bruno@clisp.org>
11689
11690         Add "Extending Gnulib" chapter to manual.
11691         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
11692         chapter.
11693         (Extending Gnulib): New chapter.
11694         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
11695         chapter.
11696
11697 2010-06-09  Bruno Haible  <bruno@clisp.org>
11698
11699         Avoid relocwrapper link errors due to gnulib replacement functions.
11700         * lib/areadlink.c: Use the system's malloc, realloc functions.
11701         (areadlink): Set errno to ENOMEM explicitly.
11702         * modules/areadlink (Depends-on): Remove malloc-posix.
11703         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11704
11705 2010-06-09  Bruno Haible  <bruno@clisp.org>
11706
11707         Avoid relocwrapper link errors due to gnulib replacement functions.
11708         * lib/canonicalize-lgpl.c: Use the system's malloc function.
11709         * lib/malloca.c: Likewise.
11710         * lib/relocatable.c: Likewise.
11711         * lib/progreloc.c: Use the system's malloc, sprintf functions.
11712         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
11713         * lib/setenv.c: Use the system's malloc, realloc functions.
11714         * lib/strerror.c: Use the system's sprintf function.
11715         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11716
11717 2010-06-04  Bruno Haible  <bruno@clisp.org>
11718
11719         Prefer documented low-level autoconf macro names.
11720         * m4/lib-link.m4: Use m4_translit instead of translit.
11721         * m4/environ.m4: Likewise.
11722         * m4/mathfunc.m4: Likewise.
11723         * m4/onceonly.m4: Likewise.
11724         * m4/stdint.m4: Likewise.
11725         Suggested by Eric Blake.
11726
11727 2010-06-04  Martin Lambers  <marlam@marlam.de>
11728             Bruno Haible  <bruno@clisp.org>
11729
11730         havelib: Allow library names with '+' characters.
11731         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
11732         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
11733
11734 2010-06-09  Bruno Haible  <bruno@clisp.org>
11735
11736         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
11737         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
11738         realloc failed.
11739
11740 2010-06-08  Peter Simons  <simons@cryp.to>
11741
11742         maint.mk: make the news-check rule more configurable
11743         * top/maint.mk (news-check-lines-spec) New variable.
11744         (news-check): Use "sed -n 1,10p" in place of "head".
11745
11746 2010-06-07  Jim Meyering  <meyering@redhat.com>
11747
11748         do-release-commit-and-tag: fix typo in --help
11749         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
11750
11751         regex: avoid new dead-code warning with gcc-4.6.0
11752         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
11753         if-block containing a while-loop.  It's been unused for at least
11754         5 years.
11755
11756 2010-06-05  Bruno Haible  <bruno@clisp.org>
11757
11758         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
11759         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
11760
11761 2010-06-04  Bruno Haible  <bruno@clisp.org>
11762
11763         Update to GNU gettext 0.18.1.
11764         * modules/gettext (configure.ac): Require gettext infrastructure from
11765         version 0.18.1.
11766
11767 2010-06-03  Bruno Haible  <bruno@clisp.org>
11768
11769         Don't use AC_LIBOBJ with file names in subdirectories.
11770         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
11771         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
11772         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
11773         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
11774         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
11775         gl_LIBUNISTRING_LIBSOURCE.
11776         (Makefile.am): Augment lib_SOURCES here, conditionally.
11777         * NEWS: Drop requirement for Automake option 'subdir-objects'.
11778
11779 2010-06-03  Bruno Haible  <bruno@clisp.org>
11780
11781         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
11782         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
11783         expansion does not end with a newline.
11784         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
11785         unnecessary newline.
11786
11787 2010-06-03  Bruno Haible  <bruno@clisp.org>
11788
11789         Reduce dependencies.
11790         * tests/test-quotearg.h: New file, extracted from
11791         tests/test-quotearg.c.
11792         * tests/test-quotearg-simple.c: New file, extracted from
11793         tests/test-quotearg.c.
11794         * tests/test-quotearg.c: Don't include <ctype.h>.
11795         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
11796         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
11797         use_quote_double_quotes, use_quotearg_colon): Moved to
11798         tests/test-quotearg.h.
11799         (results_g, flag_results, custom_quotes, custom_results): Moved
11800         to tests/test-quotearg-simple.c.
11801         (main): Moved the part that does not depend on gettext to
11802         tests/test-quotearg-simple.c. Return 77 if the test cannot be
11803         performed.
11804         * modules/quotearg-simple: New file.
11805         * modules/quotearg-simple-tests: New file.
11806         * modules/quotearg (Depends-on): Add quotearg-simple.
11807         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
11808         (Files): Add tests/test-quotearg.h.
11809         Reported by Paolo Bonzini.
11810
11811 2010-06-03  Bruno Haible  <bruno@clisp.org>
11812
11813         Reduce dependencies.
11814         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
11815
11816 2010-06-03  Bruno Haible  <bruno@clisp.org>
11817
11818         time: Undefine more broken macros.
11819         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
11820         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
11821         Reported by Eric Blake.
11822
11823 2010-06-03  Bruno Haible  <bruno@clisp.org>
11824
11825         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
11826         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
11827         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
11828         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
11829         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
11830         Reported by Ludovic Courtès <ludo@gnu.org>.
11831
11832 2010-06-02  Eric Blake  <eblake@redhat.com>
11833
11834         time: work with mingw + pthreads-win32 library
11835         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
11836         if timespec is defined only in pthread.h.
11837         * modules/time (Makefile.am): Substitute it.
11838         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
11839         <pthread.h>, when needed.
11840         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
11841         from the library.
11842
11843 2010-05-31  Bruno Haible  <bruno@clisp.org>
11844
11845         Avoid expanding two macros in the wrong order.
11846         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
11847         gl_LIBUNISTRING if it is defined.
11848         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
11849         autoconf >= 2.64.
11850         Reported by Ludovic Courtès <ludo@gnu.org>.
11851
11852 2010-05-27  Jim Meyering  <meyering@redhat.com>
11853
11854         maint.mk: also prohibit "#undef" of always-defined symbols
11855         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
11856         Allow more than one space before the symbol name.
11857         (sc_prohibit_always-defined_macros): Use grep's -E, now that
11858         the regexp uses alternation.
11859
11860 2010-05-26  Eric Blake  <eblake@redhat.com>
11861
11862         maint.mk: avoid echo -e
11863         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
11864         Convert all uses of echo -* to printf.
11865         Reported by Matthias Bolte.
11866
11867 2010-05-25  Bruno Haible  <bruno@clisp.org>
11868
11869         Update to GNU gettext 0.18, part 2.
11870         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
11871         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
11872
11873 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11874
11875         Add missing include in test-pwrite.c.
11876         * tests/test-pwrite.c: Include string.h, for strcmp.
11877
11878 2010-05-24  Bruno Haible  <bruno@clisp.org>
11879
11880         * NEWS: Mention requirement for Automake option 'subdir-objects'.
11881
11882 2010-05-24  Bruno Haible  <bruno@clisp.org>
11883
11884         Don't use conversion with transliteration in u{8,16,32}_strcoll.
11885         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
11886         iconveh_error argument.
11887         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
11888         U_STRCONV_TO_LOCALE.
11889         * lib/unistr/u16-strcoll.c: Likewise.
11890         * lib/unistr/u32-strcoll.c: Likewise.
11891         * modules/unistr/u8-strcoll (Depends-on): Add
11892         uniconv/u8-strconv-to-enc, localcharset. Remove
11893         uniconv/u8-strconv-to-locale.
11894         (configure.ac): Bump version number.
11895         * modules/unistr/u16-strcoll (Depends-on): Add
11896         uniconv/u16-strconv-to-enc, localcharset. Remove
11897         uniconv/u16-strconv-to-locale.
11898         (configure.ac): Bump version number.
11899         * modules/unistr/u32-strcoll (Depends-on): Add
11900         uniconv/u32-strconv-to-enc, localcharset. Remove
11901         uniconv/u32-strconv-to-locale.
11902         (configure.ac): Bump version number.
11903
11904 2010-05-24  Bruno Haible  <bruno@clisp.org>
11905
11906         Avoid a test failure on NetBSD 5.0.
11907         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
11908         an iconv() bug.
11909
11910 2010-05-24  Bruno Haible  <bruno@clisp.org>
11911
11912         Adjust #include directive style.
11913         * modules/regex (Includes): Recommend to write <regex.h>.
11914
11915 2010-05-24  Bruno Haible  <bruno@clisp.org>
11916
11917         regex: Don't require alloca.
11918         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
11919         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
11920         only inside if (0).
11921
11922 2010-05-23  Jim Meyering  <meyering@redhat.com>
11923
11924         test-renameat.c: include <sys/stat.h>
11925         * tests/test-renameat.c: Include <sys/stat.h>; required for
11926         definition of S_IS* macros.
11927
11928 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
11929
11930         Update maintainer documentation for 'relocatable-prog' module.
11931         * doc/relocatable-maint.texi: Update.
11932         Comments by Bruno Haible.
11933
11934 2010-05-23  Bruno Haible  <bruno@clisp.org>
11935
11936         git-merge-changelog: Enable --split-merged-entry by default.
11937         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
11938         (usage): Don't mention this option any more.
11939         Reported by Ralf Wildenhues.
11940
11941 2010-05-23  Jim Meyering  <meyering@redhat.com>
11942
11943         test-pwrite: do not leave behind a test file named "out"
11944         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
11945         The trivial-looking use of init.sh is really necessary.
11946         It ensures that the temporary file, "out", is created in
11947         a temporary directory, and removed upon termination.
11948         * tests/test-pwrite.sh: Re-add file.
11949         * modules/pwrite-tests: Reference it.
11950
11951 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11952
11953         Fix output redirection buglet in init.sh.
11954         * tests/init.sh: Fix redirection of stderr.
11955
11956 2010-05-20  Simon Josefsson  <simon@josefsson.org>
11957
11958         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
11959
11960 2010-05-17  Simon Josefsson  <simon@josefsson.org>
11961
11962         * modules/valgrind-tests: New file.
11963         * m4/valgrind-tests.m4: New file.
11964         * doc/valgrind-tests.texi: New file.
11965         * doc/gnulib.texi (Running self-tests under valgrind): New
11966         section.
11967
11968 2010-05-19  Bruno Haible  <bruno@clisp.org>
11969
11970         Clean up dead code in recent commit.
11971         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
11972         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
11973         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
11974         Suggested by Paolo Bonzini.
11975
11976 2010-05-19  Bruno Haible  <bruno@clisp.org>
11977
11978         Avoid valgrind error reports from libunistring.
11979         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
11980         * modules/libunistring (Files): Add it.
11981         * modules/libunistring-optional (Files): Likewise.
11982
11983 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
11984             Bruno Haible  <bruno@clisp.org>
11985
11986         New module 'libunistring-optional'.
11987         * modules/libunistring-optional: New file.
11988         * m4/libunistring-base.m4: New file.
11989         * m4/libunistring-optional.m4: New file.
11990         * lib/unicase.in.h: Renamed from lib/unicase.h.
11991         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
11992         * lib/unictype.in.h: Renamed from lib/unictype.h.
11993         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
11994         * lib/uniname.in.h: Renamed from lib/uniname.h.
11995         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
11996         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
11997         * lib/unistr.in.h: Renamed from lib/unistr.h.
11998         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
11999         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
12000         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
12001         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
12002         gl_LIBUNISTRING. If the library was found, determine the installed
12003         version and set LIBUNISTRING_VERSION.
12004         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
12005         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
12006         handle a configuration option --with-included-libunistring.
12007         * modules/libunistring (Files): Add m4/absolute-header.m4.
12008         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
12009         Add m4/libunistring-base.m4.
12010         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12011         (Makefile.am): Build unicase.h from unicase.in.h.
12012         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
12013         Add m4/libunistring-base.m4.
12014         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12015         (Makefile.am): Build uniconv.h from uniconv.in.h.
12016         * modules/unictype/base (Files): Use unictype.in.h instead of
12017         unictype.h. Add m4/libunistring-base.m4.
12018         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12019         (Makefile.am): Build unictype.h from unictype.in.h.
12020         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
12021         Add m4/libunistring-base.m4.
12022         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12023         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
12024         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
12025         Add m4/libunistring-base.m4.
12026         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12027         (Makefile.am): Build uniname.h from uniname.in.h.
12028         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
12029         Add m4/libunistring-base.m4.
12030         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12031         (Makefile.am): Build uninorm.h from uninorm.in.h.
12032         * modules/unistdio/base (Files): Use unistdio.in.h instead of
12033         unistdio.h. Add m4/libunistring-base.m4.
12034         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12035         (Makefile.am): Build unistdio.h from unistdio.in.h.
12036         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
12037         Add m4/libunistring-base.m4.
12038         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12039         (Makefile.am): Build unistr.h from unistr.in.h.
12040         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
12041         Add m4/libunistring-base.m4.
12042         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12043         (Makefile.am): Build unitypes.h from unitypes.in.h.
12044         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
12045         Add m4/libunistring-base.m4.
12046         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12047         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
12048         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
12049         uniwidth.h. Add m4/libunistring-base.m4.
12050         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12051         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
12052         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
12053         instead of augmenting lib_SOURCES.
12054         * modules/unicase/empty-suffix-context: Likewise.
12055         * modules/unicase/locale-language: Likewise.
12056         * modules/unicase/tolower: Likewise.
12057         * modules/unicase/totitle: Likewise.
12058         * modules/unicase/toupper: Likewise.
12059         * modules/unicase/u8-casecmp: Likewise.
12060         * modules/unicase/u8-casecoll: Likewise.
12061         * modules/unicase/u8-casefold: Likewise.
12062         * modules/unicase/u8-casexfrm: Likewise.
12063         * modules/unicase/u8-ct-casefold: Likewise.
12064         * modules/unicase/u8-ct-tolower: Likewise.
12065         * modules/unicase/u8-ct-totitle: Likewise.
12066         * modules/unicase/u8-ct-toupper: Likewise.
12067         * modules/unicase/u8-is-cased: Likewise.
12068         * modules/unicase/u8-is-casefolded: Likewise.
12069         * modules/unicase/u8-is-lowercase: Likewise.
12070         * modules/unicase/u8-is-titlecase: Likewise.
12071         * modules/unicase/u8-is-uppercase: Likewise.
12072         * modules/unicase/u8-prefix-context: Likewise.
12073         * modules/unicase/u8-suffix-context: Likewise.
12074         * modules/unicase/u8-tolower: Likewise.
12075         * modules/unicase/u8-totitle: Likewise.
12076         * modules/unicase/u8-toupper: Likewise.
12077         * modules/unicase/u16-casecmp: Likewise.
12078         * modules/unicase/u16-casecoll: Likewise.
12079         * modules/unicase/u16-casefold: Likewise.
12080         * modules/unicase/u16-casexfrm: Likewise.
12081         * modules/unicase/u16-ct-casefold: Likewise.
12082         * modules/unicase/u16-ct-tolower: Likewise.
12083         * modules/unicase/u16-ct-totitle: Likewise.
12084         * modules/unicase/u16-ct-toupper: Likewise.
12085         * modules/unicase/u16-is-cased: Likewise.
12086         * modules/unicase/u16-is-casefolded: Likewise.
12087         * modules/unicase/u16-is-lowercase: Likewise.
12088         * modules/unicase/u16-is-titlecase: Likewise.
12089         * modules/unicase/u16-is-uppercase: Likewise.
12090         * modules/unicase/u16-prefix-context: Likewise.
12091         * modules/unicase/u16-suffix-context: Likewise.
12092         * modules/unicase/u16-tolower: Likewise.
12093         * modules/unicase/u16-totitle: Likewise.
12094         * modules/unicase/u16-toupper: Likewise.
12095         * modules/unicase/u32-casecmp: Likewise.
12096         * modules/unicase/u32-casecoll: Likewise.
12097         * modules/unicase/u32-casefold: Likewise.
12098         * modules/unicase/u32-casexfrm: Likewise.
12099         * modules/unicase/u32-ct-casefold: Likewise.
12100         * modules/unicase/u32-ct-tolower: Likewise.
12101         * modules/unicase/u32-ct-totitle: Likewise.
12102         * modules/unicase/u32-ct-toupper: Likewise.
12103         * modules/unicase/u32-is-cased: Likewise.
12104         * modules/unicase/u32-is-casefolded: Likewise.
12105         * modules/unicase/u32-is-lowercase: Likewise.
12106         * modules/unicase/u32-is-titlecase: Likewise.
12107         * modules/unicase/u32-is-uppercase: Likewise.
12108         * modules/unicase/u32-prefix-context: Likewise.
12109         * modules/unicase/u32-suffix-context: Likewise.
12110         * modules/unicase/u32-tolower: Likewise.
12111         * modules/unicase/u32-totitle: Likewise.
12112         * modules/unicase/u32-toupper: Likewise.
12113         * modules/unicase/ulc-casecmp: Likewise.
12114         * modules/unicase/ulc-casecoll: Likewise.
12115         * modules/unicase/ulc-casexfrm: Likewise.
12116         * modules/uniconv/u8-conv-from-enc: Likewise.
12117         * modules/uniconv/u8-conv-to-enc: Likewise.
12118         * modules/uniconv/u8-strconv-from-enc: Likewise.
12119         * modules/uniconv/u8-strconv-from-locale: Likewise.
12120         * modules/uniconv/u8-strconv-to-enc: Likewise.
12121         * modules/uniconv/u8-strconv-to-locale: Likewise.
12122         * modules/uniconv/u16-conv-from-enc: Likewise.
12123         * modules/uniconv/u16-conv-to-enc: Likewise.
12124         * modules/uniconv/u16-strconv-from-enc: Likewise.
12125         * modules/uniconv/u16-strconv-from-locale: Likewise.
12126         * modules/uniconv/u16-strconv-to-enc: Likewise.
12127         * modules/uniconv/u16-strconv-to-locale: Likewise.
12128         * modules/uniconv/u32-conv-from-enc: Likewise.
12129         * modules/uniconv/u32-conv-to-enc: Likewise.
12130         * modules/uniconv/u32-strconv-from-enc: Likewise.
12131         * modules/uniconv/u32-strconv-from-locale: Likewise.
12132         * modules/uniconv/u32-strconv-to-enc: Likewise.
12133         * modules/uniconv/u32-strconv-to-locale: Likewise.
12134         * modules/unictype/bidicategory-byname: Likewise.
12135         * modules/unictype/bidicategory-name: Likewise.
12136         * modules/unictype/bidicategory-of: Likewise.
12137         * modules/unictype/bidicategory-test: Likewise.
12138         * modules/unictype/block-list: Likewise.
12139         * modules/unictype/block-test: Likewise.
12140         * modules/unictype/category-C: Likewise.
12141         * modules/unictype/category-Cc: Likewise.
12142         * modules/unictype/category-Cf: Likewise.
12143         * modules/unictype/category-Cn: Likewise.
12144         * modules/unictype/category-Co: Likewise.
12145         * modules/unictype/category-Cs: Likewise.
12146         * modules/unictype/category-L: Likewise.
12147         * modules/unictype/category-Ll: Likewise.
12148         * modules/unictype/category-Lm: Likewise.
12149         * modules/unictype/category-Lo: Likewise.
12150         * modules/unictype/category-Lt: Likewise.
12151         * modules/unictype/category-Lu: Likewise.
12152         * modules/unictype/category-M: Likewise.
12153         * modules/unictype/category-Mc: Likewise.
12154         * modules/unictype/category-Me: Likewise.
12155         * modules/unictype/category-Mn: Likewise.
12156         * modules/unictype/category-N: Likewise.
12157         * modules/unictype/category-Nd: Likewise.
12158         * modules/unictype/category-Nl: Likewise.
12159         * modules/unictype/category-No: Likewise.
12160         * modules/unictype/category-P: Likewise.
12161         * modules/unictype/category-Pc: Likewise.
12162         * modules/unictype/category-Pd: Likewise.
12163         * modules/unictype/category-Pe: Likewise.
12164         * modules/unictype/category-Pf: Likewise.
12165         * modules/unictype/category-Pi: Likewise.
12166         * modules/unictype/category-Po: Likewise.
12167         * modules/unictype/category-Ps: Likewise.
12168         * modules/unictype/category-S: Likewise.
12169         * modules/unictype/category-Sc: Likewise.
12170         * modules/unictype/category-Sk: Likewise.
12171         * modules/unictype/category-Sm: Likewise.
12172         * modules/unictype/category-So: Likewise.
12173         * modules/unictype/category-Z: Likewise.
12174         * modules/unictype/category-Zl: Likewise.
12175         * modules/unictype/category-Zp: Likewise.
12176         * modules/unictype/category-Zs: Likewise.
12177         * modules/unictype/category-and: Likewise.
12178         * modules/unictype/category-and-not: Likewise.
12179         * modules/unictype/category-byname: Likewise.
12180         * modules/unictype/category-name: Likewise.
12181         * modules/unictype/category-none: Likewise.
12182         * modules/unictype/category-of: Likewise.
12183         * modules/unictype/category-or: Likewise.
12184         * modules/unictype/category-test: Likewise.
12185         * modules/unictype/combining-class: Likewise.
12186         * modules/unictype/ctype-alnum: Likewise.
12187         * modules/unictype/ctype-alpha: Likewise.
12188         * modules/unictype/ctype-blank: Likewise.
12189         * modules/unictype/ctype-cntrl: Likewise.
12190         * modules/unictype/ctype-digit: Likewise.
12191         * modules/unictype/ctype-graph: Likewise.
12192         * modules/unictype/ctype-lower: Likewise.
12193         * modules/unictype/ctype-print: Likewise.
12194         * modules/unictype/ctype-punct: Likewise.
12195         * modules/unictype/ctype-space: Likewise.
12196         * modules/unictype/ctype-upper: Likewise.
12197         * modules/unictype/ctype-xdigit: Likewise.
12198         * modules/unictype/decimal-digit: Likewise.
12199         * modules/unictype/digit: Likewise.
12200         * modules/unictype/mirror: Likewise.
12201         * modules/unictype/numeric: Likewise.
12202         * modules/unictype/property-alphabetic: Likewise.
12203         * modules/unictype/property-ascii-hex-digit: Likewise.
12204         * modules/unictype/property-bidi-arabic-digit: Likewise.
12205         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
12206         * modules/unictype/property-bidi-block-separator: Likewise.
12207         * modules/unictype/property-bidi-boundary-neutral: Likewise.
12208         * modules/unictype/property-bidi-common-separator: Likewise.
12209         * modules/unictype/property-bidi-control: Likewise.
12210         * modules/unictype/property-bidi-embedding-or-override: Likewise.
12211         * modules/unictype/property-bidi-eur-num-separator: Likewise.
12212         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
12213         * modules/unictype/property-bidi-european-digit: Likewise.
12214         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
12215         * modules/unictype/property-bidi-left-to-right: Likewise.
12216         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
12217         * modules/unictype/property-bidi-other-neutral: Likewise.
12218         * modules/unictype/property-bidi-pdf: Likewise.
12219         * modules/unictype/property-bidi-segment-separator: Likewise.
12220         * modules/unictype/property-bidi-whitespace: Likewise.
12221         * modules/unictype/property-byname: Likewise.
12222         * modules/unictype/property-combining: Likewise.
12223         * modules/unictype/property-composite: Likewise.
12224         * modules/unictype/property-currency-symbol: Likewise.
12225         * modules/unictype/property-dash: Likewise.
12226         * modules/unictype/property-decimal-digit: Likewise.
12227         * modules/unictype/property-default-ignorable-code-point: Likewise.
12228         * modules/unictype/property-deprecated: Likewise.
12229         * modules/unictype/property-diacritic: Likewise.
12230         * modules/unictype/property-extender: Likewise.
12231         * modules/unictype/property-format-control: Likewise.
12232         * modules/unictype/property-grapheme-base: Likewise.
12233         * modules/unictype/property-grapheme-extend: Likewise.
12234         * modules/unictype/property-grapheme-link: Likewise.
12235         * modules/unictype/property-hex-digit: Likewise.
12236         * modules/unictype/property-hyphen: Likewise.
12237         * modules/unictype/property-id-continue: Likewise.
12238         * modules/unictype/property-id-start: Likewise.
12239         * modules/unictype/property-ideographic: Likewise.
12240         * modules/unictype/property-ids-binary-operator: Likewise.
12241         * modules/unictype/property-ids-trinary-operator: Likewise.
12242         * modules/unictype/property-ignorable-control: Likewise.
12243         * modules/unictype/property-iso-control: Likewise.
12244         * modules/unictype/property-join-control: Likewise.
12245         * modules/unictype/property-left-of-pair: Likewise.
12246         * modules/unictype/property-line-separator: Likewise.
12247         * modules/unictype/property-logical-order-exception: Likewise.
12248         * modules/unictype/property-lowercase: Likewise.
12249         * modules/unictype/property-math: Likewise.
12250         * modules/unictype/property-non-break: Likewise.
12251         * modules/unictype/property-not-a-character: Likewise.
12252         * modules/unictype/property-numeric: Likewise.
12253         * modules/unictype/property-other-alphabetic: Likewise.
12254         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
12255         * modules/unictype/property-other-grapheme-extend: Likewise.
12256         * modules/unictype/property-other-id-continue: Likewise.
12257         * modules/unictype/property-other-id-start: Likewise.
12258         * modules/unictype/property-other-lowercase: Likewise.
12259         * modules/unictype/property-other-math: Likewise.
12260         * modules/unictype/property-other-uppercase: Likewise.
12261         * modules/unictype/property-paired-punctuation: Likewise.
12262         * modules/unictype/property-paragraph-separator: Likewise.
12263         * modules/unictype/property-pattern-syntax: Likewise.
12264         * modules/unictype/property-pattern-white-space: Likewise.
12265         * modules/unictype/property-private-use: Likewise.
12266         * modules/unictype/property-punctuation: Likewise.
12267         * modules/unictype/property-quotation-mark: Likewise.
12268         * modules/unictype/property-radical: Likewise.
12269         * modules/unictype/property-sentence-terminal: Likewise.
12270         * modules/unictype/property-soft-dotted: Likewise.
12271         * modules/unictype/property-space: Likewise.
12272         * modules/unictype/property-terminal-punctuation: Likewise.
12273         * modules/unictype/property-test: Likewise.
12274         * modules/unictype/property-titlecase: Likewise.
12275         * modules/unictype/property-unassigned-code-value: Likewise.
12276         * modules/unictype/property-unified-ideograph: Likewise.
12277         * modules/unictype/property-uppercase: Likewise.
12278         * modules/unictype/property-variation-selector: Likewise.
12279         * modules/unictype/property-white-space: Likewise.
12280         * modules/unictype/property-xid-continue: Likewise.
12281         * modules/unictype/property-xid-start: Likewise.
12282         * modules/unictype/property-zero-width: Likewise.
12283         * modules/unictype/scripts: Likewise.
12284         * modules/unictype/syntax-c-ident: Likewise.
12285         * modules/unictype/syntax-c-whitespace: Likewise.
12286         * modules/unictype/syntax-java-ident: Likewise.
12287         * modules/unictype/syntax-java-whitespace: Likewise.
12288         * modules/unilbrk/u8-possible-linebreaks: Likewise.
12289         * modules/unilbrk/u8-width-linebreaks: Likewise.
12290         * modules/unilbrk/u16-possible-linebreaks: Likewise.
12291         * modules/unilbrk/u16-width-linebreaks: Likewise.
12292         * modules/unilbrk/u32-possible-linebreaks: Likewise.
12293         * modules/unilbrk/u32-width-linebreaks: Likewise.
12294         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
12295         * modules/unilbrk/ulc-width-linebreaks: Likewise.
12296         * modules/uniname/uniname: Likewise.
12297         * modules/uninorm/canonical-decomposition: Likewise.
12298         * modules/uninorm/composition: Likewise.
12299         * modules/uninorm/decomposing-form: Likewise.
12300         * modules/uninorm/decomposition: Likewise.
12301         * modules/uninorm/filter: Likewise.
12302         * modules/uninorm/nfc: Likewise.
12303         * modules/uninorm/nfd: Likewise.
12304         * modules/uninorm/nfkc: Likewise.
12305         * modules/uninorm/nfkd: Likewise.
12306         * modules/uninorm/u8-normalize: Likewise.
12307         * modules/uninorm/u8-normcmp: Likewise.
12308         * modules/uninorm/u8-normcoll: Likewise.
12309         * modules/uninorm/u8-normxfrm: Likewise.
12310         * modules/uninorm/u16-normalize: Likewise.
12311         * modules/uninorm/u16-normcmp: Likewise.
12312         * modules/uninorm/u16-normcoll: Likewise.
12313         * modules/uninorm/u16-normxfrm: Likewise.
12314         * modules/uninorm/u32-normalize: Likewise.
12315         * modules/uninorm/u32-normcmp: Likewise.
12316         * modules/uninorm/u32-normcoll: Likewise.
12317         * modules/uninorm/u32-normxfrm: Likewise.
12318         * modules/unistdio/u8-asnprintf: Likewise.
12319         * modules/unistdio/u8-asprintf: Likewise.
12320         * modules/unistdio/u8-snprintf: Likewise.
12321         * modules/unistdio/u8-sprintf: Likewise.
12322         * modules/unistdio/u8-u8-asnprintf: Likewise.
12323         * modules/unistdio/u8-u8-asprintf: Likewise.
12324         * modules/unistdio/u8-u8-snprintf: Likewise.
12325         * modules/unistdio/u8-u8-sprintf: Likewise.
12326         * modules/unistdio/u8-u8-vasnprintf: Likewise.
12327         * modules/unistdio/u8-u8-vasprintf: Likewise.
12328         * modules/unistdio/u8-u8-vsnprintf: Likewise.
12329         * modules/unistdio/u8-u8-vsprintf: Likewise.
12330         * modules/unistdio/u8-vasnprintf: Likewise.
12331         * modules/unistdio/u8-vasprintf: Likewise.
12332         * modules/unistdio/u8-vsnprintf: Likewise.
12333         * modules/unistdio/u8-vsprintf: Likewise.
12334         * modules/unistdio/u16-asnprintf: Likewise.
12335         * modules/unistdio/u16-asprintf: Likewise.
12336         * modules/unistdio/u16-snprintf: Likewise.
12337         * modules/unistdio/u16-sprintf: Likewise.
12338         * modules/unistdio/u16-u16-asnprintf: Likewise.
12339         * modules/unistdio/u16-u16-asprintf: Likewise.
12340         * modules/unistdio/u16-u16-snprintf: Likewise.
12341         * modules/unistdio/u16-u16-sprintf: Likewise.
12342         * modules/unistdio/u16-u16-vasnprintf: Likewise.
12343         * modules/unistdio/u16-u16-vasprintf: Likewise.
12344         * modules/unistdio/u16-u16-vsnprintf: Likewise.
12345         * modules/unistdio/u16-u16-vsprintf: Likewise.
12346         * modules/unistdio/u16-vasnprintf: Likewise.
12347         * modules/unistdio/u16-vasprintf: Likewise.
12348         * modules/unistdio/u16-vsnprintf: Likewise.
12349         * modules/unistdio/u16-vsprintf: Likewise.
12350         * modules/unistdio/u32-asnprintf: Likewise.
12351         * modules/unistdio/u32-asprintf: Likewise.
12352         * modules/unistdio/u32-snprintf: Likewise.
12353         * modules/unistdio/u32-sprintf: Likewise.
12354         * modules/unistdio/u32-u32-asnprintf: Likewise.
12355         * modules/unistdio/u32-u32-asprintf: Likewise.
12356         * modules/unistdio/u32-u32-snprintf: Likewise.
12357         * modules/unistdio/u32-u32-sprintf: Likewise.
12358         * modules/unistdio/u32-u32-vasnprintf: Likewise.
12359         * modules/unistdio/u32-u32-vasprintf: Likewise.
12360         * modules/unistdio/u32-u32-vsnprintf: Likewise.
12361         * modules/unistdio/u32-u32-vsprintf: Likewise.
12362         * modules/unistdio/u32-vasnprintf: Likewise.
12363         * modules/unistdio/u32-vasprintf: Likewise.
12364         * modules/unistdio/u32-vsnprintf: Likewise.
12365         * modules/unistdio/u32-vsprintf: Likewise.
12366         * modules/unistdio/ulc-asnprintf: Likewise.
12367         * modules/unistdio/ulc-asprintf: Likewise.
12368         * modules/unistdio/ulc-fprintf: Likewise.
12369         * modules/unistdio/ulc-snprintf: Likewise.
12370         * modules/unistdio/ulc-sprintf: Likewise.
12371         * modules/unistdio/ulc-vasnprintf: Likewise.
12372         * modules/unistdio/ulc-vasprintf: Likewise.
12373         * modules/unistdio/ulc-vfprintf: Likewise.
12374         * modules/unistdio/ulc-vsnprintf: Likewise.
12375         * modules/unistdio/ulc-vsprintf: Likewise.
12376         * modules/unistr/u8-check: Likewise.
12377         * modules/unistr/u8-chr: Likewise.
12378         * modules/unistr/u8-cmp: Likewise.
12379         * modules/unistr/u8-cmp2: Likewise.
12380         * modules/unistr/u8-cpy: Likewise.
12381         * modules/unistr/u8-cpy-alloc: Likewise.
12382         * modules/unistr/u8-endswith: Likewise.
12383         * modules/unistr/u8-mblen: Likewise.
12384         * modules/unistr/u8-mbsnlen: Likewise.
12385         * modules/unistr/u8-mbtouc: Likewise.
12386         * modules/unistr/u8-mbtouc-unsafe: Likewise.
12387         * modules/unistr/u8-mbtoucr: Likewise.
12388         * modules/unistr/u8-move: Likewise.
12389         * modules/unistr/u8-next: Likewise.
12390         * modules/unistr/u8-prev: Likewise.
12391         * modules/unistr/u8-set: Likewise.
12392         * modules/unistr/u8-startswith: Likewise.
12393         * modules/unistr/u8-stpcpy: Likewise.
12394         * modules/unistr/u8-stpncpy: Likewise.
12395         * modules/unistr/u8-strcat: Likewise.
12396         * modules/unistr/u8-strchr: Likewise.
12397         * modules/unistr/u8-strcmp: Likewise.
12398         * modules/unistr/u8-strcoll: Likewise.
12399         * modules/unistr/u8-strcpy: Likewise.
12400         * modules/unistr/u8-strcspn: Likewise.
12401         * modules/unistr/u8-strdup: Likewise.
12402         * modules/unistr/u8-strlen: Likewise.
12403         * modules/unistr/u8-strmblen: Likewise.
12404         * modules/unistr/u8-strmbtouc: Likewise.
12405         * modules/unistr/u8-strncat: Likewise.
12406         * modules/unistr/u8-strncmp: Likewise.
12407         * modules/unistr/u8-strncpy: Likewise.
12408         * modules/unistr/u8-strnlen: Likewise.
12409         * modules/unistr/u8-strpbrk: Likewise.
12410         * modules/unistr/u8-strrchr: Likewise.
12411         * modules/unistr/u8-strspn: Likewise.
12412         * modules/unistr/u8-strstr: Likewise.
12413         * modules/unistr/u8-strtok: Likewise.
12414         * modules/unistr/u8-to-u16: Likewise.
12415         * modules/unistr/u8-to-u32: Likewise.
12416         * modules/unistr/u8-uctomb: Likewise.
12417         * modules/unistr/u16-check: Likewise.
12418         * modules/unistr/u16-chr: Likewise.
12419         * modules/unistr/u16-cmp: Likewise.
12420         * modules/unistr/u16-cmp2: Likewise.
12421         * modules/unistr/u16-cpy: Likewise.
12422         * modules/unistr/u16-cpy-alloc: Likewise.
12423         * modules/unistr/u16-endswith: Likewise.
12424         * modules/unistr/u16-mblen: Likewise.
12425         * modules/unistr/u16-mbsnlen: Likewise.
12426         * modules/unistr/u16-mbtouc: Likewise.
12427         * modules/unistr/u16-mbtouc-unsafe: Likewise.
12428         * modules/unistr/u16-mbtoucr: Likewise.
12429         * modules/unistr/u16-move: Likewise.
12430         * modules/unistr/u16-next: Likewise.
12431         * modules/unistr/u16-prev: Likewise.
12432         * modules/unistr/u16-set: Likewise.
12433         * modules/unistr/u16-startswith: Likewise.
12434         * modules/unistr/u16-stpcpy: Likewise.
12435         * modules/unistr/u16-stpncpy: Likewise.
12436         * modules/unistr/u16-strcat: Likewise.
12437         * modules/unistr/u16-strchr: Likewise.
12438         * modules/unistr/u16-strcmp: Likewise.
12439         * modules/unistr/u16-strcoll: Likewise.
12440         * modules/unistr/u16-strcpy: Likewise.
12441         * modules/unistr/u16-strcspn: Likewise.
12442         * modules/unistr/u16-strdup: Likewise.
12443         * modules/unistr/u16-strlen: Likewise.
12444         * modules/unistr/u16-strmblen: Likewise.
12445         * modules/unistr/u16-strmbtouc: Likewise.
12446         * modules/unistr/u16-strncat: Likewise.
12447         * modules/unistr/u16-strncmp: Likewise.
12448         * modules/unistr/u16-strncpy: Likewise.
12449         * modules/unistr/u16-strnlen: Likewise.
12450         * modules/unistr/u16-strpbrk: Likewise.
12451         * modules/unistr/u16-strrchr: Likewise.
12452         * modules/unistr/u16-strspn: Likewise.
12453         * modules/unistr/u16-strstr: Likewise.
12454         * modules/unistr/u16-strtok: Likewise.
12455         * modules/unistr/u16-to-u32: Likewise.
12456         * modules/unistr/u16-to-u8: Likewise.
12457         * modules/unistr/u16-uctomb: Likewise.
12458         * modules/unistr/u32-check: Likewise.
12459         * modules/unistr/u32-chr: Likewise.
12460         * modules/unistr/u32-cmp: Likewise.
12461         * modules/unistr/u32-cmp2: Likewise.
12462         * modules/unistr/u32-cpy: Likewise.
12463         * modules/unistr/u32-cpy-alloc: Likewise.
12464         * modules/unistr/u32-endswith: Likewise.
12465         * modules/unistr/u32-mblen: Likewise.
12466         * modules/unistr/u32-mbsnlen: Likewise.
12467         * modules/unistr/u32-mbtouc: Likewise.
12468         * modules/unistr/u32-mbtouc-unsafe: Likewise.
12469         * modules/unistr/u32-mbtoucr: Likewise.
12470         * modules/unistr/u32-move: Likewise.
12471         * modules/unistr/u32-next: Likewise.
12472         * modules/unistr/u32-prev: Likewise.
12473         * modules/unistr/u32-set: Likewise.
12474         * modules/unistr/u32-startswith: Likewise.
12475         * modules/unistr/u32-stpcpy: Likewise.
12476         * modules/unistr/u32-stpncpy: Likewise.
12477         * modules/unistr/u32-strcat: Likewise.
12478         * modules/unistr/u32-strchr: Likewise.
12479         * modules/unistr/u32-strcmp: Likewise.
12480         * modules/unistr/u32-strcoll: Likewise.
12481         * modules/unistr/u32-strcpy: Likewise.
12482         * modules/unistr/u32-strcspn: Likewise.
12483         * modules/unistr/u32-strdup: Likewise.
12484         * modules/unistr/u32-strlen: Likewise.
12485         * modules/unistr/u32-strmblen: Likewise.
12486         * modules/unistr/u32-strmbtouc: Likewise.
12487         * modules/unistr/u32-strncat: Likewise.
12488         * modules/unistr/u32-strncmp: Likewise.
12489         * modules/unistr/u32-strncpy: Likewise.
12490         * modules/unistr/u32-strnlen: Likewise.
12491         * modules/unistr/u32-strpbrk: Likewise.
12492         * modules/unistr/u32-strrchr: Likewise.
12493         * modules/unistr/u32-strspn: Likewise.
12494         * modules/unistr/u32-strstr: Likewise.
12495         * modules/unistr/u32-strtok: Likewise.
12496         * modules/unistr/u32-to-u16: Likewise.
12497         * modules/unistr/u32-to-u8: Likewise.
12498         * modules/unistr/u32-uctomb: Likewise.
12499         * modules/uniwbrk/u8-wordbreaks: Likewise.
12500         * modules/uniwbrk/u16-wordbreaks: Likewise.
12501         * modules/uniwbrk/u32-wordbreaks: Likewise.
12502         * modules/uniwbrk/ulc-wordbreaks: Likewise.
12503         * modules/uniwbrk/wordbreak-property: Likewise.
12504         * modules/uniwidth/u8-strwidth: Likewise.
12505         * modules/uniwidth/u8-width: Likewise.
12506         * modules/uniwidth/u16-strwidth: Likewise.
12507         * modules/uniwidth/u16-width: Likewise.
12508         * modules/uniwidth/u32-strwidth: Likewise.
12509         * modules/uniwidth/u32-width: Likewise.
12510         * modules/uniwidth/width: Likewise.
12511         * modules/unicase/cased-tests (Makefile.am): Link all test programs
12512         with $(LIBUNISTRING).
12513         * modules/unicase/ignorable-tests: Likewise.
12514         * modules/unicase/locale-language-tests: Likewise.
12515         * modules/unicase/tolower-tests: Likewise.
12516         * modules/unicase/totitle-tests: Likewise.
12517         * modules/unicase/toupper-tests: Likewise.
12518         * modules/unicase/u8-casecmp-tests: Likewise.
12519         * modules/unicase/u8-casecoll-tests: Likewise.
12520         * modules/unicase/u8-casefold-tests: Likewise.
12521         * modules/unicase/u8-is-cased-tests: Likewise.
12522         * modules/unicase/u8-is-casefolded-tests: Likewise.
12523         * modules/unicase/u8-is-lowercase-tests: Likewise.
12524         * modules/unicase/u8-is-titlecase-tests: Likewise.
12525         * modules/unicase/u8-is-uppercase-tests: Likewise.
12526         * modules/unicase/u8-tolower-tests: Likewise.
12527         * modules/unicase/u8-totitle-tests: Likewise.
12528         * modules/unicase/u8-toupper-tests: Likewise.
12529         * modules/unicase/u16-casecmp-tests: Likewise.
12530         * modules/unicase/u16-casecoll-tests: Likewise.
12531         * modules/unicase/u16-casefold-tests: Likewise.
12532         * modules/unicase/u16-is-cased-tests: Likewise.
12533         * modules/unicase/u16-is-casefolded-tests: Likewise.
12534         * modules/unicase/u16-is-lowercase-tests: Likewise.
12535         * modules/unicase/u16-is-titlecase-tests: Likewise.
12536         * modules/unicase/u16-is-uppercase-tests: Likewise.
12537         * modules/unicase/u16-tolower-tests: Likewise.
12538         * modules/unicase/u16-totitle-tests: Likewise.
12539         * modules/unicase/u16-toupper-tests: Likewise.
12540         * modules/unicase/u32-casecmp-tests: Likewise.
12541         * modules/unicase/u32-casecoll-tests: Likewise.
12542         * modules/unicase/u32-casefold-tests: Likewise.
12543         * modules/unicase/u32-is-cased-tests: Likewise.
12544         * modules/unicase/u32-is-casefolded-tests: Likewise.
12545         * modules/unicase/u32-is-lowercase-tests: Likewise.
12546         * modules/unicase/u32-is-titlecase-tests: Likewise.
12547         * modules/unicase/u32-is-uppercase-tests: Likewise.
12548         * modules/unicase/u32-tolower-tests: Likewise.
12549         * modules/unicase/u32-totitle-tests: Likewise.
12550         * modules/unicase/u32-toupper-tests: Likewise.
12551         * modules/unicase/ulc-casecmp-tests: Likewise.
12552         * modules/unicase/ulc-casecoll-tests: Likewise.
12553         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
12554         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
12555         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
12556         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
12557         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
12558         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
12559         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
12560         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
12561         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
12562         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
12563         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
12564         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
12565         * modules/unictype/bidicategory-byname-tests: Likewise.
12566         * modules/unictype/bidicategory-name-tests: Likewise.
12567         * modules/unictype/bidicategory-of-tests: Likewise.
12568         * modules/unictype/bidicategory-test-tests: Likewise.
12569         * modules/unictype/block-list-tests: Likewise.
12570         * modules/unictype/block-of-tests: Likewise.
12571         * modules/unictype/block-test-tests: Likewise.
12572         * modules/unictype/category-C-tests: Likewise.
12573         * modules/unictype/category-Cc-tests: Likewise.
12574         * modules/unictype/category-Cf-tests: Likewise.
12575         * modules/unictype/category-Cn-tests: Likewise.
12576         * modules/unictype/category-Co-tests: Likewise.
12577         * modules/unictype/category-Cs-tests: Likewise.
12578         * modules/unictype/category-L-tests: Likewise.
12579         * modules/unictype/category-Ll-tests: Likewise.
12580         * modules/unictype/category-Lm-tests: Likewise.
12581         * modules/unictype/category-Lo-tests: Likewise.
12582         * modules/unictype/category-Lt-tests: Likewise.
12583         * modules/unictype/category-Lu-tests: Likewise.
12584         * modules/unictype/category-M-tests: Likewise.
12585         * modules/unictype/category-Mc-tests: Likewise.
12586         * modules/unictype/category-Me-tests: Likewise.
12587         * modules/unictype/category-Mn-tests: Likewise.
12588         * modules/unictype/category-N-tests: Likewise.
12589         * modules/unictype/category-Nd-tests: Likewise.
12590         * modules/unictype/category-Nl-tests: Likewise.
12591         * modules/unictype/category-No-tests: Likewise.
12592         * modules/unictype/category-P-tests: Likewise.
12593         * modules/unictype/category-Pc-tests: Likewise.
12594         * modules/unictype/category-Pd-tests: Likewise.
12595         * modules/unictype/category-Pe-tests: Likewise.
12596         * modules/unictype/category-Pf-tests: Likewise.
12597         * modules/unictype/category-Pi-tests: Likewise.
12598         * modules/unictype/category-Po-tests: Likewise.
12599         * modules/unictype/category-Ps-tests: Likewise.
12600         * modules/unictype/category-S-tests: Likewise.
12601         * modules/unictype/category-Sc-tests: Likewise.
12602         * modules/unictype/category-Sk-tests: Likewise.
12603         * modules/unictype/category-Sm-tests: Likewise.
12604         * modules/unictype/category-So-tests: Likewise.
12605         * modules/unictype/category-Z-tests: Likewise.
12606         * modules/unictype/category-Zl-tests: Likewise.
12607         * modules/unictype/category-Zp-tests: Likewise.
12608         * modules/unictype/category-Zs-tests: Likewise.
12609         * modules/unictype/category-and-not-tests: Likewise.
12610         * modules/unictype/category-and-tests: Likewise.
12611         * modules/unictype/category-byname-tests: Likewise.
12612         * modules/unictype/category-name-tests: Likewise.
12613         * modules/unictype/category-none-tests: Likewise.
12614         * modules/unictype/category-of-tests: Likewise.
12615         * modules/unictype/category-or-tests: Likewise.
12616         * modules/unictype/category-test-withtable-tests: Likewise.
12617         * modules/unictype/combining-class-tests: Likewise.
12618         * modules/unictype/ctype-alnum-tests: Likewise.
12619         * modules/unictype/ctype-alpha-tests: Likewise.
12620         * modules/unictype/ctype-blank-tests: Likewise.
12621         * modules/unictype/ctype-cntrl-tests: Likewise.
12622         * modules/unictype/ctype-digit-tests: Likewise.
12623         * modules/unictype/ctype-graph-tests: Likewise.
12624         * modules/unictype/ctype-lower-tests: Likewise.
12625         * modules/unictype/ctype-print-tests: Likewise.
12626         * modules/unictype/ctype-punct-tests: Likewise.
12627         * modules/unictype/ctype-space-tests: Likewise.
12628         * modules/unictype/ctype-upper-tests: Likewise.
12629         * modules/unictype/ctype-xdigit-tests: Likewise.
12630         * modules/unictype/decimal-digit-tests: Likewise.
12631         * modules/unictype/digit-tests: Likewise.
12632         * modules/unictype/mirror-tests: Likewise.
12633         * modules/unictype/numeric-tests: Likewise.
12634         * modules/unictype/property-alphabetic-tests: Likewise.
12635         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
12636         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
12637         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
12638         * modules/unictype/property-bidi-block-separator-tests: Likewise.
12639         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
12640         * modules/unictype/property-bidi-common-separator-tests: Likewise.
12641         * modules/unictype/property-bidi-control-tests: Likewise.
12642         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
12643         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
12644         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
12645         * modules/unictype/property-bidi-european-digit-tests: Likewise.
12646         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
12647         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
12648         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
12649         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
12650         * modules/unictype/property-bidi-pdf-tests: Likewise.
12651         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
12652         * modules/unictype/property-bidi-whitespace-tests: Likewise.
12653         * modules/unictype/property-byname-tests: Likewise.
12654         * modules/unictype/property-combining-tests: Likewise.
12655         * modules/unictype/property-composite-tests: Likewise.
12656         * modules/unictype/property-currency-symbol-tests: Likewise.
12657         * modules/unictype/property-dash-tests: Likewise.
12658         * modules/unictype/property-decimal-digit-tests: Likewise.
12659         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
12660         * modules/unictype/property-deprecated-tests: Likewise.
12661         * modules/unictype/property-diacritic-tests: Likewise.
12662         * modules/unictype/property-extender-tests: Likewise.
12663         * modules/unictype/property-format-control-tests: Likewise.
12664         * modules/unictype/property-grapheme-base-tests: Likewise.
12665         * modules/unictype/property-grapheme-extend-tests: Likewise.
12666         * modules/unictype/property-grapheme-link-tests: Likewise.
12667         * modules/unictype/property-hex-digit-tests: Likewise.
12668         * modules/unictype/property-hyphen-tests: Likewise.
12669         * modules/unictype/property-id-continue-tests: Likewise.
12670         * modules/unictype/property-id-start-tests: Likewise.
12671         * modules/unictype/property-ideographic-tests: Likewise.
12672         * modules/unictype/property-ids-binary-operator-tests: Likewise.
12673         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
12674         * modules/unictype/property-ignorable-control-tests: Likewise.
12675         * modules/unictype/property-iso-control-tests: Likewise.
12676         * modules/unictype/property-join-control-tests: Likewise.
12677         * modules/unictype/property-left-of-pair-tests: Likewise.
12678         * modules/unictype/property-line-separator-tests: Likewise.
12679         * modules/unictype/property-logical-order-exception-tests: Likewise.
12680         * modules/unictype/property-lowercase-tests: Likewise.
12681         * modules/unictype/property-math-tests: Likewise.
12682         * modules/unictype/property-non-break-tests: Likewise.
12683         * modules/unictype/property-not-a-character-tests: Likewise.
12684         * modules/unictype/property-numeric-tests: Likewise.
12685         * modules/unictype/property-other-alphabetic-tests: Likewise.
12686         * modules/unictype/property-other-default-ignorable-code-point-tests:
12687         Likewise.
12688         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
12689         * modules/unictype/property-other-id-continue-tests: Likewise.
12690         * modules/unictype/property-other-id-start-tests: Likewise.
12691         * modules/unictype/property-other-lowercase-tests: Likewise.
12692         * modules/unictype/property-other-math-tests: Likewise.
12693         * modules/unictype/property-other-uppercase-tests: Likewise.
12694         * modules/unictype/property-paired-punctuation-tests: Likewise.
12695         * modules/unictype/property-paragraph-separator-tests: Likewise.
12696         * modules/unictype/property-pattern-syntax-tests: Likewise.
12697         * modules/unictype/property-pattern-white-space-tests: Likewise.
12698         * modules/unictype/property-private-use-tests: Likewise.
12699         * modules/unictype/property-punctuation-tests: Likewise.
12700         * modules/unictype/property-quotation-mark-tests: Likewise.
12701         * modules/unictype/property-radical-tests: Likewise.
12702         * modules/unictype/property-sentence-terminal-tests: Likewise.
12703         * modules/unictype/property-soft-dotted-tests: Likewise.
12704         * modules/unictype/property-space-tests: Likewise.
12705         * modules/unictype/property-terminal-punctuation-tests: Likewise.
12706         * modules/unictype/property-test-tests: Likewise.
12707         * modules/unictype/property-titlecase-tests: Likewise.
12708         * modules/unictype/property-unassigned-code-value-tests: Likewise.
12709         * modules/unictype/property-unified-ideograph-tests: Likewise.
12710         * modules/unictype/property-uppercase-tests: Likewise.
12711         * modules/unictype/property-variation-selector-tests: Likewise.
12712         * modules/unictype/property-white-space-tests: Likewise.
12713         * modules/unictype/property-xid-continue-tests: Likewise.
12714         * modules/unictype/property-xid-start-tests: Likewise.
12715         * modules/unictype/property-zero-width-tests: Likewise.
12716         * modules/unictype/scripts-tests: Likewise.
12717         * modules/unictype/syntax-c-ident-tests: Likewise.
12718         * modules/unictype/syntax-c-whitespace-tests: Likewise.
12719         * modules/unictype/syntax-java-ident-tests: Likewise.
12720         * modules/unictype/syntax-java-whitespace-tests: Likewise.
12721         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
12722         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
12723         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
12724         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
12725         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
12726         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
12727         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
12728         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
12729         * modules/uniname/uniname-tests: Likewise.
12730         * modules/uninorm/canonical-decomposition-tests: Likewise.
12731         * modules/uninorm/compat-decomposition-tests: Likewise.
12732         * modules/uninorm/composition-tests: Likewise.
12733         * modules/uninorm/decomposing-form-tests: Likewise.
12734         * modules/uninorm/decomposition-tests: Likewise.
12735         * modules/uninorm/filter-tests: Likewise.
12736         * modules/uninorm/nfc-tests: Likewise.
12737         * modules/uninorm/nfd-tests: Likewise.
12738         * modules/uninorm/nfkc-tests: Likewise.
12739         * modules/uninorm/nfkd-tests: Likewise.
12740         * modules/uninorm/u8-normcmp-tests: Likewise.
12741         * modules/uninorm/u8-normcoll-tests: Likewise.
12742         * modules/uninorm/u16-normcmp-tests: Likewise.
12743         * modules/uninorm/u16-normcoll-tests: Likewise.
12744         * modules/uninorm/u32-normcmp-tests: Likewise.
12745         * modules/uninorm/u32-normcoll-tests: Likewise.
12746         * modules/unistdio/u8-asnprintf-tests: Likewise.
12747         * modules/unistdio/u8-vasnprintf-tests: Likewise.
12748         * modules/unistdio/u8-vasprintf-tests: Likewise.
12749         * modules/unistdio/u8-vsnprintf-tests: Likewise.
12750         * modules/unistdio/u8-vsprintf-tests: Likewise.
12751         * modules/unistdio/u16-asnprintf-tests: Likewise.
12752         * modules/unistdio/u16-vasnprintf-tests: Likewise.
12753         * modules/unistdio/u16-vasprintf-tests: Likewise.
12754         * modules/unistdio/u16-vsnprintf-tests: Likewise.
12755         * modules/unistdio/u16-vsprintf-tests: Likewise.
12756         * modules/unistdio/u32-asnprintf-tests: Likewise.
12757         * modules/unistdio/u32-vasnprintf-tests: Likewise.
12758         * modules/unistdio/u32-vasprintf-tests: Likewise.
12759         * modules/unistdio/u32-vsnprintf-tests: Likewise.
12760         * modules/unistdio/u32-vsprintf-tests: Likewise.
12761         * modules/unistdio/ulc-asnprintf-tests: Likewise.
12762         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
12763         * modules/unistdio/ulc-vasprintf-tests: Likewise.
12764         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
12765         * modules/unistdio/ulc-vsprintf-tests: Likewise.
12766         * modules/unistr/u8-check-tests: Likewise.
12767         * modules/unistr/u8-chr-tests: Likewise.
12768         * modules/unistr/u8-cmp-tests: Likewise.
12769         * modules/unistr/u8-cmp2-tests: Likewise.
12770         * modules/unistr/u8-cpy-alloc-tests: Likewise.
12771         * modules/unistr/u8-cpy-tests: Likewise.
12772         * modules/unistr/u8-mblen-tests: Likewise.
12773         * modules/unistr/u8-mbsnlen-tests: Likewise.
12774         * modules/unistr/u8-mbtouc-tests: Likewise.
12775         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
12776         * modules/unistr/u8-mbtoucr-tests: Likewise.
12777         * modules/unistr/u8-move-tests: Likewise.
12778         * modules/unistr/u8-next-tests: Likewise.
12779         * modules/unistr/u8-prev-tests: Likewise.
12780         * modules/unistr/u8-set-tests: Likewise.
12781         * modules/unistr/u8-stpcpy-tests: Likewise.
12782         * modules/unistr/u8-stpncpy-tests: Likewise.
12783         * modules/unistr/u8-strcat-tests: Likewise.
12784         * modules/unistr/u8-strcmp-tests: Likewise.
12785         * modules/unistr/u8-strcoll-tests: Likewise.
12786         * modules/unistr/u8-strcpy-tests: Likewise.
12787         * modules/unistr/u8-strdup-tests: Likewise.
12788         * modules/unistr/u8-strlen-tests: Likewise.
12789         * modules/unistr/u8-strmblen-tests: Likewise.
12790         * modules/unistr/u8-strmbtouc-tests: Likewise.
12791         * modules/unistr/u8-strncat-tests: Likewise.
12792         * modules/unistr/u8-strncmp-tests: Likewise.
12793         * modules/unistr/u8-strncpy-tests: Likewise.
12794         * modules/unistr/u8-strnlen-tests: Likewise.
12795         * modules/unistr/u8-to-u16-tests: Likewise.
12796         * modules/unistr/u8-to-u32-tests: Likewise.
12797         * modules/unistr/u8-uctomb-tests: Likewise.
12798         * modules/unistr/u16-check-tests: Likewise.
12799         * modules/unistr/u16-chr-tests: Likewise.
12800         * modules/unistr/u16-cmp-tests: Likewise.
12801         * modules/unistr/u16-cmp2-tests: Likewise.
12802         * modules/unistr/u16-cpy-alloc-tests: Likewise.
12803         * modules/unistr/u16-cpy-tests: Likewise.
12804         * modules/unistr/u16-mblen-tests: Likewise.
12805         * modules/unistr/u16-mbsnlen-tests: Likewise.
12806         * modules/unistr/u16-mbtouc-tests: Likewise.
12807         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
12808         * modules/unistr/u16-mbtoucr-tests: Likewise.
12809         * modules/unistr/u16-move-tests: Likewise.
12810         * modules/unistr/u16-next-tests: Likewise.
12811         * modules/unistr/u16-prev-tests: Likewise.
12812         * modules/unistr/u16-set-tests: Likewise.
12813         * modules/unistr/u16-stpcpy-tests: Likewise.
12814         * modules/unistr/u16-stpncpy-tests: Likewise.
12815         * modules/unistr/u16-strcat-tests: Likewise.
12816         * modules/unistr/u16-strcmp-tests: Likewise.
12817         * modules/unistr/u16-strcoll-tests: Likewise.
12818         * modules/unistr/u16-strcpy-tests: Likewise.
12819         * modules/unistr/u16-strdup-tests: Likewise.
12820         * modules/unistr/u16-strlen-tests: Likewise.
12821         * modules/unistr/u16-strmblen-tests: Likewise.
12822         * modules/unistr/u16-strmbtouc-tests: Likewise.
12823         * modules/unistr/u16-strncat-tests: Likewise.
12824         * modules/unistr/u16-strncmp-tests: Likewise.
12825         * modules/unistr/u16-strncpy-tests: Likewise.
12826         * modules/unistr/u16-strnlen-tests: Likewise.
12827         * modules/unistr/u16-to-u32-tests: Likewise.
12828         * modules/unistr/u16-to-u8-tests: Likewise.
12829         * modules/unistr/u16-uctomb-tests: Likewise.
12830         * modules/unistr/u32-check-tests: Likewise.
12831         * modules/unistr/u32-chr-tests: Likewise.
12832         * modules/unistr/u32-cmp-tests: Likewise.
12833         * modules/unistr/u32-cmp2-tests: Likewise.
12834         * modules/unistr/u32-cpy-alloc-tests: Likewise.
12835         * modules/unistr/u32-cpy-tests: Likewise.
12836         * modules/unistr/u32-mblen-tests: Likewise.
12837         * modules/unistr/u32-mbsnlen-tests: Likewise.
12838         * modules/unistr/u32-mbtouc-tests: Likewise.
12839         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
12840         * modules/unistr/u32-mbtoucr-tests: Likewise.
12841         * modules/unistr/u32-move-tests: Likewise.
12842         * modules/unistr/u32-next-tests: Likewise.
12843         * modules/unistr/u32-prev-tests: Likewise.
12844         * modules/unistr/u32-set-tests: Likewise.
12845         * modules/unistr/u32-stpcpy-tests: Likewise.
12846         * modules/unistr/u32-stpncpy-tests: Likewise.
12847         * modules/unistr/u32-strcat-tests: Likewise.
12848         * modules/unistr/u32-strcmp-tests: Likewise.
12849         * modules/unistr/u32-strcoll-tests: Likewise.
12850         * modules/unistr/u32-strcpy-tests: Likewise.
12851         * modules/unistr/u32-strdup-tests: Likewise.
12852         * modules/unistr/u32-strlen-tests: Likewise.
12853         * modules/unistr/u32-strmblen-tests: Likewise.
12854         * modules/unistr/u32-strmbtouc-tests: Likewise.
12855         * modules/unistr/u32-strncat-tests: Likewise.
12856         * modules/unistr/u32-strncmp-tests: Likewise.
12857         * modules/unistr/u32-strncpy-tests: Likewise.
12858         * modules/unistr/u32-strnlen-tests: Likewise.
12859         * modules/unistr/u32-to-u16-tests: Likewise.
12860         * modules/unistr/u32-to-u8-tests: Likewise.
12861         * modules/unistr/u32-uctomb-tests: Likewise.
12862         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
12863         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
12864         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
12865         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
12866         * modules/uniwidth/u8-strwidth-tests: Likewise.
12867         * modules/uniwidth/u8-width-tests: Likewise.
12868         * modules/uniwidth/u16-strwidth-tests: Likewise.
12869         * modules/uniwidth/u16-width-tests: Likewise.
12870         * modules/uniwidth/u32-strwidth-tests: Likewise.
12871         * modules/uniwidth/u32-width-tests: Likewise.
12872         * modules/uniwidth/width-tests: Likewise.
12873
12874 2010-05-18  Richard Jones  <rjones@redhat.com>
12875
12876         doc: users.txt: list hivex
12877         * users.txt: Add hivex.
12878
12879 2010-05-18  Richard Jones  <rjones@redhat.com>
12880
12881         doc: users.txt: list febootstrap
12882         * users.txt: Add febootstrap.
12883
12884 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
12885
12886         bootstrap: fix an error when gnulib is not used as a git submodule
12887         * build-aux/bootstrap (gnulib_path): If its length is zero then
12888         assign "gnulib" to it.
12889         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
12890
12891 2010-05-16  Bruno Haible  <bruno@clisp.org>
12892
12893         Avoid autoconf warnings about AM_ICONV.
12894         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
12895         2.64.
12896
12897 2010-05-16  Bruno Haible  <bruno@clisp.org>
12898
12899         absolute-header: Make the macro usable in more situations.
12900         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
12901         from gl_ABSOLUTE_HEADER.
12902         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
12903
12904 2010-05-16  James Youngman  <jay@gnu.org>
12905
12906         doc: update users.txt
12907         * users.txt: Add CSSC.
12908
12909 2010-05-16  Jim Meyering  <meyering@redhat.com>
12910
12911         init.sh: fix an error in the previous change; add more comments
12912         * tests/init.sh: Compare exit code in loop against 9, not 2.
12913         Patch by Bruno Haible.
12914         Make the two tests more similar by adding an empty "then" clause.
12915         Add comments.
12916
12917         init.sh: avoid unnecessary shell re-exec
12918         * tests/init.sh: Improve the re-exec-required check to first test the
12919         current shell.  If it passes the test, do not search for a shell that
12920         does pass, and do not re-exec.  This test is particularly contorted to
12921         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
12922         of $(...) evokes a syntax error and causes immediate shell exit with
12923         status 2.  Bruno Haible reported that the re-exec made it impossible
12924         to single-step through any init.sh-using script.
12925
12926 2010-05-16  Bruno Haible  <bruno@clisp.org>
12927
12928         Fix collision between gnulib's and libintl's printf replacements.
12929         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
12930         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
12931         (printf): When using GNU C, map the __printf__ function to rpl_printf
12932         via __asm__. When not using GNU C, define rpl_printf instead of
12933         __printf__.
12934         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
12935         commit.
12936         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
12937         commit.
12938         * m4/asm-underscore.m4: New file.
12939         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
12940         * modules/stdio (Files): Add m4/asm-underscore.m4.
12941         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
12942         Reported by Ben Pfaff.
12943
12944 2010-05-16  Bruno Haible  <bruno@clisp.org>
12945
12946         verify: Avoid skipping the test on openSUSE 11.0.
12947         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
12948
12949 2010-05-13  Bruno Haible  <bruno@clisp.org>
12950
12951         Avoid useless warnings from G++.
12952         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
12953         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
12954         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12955
12956 2010-05-11  Jim Meyering  <meyering@redhat.com>
12957
12958         maint.mk: tweak preceding change
12959         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
12960         regexps tighter by anchoring at EOL, and make the new group "shy"
12961         for slightly decreased overhead.
12962
12963 2010-05-11  Eric Blake  <eblake@redhat.com>
12964
12965         maint.mk: gnulib doesn't guarantee NSIG
12966         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
12967
12968 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
12969
12970         test-pwrite.c: Remove unused variable declaration.
12971         * tests/test-pwrite.c (main): Remove read_buf declaration.
12972
12973         Remove useless test-pwrite.sh file.
12974         * tests/test-pwrite.sh: Delete file.
12975         * modules/pwrite-tests: Remove references.
12976         Reported by Bruno Haible.
12977
12978 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
12979
12980         init.sh: fix a typo
12981         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
12982
12983 2010-05-10  Jim Meyering  <meyering@redhat.com>
12984
12985         maint.mk: avoid using a temporary file in the always-defined-macros check
12986         * top/maint.mk (.re-defmac): Remove rule.
12987         (gl_trap_): Remove definition.
12988         (sc_prohibit_always-defined_macros): Rewrite not to create and
12989         depend on a temporary file.  Instead, depend on GNU grep's ability
12990         to read a list of regular expressions from stdin when given "-f -".
12991
12992 2010-05-09  Bruno Haible  <bruno@clisp.org>
12993
12994         Update to GNU gettext 0.18, part 1.
12995         * m4/gettext.m4: Update to GNU gettext 0.18.
12996         * m4/intl.m4: Likewise.
12997         * m4/po.m4: Likewise.
12998         * modules/gettext (Files): Add m4/fcntl-o.m4.
12999         (configure.ac): Require gettext infrastructure from version 0.18.
13000
13001 2010-05-09  Jim Meyering  <meyering@redhat.com>
13002
13003         init.sh: enable MALLOC_PERTURB_
13004         * tests/init.sh: Enable glibc's malloc-perturbing option.
13005
13006         maint.mk: improve sc_cross_check_PATH_usage_in_tests
13007         With my recent change in init.sh from the two-line form:
13008             -#   : ${srcdir=.}
13009             -#   . "$srcdir/init.sh"; path_prepend_ .
13010             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
13011         I noticed that using the one-line form would cause this test
13012         to fail with a false-positive, or to stop working altogether,
13013         depending on whether help-version changed or all the tests did.
13014         * top/maint.mk (_hv_regex): Remove this definition.
13015         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
13016         (_hv_regex_strong): Use a stronger regex to check for conformance.
13017         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
13018         Give a separate diagnostic for lack of conforming use.
13019
13020         maint.mk: prohibit definition of symbols defined by gnulib
13021         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
13022         definition of symbols defined by gnulib.
13023
13024 2010-05-09  Bruno Haible  <bruno@clisp.org>
13025
13026         acl: Avoid test failure on Cygwin-hosted mingw.
13027         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
13028
13029 2010-05-09  Bruno Haible  <bruno@clisp.org>
13030
13031         error: Use system's fcntl function.
13032         * lib/error.c (fcntl): Undefine.
13033
13034 2010-05-09  Jim Meyering  <meyering@redhat.com>
13035
13036         verify: adjust formatting to be more consistent
13037         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
13038         argument-list '('s, and after one comma.
13039
13040 2010-05-09  Bruno Haible  <bruno@clisp.org>
13041
13042         error: More reliable output on mingw.
13043         * lib/error.c: Include <windows.h>.
13044         (is_open): New function.
13045         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
13046         defined.
13047
13048 2010-05-09  Bruno Haible  <bruno@clisp.org>
13049
13050         vasnprintf: Fix syntax errors in libintl build on mingw.
13051         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
13052         pad_ourselves and prec_ourselves after use.
13053
13054 2010-05-08  Bruno Haible  <bruno@clisp.org>
13055
13056         * lib/config.charset: Update comments for Cygwin 1.7.
13057         * lib/localcharset.c: Likewise.
13058
13059 2010-05-07  Jim Meyering  <meyering@redhat.com>
13060
13061         init.sh: improve comments
13062         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
13063         . "${srcdir=.}/init.sh"; path_prepend_ .
13064         Add a note about path_prepend_ and the alternative of using
13065         TESTS_ENVIRONMENT.
13066
13067 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
13068
13069         exclude: Unescape hashed patterns in wildcard mode.
13070         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
13071         to the hash list.
13072         * tests/test-exclude8.sh: New test case.
13073         * modules/exclude-tests: Add new test.
13074
13075 2010-05-05  Eric Blake  <eblake@redhat.com>
13076
13077         verify: automate tests
13078         * modules/verify-tests: New module.
13079         * tests/test-verify.sh: New file.
13080         * tests/test-verify.c: Guard each negative test with a unique id.
13081         Also avoid warning about unused left hand of comma expressions.
13082
13083 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13084
13085         Further improvements to verify.h, suggested by Eric Blake.
13086         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
13087         the GL_* versions, to avoid collision with OpenGL.
13088         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
13089         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
13090         than testing merely whether it's defined.
13091
13092         Modify verify.h to pacify gcc -Wredundant_decls.
13093         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
13094         These use the prefix "GL_" since they're likely to be useful elsewhere.
13095         We may need to break them out into a different .h file.
13096         (__COUNTER__): Define to 0 if the compiler doesn't support it.
13097         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
13098         of verify_function__.
13099
13100 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
13101
13102         Tests for module pwrite.
13103         * modules/pwrite-tests: New file.
13104         * tests/test-pwrite.sh: New file.
13105         * tests/test-pwrite.c: New file.
13106
13107         New module pwrite.
13108         * lib/unistd.in.h (pwrite): New declaration.
13109         * lib/pwrite.c: New file, from glibc with modifications.
13110         * m4/pwrite.m4: New file.
13111         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
13112         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
13113         REPLACE_PWRITE.
13114         * modules/pwrite: New file.
13115         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
13116         REPLACE_PWRITE.
13117         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
13118         * doc/posix-functions/pwrite.texi: Mention the new module.
13119
13120 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
13121
13122         pread: Update documentation.
13123         * doc/posix-functions/pread.texi: Mention the 'pread' module.
13124
13125 2010-05-04  Eric Blake  <eblake@redhat.com>
13126
13127         docs: update cygwin progress
13128         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
13129         this bug.
13130         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
13131         Added in cygwin 1.7.2.
13132         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
13133         Likewise.
13134         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
13135         Likewise.
13136         * doc/glibc-functions/dup3.texi (dup3): Likewise.
13137         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13138         * doc/glibc-functions/accept4.texi (accept4): Likewise.
13139         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
13140         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
13141         Mention nproc module.
13142         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
13143         bug in cygwin 1.7.5 addition.
13144         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
13145         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
13146         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
13147         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
13148         1.7.5.
13149         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
13150         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
13151         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
13152         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
13153         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
13154         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
13155         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
13156         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
13157         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
13158         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
13159         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
13160         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
13161         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
13162         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
13163         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
13164         Likewise.
13165         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
13166         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
13167         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
13168         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
13169         Likewise.
13170         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
13171         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
13172         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
13173         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
13174         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
13175         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
13176         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
13177         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
13178         Likewise.
13179         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
13180         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
13181         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
13182         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
13183         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
13184         Likewise.
13185         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
13186         Likewise.
13187         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
13188         Likewise.
13189         * doc/glibc-functions/xdrrec_endofrecord.texi
13190         (xdrrec_endofrecord): Likewise.
13191         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
13192         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
13193         Likewise.
13194         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
13195         Likewise.
13196
13197 2010-05-04  Jim Meyering  <meyering@redhat.com>
13198
13199         gendocs.sh: make its "-s FILE" option more useful
13200         * build-aux/gendocs.sh: When honoring the -s FILE option, update
13201         $PACKAGE to reflect the probably-different basename of "FILE".
13202
13203 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
13204
13205         bootstrap: don't ignore download_po_files failure
13206         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
13207         failure.
13208
13209 2010-05-03  Jim Meyering  <meyering@redhat.com>
13210
13211         maint.mk: allow to pass options to gendocs.sh
13212         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
13213         (gendocs_options_): New overridable variable.
13214
13215         gnu-web-doc-update: don't ignore configure or build failure
13216         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
13217
13218         announce-gen: backslash-escape '@'s in --help output
13219         * build-aux/announce-gen: Fix syntax errors.
13220
13221         maint.mk, announce-gen: allow project-specific announcement mail headers
13222         * top/maint.mk (translation_project_): Define default.
13223         (announcement_Cc_, announcement_mail_headers_): Likewise.
13224         (announcement): Invoke announce-gen with new --mail-headers option.
13225         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
13226
13227         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
13228         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
13229         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
13230         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
13231         line in the "err2" output file when running "make check" in verbose
13232         mode (i.e., with set -x enabled).
13233
13234 2010-05-03  Bruno Haible  <bruno@clisp.org>
13235
13236         wctob: Fix for weird platforms.
13237         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
13238         argument value.
13239
13240 2010-05-03  Jim Meyering  <meyering@redhat.com>
13241
13242         maint.mk: prohibit unwarranted use of <strings.h>
13243         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
13244         strings.h in a file that does not also use strcasecmp, strncasecmp,
13245         ffs or ffsll.
13246
13247         maint.mk: remove obsolete comments
13248         * top/maint.mk: Remove stale, commented-out rules.
13249
13250 2010-05-02  Bruno Haible  <bruno@clisp.org>
13251
13252         wcwidth: Declare also when it's aliased.
13253         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
13254         macro.
13255
13256 2010-05-02  Bruno Haible  <bruno@clisp.org>
13257
13258         Fix regression from 2010-04-25.
13259         * gnulib-tool (func_modules_transitive_closure): Check the status of
13260         all modules, not only of the tests that are of the form foo-tests where
13261         foo is a module.
13262
13263 2010-05-02  Bruno Haible  <bruno@clisp.org>
13264
13265         wctob: Work around nasty Cygwin 1.7.2 bug.
13266         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
13267         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
13268
13269 2010-05-01  Bruno Haible  <bruno@clisp.org>
13270
13271         fpurge: Sharper test.
13272         * tests/test-fpurge.c (main): Add one more ftell check.
13273         * modules/fpurge-tests (Depends-on): Add ftell.
13274         Suggested by Eric Blake.
13275
13276 2010-05-01  Bruno Haible  <bruno@clisp.org>
13277
13278         ftello: Another test.
13279         * tests/test-ftello3.c: New file.
13280         * modules/ftello-tests (Files): Add it.
13281         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
13282         MOSTLYCLEANFILES.
13283
13284         ftell: Another test.
13285         * tests/test-ftell3.c: New file.
13286         * modules/ftell-tests (Files): Add it.
13287         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
13288         MOSTLYCLEANFILES.
13289
13290 2010-05-01  Bruno Haible  <bruno@clisp.org>
13291
13292         ftell, ftello: Work around Solaris bug.
13293         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
13294         * lib/ftello.c: Include stdio-impl.h.
13295         (ftello): On Solaris, when _IOWRT is set, compute the result without
13296         looking at _IOREAD.
13297         * modules/ftello (Files): Add lib/stdio-impl.h.
13298         * doc/posix-functions/ftell.texi: Mention Solaris bug.
13299         * doc/posix-functions/ftello.texi: Likewise.
13300         Reported by Eric Blake.
13301
13302 2010-05-01  Bruno Haible  <bruno@clisp.org>
13303
13304         freading: Adapt to special meaning of _IOREAD flag on Solaris.
13305         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
13306         the _IOWRT flag is also set.
13307
13308 2010-05-01  Bruno Haible  <bruno@clisp.org>
13309
13310         Fix doc about a HP-UX stdio bug.
13311         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
13312         * doc/posix-functions/ftello.texi: Likewise.
13313
13314 2010-05-01  Bruno Haible  <bruno@clisp.org>
13315
13316         lseek test: Fix failure on Solaris.
13317         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
13318         output.
13319
13320 2010-04-30  Jim Meyering  <meyering@redhat.com>
13321
13322         bootstrap: don't ignore failure to generate po*/Makevars
13323         * build-aux/bootstrap (with_gettext): Don't ignore failure
13324         to create po/Makevars or runtime-po/Makevars.
13325
13326 2010-04-29  Eric Blake  <eblake@redhat.com>
13327
13328         headers: relax license to LGPLv2+
13329         * modules/fcntl-h (License): Relax license.
13330         * modules/getopt-posix (License): Likewise.
13331         * modules/locale (License): Likewise.
13332         * modules/math (License): Likewise.
13333         * modules/pty (License): Likewise.
13334         * modules/sched (License): Likewise.
13335         * modules/search (License): Likewise.
13336         * modules/spawn (License): Likewise.
13337         * modules/stdarg (License): Likewise.
13338         * modules/sysexits (License): Likewise.
13339
13340 2010-04-29  Jim Meyering  <meyering@redhat.com>
13341
13342         inttypes: relax license to LGPLv2+
13343         * modules/inttypes (License): Relax license.
13344
13345 2010-04-29  Simon Josefsson  <simon@josefsson.org>
13346
13347         * top/maint.mk (indent): Run twice to produce idempotent results.
13348
13349 2010-04-28  Bruno Haible  <bruno@clisp.org>
13350
13351         getdate: Generate getdate.c in the source directory.
13352         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
13353         MOSTLYCLEANFILES.
13354         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
13355
13356 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
13357
13358         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
13359         is not declared as a const *; avoid warnings in that case.
13360
13361 2010-04-28  Eric Blake  <eblake@redhat.com>
13362
13363         canonicalize-lgpl: avoid compiler warning
13364         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
13365         declaration' / 'extraneous semicolon' warning with some compilers.
13366         Reported by Andreas Gruenbacher.
13367
13368 2010-04-28  Jim Meyering  <meyering@redhat.com>
13369
13370         init.sh: ensure a more reliable exit status when exiting via trap
13371         * tests/init.sh (setup_): Don't rely on $? in signal handler.
13372         Inspired by patches from Dmitry V. Levin.
13373         Also trap on signal 3 (SIGQUIT).
13374
13375 2010-04-27  Bruno Haible  <bruno@clisp.org>
13376
13377         Update doc about utimes().
13378         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
13379         'utimens' module.
13380         Reported by Andreas Gruenbacher <agruen@suse.de>.
13381
13382 2010-04-27  Eric Blake  <eblake@redhat.com>
13383
13384         full-read, full-write: relax license
13385         * modules/full-read (License): Drop to LGPLv2+.
13386         * modules/full-write (License): Likewise.
13387         * modules/safe-read (License): Likewise.
13388         * modules/safe-write (License): Likewise.
13389
13390         pthread: mention library for linking
13391         * modules/pthread (Link): Mention $(LIB_PTHREAD).
13392
13393 2010-04-27  Jim Meyering  <meyering@redhat.com>
13394
13395         maint.mk: fix a bug introduced in last change
13396         * top/maint.mk (gl_assured_headers_): Now that all names are on
13397         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
13398         is not anchored to end of word, it should be adequate.
13399
13400         maint.mk: avoid side-effect in latest syntax-check
13401         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
13402         to run commands via $(shell...), and hence to incur cost only when
13403         the new rule is actually run.
13404
13405         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
13406         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
13407         and use that to create a regexp used to detect all #if HAVE_..._H uses.
13408         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
13409         (gl_assured_headers_, az_, AZ_): Define.
13410         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
13411
13412 2010-04-26  Jim Meyering  <jim@meyering.net>
13413             Bruno Haible  <bruno@clisp.org>
13414
13415         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
13416         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
13417         Prompted by an exchange with Gilles Espinasse.
13418
13419 2010-04-26  Jim Meyering  <meyering@redhat.com>
13420
13421         git-version-gen: aesthetic tweak
13422         * build-aux/git-version-gen: Use "$nl" rather than a literal,
13423         so that the command remains on a single line.
13424
13425 2010-04-26  Eric Blake  <eblake@redhat.com>
13426
13427         git-version-gen: allow use on EBCDIC hosts
13428         * build-aux/git-version-gen (dirty): Use literal rather than tying
13429         ourselves to ascii.
13430         Reported by Steve Goetze.
13431
13432 2010-04-25  Bruno Haible  <bruno@clisp.org>
13433
13434         netdb: Add support for GNULIB_POSIXCHECK.
13435         * lib/netdb.in.h: Include warn-on-use.h.
13436         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
13437         functions are used when GNULIB_POSIXCHECK is defined and the
13438         getaddrinfo module is not in use.
13439         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
13440         freeaddrinfo, gai_strerror, getnameinfo are declared.
13441         * modules/netdb (Depends-on): Add warn-on-use.
13442         (Makefile.am): Include warn-on-use.h in netdb.h.
13443
13444 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
13445
13446         build: avoid "make check" failure without .git/ directory
13447         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
13448         there is no .git/ directory.
13449
13450 2010-04-25  Bruno Haible  <bruno@clisp.org>
13451
13452         ptsname: Fix misuse of ttyname_r.
13453         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
13454         of errno.
13455
13456 2010-04-25  Bruno Haible  <bruno@clisp.org>
13457
13458         ttyname_r: Make it work on Solaris 10.
13459         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
13460         if the system function has the POSIX declaration. Test whether the
13461         function fails if the buffer is less than 128 bytes large.
13462         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
13463         system's ttyname_r function. Provide a reasonably large buffer.
13464         * modules/ttyname_r (Depends-on): Add extensions.
13465         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
13466
13467 2010-04-25  Bruno Haible  <bruno@clisp.org>
13468
13469         Use the 'extensions' module for some more functions on Solaris.
13470         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
13471         module.
13472         * doc/posix-functions/ctime_r.texi: Likewise.
13473         * doc/posix-functions/getgrgid_r.texi: Likewise.
13474         * doc/posix-functions/getgrnam_r.texi: Likewise.
13475         * doc/posix-functions/getpwnam_r.texi: Likewise.
13476         * doc/posix-functions/getpwuid_r.texi: Likewise.
13477         * doc/posix-functions/readdir_r.texi: Likewise.
13478         * doc/posix-functions/sigwait.texi: Likewise.
13479         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
13480         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
13481
13482 2010-04-25  Bruno Haible  <bruno@clisp.org>
13483
13484         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
13485         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
13486         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
13487         * lib/ttyname_r.c: Include <limits.h>.
13488         (ttyname_r): Define using the system's ttyname_r function, if it exists
13489         and not on Solaris.
13490         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
13491         set.
13492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
13493         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
13494         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
13495         Reported by Simon Josefsson.
13496
13497 2010-04-25  Bruno Haible  <bruno@clisp.org>
13498
13499         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
13500         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
13501         * doc/posix-functions/ctime_r.texi: Likewise.
13502         * doc/posix-functions/getgrgid_r.texi: Likewise.
13503         * doc/posix-functions/getgrnam_r.texi: Likewise.
13504         * doc/posix-functions/getlogin_r.texi: Likewise.
13505         * doc/posix-functions/getpwnam_r.texi: Likewise.
13506         * doc/posix-functions/getpwuid_r.texi: Likewise.
13507         * doc/posix-functions/readdir_r.texi: Likewise.
13508         * doc/posix-functions/sigwait.texi: Likewise.
13509         * doc/posix-functions/ttyname_r.texi: Likewise.
13510         Reported by Simon Josefsson.
13511
13512 2010-04-25  Bruno Haible  <bruno@clisp.org>
13513
13514         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
13515         * gnulib-tool (func_usage): Document that --with-*-tests options apply
13516         also to --create-testdir.
13517         (func_acceptable): Don't consider the status of *-tests modules here.
13518         (func_modules_transitive_closure): Consider it here, before including a
13519         test module.
13520         (func_import, func_create_testdir): Set inc_all_direct_tests,
13521         inc_all_indirect_tests.
13522         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
13523         --create-testdir and --create-megatestdir.
13524
13525 2010-04-25  Bruno Haible  <bruno@clisp.org>
13526
13527         gnulib-tool: Add --without-*-tests options.
13528         * gnulib-tool (func_usage): Document the --without-*-tests options.
13529         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
13530         excl_unportable_tests): New variables.
13531         Fail if they are specified with --import or --update.
13532         (func_acceptable): Respect the excl_*_tests variables.
13533         (func_import): Set the excl_*_tests variables to empty.
13534
13535 2010-04-25  Simon Josefsson  <simon@josefsson.org>
13536             Bruno Haible  <bruno@clisp.org>
13537
13538         Work around a MacOS X 10.4 bug with openpty.
13539         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
13540         * tests/test-openpty.c (main): Close the master side explicitly.
13541
13542 2010-04-25  Bruno Haible  <bruno@clisp.org>
13543
13544         strnlen: Fix a C++ test error on MacOS X and Solaris.
13545         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
13546         the function is not declared.
13547         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
13548         Simon Josefsson.
13549
13550 2010-04-24  Bruno Haible  <bruno@clisp.org>
13551
13552         Avoid a gcc warning.
13553         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
13554         of correct type for %08lx directive.
13555         Reported by Eric Blake.
13556
13557 2010-04-24  Bruno Haible  <bruno@clisp.org>
13558
13559         vasnprintf: Correct errno value in case of out-of-memory.
13560         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
13561         or sprintf. Use the errno value from SNPRINTF or sprintf.
13562         Reported by Ian Beckwith <ianb@erislabs.net>.
13563
13564 2010-04-24  Bruno Haible  <bruno@clisp.org>
13565
13566         ansi-c++-opt: Find correct compiler when cross-compiling.
13567         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
13568         AC_CHECK_PROGS.
13569         Reported by Simon Josefsson.
13570
13571 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
13572
13573         vc-list-files: Add support for subversion
13574         * build-aux/vc-list-files: Use "svn list" to generate the list of
13575         files controlled by subversion.
13576
13577 2010-04-23  Jim Meyering  <meyering@redhat.com>
13578
13579         vc-list-files tests: convert to use init.sh
13580         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
13581         path_prepend_.
13582         Use Exit, not exit.
13583         Use skip_ rather than open coding it.
13584         Remove trap set-up and compare definitions.
13585         * tests/test-vc-list-files-git.sh: Likewise.
13586         * modules/vc-list-files-tests (Files): Add tests/init.sh.
13587
13588 2010-04-22  Simon Josefsson  <simon@josefsson.org>
13589
13590         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
13591         backup files.
13592
13593 2010-04-21  Simon Josefsson  <simon@josefsson.org>
13594
13595         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
13596
13597 2010-04-20  Eric Blake  <eblake@redhat.com>
13598
13599         tests: be robust to ignored SIGPIPE
13600         * tests/test-select-in.sh: Consume all output.
13601         * tests/test-lseek.sh: Check correct exit status, while avoiding
13602         EPIPE.
13603
13604 2010-04-20  Simon Josefsson  <simon@josefsson.org>
13605             Bruno Haible  <bruno@clisp.org>
13606
13607         visibility: Don't use -fvisibility if it leads to a warning.
13608         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
13609         yes, don't pretend that visibility works if it leads to a warning.
13610         Reported by Mike Gran <spk121@yahoo.com>.
13611
13612 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
13613
13614         * build-aux/bootstrap: Use "git -h" for testing for supported options
13615         instead of "git --help".  The short-form option only shows a summary,
13616         and doesn't layout the full man page.  Grep for the full option name
13617         in the summary, too.
13618
13619 2010-04-19  Bruno Haible  <bruno@clisp.org>
13620
13621         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
13622         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
13623         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
13624         mention of RELOCATABLE_STRIP.
13625         Reported by Sylvain Beucler <beuc@beuc.net>.
13626
13627 2010-04-19  Bruno Haible  <bruno@clisp.org>
13628
13629         * lib/diffseq.h: Fix typo in comment.
13630         Reported by Eric Blake.
13631
13632 2010-04-19  Bruno Haible  <bruno@clisp.org>
13633
13634         ioctl: Move autoconf macro to a .m4 file.
13635         * m4/ioctl.m4: New file, extracted from modules/ioctl.
13636         * modules/ioctl (Files): Add it.
13637         (configure.ac): Simply invoke gl_FUNC_IOCTL.
13638         Reported by Ian Beckwith <ianb@erislabs.net>.
13639
13640 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
13641             Bruno Haible  <bruno@clisp.org>
13642
13643         diffseq: Accommodate use-case with abstract arrays.
13644         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
13645         is not defined.
13646         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
13647         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
13648
13649 2010-04-18  Bruno Haible  <bruno@clisp.org>
13650
13651         * doc/posix-headers/stdbool.texi: More precise wording.
13652
13653 2010-04-17  Jim Meyering  <meyering@redhat.com>
13654
13655         maint.mk: use gnu-style indentation in an embedded perl script
13656         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
13657         Rename variable: s/two/last_two_bytes/
13658
13659 2010-04-16  Eric Blake  <eblake@redhat.com>
13660
13661         test-stdbool: skip test that fails with Solaris CC
13662         * tests/test-stdbool.c (f): Skip test that causes compilation
13663         error under buggy C++ compiler.
13664         * lib/stdbool.in.h: Document the limitation.
13665         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
13666
13667         setenv: allow compilation with C++
13668         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
13669         register keyword.
13670
13671         stdint: allow test to pass with C++
13672         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
13673
13674         getopt: allow compilation with C++
13675         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
13676         struct.
13677         * lib/getopt.c (_getopt_internal_r): Use correct type.
13678         Reported by Dagobert Michelson, via Joel E. Denny.
13679
13680 2010-04-16  Bruno Haible  <bruno@clisp.org>
13681
13682         Override netdb.h always.
13683         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
13684         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
13685         Reported by Ludovic Courtès <ludo@gnu.org>.
13686
13687 2010-04-15  Bruno Haible  <bruno@clisp.org>
13688
13689         openpty: Fix mistake from 2010-03-21.
13690         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
13691         Reported by Simon Josefsson.
13692
13693 2010-04-15  Eric Blake  <eblake@redhat.com>
13694
13695         test-forkpty: fix expected signature
13696         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
13697         Reported by Simon Josefsson.
13698
13699 2010-04-15  Jim Meyering  <meyering@redhat.com>
13700
13701         maint.mk: texinfo_suffix_re_: correct the default regexp
13702         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
13703
13704         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
13705         make it configurable via texinfo_suffix_re_.
13706
13707 2010-04-14  Eric Blake  <eblake@redhat.com>
13708
13709         strtok_r: relax license to LGPLv2+
13710         * modules/strtok_r (License): Relax license.
13711         Reported by Matthias Bolte.
13712
13713 2010-04-14  Simon Josefsson  <simon@josefsson.org>
13714
13715         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
13716         version 1.4.4 by default instead of requiring the libgcrypt
13717         version used during build.  This makes it possible to use the
13718         application with older but still binary compatible libgcrypt
13719         versions.
13720
13721 2010-04-13  Eric Blake  <eblake@redhat.com>
13722
13723         getopt-gnu: match recent glibc fixes and posix ruling
13724         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
13725         '+' handling, when requesting extensions.
13726         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
13727         'W;' handling.
13728         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
13729         * doc/posix-functions/getopt.texi (getopt): Document this.
13730         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13731         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13732         Likewise.
13733
13734         getopt: merge bug fixes from glibc
13735         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
13736         diagnostics.  Honor '+:' correctly.  Reject ';'.
13737
13738         getopt-posix: detect MacOS bug
13739         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
13740         optind when missing a required argument.
13741         * doc/posix-functions/getopt.texi (getopt): Document the bug.
13742         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13743         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13744         Likewise.
13745
13746         getopt-posix: avoid spurious failure on Solaris
13747         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
13748         an indicator that setting optind=1 is sufficient for reset.
13749
13750         getopt-posix: avoid spurious failure on FreeBSD
13751         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
13752         in POSIX mode, since the m4 test uses it.
13753
13754         gnulib-tool: silence warning on BSD sh
13755         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
13756
13757 2010-04-13  Jim Meyering  <meyering@redhat.com>
13758
13759         doc: users.txt: GNU patch now uses gnulib
13760         * users.txt: Add patch.
13761
13762 2010-04-12  Jim Meyering  <meyering@redhat.com>
13763
13764         maint.mk: generate more concise timing data for syntax-check rules
13765         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
13766         " done" from each line that reports a syntax-check test duration.
13767
13768 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
13769
13770         git-version-gen: use "git update-index..." rather than "git status"
13771         * build-aux/git-version-gen: Use git update-index --refresh, not
13772         "git status".  With some versions of git, "git status" would fail
13773         to update the index and result in an unwarranted "-dirty" suffix.
13774
13775 2010-04-11  Jim Meyering  <meyering@redhat.com>
13776
13777         openat: correct formatting (no semantic change)
13778         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
13779         Suggested by Bruno Haible.
13780
13781 2010-04-11  Bruno Haible  <bruno@clisp.org>
13782
13783         Stricter declaration checking in testdirs.
13784         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13785         If for_tests is true, augment AM_CPPFLAGS to define
13786         GNULIB_STRICT_CHECKING.
13787         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
13788         GNULIB_STRICT_CHECKING is defined, verify that the function is
13789         declared.
13790
13791 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
13792             Bruno Haible  <bruno@clisp.org>
13793
13794         libunistring: Improve configure output.
13795         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
13796         Don't say "consider installing GNU libunistring" when checking again
13797         with libiconv.
13798
13799 2010-04-11  Bruno Haible  <bruno@clisp.org>
13800
13801         libunistring: Correct value of $LTLIBUNISTRING.
13802         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
13803         correct the value of $LTLIBUNISTRING.
13804
13805 2010-04-11  Bruno Haible  <bruno@clisp.org>
13806
13807         havelib: Add static libraries to LIBS in the right order.
13808         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
13809         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
13810
13811 2010-04-11  Bruno Haible  <bruno@clisp.org>
13812
13813         libunistring: Detect libunistring also when it depends on libiconv.
13814         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
13815         the second AC_LIB_HAVE_LINKFLAGS invocation.
13816
13817 2010-04-11  James Youngman  <jay@gnu.org>
13818
13819         close-stream: declare local scalars to be "const"
13820         * lib/close-stream.c (close_stream): Make boolean variables const
13821         to document the fact that we set but do not change them.
13822
13823 2010-04-11  Bruno Haible  <bruno@clisp.org>
13824
13825         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
13826
13827 2010-04-11  Jim Meyering  <meyering@redhat.com>
13828
13829         maint.mk: don't include dist-check.mk
13830         * top/maint.mk: Remove bogus include directive.
13831
13832         maint.mk: improve empty-line-at-EOF check
13833         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
13834         solution, rather than tail+Perl-based one.  The latter would read
13835         a few kilobytes from the end of each file, and did not handle empty
13836         files properly.
13837
13838         maint.mk: print the elapsed time for each syntax-check rule
13839         * top/maint.mk (sc_m_rules_): Save start time in a file.
13840         (sc_z_rules_): New rules: remove temp file and print elapsed time.
13841         (local-check): Interpose the .z rules
13842
13843 2010-04-11  Jim Meyering  <meyering@redhat.com>
13844
13845         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
13846         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
13847         empty file with one that ends in an empty line.
13848
13849 2010-04-10  Bruno Haible  <bruno@clisp.org>
13850
13851         mkdir: Make it work on mingw64.
13852         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
13853         * lib/mkdir.c: Update comment.
13854         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
13855
13856 2010-04-10  Bruno Haible  <bruno@clisp.org>
13857
13858         Don't override improved macro from newer autoconf.
13859         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
13860         autoconf >= 2.62.
13861         Reported by Joel E. Denny <jdenny@clemson.edu>.
13862
13863 2010-04-10  Jim Meyering  <meyering@redhat.com>
13864
13865         maint.mk: new syntax-check rule: prohibit empty lines at end of file
13866         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
13867
13868         maint.mk: correct a diagnostic
13869         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
13870         in diagnostic; now use $prohibit.
13871
13872 2010-04-10  Bruno Haible  <address@hidden>
13873
13874         fchownat: Fix a C++ test error on Solaris 8.
13875         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
13876         the function does not exist.
13877
13878 2010-04-10  Bruno Haible  <bruno@clisp.org>
13879
13880         vasnprintf: Add more tests.
13881         * tests/test-vasnprintf-posix.c: Include <errno.h>.
13882         (test_function): Test converting an invalid wide string.
13883
13884         vasnprintf: Correct handling of unconvertible wide string arguments.
13885         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
13886         VASNPRINTF.
13887         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
13888         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
13889         smaller than the expected maximum need for the directive. Set errno to
13890         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
13891         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
13892         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
13893         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
13894         * modules/vasnprintf (Files): Add m4/printf.m4.
13895         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13896
13897 2010-04-10  Bruno Haible  <bruno@clisp.org>
13898
13899         vasnprintf: Fix crash in %ls directive.
13900         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
13901         string is passed as argument to %ls, with no precision and no width.
13902         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13903
13904 2010-04-10  Bruno Haible  <bruno@clisp.org>
13905
13906         vasnprintf: Fix multiple test failures on mingw.
13907         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
13908         _snprintf, or snwprintf, not _snwprintf.
13909
13910 2010-04-10  Bruno Haible  <bruno@clisp.org>
13911
13912         write: Fix a C++ test error on mingw.
13913         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
13914
13915 2010-04-10  Bruno Haible  <bruno@clisp.org>
13916
13917         vasnprintf test: Reduce code duplication.
13918         * tests/test-vasnprintf.c (test_function): New function, extracted from
13919         test_vasnprintf.
13920         (test_vasnprintf, test_asnprintf): Invoke it.
13921
13922 2010-04-10  Bruno Haible  <bruno@clisp.org>
13923
13924         strnlen: Fix warning in C++ mode on MacOS X.
13925         * lib/string.in.h (strnlen): Use the modern idiom.
13926         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
13927         defining strnlen as a macro already in <config.h>.
13928         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13929         REPLACE_STRNLEN.
13930         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
13931         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13932
13933 2010-04-08  James Youngman  <jay@gnu.org>
13934
13935         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
13936         the example.
13937
13938 2010-04-09  Jim Meyering  <meyering@redhat.com>
13939
13940         maint.mk: print better diagnostic when there is no $(_hv_file)
13941         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
13942         announce that when $(_hv_file) (aka help-version) does not exist.
13943
13944         init.sh: run tr in the "C" locale to avoid multibyte interpretation
13945         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
13946         not try to interpret its random input bytes.  Jarno Rajahalme reported
13947         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
13948         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
13949         (mktempd_): Likewise, just in case.
13950
13951         ftruncate: add two years to projected module removal date: 2012
13952         * m4/ftruncate.m4: Adjust comments.
13953
13954         ftruncate: mark module as obsolete; even MinGW provides it, now
13955         * modules/ftruncate (Status): Obsolete.
13956         (Notice): Say that.
13957         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
13958         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
13959
13960 2010-04-08  Bruno Haible  <bruno@clisp.org>
13961
13962         Fix side effects from tests-related modules.
13963         * modules/dprintf-posix (Comment): New section.
13964         * modules/fprintf-posix (Comment): Likewise.
13965         * modules/obstack-printf-posix (Comment): Likewise.
13966         * modules/printf-posix (Comment): Likewise.
13967         * modules/snprintf-posix (Comment): Likewise.
13968         * modules/sprintf-posix (Comment): Likewise.
13969         * modules/vasnprintf-posix (Comment): Likewise.
13970         * modules/vasprintf-posix (Comment): Likewise.
13971         * modules/vdprintf-posix (Comment): Likewise.
13972         * modules/vfprintf-posix (Comment): Likewise.
13973         * modules/vprintf-posix (Comment): Likewise.
13974         * modules/vsnprintf-posix (Comment): Likewise.
13975         * modules/vsprintf-posix (Comment): Likewise.
13976         * modules/xprintf-posix (Comment): Likewise.
13977         * modules/xvasprintf-posix (Comment): Likewise.
13978         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
13979         * modules/floorf-tests (Depends-on): Likewise.
13980         * modules/round-tests (Depends-on): Likewise.
13981         * modules/roundf-tests (Depends-on): Likewise.
13982         * modules/trunc-tests (Depends-on): Likewise.
13983         * modules/truncf-tests (Depends-on): Likewise.
13984         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
13985         'fprintf-posix' module is not present.
13986         * tests/test-floorf2.c (check): Likewise.
13987         * tests/test-trunc2.c (check): Likewise.
13988         * tests/test-truncf2.c (check): Likewise.
13989         * tests/test-round2.c (equal): Likewise.
13990         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13991
13992 2010-04-07  Karl Berry  <karl@gnu.org>
13993
13994         * config/srclist.txt,
13995         * config/srclistvars.sh,
13996         * config/srclist-update: doc fixes.
13997
13998 2010-04-07  Jim Meyering  <meyering@redhat.com>
13999
14000         maint.mk: add a PATH crosschecking syntax-check rule
14001         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
14002         Useful if you use a test like the one in help-version (coreutils,
14003         diffutils, grep, gzip) that ensures $(VERSION) matches what is
14004         printed by prog --version.
14005
14006 2010-04-06  Bruno Haible  <bruno@clisp.org>
14007
14008         Fix link error on mingw.
14009         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
14010         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
14011
14012 2010-04-06  Bruno Haible  <bruno@clisp.org>
14013
14014         Assume rmdir exists.
14015         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
14016
14017 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
14018
14019         doc: update users.txt
14020         * users.txt: Add gcal.
14021
14022 2010-04-06  Jim Meyering  <meyering@redhat.com>
14023
14024         init.sh: simply unset TMPDIR rather than risking env -i
14025         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
14026         although it probably works fine on all Unix-based systems, some
14027         systems (Cygwin?) cannot tolerate a totally cleared environment.
14028         Suggestion from Eric Blake.
14029
14030 2010-04-06  Jim Meyering  <meyering@redhat.com>
14031
14032         init.sh: portability fix: use env's POSIX-specified -i option not -u
14033         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
14034         than unportable env -u.  Solaris 5.11's env lacks support for -u.
14035
14036 2010-04-05  Bruno Haible  <bruno@clisp.org>
14037
14038         btowc: Work around Cygwin 1.7.2 bug.
14039         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
14040         does not map NUL to 0.
14041         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
14042
14043 2010-04-05  Bruno Haible  <bruno@clisp.org>
14044
14045         Make the multithread modules work on Cygwin 1.7.2.
14046         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
14047         imported symbols can be declared weak, so that it returns "no" on
14048         Cygwin 1.7.2.
14049
14050 2010-04-05  Bruno Haible  <bruno@clisp.org>
14051
14052         Use the module 'strncat'.
14053         * modules/unistr/u8-strncat (Depends-on): Add strncat.
14054
14055         Tests for module 'strncat'.
14056         * modules/strncat-tests: New file.
14057         * tests/test-strncat.c: New file.
14058
14059         New module 'strncat'.
14060         * lib/string.in.h (strncat): New declaration.
14061         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
14062         * m4/strncat.m4: New file, based on m4/memchr.m4.
14063         * modules/strncat: New file.
14064         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
14065         is declared.
14066         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
14067         REPLACE_STRNCAT.
14068         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
14069         REPLACE_STRNCAT.
14070         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
14071         module.
14072         * tests/test-string-c++.cc: Check signature of strncat.
14073
14074 2010-04-05  Jim Meyering  <meyering@redhat.com>
14075
14076         xstrtoumax-tests: convert to use init.sh
14077         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
14078         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14079         Use Exit, not exit.
14080         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14081
14082         xstrtoimax-tests: convert to use init.sh
14083         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
14084         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14085         Use Exit, not exit.
14086         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14087
14088 2010-04-05  Bruno Haible  <bruno@clisp.org>
14089
14090         sys_socket: Avoid #define replacements in C++ mode.
14091         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
14092         warning to the function if possible, rather than #defining the symbol
14093         to a dysfunctional alias.
14094
14095 2010-04-05  Bruno Haible  <bruno@clisp.org>
14096
14097         fseeko: Fix C++ test error on mingw.
14098         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
14099         gl_FUNC_FSEEKO.
14100         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
14101         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
14102         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
14103         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
14104
14105 2010-04-05  Bruno Haible  <bruno@clisp.org>
14106
14107         duplocale: Improve test output.
14108         * tests/test-duplocale.c (main): Print reason for skipped test.
14109
14110 2010-04-05  Bruno Haible  <bruno@clisp.org>
14111
14112         Assume rmdir exists.
14113         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
14114         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
14115
14116 2010-04-05  Bruno Haible  <bruno@clisp.org>
14117
14118         Fix link error on Solaris 8 with cc.
14119         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
14120
14121 2010-04-05  Bruno Haible  <bruno@clisp.org>
14122
14123         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
14124         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
14125
14126 2010-04-05  Bruno Haible  <bruno@clisp.org>
14127
14128         vasprintf: Update documentation.
14129         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
14130
14131 2010-04-05  Bruno Haible  <bruno@clisp.org>
14132
14133         ptsname: Improve test.
14134         * tests/test-ptsname.c (main): Also try the various master names of BSD
14135         systems.
14136
14137 2010-04-05  Bruno Haible  <bruno@clisp.org>
14138
14139         memchr: Avoid a possible C++ test error.
14140         * lib/string.in.h (memchr): Provide declaration if function is missing.
14141         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
14142         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
14143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
14144         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
14145
14146 2010-04-05  Bruno Haible  <bruno@clisp.org>
14147
14148         strtok_r: Improve idiom.
14149         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
14150         AC_LIBOBJ is used.
14151
14152 2010-04-05  Bruno Haible  <bruno@clisp.org>
14153
14154         strdup: Improve idiom.
14155         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
14156         AC_LIBOBJ is used.
14157         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
14158         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
14159         when AC_LIBOBJ is used.
14160
14161 2010-04-05  Bruno Haible  <bruno@clisp.org>
14162
14163         mbsinit, mbrtowc, wcrtomb: Improve idioms.
14164         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
14165         don't set REPLACE_MBSINIT to 1.
14166         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
14167         don't set REPLACE_MBRTOWC to 1.
14168         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
14169         exist, don't set REPLACE_MBSRTOWCS to 1.
14170         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
14171         exist, don't set REPLACE_MBSNRTOWCS to 1.
14172         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
14173         don't set REPLACE_WCRTOMB to 1.
14174         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
14175         exist, don't set REPLACE_WCSRTOMBS to 1.
14176         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
14177         exist, don't set REPLACE_WCSNRTOMBS to 1.
14178
14179 2010-04-05  Bruno Haible  <bruno@clisp.org>
14180
14181         ldexpl: Improve idiom.
14182         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
14183         make sure to set HAVE_DECL_LDEXPL to 0.
14184
14185 2010-04-05  Jim Meyering  <meyering@redhat.com>
14186
14187         xstrtol-tests: convert to use init.sh
14188         * modules/xstrtol-tests (Files): Add tests/init.sh.
14189         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14190         Use Exit, not exit.
14191         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14192
14193         atexit-tests: convert to use init.sh
14194         * modules/atexit-tests (Files): Add tests/init.sh.
14195         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14196         Use Exit, not exit.
14197         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14198
14199         init.sh: fix typo
14200         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
14201
14202         init.sh: make it easier for a test script to write to the tty, ...
14203         when using automake's parallel-tests mode.
14204         * tests/init.sh (stderr_fileno_): Define overridable variable.
14205         (warn_): New function, to use it.
14206         (fail_, skip_, framework_failure_): Use warn_.
14207
14208 2010-04-04  Bruno Haible  <bruno@clisp.org>
14209
14210         btowc: Avoid warning.
14211         * lib/btowc.c: Include <stdlib.h>.
14212         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
14213
14214 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
14215             Bruno Haible  <bruno@clisp.org>
14216
14217         wchar: Port to NetBSD 1.5.
14218         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
14219         * lib/wctype.in.h (WEOF): Likewise.
14220
14221 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
14222             Bruno Haible  <bruno@clisp.org>
14223
14224         Port extended stdio to NetBSD 1.5.
14225         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
14226         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
14227         older.
14228
14229 2010-04-04  Bruno Haible  <bruno@clisp.org>
14230
14231         string: Remove unused substitution.
14232         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
14233         HAVE_DECL_STRERROR.
14234         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
14235
14236 2010-04-04  Bruno Haible  <bruno@clisp.org>
14237
14238         strtod: Avoid a possible C++ test error.
14239         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
14240         set REPLACE_STRTOD.
14241
14242 2010-04-04  Bruno Haible  <bruno@clisp.org>
14243
14244         strerror: Update documentation.
14245         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
14246
14247 2010-04-04  Bruno Haible  <bruno@clisp.org>
14248
14249         stdio: Fix some C++ test errors on Solaris 8 with GCC.
14250         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
14251         _GL_CXXALIAS_SYS_CAST.
14252
14253 2010-04-04  Bruno Haible  <bruno@clisp.org>
14254
14255         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
14256         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
14257         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
14258         REPLACE_FREXPL to 1.
14259         * doc/posix-functions/frexpl.texi: Update documentation.
14260
14261 2010-04-04  Bruno Haible  <bruno@clisp.org>
14262
14263         math: Fix some C++ test errors on Solaris 8 and Cygwin.
14264         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
14265
14266 2010-04-04  Bruno Haible  <bruno@clisp.org>
14267
14268         Implement nanosleep for native Windows.
14269         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
14270
14271 2010-04-04  Bruno Haible  <bruno@clisp.org>
14272
14273         math: Fix some C++ test errors on Solaris 8.
14274         * lib/math.in.h (truncf, trunc): Use simpler idiom.
14275
14276 2010-04-04  Bruno Haible  <bruno@clisp.org>
14277
14278         math: Fix some C++ test errors on Cygwin.
14279         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
14280         truncl): Provide declaration if the system does not have it.
14281         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
14282         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
14283         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
14284         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
14285         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
14286         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
14287         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
14288         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
14289         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
14290         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
14291         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
14292         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
14293         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
14294         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
14295         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
14296         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
14297         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
14298         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
14299         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
14300         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
14301         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
14302         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
14303
14304 2010-04-04  Bruno Haible  <bruno@clisp.org>
14305
14306         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
14307         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14308         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14309         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14310         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14311         * m4/isinf.m4 (gl_ISINF): Likewise.
14312         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14313
14314 2010-04-04  Bruno Haible  <bruno@clisp.org>
14315
14316         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
14317         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14318
14319 2010-04-04  Bruno Haible  <bruno@clisp.org>
14320
14321         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
14322         * modules/tmpfile (configure.ac): Update.
14323
14324         tmpfile: Fix C++ test error on mingw.
14325         * lib/stdio.in.h (tmpfile): New declaration.
14326         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
14327         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
14328         * modules/tmpfile (Depends-on): Add stdio.
14329         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
14330         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
14331         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
14332         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
14333         REPLACE_TMPFILE.
14334         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
14335
14336 2010-04-04  Bruno Haible  <bruno@clisp.org>
14337
14338         ioctl: Fix C++ test error on mingw.
14339         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
14340         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
14341         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
14342
14343 2010-04-03  Bruno Haible  <bruno@clisp.org>
14344
14345         wcwidth: Fix C++ test error on mingw.
14346         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
14347         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
14348         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
14349
14350 2010-04-03  Bruno Haible  <bruno@clisp.org>
14351
14352         nanosleep: Fix C++ test error on mingw.
14353         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
14354         * lib/time.in.h (nanosleep): Use modern idiom.
14355         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
14356         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
14357         REPLACE_NANOSLEEP to 1.
14358         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
14359         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
14360
14361 2010-04-03  Bruno Haible  <bruno@clisp.org>
14362
14363         strptime: Fix C++ test error on mingw.
14364         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
14365         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
14366         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
14367         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
14368         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
14369         not REPLACE_STRPTIME.
14370         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
14371         REPLACE_STRPTIME.
14372
14373 2010-04-03  Bruno Haible  <bruno@clisp.org>
14374
14375         timegm: Fix C++ test error on mingw.
14376         * lib/time.in.h (timegm): Use modern idiom.
14377         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
14378         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
14379         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
14380         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
14381
14382 2010-04-03  Bruno Haible  <bruno@clisp.org>
14383
14384         timegm: Assume declaration if function exists.
14385         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
14386         if it exists. Don't clobber ac_cv_func_timegm.
14387
14388 2010-04-03  Bruno Haible  <bruno@clisp.org>
14389
14390         time_r: Fix C++ test error on mingw.
14391         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
14392         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
14393         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
14394         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
14395         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
14396
14397 2010-04-03  Bruno Haible  <bruno@clisp.org>
14398
14399         time_r: Minor updates.
14400         * modules/time_r (Description): Mention the provided functions.
14401         * lib/time_r.c: Don't include <string.h>.
14402         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
14403         * doc/posix-functions/localtime_r.texi: Likewise.
14404
14405 2010-04-03  Bruno Haible  <bruno@clisp.org>
14406
14407         time: Fix regression introduced on 2010-03-08.
14408         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
14409         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
14410
14411 2010-04-03  Jim Meyering  <meyering@redhat.com>
14412
14413         maint.mk: don't silently disable project-specific syntax-check rules
14414         * top/maint.mk (_prohibit_regexp): Define, to help people realize
14415         that they need to convert their project-specific syntax-check rules
14416         to use the new _sc_search_regexp.
14417
14418 2010-04-03  Bruno Haible  <bruno@clisp.org>
14419
14420         fchdir: Fix regression introduced on 2010-03-08.
14421         * lib/unistd.in.h (fchdir): Fix declaration.
14422         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
14423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
14424         REPLACE_FCHDIR.
14425         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
14426         REPLACE_FCHDIR.
14427
14428 2010-04-03  Bruno Haible  <bruno@clisp.org>
14429
14430         getpagesize: Fix C++ test error on mingw.
14431         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
14432         system does not declare the function.
14433         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
14434         declared.
14435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14436         HAVE_DECL_GETPAGESIZE.
14437         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
14438
14439 2010-04-03  Bruno Haible  <bruno@clisp.org>
14440
14441         stdio: Make C++ tests work on mingw.
14442         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
14443         does not declare the function.
14444
14445 2010-04-03  Bruno Haible  <bruno@clisp.org>
14446
14447         ftello: Fix C++ test error on mingw.
14448         * lib/stdio.in.h (ftello): Use modern idiom.
14449         * lib/ftello.c (ftello): Renamed from rpl_ftello.
14450         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
14451         is missing and that it needs to be replaced.
14452         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
14453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
14454         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
14455
14456 2010-04-03  Bruno Haible  <bruno@clisp.org>
14457
14458         fseeko: Fix C++ test error on mingw.
14459         * lib/stdio.in.h (fseeko): Use modern idiom.
14460         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
14461         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
14462         is missing and that it needs to be replaced.
14463         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
14464         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
14465         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
14466
14467 2010-04-03  Bruno Haible  <bruno@clisp.org>
14468
14469         mkstemp: Fix C++ test error on mingw.
14470         * lib/stdlib.in.h (mkstemp): Use modern idiom.
14471         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
14472         function is missing and that it needs to be replaced.
14473         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
14474         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
14475
14476 2010-04-03  Bruno Haible  <bruno@clisp.org>
14477
14478         stpncpy: Fix C++ test error on mingw.
14479         * lib/string.in.h (stpncpy): Use modern idiom.
14480         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
14481         function is missing and that it needs to be replaced.
14482         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14483         REPLACE_STPNCPY.
14484         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
14485
14486 2010-04-03  Bruno Haible  <bruno@clisp.org>
14487
14488         sys_stat: Fix C++ test error on mingw.
14489         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
14490         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
14491
14492 2010-04-03  Bruno Haible  <bruno@clisp.org>
14493
14494         pty: Update doc.
14495         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
14496
14497 2010-04-03  Bruno Haible  <bruno@clisp.org>
14498
14499         unistd: Fix C++ test error on mingw.
14500         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
14501
14502 2010-04-03  Bruno Haible  <bruno@clisp.org>
14503
14504         Update doc regarding mingw.
14505         * doc/glibc-functions/openpty.texi: Update regarding mingw.
14506         * doc/glibc-functions/login_tty.texi: Likewise.
14507         * doc/glibc-functions/forkpty.texi: Likewise.
14508
14509 2010-04-03  Bruno Haible  <bruno@clisp.org>
14510
14511         stdlib: Avoid compilation failure of c-strtold on mingw.
14512         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
14513
14514 2010-04-03  Bruno Haible  <bruno@clisp.org>
14515
14516         locale: Make C++ tests work on Cygwin and mingw.
14517         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
14518         cannot provide the function.
14519         Reported by Simon Josefsson.
14520
14521 2010-04-03  Bruno Haible  <bruno@clisp.org>
14522
14523         localename: Port to MacOS X 10.6.
14524         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
14525         memory layout of the locales in MacOS X 10.6 as well.
14526         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
14527
14528 2010-04-02  Bruno Haible  <bruno@clisp.org>
14529
14530         gnulib-tool: Ensure that long-running tests are executed last.
14531         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
14532         running tests after the one for the other tests.
14533
14534 2010-04-02  Bruno Haible  <bruno@clisp.org>
14535
14536         gnulib-tool: Ensure the tests in the main directory are executed first.
14537         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
14538         start with the current directory.
14539
14540 2010-04-02  Bruno Haible  <bruno@clisp.org>
14541
14542         Tests for module 'havelib', moved here from GNU gettext.
14543         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
14544         modifications.
14545         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
14546         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
14547         with modifications.
14548         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
14549         modifications.
14550         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
14551         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
14552         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
14553         with modifications.
14554         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
14555         with modifications.
14556         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
14557         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
14558         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
14559         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
14560         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
14561         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
14562         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
14563         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
14564         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
14565         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
14566         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
14567         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
14568         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
14569         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
14570         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
14571         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
14572         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
14573         with modifications.
14574         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
14575         with modifications.
14576         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
14577         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
14578         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
14579         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
14580         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
14581         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
14582         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
14583         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
14584         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
14585         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
14586         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
14587         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
14588         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
14589         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
14590         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
14591         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
14592         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
14593         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
14594         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
14595         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
14596         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
14597         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
14598         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
14599         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
14600         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
14601         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
14602         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
14603         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
14604         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
14605         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
14606         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
14607         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
14608         * tests/havelib/rpathx/rpathx.c: New file, from
14609         gettext/autoconf-lib-link.
14610         * tests/havelib/rpathx/Makefile.am: New file, from
14611         gettext/autoconf-lib-link.
14612         * tests/havelib/rpathx/configure.ac: New file, from
14613         gettext/autoconf-lib-link with modifications.
14614         * tests/havelib/rpathy/rpathy.c: New file, from
14615         gettext/autoconf-lib-link.
14616         * tests/havelib/rpathy/Makefile.am: New file, from
14617         gettext/autoconf-lib-link.
14618         * tests/havelib/rpathy/configure.ac: New file, from
14619         gettext/autoconf-lib-link with modifications.
14620         * tests/havelib/rpathz/rpathz.c: New file, from
14621         gettext/autoconf-lib-link.
14622         * tests/havelib/rpathz/Makefile.am: New file, from
14623         gettext/autoconf-lib-link.
14624         * tests/havelib/rpathz/configure.ac: New file, from
14625         gettext/autoconf-lib-link with modifications.
14626         * tests/havelib/rpathlx/usex.c: New file, from
14627         gettext/autoconf-lib-link.
14628         * tests/havelib/rpathlx/Makefile.am: New file, from
14629         gettext/autoconf-lib-link.
14630         * tests/havelib/rpathlx/configure.ac: New file, from
14631         gettext/autoconf-lib-link with modifications.
14632         * tests/havelib/rpathly/usey.c: New file, from
14633         gettext/autoconf-lib-link.
14634         * tests/havelib/rpathly/Makefile.am: New file, from
14635         gettext/autoconf-lib-link.
14636         * tests/havelib/rpathly/configure.ac: New file, from
14637         gettext/autoconf-lib-link with modifications.
14638         * tests/havelib/rpathlz/usez.c: New file, from
14639         gettext/autoconf-lib-link.
14640         * tests/havelib/rpathlz/Makefile.am: New file, from
14641         gettext/autoconf-lib-link.
14642         * tests/havelib/rpathlz/configure.ac: New file, from
14643         gettext/autoconf-lib-link with modifications.
14644         * tests/havelib/rpathlyx/usey.c: New file, from
14645         gettext/autoconf-lib-link.
14646         * tests/havelib/rpathlyx/Makefile.am: New file, from
14647         gettext/autoconf-lib-link.
14648         * tests/havelib/rpathlyx/configure.ac: New file, from
14649         gettext/autoconf-lib-link with modifications.
14650         * tests/havelib/rpathlzyx/usez.c: New file, from
14651         gettext/autoconf-lib-link.
14652         * tests/havelib/rpathlzyx/Makefile.am: New file, from
14653         gettext/autoconf-lib-link.
14654         * tests/havelib/rpathlzyx/configure.ac: New file, from
14655         gettext/autoconf-lib-link with modifications.
14656         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
14657         with modifications.
14658
14659 2010-04-02  Bruno Haible  <bruno@clisp.org>
14660
14661         gnulib-tool: Create distributed built sources also for the tests.
14662         * gnulib-tool (func_create_testdir): Also generate distributed built
14663         sources in the tests directory.
14664
14665 2010-04-02  Bruno Haible  <bruno@clisp.org>
14666
14667         gnulib-tool: Obey user's environment variables.
14668         * gnulib-tool (func_create_testdir): When creating built sources,
14669         respect the environment variables for autoconf, automake, etc. given by
14670         the user.
14671
14672 2010-04-02  Bruno Haible  <bruno@clisp.org>
14673
14674         gnulib-tool: Provide the value of --m4-base to modules.
14675         * gnulib-tool (func_import, func_create_testdir): Emit a definition
14676         of gl_m4_base.
14677
14678 2010-04-02  Eric Blake  <eblake@redhat.com>
14679
14680         maint.mk: fix some fallout
14681         * NEWS: Document the incompatible change, and its effect on cfg.mk.
14682         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
14683
14684 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14685
14686         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
14687         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
14688         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
14689         (sc_cast_of_x_alloc_return_value): Likewise.
14690         (sc_cast_of_alloca_return_value): Likewise.
14691         (sc_space_tab): Likewise.
14692         (sc_prohibit_atoi_atof): Likewise.
14693         (sc_prohibit_magic_number_exit): Likewise.
14694         (sc_error_exit_success): Likewise.
14695         (sc_file_system): Likewise.
14696         (sc_prohibit_have_config_h): Likewise.
14697         (sc_require_config_h): Likewise.
14698         (sc_prohibit_HAVE_MBRTOWC): Likewise.
14699         (sc_obsolete_symbols): Likewise.
14700         (sc_changelog): Likewise.
14701         (sc_program_name): Likewise.
14702         (sc_the_the): Likewise.
14703         (sc_trailing_blank): Likewise.
14704         (sc_two_space_separator_in_usage): Likewise.
14705         (sc_useless_cpp_parens): Likewise.
14706         (sc_GPL_version): Likewise.
14707         (sc_GFDL_version): Likewise.
14708         (sc_texinfo_acronym): Likewise.
14709         (sc_prohibit_cvs_keyword): Likewise.
14710         (sc_prohibit_stat_st_blocks): Likewise.
14711         (sc_prohibit_S_IS_definition): Likewise.
14712         (sc_redundant_const): Likewise.
14713         (sc_makefile_TAB_only_indentation): Likewise.
14714         (sc_m4_quote_check): Likewise.
14715         (sc_makefile_path_separator_check): Likewise.
14716         (sc_copyright_check): Likewise.
14717         (sc_Wundef_boolean): Likewise.
14718         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
14719
14720         maint.mk: match 0 or more whitespace-before-function-call '('
14721         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
14722         that have zero or two-and-more spaces between the function name
14723         and the open parenthesis.
14724         (sc_error_message_warn_fatal): Likewise.
14725         (sc_error_message_uppercase): Likewise.
14726         (sc_error_message_period): Likewise.
14727
14728 2010-03-31  Eric Blake  <eblake@redhat.com>
14729
14730         maint.mk: check for [ as well as test
14731         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
14732         Based on a libvirt report by Matthias Bolte.
14733
14734         gnumakefile: don't squelch _version output
14735         * top/GNUmakefile (_version): Create one-shot dependency rather
14736         than using $(shell) when version must be regenerated.
14737         (_autoreconf): Run verbosely, by default.
14738
14739         sys_time: avoid compiler warnings
14740         * lib/sys_time.in.h (includes): Ensure gcc pragma is
14741         unconditional, fixing regression from 2010-03-29.
14742         Reported by Simon Josefsson.
14743
14744 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14745
14746         maint.mk: s/_header_without_use/_sc_header_without_use/
14747         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
14748         (sc_prohibit_assert_without_use): Use the new name.
14749         (sc_prohibit_close_stream_without_use): Likewise.
14750         (sc_prohibit_getopt_without_use): Likewise.
14751         (sc_prohibit_quotearg_without_use): Likewise.
14752         (sc_prohibit_quote_without_use): Likewise.
14753         (sc_prohibit_long_options_without_use): Likewise.
14754         (sc_prohibit_inttostr_without_use): Likewise.
14755         (sc_prohibit_ignore_value_without_use): Likewise.
14756         (sc_prohibit_error_without_use): Likewise.
14757         (sc_prohibit_xalloc_without_use): Likewise.
14758         (sc_prohibit_hash_without_use): Likewise.
14759         (sc_prohibit_hash_pjw_without_use): Likewise.
14760         (sc_prohibit_safe_read_without_use): Likewise.
14761         (sc_prohibit_argmatch_without_use): Likewise.
14762         (sc_prohibit_canonicalize_without_use): Likewise.
14763         (sc_prohibit_root_dev_ino_without_use): Likewise.
14764         (sc_prohibit_openat_without_use): Likewise.
14765         (sc_prohibit_c_ctype_without_use): Likewise.
14766         (sc_prohibit_signal_without_use): Likewise.
14767         (sc_prohibit_intprops_without_use): Likewise.
14768
14769 2010-03-30  Eric Blake  <eblake@redhat.com>
14770
14771         maint: improve module indicators
14772         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
14773         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
14774         columns, and avoid extra macro expansion.
14775
14776         fdopendir: work around FreeBSD bug
14777         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
14778         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
14779         * modules/dirent (Makefile.am): Substitute it.
14780         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
14781         declaration.
14782         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
14783         fix.
14784         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14785
14786 2010-03-29  Bruno Haible  <bruno@clisp.org>
14787
14788         Emit #pragma system_header after the inclusion guard, not before.
14789         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
14790         guard that spans the entire file, not before. This enables an
14791         optimization in GCC's preprocessor.
14792         * lib/ctype.in.h: Likewise.
14793         * lib/dirent.in.h: Likewise.
14794         * lib/errno.in.h: Likewise.
14795         * lib/float.in.h: Likewise.
14796         * lib/getopt.in.h: Likewise.
14797         * lib/iconv.in.h: Likewise.
14798         * lib/langinfo.in.h: Likewise.
14799         * lib/locale.in.h: Likewise.
14800         * lib/math.in.h: Likewise.
14801         * lib/netdb.in.h: Likewise.
14802         * lib/netinet_in.in.h: Likewise.
14803         * lib/pty.in.h: Likewise.
14804         * lib/sched.in.h: Likewise.
14805         * lib/se-selinux.in.h: Likewise.
14806         * lib/search.in.h: Likewise.
14807         * lib/spawn.in.h: Likewise.
14808         * lib/stdarg.in.h: Likewise.
14809         * lib/stdint.in.h: Likewise.
14810         * lib/string.in.h: Likewise.
14811         * lib/strings.in.h: Likewise.
14812         * lib/sys_file.in.h: Likewise.
14813         * lib/sys_ioctl.in.h: Likewise.
14814         * lib/sys_time.in.h: Likewise.
14815         * lib/sys_times.in.h: Likewise.
14816         * lib/sys_utsname.in.h: Likewise.
14817         * lib/sys_wait.in.h: Likewise.
14818         * lib/sysexits.in.h: Likewise.
14819         * lib/wctype.in.h: Likewise.
14820
14821 2010-03-28  James Youngman  <jay@gnu.org>
14822
14823         save-cwd: don't leak a file descriptor when the caller execs.
14824         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
14825         saved file descriptor.
14826         * modules/save-cwd (Depends-on): Depend on cloexec.
14827
14828 2010-03-29  Bruno Haible  <bruno@clisp.org>
14829
14830         Remove vestiges of fts-lgpl module.
14831         * lib/fts_.h: Assume GNULIB_FTS is 1.
14832         * lib/fts.c: Likewise.
14833         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
14834
14835 2010-03-28  Bruno Haible  <bruno@clisp.org>
14836
14837         Fix definition of tests witness macro.
14838         * gnulib-tool (func_import): Fix definition of witness macro.
14839
14840 2010-03-28  Bruno Haible  <bruno@clisp.org>
14841
14842         Fix ioctl's protoype on glibc systems.
14843         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
14844         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
14845         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
14846         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
14847         signature. If not, arrange to replace the ioctl function.
14848         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
14849         REPLACE_IOCTL.
14850         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
14851         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
14852         Reported by Ludovic Courtès <ludo@gnu.org>.
14853
14854 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
14855
14856         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
14857         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
14858         made it so grep -r --include=GLOB* ... did not work.
14859
14860 2010-03-26  Jim Meyering  <meyering@redhat.com>
14861             Eric Blake  <eblake@redhat.com>
14862
14863         maint.mk: prohibit use of test's -o and -a operators
14864         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
14865
14866 2010-03-28  Bruno Haible  <bruno@clisp.org>
14867
14868         Remove unused GNULIB_XYZ macro definitions.
14869         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
14870         invocation.
14871
14872 2010-03-28  Bruno Haible  <bruno@clisp.org>
14873
14874         Mark privileged tests modules.
14875         * modules/idpriv-drop-tests (Status): New section.
14876         * modules/idpriv-droptemp-tests (Status): New section.
14877
14878 2010-03-28  Bruno Haible  <bruno@clisp.org>
14879
14880         Split C++ tests into separate tests modules.
14881         * modules/dirent-c++-tests: New file, extracted from
14882         modules/dirent-tests.
14883         * modules/dirent-tests: Depend on it.
14884         * modules/fcntl-h-c++-tests: New file, extracted from
14885         modules/fcntl-h-tests.
14886         * modules/fcntl-h-tests: Depend on it.
14887         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
14888         * modules/glob-tests: Depend on it.
14889         * modules/iconv-h-c++-tests: New file, extracted from
14890         modules/iconv-h-tests.
14891         * modules/iconv-h-tests: Depend on it.
14892         * modules/langinfo-c++-tests: New file, extracted from
14893         modules/langinfo-tests.
14894         * modules/langinfo-tests: Depend on it.
14895         * modules/locale-c++-tests: New file, extracted from
14896         modules/locale-tests.
14897         * modules/locale-tests: Depend on it.
14898         * modules/math-c++-tests: New file, extracted from modules/math-tests.
14899         * modules/math-tests: Depend on it.
14900         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
14901         * modules/pty-tests: Depend on it.
14902         * modules/search-c++-tests: New file, extracted from
14903         modules/search-tests.
14904         * modules/search-tests: Depend on it.
14905         * modules/signal-c++-tests: New file, extracted from
14906         modules/signal-tests.
14907         * modules/signal-tests: Depend on it.
14908         * modules/spawn-c++-tests: New file, extracted from
14909         modules/spawn-tests.
14910         * modules/spawn-tests: Depend on it.
14911         * modules/stdio-c++-tests: New file, extracted from
14912         modules/stdio-tests.
14913         * modules/stdio-tests: Depend on it.
14914         * modules/stdlib-c++-tests: New file, extracted from
14915         modules/stdlib-tests.
14916         * modules/stdlib-tests: Depend on it.
14917         * modules/string-c++-tests: New file, extracted from
14918         modules/string-tests.
14919         * modules/string-tests: Depend on it.
14920         * modules/sys_ioctl-c++-tests: New file, extracted from
14921         modules/sys_ioctl-tests.
14922         * modules/sys_ioctl-tests: Depend on it.
14923         * modules/sys_select-c++-tests: New file, extracted from
14924         modules/sys_select-tests.
14925         * modules/sys_select-tests: Depend on it.
14926         * modules/sys_socket-c++-tests: New file, extracted from
14927         modules/sys_socket-tests.
14928         * modules/sys_socket-tests: Depend on it.
14929         * modules/sys_stat-c++-tests: New file, extracted from
14930         modules/sys_stat-tests.
14931         * modules/sys_stat-tests: Depend on it.
14932         * modules/sys_time-c++-tests: New file, extracted from
14933         modules/sys_time-tests.
14934         * modules/sys_time-tests: Depend on it.
14935         * modules/time-c++-tests: New file, extracted from modules/time-tests.
14936         * modules/time-tests: Depend on it.
14937         * modules/unistd-c++-tests: New file, extracted from
14938         modules/unistd-tests.
14939         * modules/unistd-tests: Depend on it.
14940         * modules/wchar-c++-tests: New file, extracted from
14941         modules/wchar-tests.
14942         * modules/wchar-tests: Depend on it.
14943         * modules/wctype-c++-tests: New file, extracted from
14944         modules/wctype-tests.
14945         * modules/wctype-tests: Depend on it.
14946         Reported by Simon Josefsson.
14947
14948 2010-03-28  Bruno Haible  <bruno@clisp.org>
14949
14950         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
14951         * gnulib-tool (func_exists_module): New function, extracted from
14952         func_verify_module.
14953         (func_verify_module): Use it.
14954         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
14955         'foo' only if 'foo' exists.
14956         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
14957         module.
14958
14959 2010-03-28  Bruno Haible  <bruno@clisp.org>
14960
14961         gnulib-tool: Add support for special categories of tests.
14962         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
14963         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
14964         (func_usage): Document them.
14965         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
14966         inc_unportable_tests, inc_all_tests): New variables.
14967         (func_acceptable): Consider these variables.
14968         (func_modules_transitive_closure): Make it work when the 'Status' field
14969         consists of multiple words.
14970         (func_import): Store and restore the values of inc_cxx_tests,
14971         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
14972         inc_all_tests in gnulib-comp.m4.
14973         (func_create_testdir): Set inc_all_tests to true.
14974         * doc/gnulib.texi (Extra tests modules): New section.
14975         Suggested by Jim Meyering.
14976
14977 2010-03-28  Bruno Haible  <bruno@clisp.org>
14978
14979         ansi-c++-opt: Allow turning off the C++ build by default.
14980         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
14981         gl_CXX_CHOICE_DEFAULT_NO is defined.
14982         Requested by Eric Blake.
14983
14984 2010-03-28  Bruno Haible  <bruno@clisp.org>
14985
14986         unistd: Avoid #define replacements in C++ mode.
14987         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
14988         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
14989         setsockopt, shutdown, select): In C++, attach a warning to the function
14990         if possible, rather than #defining the symbol to a dysfunctional alias.
14991         Reported by John W. Eaton <jwe@gnu.org>.
14992
14993 2010-03-28  Bruno Haible  <bruno@clisp.org>
14994
14995         Fix link errors on mingw.
14996         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
14997         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
14998         $(LIBSOCKET).
14999         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
15000         $(LIBSOCKET).
15001
15002 2010-03-28  Bruno Haible  <bruno@clisp.org>
15003             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15004
15005         lib-ignore: Determine different options for different compilers.
15006         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
15007         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
15008         Add comments.
15009         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
15010         * NEWS: Mention the change.
15011
15012 2010-03-27  Bruno Haible  <bruno@clisp.org>
15013
15014         Remove unused GNULIB_XYZ macro definitions.
15015         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15016         * modules/fseek (configure.ac): Likewise.
15017         * modules/ioctl (configure.ac): Likewise.
15018         * modules/open (configure.ac): Likewise.
15019         * modules/stdlib-safer (configure.ac): Likewise.
15020
15021 2010-03-27  Bruno Haible  <bruno@clisp.org>
15022
15023         Add a remark about certain modules.
15024         * modules/malloc (Comment): New section.
15025         * modules/realloc (Comment): Likewise.
15026         * modules/sigpipe (Comment): Likewise.
15027
15028 2010-03-27  Bruno Haible  <bruno@clisp.org>
15029
15030         Resolve conflict between the two kinds of module indicators.
15031         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
15032         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
15033         * modules/canonicalize (configure.ac): Invoke
15034         gl_MODULE_INDICATOR_FOR_TESTS.
15035         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
15036         GNULIB_XYZ.
15037         * tests/test-dirent-c++.cc: Likewise.
15038         * tests/test-dirent-safer.c: Likewise.
15039         * tests/test-dup2.c: Likewise.
15040         * tests/test-fchdir.c: Likewise.
15041         * tests/test-fcntl-h-c++.cc: Likewise.
15042         * tests/test-getopt.c: Likewise.
15043         * tests/test-getopt.h: Likewise.
15044         * tests/test-langinfo-c++.cc: Likewise.
15045         * tests/test-locale-c++.cc: Likewise.
15046         * tests/test-math-c++.cc: Likewise.
15047         * tests/test-pty-c++.cc: Likewise.
15048         * tests/test-search-c++.cc: Likewise.
15049         * tests/test-signal-c++.cc: Likewise.
15050         * tests/test-spawn-c++.cc: Likewise.
15051         * tests/test-stdio-c++.cc: Likewise.
15052         * tests/test-stdlib-c++.cc: Likewise.
15053         * tests/test-string-c++.cc: Likewise.
15054         * tests/test-sys_ioctl-c++.cc: Likewise.
15055         * tests/test-sys_select-c++.cc: Likewise.
15056         * tests/test-sys_socket-c++.cc: Likewise.
15057         * tests/test-sys_stat-c++.cc: Likewise.
15058         * tests/test-sys_time-c++.cc: Likewise.
15059         * tests/test-time-c++.cc: Likewise.
15060         * tests/test-unistd-c++.cc: Likewise.
15061         * tests/test-wchar-c++.cc: Likewise.
15062         * tests/uninorm/test-u8-nfc.c: Likewise.
15063         * tests/uninorm/test-u8-nfd.c: Likewise.
15064         * tests/uninorm/test-u8-nfkc.c: Likewise.
15065         * tests/uninorm/test-u8-nfkd.c: Likewise.
15066         * tests/uninorm/test-u16-nfc.c: Likewise.
15067         * tests/uninorm/test-u16-nfd.c: Likewise.
15068         * tests/uninorm/test-u16-nfkc.c: Likewise.
15069         * tests/uninorm/test-u16-nfkd.c: Likewise.
15070         * tests/uninorm/test-u32-nfc.c: Likewise.
15071         * tests/uninorm/test-u32-nfc-big.c: Likewise.
15072         * tests/uninorm/test-u32-nfd.c: Likewise.
15073         * tests/uninorm/test-u32-nfd-big.c: Likewise.
15074         * tests/uninorm/test-u32-nfkc.c: Likewise.
15075         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
15076         * tests/uninorm/test-u32-nfkd.c: Likewise.
15077         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
15078         * tests/uninorm/test-u32-normalize-big.c: Likewise.
15079
15080 2010-03-27  Bruno Haible  <bruno@clisp.org>
15081
15082         Distinguish two kinds of module indicators.
15083         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
15084         gl_MODULE_INDICATOR.
15085         (gl_MODULE_INDICATOR): New macro.
15086         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
15087         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
15088         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
15089         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
15090         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
15091         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
15092         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
15093         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
15094         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
15095         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
15096         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
15097         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
15098         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
15099         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
15100         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
15101         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
15102         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
15103         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
15104         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
15105         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
15106         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
15107         * modules/cloexec (configure.ac): Likewise.
15108         * modules/getopt-gnu (configure.ac): Likewise.
15109         * modules/uninorm/u8-normalize (configure.ac): Likewise.
15110         * modules/uninorm/u16-normalize (configure.ac): Likewise.
15111         * modules/uninorm/u32-normalize (configure.ac): Likewise.
15112         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
15113
15114 2010-03-27  Bruno Haible  <bruno@clisp.org>
15115
15116         New module description field 'Comment'.
15117         * gnulib-tool: New option --extract-comment.
15118         (func_usage): Document it.
15119         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
15120         (func_get_comment): New function.
15121         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
15122
15123 2010-03-27  Bruno Haible  <bruno@clisp.org>
15124
15125         Addendum to 2010-02-07 commit.
15126         * gnulib-tool (func_usage): Document --extract-applicability option.
15127
15128 2010-03-27  Bruno Haible  <bruno@clisp.org>
15129
15130         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
15131         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
15132         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
15133         rather than link errors.
15134
15135 2010-03-27  Bruno Haible  <bruno@clisp.org>
15136
15137         Avoid side effects from tests-related modules on the compilation of lib.
15138         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
15139         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
15140         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
15141         parameter. Emit into AM_CPPFLAGS a definition of the designated C
15142         macro.
15143         (func_import): Define a witness macro. Assign it a value that depends
15144         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
15145         tests-related modules.
15146         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
15147         Reported by Jim Meyering.
15148
15149 2010-03-27  Bruno Haible  <bruno@clisp.org>
15150
15151         Factorize common .m4 code.
15152         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
15153         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
15154         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
15155         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
15156         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
15157         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
15158         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
15159         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
15160         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
15161         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
15162         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
15163         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
15164         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
15165         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
15166         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
15167         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
15168         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
15169         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
15170         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
15171         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
15172         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
15173         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
15174         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
15175         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
15176         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
15177         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
15178         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
15179         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
15180         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
15181         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
15182         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
15183         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
15184
15185 2010-03-27  Bruno Haible  <bruno@clisp.org>
15186
15187         Fix a compilation error on Cygwin with g++ >= 4.3.
15188         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
15189         if it is undefined or if we alias it to chmod.
15190         (lstat): Don't warn about the use of this function if it is undefined
15191         or if we alias it to stat.
15192         Reported by Simon Josefsson.
15193
15194 2010-03-27  Bruno Haible  <bruno@clisp.org>
15195
15196         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
15197         * modules/getlogin (configure.ac): Update.
15198
15199         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
15200         * modules/getlogin_r (configure.ac): Update.
15201
15202         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
15203         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
15204         * modules/inet_ntop (configure.ac): Update.
15205
15206         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
15207         * modules/inet_pton (configure.ac): Update.
15208
15209         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
15210         * modules/mbslen (configure.ac): Update.
15211
15212         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
15213         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
15214         * modules/forkpty (configure.ac): Update.
15215         * modules/openpty (configure.ac): Update.
15216
15217 2010-03-26  Simon Josefsson  <simon@josefsson.org>
15218
15219         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
15220         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
15221
15222 2010-03-25  Eric Blake  <eblake@redhat.com>
15223
15224         maint: use pragma consistently across replacement headers
15225         * lib/ctype.in.h (system_header): Hoist for consistent placement.
15226         * lib/dirent.in.h (system_header): Likewise.
15227         * lib/errno.in.h (system_header): Likewise.
15228         * lib/float.in.h (system_header): Likewise.
15229         * lib/getopt.in.h (system_header): Likewise.
15230         * lib/iconv.in.h (system_header): Likewise.
15231         * lib/inttypes.in.h (system_header): Likewise.
15232         * lib/langinfo.in.h (system_header): Likewise.
15233         * lib/locale.in.h (system_header): Likewise.
15234         * lib/math.in.h (system_header): Likewise.
15235         * lib/netdb.in.h (system_header): Likewise.
15236         * lib/netinet_in.in.h (system_header): Likewise.
15237         * lib/pty.in.h (system_header): Likewise.
15238         * lib/sched.in.h (system_header): Likewise.
15239         * lib/se-selinux.in.h (system_header): Likewise.
15240         * lib/search.in.h (system_header): Likewise.
15241         * lib/spawn.in.h (system_header): Likewise.
15242         * lib/stdarg.in.h (system_header): Likewise.
15243         * lib/stdint.in.h (system_header): Likewise.
15244         * lib/string.in.h (system_header): Likewise.
15245         * lib/strings.in.h (system_header): Likewise.
15246         * lib/sys_file.in.h (system_header): Likewise.
15247         * lib/sys_ioctl.in.h (system_header): Likewise.
15248         * lib/sys_socket.in.h (system_header): Likewise.
15249         * lib/sys_times.in.h (system_header): Likewise.
15250         * lib/sys_utsname.in.h (system_header): Likewise.
15251         * lib/sys_wait.in.h (system_header): Likewise.
15252         * lib/sysexits.in.h (system_header): Likewise.
15253         * lib/unistd.in.h (system_header): Likewise.
15254         * lib/wctype.in.h (system_header): Likewise.
15255
15256         arpa/inet: fix mingw compilation warning
15257         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
15258         Reported by Matthew Bolte.
15259
15260 2010-03-25  Bruno Haible  <bruno@clisp.org>
15261
15262         Avoid collision between gnulib wrapper and libintl wrapper.
15263         * lib/printf.c (printf): Don't define if a printf wrapper is already
15264         defined in intl/printf.c.
15265         Reported by Michel Boaventura <michel@michelboaventura.com>.
15266
15267 2010-03-25  Bruno Haible  <bruno@clisp.org>
15268
15269         Use ANSI C.
15270         * lib/readutmp.h (getutent): Provide ANSI C prototype.
15271
15272 2010-03-25  Bruno Haible  <bruno@clisp.org>
15273
15274         Minor formatting changes.
15275         * lib/acosl.c: Insert space before function argument list.
15276         * lib/argz.c: Likewise.
15277         * lib/asinl.c: Likewise.
15278         * lib/expl.c: Likewise.
15279         * lib/gen-uni-tables.c: Likewise.
15280         * lib/gettext.h: Likewise.
15281         * lib/glthread/lock.h: Likewise.
15282         * lib/tanl.c: Likewise.
15283         * lib/uniname/uniname.c: Likewise.
15284         * tests/test-idpriv-drop.c: Likewise.
15285         * tests/test-idpriv-droptemp.c: Likewise.
15286         * tests/test-lock.c: Likewise.
15287         * tests/test-tls.c: Likewise.
15288         * lib/argp-help.c: Insert space before function-like macro argument
15289         list.
15290         * lib/memcmp.c: Likewise.
15291         * tests/test-base64.c: Likewise.
15292         * lib/localename.c: Insert space before sizeof's argument list.
15293         * lib/safe-alloc.h: Likewise.
15294         * lib/file-set.h: Insert space before macro argument list.
15295         * tests/test-argp.c: Likewise.
15296         * lib/argp-namefrob.h: Insert space before function parameter list.
15297         * lib/getaddrinfo.c: Likewise.
15298         * lib/netdb.in.h: Likewise.
15299         * lib/parse-duration.h: Likewise.
15300         * lib/parse-duration.c: Likewise.
15301         * lib/poll.c: Likewise.
15302         * lib/select.c: Likewise.
15303         * lib/trim.h: Likewise.
15304         * tests/test-usleep.c: Likewise.
15305         * lib/ldexpl.c: Insert space before function parameter list and before
15306         function argument list.
15307         * lib/logl.c: Likewise.
15308         * lib/sqrtl.c: Likewise.
15309         * lib/trim.c: Likewise.
15310         * lib/cosl.c: Use GNU style indentation. Insert space before function
15311         argument list.
15312         * lib/sinl.c: Likewise.
15313         * lib/tsearch.c: Insert space after 'for'.
15314         Reported by Jim Meyering.
15315
15316 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
15317
15318         * maint.mk (sc_Wundef_boolean): Check for the presence of the
15319         config header before grepping, as it's not present before
15320         autoreconf/configure are run.  Reported by Simon Josefsson.
15321
15322 2010-03-23  Bruno Haible  <bruno@clisp.org>
15323
15324         pt_chown: Make it work with automake < 1.11.
15325         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
15326         Reported by Simon Josefsson.
15327
15328 2010-03-23  Bruno Haible  <bruno@clisp.org>
15329
15330         pt_chown: Don't depend on GPLed modules.
15331         * lib/pt_chown.c: Don't include idpriv.h.
15332         (main): Don't drop privileges.
15333         * modules/pt_chown (Depends-on): Remove idpriv-drop.
15334         Reported by Simon Josefsson.
15335
15336 2010-03-24  Simon Josefsson  <simon@josefsson.org>
15337
15338         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
15339         suggestions from karl@freefriends.org (Karl Berry).
15340
15341 2010-03-22  Eric Blake  <eblake@redhat.com>
15342
15343         gethostname: further tweaks
15344         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
15345         are overriding gethostname.
15346         Suggested by Bruno Haible.
15347
15348 2010-03-21  Bruno Haible  <bruno@clisp.org>
15349
15350         Fix comments.
15351         * lib/forkpty.c (rpl_forkpty): Fix comment.
15352         * lib/openpty.c (rpl_openpty): Likewise.
15353         Reported by Eric Blake.
15354
15355 2010-03-22  Eric Blake  <eblake@redhat.com>
15356
15357         gethostname: fix build on mingw
15358         * lib/unistd.in.h (includes): Work around fact that mingw
15359         <winsock2.h> re-includes <unistd.h>, by avoiding any
15360         redeclarations if we are being included by <winsock2.h>.
15361         Reported by Matthias Bolte.
15362
15363 2010-03-21  Bruno Haible  <bruno@clisp.org>
15364
15365         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15366         * lib/forkpty.c (forkpty): New replacement function, from glibc with
15367         modifications.
15368         * lib/pty.in.h (forkpty): Update declaration. Add comments.
15369         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
15370         provide the replacement.
15371         * modules/forkpty (Depends-on): Add openpty, login_tty.
15372         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
15373         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
15374         * doc/glibc-functions/forkpty.texi: More supported platforms.
15375         * config/srclist.txt: Add forkpty.c (commented).
15376
15377 2010-03-21  Bruno Haible  <bruno@clisp.org>
15378
15379         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
15380         (Makefile.am): Verify that PTY_LIB is defined.
15381
15382         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
15383
15384 2010-03-21  Bruno Haible  <bruno@clisp.org>
15385
15386         Tests for module 'login_tty'.
15387         * modules/login_tty-tests: New file.
15388         * tests/test-login_tty.c: New file.
15389
15390         New module 'login_tty'.
15391         * lib/login_tty.c: New file.
15392         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
15393         * modules/login_tty: New file.
15394         * doc/glibc-functions/login_tty.texi: Mention the new module.
15395
15396 2010-03-21  Bruno Haible  <bruno@clisp.org>
15397
15398         login_tty: Documentation.
15399         * doc/glibc-functions/login_tty.texi: New file.
15400         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
15401
15402 2010-03-21  Bruno Haible  <bruno@clisp.org>
15403
15404         pty: Consistent macro naming.
15405         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
15406         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
15407         * modules/pty (configure.ac): Update.
15408
15409 2010-03-21  Bruno Haible  <bruno@clisp.org>
15410
15411         Tests for openpty: Make stricter.
15412         * tests/test-openpty.c (main): Add test of canonical processing and
15413         erase.
15414         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
15415
15416         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15417         * lib/openpty.c (openpty): New replacement function.
15418         * lib/pty.in.h: Include <termios.h>.
15419         (openpty): Update declaration. Add comments.
15420         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
15421         is not declared, arrange to provide the replacement. Check for _getpty
15422         and posix_openpt.
15423         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
15424         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
15425         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
15426         * modules/pty-tests (test_pty_c___LDADD): New variable.
15427         * doc/glibc-functions/openpty.texi: More supported platforms.
15428
15429 2010-03-21  Bruno Haible  <bruno@clisp.org>
15430
15431         setenv: Tweaks.
15432         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
15433         the test program.
15434         * doc/posix-functions/setenv.texi: Update platforms list.
15435
15436 2010-03-21  Bruno Haible  <bruno@clisp.org>
15437
15438         New module 'unlockpt'.
15439         * lib/unlockpt.c: New file, from glibc with modifications.
15440         * m4/unlockpt.m4: New file.
15441         * modules/unlockpt: New file.
15442         * lib/stdlib.in.h (unlockpt): New declaration.
15443         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
15444         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
15445         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
15446         HAVE_UNLOCKPT.
15447         * doc/posix-functions/unlockpt.texi: Mention the new module.
15448         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
15449         * config/srclist.txt: Add unlockpt.c (commented).
15450
15451 2010-03-21  Jim Meyering  <meyering@redhat.com>
15452
15453         maint.mk: prohibit inclusion of "intprops.h" without use
15454         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
15455
15456 2010-03-21  Bruno Haible  <bruno@clisp.org>
15457
15458         New module 'grantpt'.
15459         * lib/grantpt.c: New file, from glibc with modifications.
15460         * m4/grantpt.m4: New file.
15461         * modules/grantpt: New file.
15462         * lib/stdlib.in.h (grantpt): New declaration.
15463         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
15464         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
15465         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
15466         HAVE_GRANTPT.
15467         * doc/posix-functions/grantpt.texi: Mention the new module.
15468         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
15469         * config/srclist.txt: Add grantpt.c (commented).
15470
15471 2010-03-21  Bruno Haible  <bruno@clisp.org>
15472
15473         New module 'pt_chown'.
15474         * lib/pt_chown.c: New file, from glibc with modifications.
15475         * lib/pty-private.h: New file, from glibc with modifications.
15476         * modules/pt_chown: New file.
15477         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
15478
15479 2010-03-21  Bruno Haible  <bruno@clisp.org>
15480
15481         Tests for module 'ptsname'.
15482         * modules/ptsname-tests: New file.
15483         * tests/test-ptsname.c: New file.
15484
15485         New module 'ptsname'.
15486         * lib/ptsname.c: New file, from glibc with modifications.
15487         * m4/ptsname.m4: New file.
15488         * modules/ptsname: New file.
15489         * lib/stdlib.in.h (ptsname): New declaration.
15490         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
15491         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
15492         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
15493         HAVE_PTSNAME.
15494         * doc/posix-functions/ptsname.texi: Mention the new module.
15495         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
15496         * config/srclist.txt: Add ptsname.c (commented).
15497
15498 2010-03-21  Bruno Haible  <bruno@clisp.org>
15499
15500         Tests for module 'ttyname_r'.
15501         * modules/ttyname_r-tests: New file.
15502         * tests/test-ttyname_r.c: New file.
15503
15504         New module 'ttyname_r'.
15505         * lib/ttyname_r.c: New file.
15506         * m4/ttyname_r.m4: New file.
15507         * modules/ttyname_r: New file.
15508         * lib/unistd.in.h (ttyname_r): New declaration.
15509         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
15510         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
15511         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
15512         HAVE_TTYNAME_R.
15513         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
15514         * doc/posix-functions/ttyname_r.texi: Mention the new module.
15515
15516 2010-03-20  Bruno Haible  <bruno@clisp.org>
15517
15518         signal: Undefine macro definitions in C++ mode.
15519         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
15520         sigfillset): Undefine macro definitions from the system header in C++
15521         mode.
15522         Reported by John W. Eaton <jwe@gnu.org>.
15523
15524 2010-03-20  Bruno Haible  <bruno@clisp.org>
15525
15526         Ensure no #include statements inside extern "C" { ... }.
15527         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
15528         contain #include statements.
15529         * lib/time.in.h: Likewise.
15530
15531 2010-03-20  Bruno Haible  <bruno@clisp.org>
15532
15533         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
15534         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
15535         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
15536         Reported by John W. Eaton <jwe@gnu.org>.
15537
15538 2010-03-20  Bruno Haible  <bruno@clisp.org>
15539
15540         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
15541         Reported by Jim Meyering.
15542
15543 2010-03-20  Bruno Haible  <bruno@clisp.org>
15544
15545         pipe: Set errno upon failure.
15546         * lib/pipe.h: Specify that when -1 is returned, errno is set.
15547         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
15548         errno value in error message.
15549
15550 2010-03-20  Bruno Haible  <bruno@clisp.org>
15551             Jim Meyering  <meyering@redhat.com>
15552
15553         lchown: Avoid "unused variable" warning.
15554         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
15555
15556 2010-03-20  Bruno Haible  <bruno@clisp.org>
15557
15558         Work around unlink() bug on MacOS X 10.5.6.
15559         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
15560         attempting to unlink a parent directory.
15561         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
15562         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
15563         activate for the replacement function.
15564         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
15565
15566 2010-03-20  Bruno Haible  <bruno@clisp.org>
15567
15568         Fix link errors on Solaris 8.
15569         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
15570         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
15571
15572 2010-03-19  Jim Meyering  <meyering@redhat.com>
15573
15574         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
15575         The _LIBC implementation of build_range_exp correctly honors the
15576         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
15577         However, the non-_LIBC implementation would ignore that syntax-bit
15578         flag and return REG_ERANGE unconditionally.
15579         This change makes it honor that flag.
15580         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
15581         Make two pointer parameters "const".
15582         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
15583         (parse_bracket_exp): Update caller.
15584
15585         regex.m4: correct the reversed range endpoint ([b-a]) test
15586         * m4/regex.m4: When requiring that [b-a] evoke failure,
15587         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
15588         test pass once again for x86-based systems.
15589
15590 2010-03-19  Bruno Haible  <bruno@clisp.org>
15591
15592         scandir: Fix link error on Solaris 8.
15593         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
15594         macros.
15595
15596 2010-03-19  Bruno Haible  <bruno@clisp.org>
15597
15598         getusershell: Fix documentation.
15599         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
15600         module.
15601         * doc/glibc-functions/setusershell.texi: Likewise.
15602
15603         getusershell: Provide declaration, missing on Solaris 9.
15604         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
15605         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
15606         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
15607         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
15608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15609         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
15610         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
15611         HAVE_GETUSERSHELL.
15612         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
15613
15614 2010-03-19  Bruno Haible  <bruno@clisp.org>
15615
15616         wctype: Provide iswblank function.
15617         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
15618         exists and is fine.
15619         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
15620         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
15621         * tests/test-wctype.c (main): Re-enable the iswblank tests.
15622         * doc/posix-functions/iswblank.texi: Update.
15623
15624 2010-03-19  Bruno Haible  <bruno@clisp.org>
15625
15626         Tests of module 'pty' in C++ mode.
15627         * modules/pty-tests: New file.
15628         * tests/test-pty-c++.cc: New file.
15629         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15630
15631 2010-03-19  Eric Blake  <eblake@redhat.com>
15632
15633         logb: fix documentation
15634         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
15635         1.5 declaration bug.
15636
15637         forkpty, openpty: prefer glibc's const-safe prototype
15638         * lib/forkpty.c (rpl_forkpty): New file.
15639         * lib/openpty.c (rpl_openpty): Likewise.
15640         * modules/forkpty (Files): Distribute it.
15641         * modules/openpty (Files): Likewise.
15642         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
15643         check...
15644         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
15645         replacement for for non-const BSD signature.
15646         * modules/pty (Makefile.am): Substitute witnesses.
15647         * lib/pty.in.h (forkpty, openpty): Declare replacements.
15648         * tests/test-forkpty.c: Update signature check.
15649         * tests/test-openpty.c: Likewise.
15650         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
15651         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15652
15653         forkpty, openpty: split functions into new modules
15654         * modules/pty (Makefile.am): Substitute new witnesses.
15655         (Libraries): Move library detection...
15656         * modules/forkpty: ...into new module.
15657         * modules/openpty: Another new module.
15658         * modules/pty-tests: Rename and split...
15659         * modules/forkpty-tests: ...to this...
15660         * modules/openpty-tests: ...and this.
15661         * tests/test-pty.c: Rename and split...
15662         * tests/test-forkpty.c: ...to this...
15663         * tests/test-openpty.c: ...and this.
15664         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
15665         (gl_PTY): Split library searching...
15666         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
15667         (gl_FORKPTY, gl_OPENPTY): New macros.
15668         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
15669         * NEWS: Mention the split.
15670         * MODULES.html.sh (Misc): Document the modules.
15671         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
15672         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15673
15674         pty: improve replacement header
15675         * lib/pty.in.h: New file.
15676         * modules/pty (Files): Ship it.
15677         (Makefile.am): Always build replacement.
15678         * m4/pty.m4: Rename...
15679         * m4/pty_h.m4: ...to this.
15680         (gl_PTY): Modernize setting of witness macros; update check of
15681         forkpty to take proper advantage of cache.
15682         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
15683
15684         getopt: avoid compiler warning
15685         * lib/getopt.c (attribute_hidden): Remove unused macro.
15686
15687 2010-03-18  Bruno Haible  <bruno@clisp.org>
15688
15689         Fix link errors on Solaris 8.
15690         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
15691         * modules/search-tests (test_search_c___LDADD): Likewise.
15692         * modules/signal-tests (test_signal_c___LDADD): Likewise.
15693         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
15694         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
15695         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
15696         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
15697         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
15698         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
15699
15700 2010-03-18  Bruno Haible  <bruno@clisp.org>
15701
15702         Fix bug introduced on 2010-03-14.
15703         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
15704         (gl_SPAWN_H): Require it.
15705         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
15706         Reported by Simon Josefsson.
15707
15708 2010-03-18  Bruno Haible  <bruno@clisp.org>
15709
15710         Fix typo introduced on 2009-12-31.
15711         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
15712         posix_spawn_file_actions_adddup2.
15713
15714 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
15715         and Eric Blake  <eblake@redhat.com>
15716
15717         test-vc-list-files-git: make more robust
15718         * tests/test-vc-list-files-git.sh: Unset problematic environment
15719         variables.  Chain commands together.
15720
15721 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
15722
15723         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
15724         `AC_CHECK_DECL' invocation.
15725
15726 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
15727
15728         * lib/inttostr.c (inttostr): Make sure the invocation of verify
15729         appears before executable statements. Suggested by Petr Sumbera
15730         <Petr.Sumbera@Sun.COM>.
15731
15732 2010-03-14  Bruno Haible  <bruno@clisp.org>
15733
15734         * tests/test-flock.c (test_exclusive): Comment out a test that causes
15735         portability problems. Instead use a simpler test.
15736         (main): Check that invalid arguments are rejected only on Linux.
15737
15738 2010-03-14  Bruno Haible  <bruno@clisp.org>
15739
15740         Fix bug introduced on 2009-12-31.
15741         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
15742         gl_PREREQ_SYS_H_WINSOCK2 always.
15743         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
15744         SYS_SOCKET_H variable.
15745         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
15746         Update comments.
15747         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
15748         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15749         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15750         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15751         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
15752
15753 2010-03-14  Bruno Haible  <bruno@clisp.org>
15754
15755         Fix values returned by sinl, cosl.
15756         * lib/trigl.h: Add specification comments.
15757         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
15758         that combines the values from the precomputed table with the values of
15759         the Chebyshev polynomials.
15760
15761 2010-03-14  Bruno Haible  <bruno@clisp.org>
15762
15763         Fix compilation error when modules 'posix_spawn[p]' are not used.
15764         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
15765         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
15766
15767 2010-03-14  Bruno Haible  <bruno@clisp.org>
15768
15769         Fix compilation error on mingw when module 'time_r' is not used.
15770         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
15771         is 1.
15772         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
15773         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15774         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
15775         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
15776
15777 2010-03-14  Bruno Haible  <bruno@clisp.org>
15778
15779         Fix compilation error with Sun C.
15780         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
15781         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
15782         instead of GCC specific ULONG_LONG_MAX.
15783         * lib/xstrtoll.c: Likewise.
15784         * lib/xstrtoull.c: Likewise.
15785
15786 2010-03-13  Bruno Haible  <bruno@clisp.org>
15787
15788         Allow the user to disable C++ code and tests.
15789         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
15790         (gl_PROG_ANSI_CXX): Require it.
15791
15792 2010-03-13  Bruno Haible  <bruno@clisp.org>
15793
15794         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
15795         cases.
15796
15797 2010-03-13  Bruno Haible  <bruno@clisp.org>
15798
15799         Test that gnulib does not break the standard C++ headers.
15800         * tests/test-locale-c++2.cc: New file.
15801         * modules/locale-tests (Files): Add it.
15802         (Makefile.am): Compile it for test-locale-c++.
15803         * tests/test-math-c++2.cc: New file.
15804         * modules/math-tests (Files): Add it.
15805         (Makefile.am): Compile it for test-math-c++.
15806         * tests/test-signal-c++2.cc: New file.
15807         * modules/signal-tests (Files): Add it.
15808         (Makefile.am): Compile it for test-signal-c++.
15809         * tests/test-stdio-c++2.cc: New file.
15810         * modules/stdio-tests (Files): Add it.
15811         (Makefile.am): Compile it for test-stdio-c++.
15812         * tests/test-stdlib-c++2.cc: New file.
15813         * modules/stdlib-tests (Files): Add it.
15814         (Makefile.am): Compile it for test-stdlib-c++.
15815         * tests/test-string-c++2.cc: New file.
15816         * modules/string-tests (Files): Add it.
15817         (Makefile.am): Compile it for test-string-c++.
15818         * tests/test-time-c++2.cc: New file.
15819         * modules/time-tests (Files): Add it.
15820         (Makefile.am): Compile it for test-time-c++.
15821         Reported by John W. Eaton <jwe@gnu.org>.
15822
15823 2010-03-13  Bruno Haible  <bruno@clisp.org>
15824
15825         * gnulib-tool (func_usage): Clarify which options are available for
15826         --create-testdir and --create-megatestdir.
15827
15828 2010-03-13  Bruno Haible  <bruno@clisp.org>
15829
15830         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
15831         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
15832         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
15833         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
15834         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
15835         when appropriate.
15836         Reported by Jim Meyering.
15837
15838 2010-03-12  Simon Josefsson  <simon@josefsson.org>
15839
15840         * gnulib-tool (func_import): Explain origin of code.
15841
15842 2010-03-12  Bruno Haible  <bruno@clisp.org>
15843
15844         Fix problem with automake's definition of CXXLINK.
15845         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
15846         Reported by Simon Josefsson and Ludovic Courtès.
15847
15848 2010-03-12  Bruno Haible  <bruno@clisp.org>
15849
15850         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
15851         stable releases.
15852
15853 2010-03-11  Bruno Haible  <bruno@clisp.org>
15854
15855         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
15856         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
15857         whether the system provides one variant or multiple variants of the
15858         function.
15859         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
15860         C++ compilers.
15861         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
15862         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
15863         Reported by Jim Meyering.
15864
15865 2010-03-09  Simon Josefsson  <simon@josefsson.org>
15866
15867         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
15868
15869 2010-03-08  Bruno Haible  <bruno@clisp.org>
15870
15871         gnulib-tool: Add support for --libtool in --create-testdir.
15872         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
15873         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
15874
15875 2010-03-08  Eric Blake  <eblake@redhat.com>
15876
15877         gnulib-tool.texi: mention possibility of git submodule
15878         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
15879         submodules.
15880         * doc/.gitignore: Ignore another generated file.
15881
15882 2010-03-08  Karl Berry  <karl@gnu.org>
15883
15884         * doc/gnulib-tool.texi (VCS Issues): Mention third option
15885         of committing gnulib files while skipping others.
15886
15887 2010-03-07  Bruno Haible  <bruno@clisp.org>
15888
15889         Tests of module 'wctype' in C++ mode.
15890         * tests/test-wctype-c++.cc: New file.
15891         * modules/wctype-tests (Files): Add it and tests/signature.h.
15892         (Depends-on): Add ansi-c++-opt.
15893         (Makefile.am): Arrange to compile and run test-wctype-c++.
15894
15895         Tests of module 'wchar' in C++ mode.
15896         * tests/test-wchar-c++.cc: New file.
15897         * modules/wchar-tests (Files): Add it and tests/signature.h.
15898         (Depends-on): Add ansi-c++-opt.
15899         (Makefile.am): Arrange to compile and run test-wchar-c++.
15900         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
15901         gl_MODULE_INDICATOR.
15902
15903         Tests of module 'unistd' in C++ mode.
15904         * tests/test-unistd-c++.cc: New file.
15905         * modules/unistd-tests (Files): Add it and tests/signature.h.
15906         (Depends-on): Add ansi-c++-opt.
15907         (Makefile.am): Arrange to compile and run test-unistd-c++.
15908         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
15909         gl_MODULE_INDICATOR.
15910
15911         Tests of module 'time' in C++ mode.
15912         * tests/test-time-c++.cc: New file.
15913         * modules/time-tests (Files): Add it and tests/signature.h.
15914         (Depends-on): Add ansi-c++-opt.
15915         (Makefile.am): Arrange to compile and run test-time-c++.
15916         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15917
15918         Tests of module 'sys_time' in C++ mode.
15919         * tests/test-sys_time-c++.cc: New file.
15920         * modules/sys_time-tests (Files): Add it and tests/signature.h.
15921         (Depends-on): Add ansi-c++-opt.
15922         (Makefile.am): Arrange to compile and run test-sys_time-c++.
15923         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
15924         gl_MODULE_INDICATOR.
15925
15926         Tests of module 'sys_stat' in C++ mode.
15927         * tests/test-sys_stat-c++.cc: New file.
15928         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
15929         (Depends-on): Add ansi-c++-opt.
15930         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
15931         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
15932         gl_MODULE_INDICATOR.
15933
15934         Tests of module 'sys_socket' in C++ mode.
15935         * tests/test-sys_socket-c++.cc: New file.
15936         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
15937         (Depends-on): Add ansi-c++-opt.
15938         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
15939         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
15940         gl_MODULE_INDICATOR.
15941
15942         Tests of module 'sys_select' in C++ mode.
15943         * tests/test-sys_select-c++.cc: New file.
15944         * modules/sys_select-tests (Files): Add it and tests/signature.h.
15945         (Depends-on): Add ansi-c++-opt.
15946         (Makefile.am): Arrange to compile and run test-sys_select-c++.
15947         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
15948         gl_MODULE_INDICATOR.
15949
15950         Tests of module 'sys_ioctl' in C++ mode.
15951         * tests/test-sys_ioctl-c++.cc: New file.
15952         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
15953         (Depends-on): Add ansi-c++-opt.
15954         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
15955         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
15956         gl_MODULE_INDICATOR.
15957
15958         Tests of module 'string' in C++ mode.
15959         * tests/test-string-c++.cc: New file.
15960         * modules/string-tests (Files): Add it and tests/signature.h.
15961         (Depends-on): Add ansi-c++-opt.
15962         (Makefile.am): Arrange to compile and run test-string-c++.
15963         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
15964         gl_MODULE_INDICATOR.
15965
15966         Tests of module 'stdlib' in C++ mode.
15967         * tests/test-stdlib-c++.cc: New file.
15968         * modules/stdlib-tests (Files): Add it and tests/signature.h.
15969         (Depends-on): Add ansi-c++-opt.
15970         (Makefile.am): Arrange to compile and run test-stdlib-c++.
15971         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
15972         gl_MODULE_INDICATOR.
15973
15974         Tests of module 'stdio' in C++ mode.
15975         * tests/test-stdio-c++.cc: New file.
15976         * modules/stdio-tests (Files): Add it and tests/signature.h.
15977         (Depends-on): Add ansi-c++-opt.
15978         (Makefile.am): Arrange to compile and run test-stdio-c++.
15979         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
15980         gl_MODULE_INDICATOR.
15981
15982         Tests of module 'spawn' in C++ mode.
15983         * tests/test-spawn-c++.cc: New file.
15984         * modules/spawn-tests (Files): Add it and tests/signature.h.
15985         (Depends-on): Add ansi-c++-opt.
15986         (Makefile.am): Arrange to compile and run test-spawn-c++.
15987         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
15988         gl_MODULE_INDICATOR.
15989
15990         Tests of module 'signal' in C++ mode.
15991         * tests/test-signal-c++.cc: New file.
15992         * modules/signal-tests (Files): Add it and tests/signature.h.
15993         (Depends-on): Add ansi-c++-opt.
15994         (Makefile.am): Arrange to compile and run test-signal-c++.
15995         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
15996         gl_MODULE_INDICATOR.
15997
15998         Tests of module 'search' in C++ mode.
15999         * tests/test-search-c++.cc: New file.
16000         * modules/search-tests (Files): Add it and tests/signature.h.
16001         (Depends-on): Add ansi-c++-opt.
16002         (Makefile.am): Arrange to compile and run test-search-c++.
16003         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
16004         gl_MODULE_INDICATOR.
16005
16006         Tests of module 'math' in C++ mode.
16007         * tests/test-math-c++.cc: New file.
16008         * modules/math-tests (Files): Add it and tests/signature.h.
16009         (Depends-on): Add ansi-c++-opt.
16010         (Makefile.am): Arrange to compile and run test-math-c++.
16011         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16012
16013         Tests of module 'locale' in C++ mode.
16014         * tests/test-locale-c++.cc: New file.
16015         * modules/locale-tests (Files): Add it and tests/signature.h.
16016         (Depends-on): Add ansi-c++-opt.
16017         (Makefile.am): Arrange to compile and run test-locale-c++.
16018         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
16019         gl_MODULE_INDICATOR.
16020
16021         Tests of module 'langinfo' in C++ mode.
16022         * tests/test-langinfo-c++.cc: New file.
16023         * modules/langinfo-tests (Files): Add it and tests/signature.h.
16024         (Depends-on): Add ansi-c++-opt.
16025         (Makefile.am): Arrange to compile and run test-langinfo-c++.
16026         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
16027         gl_MODULE_INDICATOR.
16028
16029         Tests of module 'iconv-h' in C++ mode.
16030         * tests/test-iconv-h-c++.cc: New file.
16031         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
16032         (Depends-on): Add ansi-c++-opt.
16033         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
16034
16035         Tests of module 'glob' in C++ mode.
16036         * tests/test-glob-c++.cc: New file.
16037         * modules/glob-tests (Files): Add it.
16038         (Depends-on): Add ansi-c++-opt.
16039         (Makefile.am): Arrange to compile and run test-glob-c++.
16040
16041         Tests of module 'fcntl-h' in C++ mode.
16042         * tests/test-fcntl-h-c++.cc: New file.
16043         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
16044         (Depends-on): Add ansi-c++-opt.
16045         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
16046         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
16047         gl_MODULE_INDICATOR.
16048
16049         Tests of module 'dirent' in C++ mode.
16050         * tests/test-dirent-c++.cc: New file.
16051         * modules/dirent-tests (Files): Add it and tests/signature.h.
16052         (Depends-on): Add ansi-c++-opt.
16053         (Makefile.am): Arrange to compile and run test-dirent-c++.
16054         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16055         gl_MODULE_INDICATOR.
16056
16057         New module 'ansi-c++-opt'.
16058         * modules/ansi-c++-opt: New file.
16059         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
16060
16061         Document C++ namespace mode.
16062         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
16063
16064         wctype: Avoid #define replacements in C++ mode.
16065         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
16066         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
16067         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
16068         In C++, define a namespaced alias symbol.
16069         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
16070         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
16071         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
16072         rule.
16073
16074         wchar: Avoid #define replacements in C++ mode.
16075         * lib/wchar.in.h: Include c++defs.h.
16076         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
16077         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
16078         symbol.
16079         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
16080         * modules/wchar (Depends-on): Add c++defs.
16081         (Makefile.am): Update wchar.h rule.
16082
16083         unistd: Avoid #define replacements in C++ mode.
16084         * lib/unistd.in.h: Include c++defs.h.
16085         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
16086         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
16087         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
16088         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
16089         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
16090         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
16091         symbol.
16092         (environ): Update.
16093         * modules/unistd (Depends-on): Add c++defs.
16094         (Makefile.am): Update unistd.h rule.
16095
16096         time: Avoid #define replacements in C++ mode.
16097         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
16098         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
16099         define a namespaced alias symbol.
16100         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
16101         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
16102         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
16103         * modules/time (Depends-on): Add c++defs, warn-on-use.
16104         (Makefile.am): Update time.h rule.
16105         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16106         * modules/nanosleep (configure.ac): Likewise.
16107         * modules/strptime (configure.ac): Likewise.
16108         * modules/timegm (configure.ac): Likewise.
16109
16110         sys_time: Avoid #define replacements in C++ mode.
16111         * lib/sys_time.in.h: Include c++defs.h.
16112         (gettimeofday): In C++, define a namespaced alias symbol.
16113         * modules/sys_time (Depends-on): Add c++defs.
16114         (Makefile.am): Update sys/time.h rule.
16115
16116         sys_stat: Avoid #define replacements in C++ mode.
16117         * lib/sys_stat.in.h: Include c++defs.h.
16118         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
16119         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
16120         namespaced alias symbol.
16121         In C++, define a namespaced alias symbol.
16122         * modules/sys_stat (Depends-on): Add c++defs.
16123         (Makefile.am): Update sys/stat.h rule.
16124
16125         sys_socket: Avoid #define replacements in C++ mode.
16126         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
16127         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
16128         definitions also when the system has a <sys/socket.h>.
16129         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16130         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
16131         In C++, define a namespaced alias symbol.
16132         * modules/sys_socket (Depends-on): Add c++defs.
16133         (Makefile.am): Update sys/socket.h rule.
16134
16135         sys_select: Avoid #define replacements in C++ mode.
16136         * lib/sys_select.in.h: Include c++defs.h. Enable the function
16137         definitions also when the system has a <sys/select.h>.
16138         (select): In C++, define a namespaced alias symbol.
16139         * modules/sys_select (Depends-on): Add c++defs.
16140         (Makefile.am): Update sys/select.h rule.
16141
16142         sys_ioctl: Avoid #define replacements in C++ mode.
16143         * lib/sys_ioctl.in.h: Include c++defs.h.
16144         (ioctl): In C++, define a namespaced alias symbol.
16145         * modules/sys_ioctl (Depends-on): Add c++defs.
16146         (Makefile.am): Update sys/ioctl.h rule.
16147
16148         string: Avoid #define replacements in C++ mode.
16149         * lib/string.in.h: Include c++defs.h.
16150         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
16151         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
16152         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
16153         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
16154         strsignal, strverscmp): In C++, define a namespaced alias symbol.
16155         * modules/string (Depends-on): Add c++defs.
16156         (Makefile.am): Update string.h rule.
16157
16158         stdlib: Avoid #define replacements in C++ mode.
16159         * lib/stdlib.in.h: Include c++defs.h.
16160         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
16161         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
16162         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
16163         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
16164         symbol.
16165         * modules/stdlib (Depends-on): Add c++defs.
16166         (Makefile.am): Update stdlib.h rule.
16167
16168         stdio: Avoid #define replacements in C++ mode.
16169         * lib/stdio.in.h: Include c++defs.h.
16170         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
16171         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
16172         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
16173         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
16174         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
16175         namespaced alias symbol.
16176         * modules/stdio (Depends-on): Add c++defs.
16177         (Makefile.am): Update stdio.h rule.
16178
16179         spawn: Avoid #define replacements in C++ mode.
16180         * lib/spawn.in.h: Include c++defs.h.
16181         (posix_spawn, posix_spawnp, posix_spawnattr_init,
16182         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
16183         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
16184         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
16185         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
16186         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
16187         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
16188         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
16189         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
16190         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
16191         In C++, define a namespaced alias symbol.
16192         * modules/spawn (Depends-on): Add c++defs.
16193         (Makefile.am): Update spawn.h rule.
16194
16195         signal: Avoid #define replacements in C++ mode.
16196         * lib/signal.in.h: Include c++defs.h.
16197         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
16198         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
16199         namespaced alias symbol.
16200         * modules/signal (Depends-on): Add c++defs.
16201         (Makefile.am): Update signal.h rule.
16202
16203         search: Avoid #define replacements in C++ mode.
16204         * lib/search.in.h: Include c++defs.h.
16205         (_gl_search_compar_fn, _gl_search_action_fn): New types.
16206         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
16207         symbol.
16208         * modules/search (Depends-on): Add c++defs.
16209         (Makefile.am): Update search.h rule.
16210
16211         math: Avoid #define replacements in C++ mode.
16212         * lib/math.in.h: Include c++defs.h.
16213         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
16214         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
16215         trunc, truncl): In C++, define a namespaced alias symbol.
16216         * modules/math (Depends-on): Add c++defs.
16217         (Makefile.am): Update math.h rule.
16218
16219         locale: Avoid #define replacements in C++ mode.
16220         * lib/locale.in.h: Include c++defs.h.
16221         (duplocale): In C++, define a namespaced alias symbol.
16222         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
16223         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
16224         * modules/locale (Depends-on): Add c++defs.
16225         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
16226
16227         langinfo: Avoid #define replacements in C++ mode.
16228         * lib/langinfo.in.h: Include c++defs.h.
16229         (nl_langinfo): In C++, define a namespaced alias symbol.
16230         * modules/langinfo (Depends-on): Add c++defs.
16231         (Makefile.am): Update langinfo.h rule.
16232
16233         iconv-h: Avoid #define replacements in C++ mode.
16234         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
16235         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
16236         symbol.
16237         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
16238         whenever iconv is present.
16239         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
16240         (Makefile.am): Update iconv.h rule.
16241
16242         glob: Avoid #define replacements in C++ mode.
16243         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
16244         (_gl_glob_errfunc_fn): New type.
16245         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
16246         symbol.
16247         * modules/glob (Depends-on): Add c++defs, warn-on-use.
16248         (Makefile.am): Update glob.h rule.
16249
16250         fcntl-h: Avoid #define replacements in C++ mode.
16251         * lib/fcntl.in.h: Include c++defs.h.
16252         (fcntl, open, openat): In C++, define a namespaced alias symbol.
16253         * modules/fcntl-h (Depends-on): Add c++defs.
16254         (Makefile.am): Update fcntl.h rule.
16255
16256         dirent: Avoid #define replacements in C++ mode.
16257         * lib/dirent.in.h: Include c++defs.h.
16258         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
16259         namespaced alias symbol.
16260         (dirfd): Update declaration.
16261         * modules/dirent (Depends-on): Add c++defs.
16262         (Makefile.am): Update dirent.h rule.
16263
16264         ctype: Make it usable in C++ code.
16265         * lib/ctype.in.h: Include c++defs.h.
16266         (isblank): Declare as extern "C".
16267         * modules/ctype (Depends-on): Add c++defs.
16268         (Makefile.am): Update ctype.h rule.
16269
16270         New module 'c++defs'.
16271         * modules/c++defs: New file.
16272         * build-aux/c++defs.h: New file.
16273         Reported by John W. Eaton <jwe@gnu.org>.
16274
16275 2010-03-07  Bruno Haible  <bruno@clisp.org>
16276
16277         logb: Provide missing declaration for Cygwin.
16278         * lib/math.in.h (logb): New declaration.
16279         * m4/logb.m4: New file.
16280         * modules/logb (Files): Add m4/logb.m4.
16281         (Depends-on): Add math.
16282         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
16283         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
16284         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
16285         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
16286         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
16287
16288 2010-03-07  Bruno Haible  <bruno@clisp.org>
16289
16290         Fix test-cond link error.
16291         * tests/test-cond.c: Include <stdio.h>.
16292
16293 2010-03-07  Bruno Haible  <bruno@clisp.org>
16294
16295         Fix test-dirent-safer link error.
16296         * modules/dirent-safer-tests (Makefile.am): Define
16297         test_dirent_safer_LDADD.
16298
16299 2010-03-07  Bruno Haible  <bruno@clisp.org>
16300
16301         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
16302         among default module list.
16303
16304 2010-03-07  Bruno Haible  <bruno@clisp.org>
16305
16306         Fix link error on platforms with GNU libiconv.
16307         * modules/unistr/u8-strcoll-tests (Makefile): Define
16308         test_u8_strcoll_LDADD.
16309         * modules/unistr/u16-strcoll-tests (Makefile): Define
16310         test_u16_strcoll_LDADD.
16311         * modules/unistr/u32-strcoll-tests (Makefile): Define
16312         test_u32_strcoll_LDADD.
16313
16314 2010-03-07  Bruno Haible  <bruno@clisp.org>
16315
16316         Use POSIX declarations for socket functions.
16317         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
16318         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
16319         rpl_sendto): Change declaration to match POSIX.
16320         * lib/connect.c (rpl_connect): Likewise.
16321         * lib/accept.c (rpl_accept): Likewise.
16322         * lib/bind.c (rpl_bind): Likewise.
16323         * lib/getpeername.c (rpl_getpeername): Likewise.
16324         * lib/getsockname.c (rpl_getsockname): Likewise.
16325         * lib/recv.c (rpl_recv): Likewise.
16326         * lib/send.c (rpl_send): Likewise.
16327         * lib/recvfrom.c (rpl_recvfrom): Likewise.
16328         * lib/sendto.c (rpl_sendto): Likewise.
16329
16330 2010-03-06  Bruno Haible  <bruno@clisp.org>
16331
16332         Clarify access, euidaccess, faccessat.
16333         * doc/posix-functions/faccessat.texi: Mention security problem under
16334         "Other problems", not "Portability problems".
16335         * doc/posix-functions/access.texi: Likewise. Mention a related security
16336         problem.
16337         * doc/glibc-functions/euidaccess.texi: Mention security problems.
16338         * lib/euidaccess.c: Add comments about platforms.
16339         * lib/unistd.in.h (access, euidaccess): Add warnings.
16340
16341 2010-03-07  Bruno Haible  <bruno@clisp.org>
16342
16343         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
16344         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
16345         (POSIX_SPAWN_SETSCHEDULER): Likewise.
16346         (POSIX_SPAWN_USEVFORK): Define in a way that works when
16347         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16348         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
16349         declare when POSIX_SPAWN_SETSCHEDULER is zero.
16350         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
16351         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
16352         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
16353         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
16354         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
16355         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
16356         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
16357         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
16358         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
16359         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
16360         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
16361         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
16362         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
16363         Likewise.
16364         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
16365         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
16366         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
16367         Likewise.
16368         * tests/test-spawn.c (main): Make it work when
16369         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16370
16371 2010-03-07  Bruno Haible  <bruno@clisp.org>
16372
16373         Fix incorrect Makefile.am generation in German locale.
16374         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16375         Execute sed command with character range in C locale.
16376
16377 2010-03-06  Bruno Haible  <bruno@clisp.org>
16378
16379         Tests for module 'iconv-h'.
16380         * modules/iconv-h-tests: New file.
16381         * tests/test-iconv-h.c: New file.
16382
16383         New module 'iconv-h'.
16384         * modules/iconv-h: New file.
16385         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
16386         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
16387         (configure.ac): Remove gl_ICONV_H.
16388         (Makefile.am): Remove rule for iconv.h.
16389
16390 2010-03-06  Bruno Haible  <bruno@clisp.org>
16391
16392         More consistent naming of *.m4 files.
16393         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
16394         * modules/wctype (Files): Update.
16395
16396         More consistent naming of *.m4 files.
16397         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
16398         * modules/wchar (Files): Update.
16399
16400 2010-03-06  Jim Meyering  <meyering@redhat.com>
16401
16402         euidaccess: relax license to LGPLv2+
16403         * modules/euidaccess (License): Relax to LGPLv2+.
16404
16405 2010-03-06  Bruno Haible  <bruno@clisp.org>
16406
16407         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
16408         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
16409         (Makefile.am): Augment lib_SOURCES instead.
16410
16411 2010-03-04  Jim Meyering  <meyering@redhat.com>
16412
16413         utime: remove obsolete module
16414         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
16415         unnecessary for years, and has been marked as obsolete for 10 months.
16416         * modules/utime: Remove file.
16417         * lib/utime.c: Remove file.
16418         * m4/utime.m4: Remove file.
16419         * m4/utimes-null.m4: Remove file.
16420         * doc/posix-functions/utime.texi (utime): Remove reference to
16421         the module.  Move the sole "fixed by gnulib" item into the
16422         "problems not fixed by Gnulib" list.
16423         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
16424
16425 2010-03-05  Simon Josefsson  <simon@josefsson.org>
16426
16427         * modules/exit (License): Relax license to LGPLv2+.
16428         (Status): Mark as obsolete.
16429         * NEWS: Mention deprecated 'exit' module.
16430         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
16431         of now obsolete 'exit'.
16432
16433 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16434
16435         fts-lgpl: remove unused module
16436         * modules/fts-lgpl: Remove.
16437         * MODULES.html.sh (func_all_modules): Adjust.
16438         * check-module (find_included_lib_files): Adjust.
16439         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
16440
16441 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
16442
16443         copy-acl: enhance Solaris ACL error handling
16444         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
16445         * lib/set-mode-acl.c (qset_acl): Likewise.
16446
16447 2010-03-02  Bruno Haible  <bruno@clisp.org>
16448
16449         spawn: Don't override the system defined values on FreeBSD 8.
16450         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
16451         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
16452         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
16453         if HAVE_POSIX_SPAWN is 1.
16454         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
16455
16456 2010-03-01  Bruno Haible  <bruno@clisp.org>
16457
16458         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
16459         regarding Automake.
16460
16461 2010-02-25  Bruno Haible  <bruno@clisp.org>
16462
16463         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
16464         * gnulib-tool: Define 'echo' as a function only before the ksh alias
16465         setting, not afterwards.
16466         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
16467
16468 2010-02-24  Eric Blake  <eblake@redhat.com>
16469
16470         bootstrap, git-version-gen: use timestamp
16471         * build-aux/git-version-gen (scriptversion): Force UTC.
16472         * build-aux/bootstrap (scriptversion): New variable.
16473
16474         bootstrap: allow older git
16475         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
16476         older than 1.6.4.  Requested by the libvirt project.
16477
16478 2010-02-23  Eric Blake  <eblake@redhat.com>
16479
16480         warn-on-use: work with old autoconf
16481         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
16482         AS_VAR semantics of autoconf 2.60.
16483         Reported by Bruno Haible.
16484
16485         bootstrap: improve some comments
16486         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
16487         clarification comments.
16488
16489         gettimeofday: provide correct function
16490         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
16491         when replacement is declared, otherwise provide gettimeofday.
16492         Reported by Michael Goffioul.
16493
16494 2010-02-23  Jim Meyering  <meyering@redhat.com>
16495
16496         lib-ignore: relax license to "unlimited", not LGPLv2+
16497         * modules/lib-ignore (License): Relax to "unlimited".
16498
16499 2010-02-23  Jim Meyering  <meyering@redhat.com>
16500
16501         lib-ignore: relax license to LGPLv2+
16502         * modules/lib-ignore (License): Relax to LGPLv2+.
16503
16504 2010-02-22  Eric Blake  <eblake@redhat.com>
16505
16506         lseek: avoid bash 3.2 broken pipe bug
16507         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
16508         warning from bash 3.2.
16509         Reported by Ben Pfaff, with analysis from Bruno Haible.
16510
16511         bootstrap: support non-FSF copyright holder
16512         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
16513         bootstrap.conf override of COPYRIGHT_HOLDER.
16514         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
16515
16516         bootstrap: interoperate with gettext 0.14.1
16517         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
16518
16519         bootstrap: allow for alternate submodule location
16520         * build-aux/bootstrap (gnulib_path): New variable; use instead of
16521         hardcoding submodule location.
16522         (gnulib_mk): Allow direct use of Makefile.am.
16523
16524         bootstrap: use GNULIB_SRCDIR to reduce disk usage
16525         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
16526         rather than reconfiguring where the submodule points.
16527
16528         gettimeofday: restore support for platforms that lack function
16529         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
16530         replacement if function is missing.
16531         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
16532         * modules/sys_time (Makefile.am): Substitute it.
16533         * lib/sys_time.in.h (gettimeofday): Check it.
16534         Reported by Michael Goffioul.
16535
16536 2010-02-21  Bruno Haible  <bruno@clisp.org>
16537
16538         * lib/stdio.in.h (obstack_printf): Fix typo.
16539
16540 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
16541
16542         vc-list-files: use bzr ls's -R option
16543         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
16544         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
16545
16546 2010-02-21  Jim Meyering  <meyering@redhat.com>
16547
16548         init.sh: fix EXEEXT shims to work also for names like test-prog
16549         * tests/init.sh: Re-exec a better shell, when needed.
16550         If the current shell lacks support for posix $(...), an init.sh-using
16551         test will now try to find a shell that supports that.  If EXEEXT is
16552         nonempty, we also require support for hyphen-in-alias-name and shell
16553         substitutions like ${var#glob}.  Failure to find such a shell results
16554         in a skipped test.
16555
16556 2010-02-21  Bruno Haible  <bruno@clisp.org>
16557
16558         Really work around around "broken pipe" error message from bash 3.2.
16559         * gnulib-tool (func_reset_sigpipe): Remove function.
16560         (echo): In bash 3.2, define to a function that uses printf.
16561         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
16562
16563 2010-02-20  Bruno Haible  <bruno@clisp.org>
16564
16565         Restore support for automake 1.9.6 with autoconf 2.61.
16566         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
16567         Reported by James Youngman <jay@gnu.org>.
16568
16569 2010-02-20  Bruno Haible  <bruno@clisp.org>
16570
16571         Improve *printf warning condition.
16572         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
16573         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
16574         and the function is overridden due to SIGPIPE emulation.
16575
16576 2010-02-20  Bruno Haible  <bruno@clisp.org>
16577
16578         * lib/stdio.in.h: Tweak comments.
16579
16580 2010-02-19  Bruno Haible  <bruno@clisp.org>
16581
16582         Make it easier to find modules. New gnulib-tool option '--find'.
16583         * gnulib-tool: New option --find.
16584         (func_usage): Document it.
16585         (func_sanitize_modulelist): New function, extracted from
16586         func_all_modules.
16587         (func_all_modules): Invoke it.
16588         * doc/gnulib-tool.texi (Which modules?): New node.
16589
16590 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
16591
16592         * lib/sys_select.in.h: Provide select replacement even if
16593         sys/select.h exists on a system, for Interix.
16594
16595 2010-02-18  Jim Meyering  <meyering@redhat.com>
16596
16597         init.sh: don't use $(...) just yet
16598         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
16599         to accommodate e.g., Solaris' /bin/sh.
16600
16601 2010-02-17  Bruno Haible  <bruno@clisp.org>
16602
16603         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
16604         Reported by Ludovic Courtès <ludo@gnu.org>.
16605
16606 2010-02-16  Simon Josefsson  <simon@josefsson.org>
16607
16608         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
16609         linking with -lintl.
16610
16611 2010-02-17  Simon Josefsson  <simon@josefsson.org>
16612
16613         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
16614         if not provided by the system's netdb.h.  Reported by
16615         ludo@gnu.org (Ludovic Courtès).
16616
16617 2010-02-15  Jim Meyering  <meyering@redhat.com>
16618
16619         init.sh: improve portability and efficiency
16620         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
16621         "dummy" in a for loop.
16622         Use '!', not '^' to select the complement of a character set used
16623         in a "case" statement.
16624         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
16625         Suggestions from Eric Blake.
16626
16627         init.sh: automatically accommodate programs with the .exe suffix
16628         Automatically arrange for an invocation of "prog" to execute the
16629         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
16630         may use the simpler "prog", yet still work when built on a system
16631         that requires specifying the added suffix.
16632         Do this by constructing a function named "prog" that invokes
16633         "prog.exe" for each .exe file in selected directories.
16634         * tests/init.sh (find_exe_basenames_): New function.
16635         (create_exe_shim_functions_): New function.
16636         (path_prepend_): Use it.
16637
16638         maint.mk: mark syntax-check sc_*.m rules as .PHONY
16639         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
16640         "make -t syntax-check" doesn't create a ton of sc_*.m files.
16641
16642 2010-02-14  Jim Meyering  <meyering@redhat.com>
16643
16644         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
16645         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
16646         (sc_prohibit_hash_pjw_without_use): New rule.
16647
16648         maint.mk: allow the default upload destination dir to be overridden
16649         * top/maint.mk (upload_dest_dir_): Define with a default that
16650         preserves the status quo.
16651         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
16652         Reported by Peter Simons.
16653
16654         maint.mk: prohibit inclusion of "hash.h" without_use
16655         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
16656
16657 2010-02-10  Jim Meyering  <meyering@redhat.com>
16658
16659         maint.mk: prohibit inclusion of "ignore-value.h" without_use
16660         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
16661
16662 2010-02-09  Eric Blake  <ebb9@byu.net>
16663         and Bruno Haible  <bruno@clisp.org>
16664
16665         obstack-printf-posix: ensure declaration
16666         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
16667         extracted from gl_FUNC_OBSTACK_PRINTF.
16668         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
16669         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
16670         Likewise.
16671         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
16672         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
16673         0.
16674
16675 2010-02-08  Bruno Haible  <bruno@clisp.org>
16676
16677         gnulib-tool: Fix typo in 2010-02-07 commit.
16678         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
16679         Reported by Eric Blake.
16680
16681 2010-02-07  Bruno Haible  <bruno@clisp.org>
16682
16683         gnulib-tool: Fix up caching patches.
16684         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
16685         option --no-cache. Use associative arrays when supported by the shell.
16686         (sed_comments): New variable.
16687         (modcache): Renamed from do_cache.
16688         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
16689         abbreviate unnecessarily.
16690         (have_associative): New variable.
16691         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
16692         way also for ksh and zsh.
16693         (func_init_sed_convert_to_cache_statements): New function, extracted
16694         from func_cache_lookup_module. Add support for associative arrays.
16695         Don't set the c_MODULE_cached variable here. Ignore all lines before
16696         the first field header. Remove only the final newline, not all trailing
16697         newlines. Support empty fields correctly. Limit the use of 'eval' to
16698         assignments.
16699         (func_get_description, func_get_status, func_get_notice,
16700         func_get_applicability, func_get_filelist, func_get_dependencies,
16701         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
16702         func_get_automake_snippet, func_get_include_directive,
16703         func_get_link_directive, func_get_license, func_get_maintainer):
16704         Update documentation. List the unoptimized code first. Add support for
16705         associative arrays. Limit the use of 'eval' to assignments.
16706         (func_get_applicability): Undo stylistic pessimisations.
16707         (func_get_automake_snippet, func_get_include_directive): Reduce code
16708         duplication.
16709         (func_modules_transitive_closure, func_modules_add_dummy,
16710         func_modules_notice, func_modules_to_filelist, func_add_file,
16711         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
16712         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
16713         func_create_testdir, func_create_megatestdir): Update documentation.
16714
16715 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16716
16717         * gnulib-tool (func_cache_lookup_module): Store the module name
16718         belonging to the cache variable; error out if two different
16719         module names map to the same cache variable name.
16720
16721 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16722
16723         gnulib-tool: Make caching optional.
16724         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
16725         Update matching short versions of --no-changelog.
16726         (func_usage): Update.
16727         (sed_extract_cache_prog): Renamed from ...
16728         (sed_extract_prog): ... this; revert to old extraction script.
16729         (func_get_description, func_get_status)
16730         (func_get_notice, func_get_applicability, func_get_filelist)
16731         (func_get_dependencies, func_get_autoconf_early_snippet)
16732         (func_get_autoconf_snippet, func_get_automake_snippet)
16733         (func_get_include_directive, func_get_link_directive)
16734         (func_get_license, func_get_maintainer): If $do_cache is false,
16735         use old, non-caching extraction scripts.
16736         Suggestion by Bruno Haible.
16737
16738 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16739
16740         gnulib-tool: cache module metainformation.
16741         * gnulib-tool (sed_extract_prog): Match newline before each
16742         header, and rewrite header to a shell variable suffix.
16743         (func_cache_var, func_cache_lookup_module): New functions,
16744         to turn a module name into a cache variable prefix, and to
16745         look up and cache module metainformation.
16746         (func_get_description, func_get_status)
16747         (func_get_notice, func_get_applicability, func_get_filelist)
16748         (func_get_dependencies, func_get_autoconf_early_snippet)
16749         (func_get_autoconf_snippet, func_get_automake_snippet)
16750         (func_get_include_directive, func_get_link_directive)
16751         (func_get_license, func_get_maintainer): Use
16752         func_cache_lookup_module.
16753
16754 2010-02-07  Bruno Haible  <bruno@clisp.org>
16755
16756         fnctl: Fix missing dependency.
16757         * modules/fcntl (Depends-on): Add getdtablesize.
16758         Reported by John W. Eaton <jwe@gnu.org>.
16759
16760 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16761
16762         Argp: fix recognition of short alias options.
16763
16764         * lib/argp-parse.c (convert_options): Fix improper use of
16765         `|' between character values.
16766         * tests/test-argp.c (group1_option): New alias option
16767         --read (-r).
16768         (group1_parser): Special handling for 'r'.
16769         (test15): New test case.
16770         (test_fun): Add test15.
16771         * tests/test-argp-2.sh: Update expected --help and --usage
16772         outputs.
16773
16774 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16775
16776         * tests/test-argp.c: Fix indentation.
16777
16778 2010-02-04  Eric Blake  <ebb9@byu.net>
16779
16780         gettimeofday: expose type of second argument
16781         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
16782         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
16783         * tests/test-gettimeofday.c: Use it to silence warning.
16784         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
16785         the issue.
16786
16787 2010-02-03  Jim Meyering  <meyering@redhat.com>
16788
16789         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
16790         * lib/regcomp.c (TYPE_SIGNED): Define.
16791         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
16792
16793         regcomp.c: avoid a new -Wshadow warning
16794         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
16795
16796 2010-02-01  Jim Meyering  <meyering@redhat.com>
16797
16798         removing useless parentheses in cpp #define directives
16799         For motivation, see commit c0221df4, "define STREQ(a,b)
16800         consistently, removing useless parentheses"
16801         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
16802         * lib/mountlist.c (MNT_IGNORE): Likewise.
16803         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
16804
16805 2010-02-01  Eric Blake  <ebb9@byu.net>
16806
16807         sys_time: use link-warning
16808         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
16809         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
16810         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
16811         * modules/sys_time (Depends-on): Add warn-on-use.
16812         (Makefile.am): Always build replacement.
16813         (configure.ac): Update substitutions.
16814         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
16815         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
16816         bother with SYS_TIME_H.
16817         * modules/gettimeofday (configure.ac): Declare indicator.
16818         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
16819         in use.
16820
16821         closein-tests: silence compiler warning
16822         * tests/test-closein.c (main): Ignore fread result.
16823         * modules/closein-tests (Depends-on): Add ignore-value.
16824
16825         tests: silence warning about system return
16826         * tests/test-areadlink-with-size.c (main): Ignore system result.
16827         * tests/test-areadlink.c (main): Likewise.
16828         * tests/test-areadlinkat-with-size.c (main): Likewise.
16829         * tests/test-areadlinkat.c (main): Likewise.
16830         * tests/test-canonicalize-lgpl.c (main): Likewise.
16831         * tests/test-canonicalize.c (main): Likewise.
16832         * tests/test-chown.c (main): Likewise.
16833         * tests/test-fchownat.c (main): Likewise.
16834         * tests/test-fdutimensat.c (main): Likewise.
16835         * tests/test-fstatat.c (main): Likewise.
16836         * tests/test-futimens.c (main): Likewise.
16837         * tests/test-lchown.c (main): Likewise.
16838         * tests/test-link.c (main): Likewise.
16839         * tests/test-linkat.c (main): Likewise.
16840         * tests/test-lstat.c (main): Likewise.
16841         * tests/test-mkdir.c (main): Likewise.
16842         * tests/test-mkdirat.c (main): Likewise.
16843         * tests/test-mkfifo.c (main): Likewise.
16844         * tests/test-mkfifoat.c (main): Likewise.
16845         * tests/test-mknod.c (main): Likewise.
16846         * tests/test-readlink.c (main): Likewise.
16847         * tests/test-remove.c (main): Likewise.
16848         * tests/test-rename.c (main): Likewise.
16849         * tests/test-renameat.c (main): Likewise.
16850         * tests/test-rmdir.c (main): Likewise.
16851         * tests/test-symlink.c (main): Likewise.
16852         * tests/test-symlinkat.c (main): Likewise.
16853         * tests/test-unlink.c (main): Likewise.
16854         * tests/test-unlinkat.c (main): Likewise.
16855         * tests/test-utimens.c (main): Likewise.
16856         * tests/test-utimensat.c (main): Likewise.
16857         * modules/areadlink-tests (Depends-on): Add ignore-value.
16858         * modules/areadlink-with-size-tests (Depends-on): Likewise.
16859         * modules/areadlinkat-tests (Depends-on): Likewise.
16860         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
16861         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16862         * modules/canonicalize-tests (Depends-on): Likewise.
16863         * modules/chown-tests (Depends-on): Likewise.
16864         * modules/fdutimensat-tests (Depends-on): Likewise.
16865         * modules/futimens-tests (Depends-on): Likewise.
16866         * modules/lchown-tests (Depends-on): Likewise.
16867         * modules/link-tests (Depends-on): Likewise.
16868         * modules/linkat-tests (Depends-on): Likewise.
16869         * modules/lstat-tests (Depends-on): Likewise.
16870         * modules/mkdir-tests (Depends-on): Likewise.
16871         * modules/mkfifo-tests (Depends-on): Likewise.
16872         * modules/mkfifoat-tests (Depends-on): Likewise.
16873         * modules/mknod-tests (Depends-on): Likewise.
16874         * modules/openat-tests (Depends-on): Likewise.
16875         * modules/readlink-tests (Depends-on): Likewise.
16876         * modules/remove-tests (Depends-on): Likewise.
16877         * modules/rename-tests (Depends-on): Likewise.
16878         * modules/renameat-tests (Depends-on): Likewise.
16879         * modules/rmdir-tests (Depends-on): Likewise.
16880         * modules/symlink-tests (Depends-on): Likewise.
16881         * modules/symlinkat-tests (Depends-on): Likewise.
16882         * modules/unlink-tests (Depends-on): Likewise.
16883         * modules/utimens-tests (Depends-on): Likewise.
16884         * modules/utimensat-tests (Depends-on): Likewise.
16885
16886 2010-01-31  Bruno Haible  <bruno@clisp.org>
16887
16888         Perform the same test for many <math.h> functions.
16889         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
16890         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
16891         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
16892         of gl_MATHFUNC.
16893         * modules/acos (configure.ac): Likewise.
16894         * modules/asin (configure.ac): Likewise.
16895         * modules/atan (configure.ac): Likewise.
16896         * modules/atan2 (configure.ac): Likewise.
16897         * modules/cbrt (configure.ac): Likewise.
16898         * modules/copysign (configure.ac): Likewise.
16899         * modules/cos (configure.ac): Likewise.
16900         * modules/cosh (configure.ac): Likewise.
16901         * modules/erf (configure.ac): Likewise.
16902         * modules/erfc (configure.ac): Likewise.
16903         * modules/exp (configure.ac): Likewise.
16904         * modules/fmod (configure.ac): Likewise.
16905         * modules/hypot (configure.ac): Likewise.
16906         * modules/j0 (configure.ac): Likewise.
16907         * modules/j1 (configure.ac): Likewise.
16908         * modules/jn (configure.ac): Likewise.
16909         * modules/lgamma (configure.ac): Likewise.
16910         * modules/log (configure.ac): Likewise.
16911         * modules/log10 (configure.ac): Likewise.
16912         * modules/log1p (configure.ac): Likewise.
16913         * modules/pow (configure.ac): Likewise.
16914         * modules/remainder (configure.ac): Likewise.
16915         * modules/sin (configure.ac): Likewise.
16916         * modules/sinh (configure.ac): Likewise.
16917         * modules/tan (configure.ac): Likewise.
16918         * modules/tanh (configure.ac): Likewise.
16919         * modules/y0 (configure.ac): Likewise.
16920         * modules/y1 (configure.ac): Likewise.
16921         * modules/yn (configure.ac): Likewise.
16922         Suggested by Paolo Bonzini.
16923
16924 2010-01-31  Bruno Haible  <bruno@clisp.org>
16925
16926         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
16927
16928 2010-01-31  Bruno Haible  <bruno@clisp.org>
16929
16930         Work around getdelim() bug on FreeBSD 8.0.
16931         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
16932         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
16933         not work.
16934         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
16935         is 1.
16936         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
16937         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
16938         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
16939         a non-zero size.
16940         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
16941
16942 2010-01-31  Bruno Haible  <bruno@clisp.org>
16943
16944         Work around getline() bug on FreeBSD 8.0.
16945         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
16946         and a non-zero size.
16947         * tests/test-getline.c (main): Likewise.
16948         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
16949         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
16950
16951 2010-01-28  Eric Blake  <ebb9@byu.net>
16952
16953         regex: fix build failure
16954         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
16955         platforms.
16956
16957 2010-01-28  Jim Meyering  <meyering@redhat.com>
16958
16959         regex: do not ignore memory allocation failure
16960         * lib/regex_internal.c (create_cd_newstate): Detect
16961         re_node_set_init_copy failure.   Extracted from glibc commit
16962         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16963
16964         regex: sync more white-space changes from libc
16965         * lib/regex_internal.c: White-space only changes.
16966         * lib/regexec.c: Likewise.
16967
16968         regex: add many uses of __attribute_warn_unused_result__
16969         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
16970         * lib/regexec.c: Likewise.
16971         Extracted from a messy glibc commit.
16972
16973         regcomp.c: spelling and merge-artifact from glibc
16974         * lib/regcomp.c: Merge remainder of glibc's
16975         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16976
16977         regcomp.c: sync white-space changes from glibc
16978         * lib/regcomp.c: Merge to accommodate white space
16979         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16980
16981         regcomp.c: do not ignore internal return values
16982         * lib/regcomp.c: Do not ignore internal return values.
16983         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
16984         but without its white-space changes and spelling fixes.
16985
16986         regex_internal.h: define __attribute_warn_unused_result__
16987         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
16988
16989         maint: add a syntax-check rule to check for vulnerable Makefile.in
16990         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
16991
16992 2010-01-27  Jim Meyering  <meyering@redhat.com>
16993
16994         ncftpput-ftp: clean up spaces
16995         * build-aux/ncftpput-ftp: Make Copyright line consistent.
16996         Remove trailing blanks.
16997
16998 2010-01-27  Simon Josefsson  <simon@josefsson.org>
16999
17000         * build-aux/git-version-gen: Fix copyright statement.
17001         * build-aux/gnupload: Likewise.
17002         * tests/test-arcfour.c: Likewise.
17003         * tests/test-arctwo.c: Likewise.
17004         * tests/test-count-one-bits.c: Likewise.
17005         * tests/test-crc.c: Likewise.
17006         * tests/test-des.c: Likewise.
17007         * tests/test-gc-arcfour.c: Likewise.
17008         * tests/test-gc-arctwo.c: Likewise.
17009         * tests/test-gc-des.c: Likewise.
17010         * tests/test-gc-hmac-md5.c: Likewise.
17011         * tests/test-gc-hmac-sha1.c: Likewise.
17012         * tests/test-gc-md2.c: Likewise.
17013         * tests/test-gc-md4.c: Likewise.
17014         * tests/test-gc-md5.c: Likewise.
17015         * tests/test-gc-pbkdf2-sha1.c: Likewise.
17016         * tests/test-gc-rijndael.c: Likewise.
17017         * tests/test-gc-sha1.c: Likewise.
17018         * tests/test-gc.c: Likewise.
17019         * tests/test-gethostname.c: Likewise.
17020         * tests/test-gettimeofday.c: Likewise.
17021         * tests/test-hash.c: Likewise.
17022         * tests/test-hmac-md5.c: Likewise.
17023         * tests/test-hmac-sha1.c: Likewise.
17024         * tests/test-md2.c: Likewise.
17025         * tests/test-md4.c: Likewise.
17026         * tests/test-md5.c: Likewise.
17027         * tests/test-memchr.c: Likewise.
17028         * tests/test-memchr2.c: Likewise.
17029         * tests/test-memcmp.c: Likewise.
17030         * tests/test-memmem.c: Likewise.
17031         * tests/test-memrchr.c: Likewise.
17032         * tests/test-rawmemchr.c: Likewise.
17033         * tests/test-read-file.c: Likewise.
17034         * tests/test-rijndael.c: Likewise.
17035         * tests/test-sockets.c: Likewise.
17036         * tests/test-strchrnul.c: Likewise.
17037         * tests/test-strstr.c: Likewise.
17038         * tests/test-strtod.c: Likewise.
17039         * build-aux/ncftpput-ftp: Likewise.
17040
17041 2010-01-26  Eric Blake  <ebb9@byu.net>
17042
17043         ignore-value: update recommended header name
17044         * modules/ignore-value (Include): Only use <> for headers that
17045         exist in glibc.
17046
17047 2010-01-26  Jim Meyering  <meyering@redhat.com>
17048
17049         test-userspec.c: avoid compiler warnings
17050         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
17051         and "initialization discards qualifiers..." warnings.
17052         Put the first "uid" in its own scope, and make char* members "const".
17053
17054 2010-01-25  Bruno Haible  <bruno@clisp.org>
17055
17056         gnulib-tool: Make warning diagnostics consistent.
17057         * gnulib-tool (func_warning): New function.
17058         Use it everywhere where gnulib-tool produces output to stderr and it is
17059         not a fatal error.
17060
17061 2010-01-25  Bruno Haible  <bruno@clisp.org>
17062
17063         Fix test dependencies.
17064         * modules/xstrtol-tests (Depends-on): Add inttypes.
17065         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
17066
17067 2010-01-25 Pádraig Brady <P@draigBrady.com>
17068
17069         syntax-check: detect incorrect boolean macro values in config.h
17070         * modules/maintainer-makefile (configure.ac): Parameterize the location
17071         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
17072         The logic is from Eric Blake and the location indicated by Jim Meyering.
17073         Note the more natural CONFIG_HEADER name is prohibited by automake
17074         for backwards compatibility reasons.
17075         * top/maint.mk (sc_Wundef_boolean): New rule.
17076
17077 2010-01-25  Jim Meyering  <meyering@redhat.com>
17078
17079         bootstrap: detect MacOS 10.6's shasum, too
17080         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
17081         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
17082
17083 2010-01-23  Jim Meyering  <meyering@redhat.com>
17084
17085         xstrtoll: new module
17086         * modules/xstrtoll: New file.
17087         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
17088         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
17089         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
17090         ./configure fails if you use this module and lack "long long".
17091         * modules/xstrtoll-tests: New module.
17092         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
17093         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
17094         new init.sh-based test framework.
17095
17096 2010-01-24  Bruno Haible  <bruno@clisp.org>
17097
17098         Tests for module 'yn'.
17099         * modules/yn-tests: New file.
17100         * tests/test-yn.c: New file.
17101
17102         Tests for module 'y1'.
17103         * modules/y1-tests: New file.
17104         * tests/test-y1.c: New file.
17105
17106         Tests for module 'y0'.
17107         * modules/y0-tests: New file.
17108         * tests/test-y0.c: New file.
17109
17110         Tests for module 'tanh'.
17111         * modules/tanh-tests: New file.
17112         * tests/test-tanh.c: New file.
17113
17114         Tests for module 'tan'.
17115         * modules/tan-tests: New file.
17116         * tests/test-tan.c: New file.
17117
17118         Tests for module 'sqrt'.
17119         * modules/sqrt-tests: New file.
17120         * tests/test-sqrt.c: New file.
17121
17122         Tests for module 'sinh'.
17123         * modules/sinh-tests: New file.
17124         * tests/test-sinh.c: New file.
17125
17126         Tests for module 'sin'.
17127         * modules/sin-tests: New file.
17128         * tests/test-sin.c: New file.
17129
17130         Tests for module 'rint'.
17131         * modules/rint-tests: New file.
17132         * tests/test-rint.c: New file.
17133
17134         Tests for module 'remainder'.
17135         * modules/remainder-tests: New file.
17136         * tests/test-remainder.c: New file.
17137
17138         Tests for module 'pow'.
17139         * modules/pow-tests: New file.
17140         * tests/test-pow.c: New file.
17141
17142         Tests for module 'nextafter'.
17143         * modules/nextafter-tests: New file.
17144         * tests/test-nextafter.c: New file.
17145
17146         Tests for module 'modf'.
17147         * modules/modf-tests: New file.
17148         * tests/test-modf.c: New file.
17149
17150         Tests for module 'logb'.
17151         * modules/logb-tests: New file.
17152         * tests/test-logb.c: New file.
17153
17154         Tests for module 'log1p'.
17155         * modules/log1p-tests: New file.
17156         * tests/test-log1p.c: New file.
17157
17158         Tests for module 'log10'.
17159         * modules/log10-tests: New file.
17160         * tests/test-log10.c: New file.
17161
17162         Tests for module 'log'.
17163         * modules/log-tests: New file.
17164         * tests/test-log.c: New file.
17165
17166         Tests for module 'lgamma'.
17167         * modules/lgamma-tests: New file.
17168         * tests/test-lgamma.c: New file.
17169
17170         Tests for module 'ldexp'.
17171         * modules/ldexp-tests: New file.
17172         * tests/test-ldexp.c: New file.
17173
17174         Tests for module 'jn'.
17175         * modules/jn-tests: New file.
17176         * tests/test-jn.c: New file.
17177
17178         Tests for module 'j1'.
17179         * modules/j1-tests: New file.
17180         * tests/test-j1.c: New file.
17181
17182         Tests for module 'j0'.
17183         * modules/j0-tests: New file.
17184         * tests/test-j0.c: New file.
17185
17186         Tests for module 'hypot'.
17187         * modules/hypot-tests: New file.
17188         * tests/test-hypot.c: New file.
17189
17190         Tests for module 'fmod'.
17191         * modules/fmod-tests: New file.
17192         * tests/test-fmod.c: New file.
17193
17194         Tests for module 'fabs'.
17195         * modules/fabs-tests: New file.
17196         * tests/test-fabs.c: New file.
17197
17198         Tests for module 'exp'.
17199         * modules/exp-tests: New file.
17200         * tests/test-exp.c: New file.
17201
17202         Tests for module 'erfc'.
17203         * modules/erfc-tests: New file.
17204         * tests/test-erfc.c: New file.
17205
17206         Tests for module 'erf'.
17207         * modules/erf-tests: New file.
17208         * tests/test-erf.c: New file.
17209
17210         Tests for module 'cosh'.
17211         * modules/cosh-tests: New file.
17212         * tests/test-cosh.c: New file.
17213
17214         Tests for module 'cos'.
17215         * modules/cos-tests: New file.
17216         * tests/test-cos.c: New file.
17217
17218         Tests for module 'copysign'.
17219         * modules/copysign-tests: New file.
17220         * tests/test-copysign.c: New file.
17221
17222         Tests for module 'cbrt'.
17223         * modules/cbrt-tests: New file.
17224         * tests/test-cbrt.c: New file.
17225
17226         Tests for module 'atan2'.
17227         * modules/atan2-tests: New file.
17228         * tests/test-atan2.c: New file.
17229
17230         Tests for module 'atan'.
17231         * modules/atan-tests: New file.
17232         * tests/test-atan.c: New file.
17233
17234         Tests for module 'asin'.
17235         * modules/asin-tests: New file.
17236         * tests/test-asin.c: New file.
17237
17238         Tests for module 'acos'.
17239         * modules/acos-tests: New file.
17240         * tests/test-acos.c: New file.
17241
17242 2010-01-24  Bruno Haible  <bruno@clisp.org>
17243
17244         Fix tests for common <math.h> functions.
17245         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
17246         code snippet that references the function pointer, rather than merely
17247         calling the function. Substitute the FUNC_LIBM variable.
17248         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
17249         * modules/acos (configure.ac): Likewise.
17250         * modules/asin (configure.ac): Likewise.
17251         * modules/atan (configure.ac): Likewise.
17252         * modules/atan2 (configure.ac): Likewise.
17253         * modules/cbrt (configure.ac): Likewise.
17254         * modules/copysign (configure.ac): Likewise.
17255         * modules/cos (configure.ac): Likewise.
17256         * modules/cosh (configure.ac): Likewise.
17257         * modules/erf (configure.ac): Likewise.
17258         * modules/erfc (configure.ac): Likewise.
17259         * modules/exp (configure.ac): Likewise.
17260         * modules/fabs (configure.ac): Likewise.
17261         * modules/fmod (configure.ac): Likewise.
17262         * modules/hypot (configure.ac): Likewise.
17263         * modules/j0 (configure.ac): Likewise.
17264         * modules/j1 (configure.ac): Likewise.
17265         * modules/jn (configure.ac): Likewise.
17266         * modules/ldexp (configure.ac): Likewise.
17267         * modules/lgamma (configure.ac): Likewise.
17268         * modules/log (configure.ac): Likewise.
17269         * modules/log10 (configure.ac): Likewise.
17270         * modules/log1p (configure.ac): Likewise.
17271         * modules/logb (configure.ac): Likewise.
17272         * modules/modf (configure.ac): Likewise.
17273         * modules/nextafter (configure.ac): Likewise.
17274         * modules/pow (configure.ac): Likewise.
17275         * modules/remainder (configure.ac): Likewise.
17276         * modules/rint (configure.ac): Likewise.
17277         * modules/sin (configure.ac): Likewise.
17278         * modules/sinh (configure.ac): Likewise.
17279         * modules/tan (configure.ac): Likewise.
17280         * modules/tanh (configure.ac): Likewise.
17281         * modules/y0 (configure.ac): Likewise.
17282         * modules/y1 (configure.ac): Likewise.
17283         * modules/yn (configure.ac): Likewise.
17284
17285 2010-01-24  Bruno Haible  <bruno@clisp.org>
17286
17287         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
17288         * tests/test-acosl.c (x): New variable.
17289         (main): Store argument in x and fetch it from x.
17290         * tests/test-asinl.c (x): New variable.
17291         (main): Store argument in x and fetch it from x.
17292         * tests/test-atanl.c (x): New variable.
17293         (main): Store argument in x and fetch it from x.
17294         * tests/test-cosl.c (x): New variable.
17295         (main): Store argument in x and fetch it from x.
17296         * tests/test-expl.c (x): New variable.
17297         (main): Store argument in x and fetch it from x.
17298         * tests/test-logl.c (x): New variable.
17299         (main): Store argument in x and fetch it from x.
17300         * tests/test-sinl.c (x): New variable.
17301         (main): Store argument in x and fetch it from x.
17302         * tests/test-sqrtl.c (x): New variable.
17303         (main): Store argument in x and fetch it from x.
17304         * tests/test-tanl.c (x): New variable.
17305         (main): Store argument in x and fetch it from x.
17306
17307 2010-01-24  Bruno Haible  <bruno@clisp.org>
17308
17309         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
17310         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
17311         assignments to the initial TESTS_ENVIRONMENT.
17312         * doc/gnulib.texi (Unit test modules): Document it.
17313         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
17314         TESTS_ENVIRONMENT.
17315         * modules/btowc-tests (Makefile.am): Likewise.
17316         * modules/c-stack-tests (Makefile.am): Likewise.
17317         * modules/c-strcase-tests (Makefile.am): Likewise.
17318         * modules/copy-file-tests (Makefile.am): Likewise.
17319         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
17320         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
17321         * modules/mbrtowc-tests (Makefile.am): Likewise.
17322         * modules/mbscasecmp-tests (Makefile.am): Likewise.
17323         * modules/mbscasestr-tests (Makefile.am): Likewise.
17324         * modules/mbschr-tests (Makefile.am): Likewise.
17325         * modules/mbscspn-tests (Makefile.am): Likewise.
17326         * modules/mbsinit-tests (Makefile.am): Likewise.
17327         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
17328         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
17329         * modules/mbspbrk-tests (Makefile.am): Likewise.
17330         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
17331         * modules/mbsrchr-tests (Makefile.am): Likewise.
17332         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
17333         * modules/mbsspn-tests (Makefile.am): Likewise.
17334         * modules/mbsstr-tests (Makefile.am): Likewise.
17335         * modules/nl_langinfo-tests (Makefile.am): Likewise.
17336         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
17337         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
17338         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
17339         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
17340         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
17341         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
17342         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
17343         * modules/wcrtomb-tests (Makefile.am): Likewise.
17344         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
17345         * modules/wcsrtombs-tests (Makefile.am): Likewise.
17346         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
17347         assignments from TESTS_ENVIRONMENT.
17348         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
17349         augmentation.
17350         * modules/argp-version-etc-tests (Makefile.am): Likewise.
17351         * modules/atexit-tests (Makefile.am): Likewise.
17352         * modules/binary-io-tests (Makefile.am): Likewise.
17353         * modules/closein-tests (Makefile.am): Likewise.
17354         * modules/dprintf-posix-tests (Makefile.am): Likewise.
17355         * modules/exclude-tests (Makefile.am): Likewise.
17356         * modules/fflush-tests (Makefile.am): Likewise.
17357         * modules/fpending-tests (Makefile.am): Likewise.
17358         * modules/fprintf-posix-tests (Makefile.am): Likewise.
17359         * modules/freadahead-tests (Makefile.am): Likewise.
17360         * modules/freadptr-tests (Makefile.am): Likewise.
17361         * modules/freadseek-tests (Makefile.am): Likewise.
17362         * modules/fseek-tests (Makefile.am): Likewise.
17363         * modules/fseeko-tests (Makefile.am): Likewise.
17364         * modules/ftell-tests (Makefile.am): Likewise.
17365         * modules/ftello-tests (Makefile.am): Likewise.
17366         * modules/idpriv-drop-tests (Makefile.am): Likewise.
17367         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
17368         * modules/lseek-tests (Makefile.am): Likewise.
17369         * modules/parse-duration-tests (Makefile.am): Likewise.
17370         * modules/perror-tests (Makefile.am): Likewise.
17371         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
17372         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
17373         * modules/pipe-tests (Makefile.am): Likewise.
17374         * modules/pread-tests (Makefile.am): Likewise.
17375         * modules/printf-posix-tests (Makefile.am): Likewise.
17376         * modules/select-tests (Makefile.am): Likewise.
17377         * modules/sigpipe-tests (Makefile.am): Likewise.
17378         * modules/tsearch-tests (Makefile.am): Likewise.
17379         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
17380         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
17381         * modules/uniname/uniname-tests (Makefile.am): Likewise.
17382         * modules/uniwidth/width-tests (Makefile.am): Likewise.
17383         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
17384         * modules/version-etc-tests (Makefile.am): Likewise.
17385         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
17386         * modules/vprintf-posix-tests (Makefile.am): Likewise.
17387         * modules/xalloc-die-tests (Makefile.am): Likewise.
17388         * modules/xprintf-posix-tests (Makefile.am): Likewise.
17389         * modules/xstrtoimax-tests (Makefile.am): Likewise.
17390         * modules/xstrtol-tests (Makefile.am): Likewise.
17391         * modules/xstrtoumax-tests (Makefile.am): Likewise.
17392         * modules/yesno-tests (Makefile.am): Likewise.
17393         Suggested by Jim Meyering.
17394
17395 2010-01-24  Bruno Haible  <bruno@clisp.org>
17396
17397         More documentation.
17398         * doc/gnulib.texi (Writing modules): New chapter.
17399         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
17400         the new chapter.
17401
17402 2010-01-24  Jim Meyering  <meyering@redhat.com>
17403
17404         maint.mk: do not prepend "./" after filtering
17405         * top/maint.mk (_prepend_srcdir_prefix): New variable
17406         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
17407         "./" when $(srcdir) is ".".
17408
17409         define STREQ(a,b) consistently, removing useless parentheses
17410         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
17411         since the only risk is that "a" or "b" contains an unparenthesized
17412         comma, but if either did that, STREQ would have 3 or more arguments.
17413         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
17414         * lib/fts.c (STREQ): Remove unnecessary parentheses.
17415         * lib/hash-triple.c (STREQ): Likewise.
17416         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
17417         * lib/getugroups.c (STREQ): Likewise.
17418
17419 2010-01-23  Jim Meyering  <meyering@redhat.com>
17420
17421         maint.mk: fix syntax-check in a non-srcdir build directory
17422         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
17423         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
17424
17425 2010-01-22  Jim Meyering  <meyering@redhat.com>
17426
17427         userspec: add unit tests
17428         * tests/test-userspec.c: New file.
17429         * modules/userspec-tests: Likewise.
17430
17431 2010-01-21  Jim Meyering  <meyering@redhat.com>
17432
17433         maint.mk: handle source file names containing "." robustly
17434         * top/maint.mk (_dot_escaped_srcdir): Define.
17435         (VC_LIST): Use it in LHS of sed substitution.
17436
17437 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
17438
17439         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
17440         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
17441         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
17442         from a non-srcdir build.
17443
17444 2010-01-20  Eric Blake  <ebb9@byu.net>
17445
17446         warn-on-use: use instead of link-warning
17447         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
17448         * modules/unistd (Depends-on, Makefile.am): Likewise.
17449         * modules/arpa_inet (Depends-on): Replace link-warning with
17450         warn-on-use.
17451         (Makefile.am): Update rules accordingly.
17452         * modules/ctype (Depends-on, Makefile.am): Likewise.
17453         * modules/dirent (Depends-on, Makefile.am): Likewise.
17454         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
17455         * modules/inttypes (Depends-on, Makefile.am): Likewise.
17456         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17457         * modules/locale (Depends-on, Makefile.am): Likewise.
17458         * modules/math (Depends-on, Makefile.am): Likewise.
17459         * modules/search (Depends-on, Makefile.am): Likewise.
17460         * modules/signal (Depends-on, Makefile.am): Likewise.
17461         * modules/spawn (Depends-on, Makefile.am): Likewise.
17462         * modules/stdlib (Depends-on, Makefile.am): Likewise.
17463         * modules/string (Depends-on, Makefile.am): Likewise.
17464         * modules/strings (Depends-on, Makefile.am): Likewise.
17465         * modules/sys_file (Depends-on, Makefile.am): Likewise.
17466         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
17467         * modules/sys_select (Depends-on, Makefile.am): Likewise.
17468         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
17469         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
17470         * modules/sys_times (Depends-on, Makefile.am): Likewise.
17471         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17472         * modules/wchar (Depends-on, Makefile.am): Likewise.
17473         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
17474         should be poisoned.
17475         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
17476         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
17477         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
17478         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17479         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17480         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
17481         * m4/math_h.m4 (gl_MATH_H): Likewise.
17482         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17483         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
17484         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17485         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
17486         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
17487         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
17488         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
17489         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
17490         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17491         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17492         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17493         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
17494         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17495         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17496         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17497         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17498         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
17499         GL_LINK_WARNING.
17500         * lib/ctype.in.h: Likewise.
17501         * lib/dirent.in.h: Likewise.
17502         * lib/fcntl.in.h: Likewise.
17503         * lib/inttypes.in.h: Likewise.
17504         * lib/langinfo.in.h: Likewise.
17505         * lib/locale.in.h: Likewise.
17506         * lib/math.in.h: Likewise.
17507         * lib/search.in.h: Likewise.
17508         * lib/signal.in.h: Likewise.
17509         * lib/spawn.in.h: Likewise.
17510         * lib/stdio.in.h: Likewise.
17511         * lib/stdlib.in.h: Likewise.
17512         * lib/string.in.h: Likewise.
17513         * lib/strings.in.h: Likewise.
17514         * lib/sys_file.in.h: Likewise.
17515         * lib/sys_ioctl.in.h: Likewise.
17516         * lib/sys_select.in.h: Likewise.
17517         * lib/sys_socket.in.h: Likewise.
17518         * lib/sys_stat.in.h: Likewise.
17519         * lib/sys_times.in.h: Likewise.
17520         * lib/sys_utsname.in.h: Likewise.
17521         * lib/unistd.in.h: Likewise.
17522         * lib/wchar.in.h: Likewise.
17523
17524 2010-01-20  Bruno Haible  <bruno@clisp.org>
17525
17526         Avoid duplicate -lm.
17527         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
17528         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
17529         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
17530         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
17531         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
17532         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
17533         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
17534         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
17535         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
17536         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
17537         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
17538         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
17539         Reported by Paolo Bonzini.
17540
17541 2010-01-19  Bruno Haible  <bruno@clisp.org>
17542
17543         langinfo, nl_langinfo: Relicense under LGPLv2+.
17544         * modules/langinfo (License): Change to LGPLv2+.
17545         * modules/nl_langinfo (License): Likewise.
17546         Patch by David Lutterkort <lutter@redhat.com>.
17547
17548 2010-01-19  Bruno Haible  <bruno@clisp.org>
17549
17550         Avoid compilation error with cc on OSF/1 5.1.
17551         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
17552         statement, not before.
17553         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17554
17555 2010-01-18  Bruno Haible  <bruno@clisp.org>
17556
17557         Avoid a link error due to the __printf__ symbol.
17558         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
17559         and 2.6.x.
17560         (__format__, __printf__): Remove definitions.
17561         * lib/argp-fmtstream.h: Likewise.
17562         * lib/argp.h: Likewise.
17563         * lib/error.h: Likewise.
17564         * lib/vasnprintf.h: Likewise.
17565         * lib/xprintf.h: Likewise.
17566         * lib/xvasprintf.h: Likewise.
17567         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17568
17569 2010-01-18  Bruno Haible  <bruno@clisp.org>
17570
17571         Tests for module 'tanl'.
17572         * modules/tanl-tests: New file.
17573         * tests/test-tanl.c: New file.
17574
17575         Tests for module 'sqrtl'.
17576         * modules/sqrtl-tests: New file.
17577         * tests/test-sqrtl.c: New file.
17578
17579         Tests for module 'sinl'.
17580         * modules/sinl-tests: New file.
17581         * tests/test-sinl.c: New file.
17582
17583         Tests for module 'logl'.
17584         * modules/logl-tests: New file.
17585         * tests/test-logl.c: New file.
17586
17587         Tests for module 'expl'.
17588         * modules/expl-tests: New file.
17589         * tests/test-expl.c: New file.
17590
17591         Tests for module 'cosl'.
17592         * modules/cosl-tests: New file.
17593         * tests/test-cosl.c: New file.
17594
17595         Tests for module 'atanl'.
17596         * modules/atanl-tests: New file.
17597         * tests/test-atanl.c: New file.
17598
17599         Tests for module 'asinl'.
17600         * modules/asinl-tests: New file.
17601         * tests/test-asinl.c: New file.
17602
17603         Tests for module 'acosl'.
17604         * modules/acosl-tests: New file.
17605         * tests/test-acosl.c: New file.
17606
17607         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17608         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
17609         tanl): Use the standard gnulib idiom.
17610         * lib/cosl.c: Don't include trigl.c and sincosl.c.
17611         * lib/sinl.c: Likewise.
17612         * lib/tanl.c: Don't include trigl.c.
17613         (kernel_tanl): Make static.
17614         * lib/sincosl.c: Include trigl.h first.
17615         * lib/trigl.c: Likewise.
17616         * m4/acosl.m4: New file.
17617         * m4/asinl.m4: New file.
17618         * m4/atanl.m4: New file.
17619         * m4/cosl.m4: New file.
17620         * m4/expl.m4: New file.
17621         * m4/logl.m4: New file.
17622         * m4/sinl.m4: New file.
17623         * m4/sqrtl.m4: New file.
17624         * m4/tanl.m4: New file.
17625         * m4/mathl.m4: Remove file.
17626         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
17627         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17628         Don't initialize GNULIB_MATHL.
17629         * modules/acosl: New file.
17630         * modules/asinl: New file.
17631         * modules/atanl: New file.
17632         * modules/cosl: New file.
17633         * modules/expl: New file.
17634         * modules/logl: New file.
17635         * modules/sinl: New file.
17636         * modules/sqrtl: New file.
17637         * modules/tanl: New file.
17638         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
17639         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
17640         substitute GNULIB_MATHL.
17641         * modules/mathl: Rewritten.
17642         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
17643         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
17644         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
17645         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
17646         * doc/posix-functions/expl.texi: Mention the 'expl' module.
17647         * doc/posix-functions/logl.texi: Mention the 'logl' module.
17648         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
17649         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
17650         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
17651
17652 2010-01-18  Bruno Haible  <bruno@clisp.org>
17653
17654         sqrt: Make gl_FUNC_SQRT requirable.
17655         * m4/sqrt.m4: New file.
17656         * modules/sqrt (Files): Add it.
17657         (configure.ac): Invoke gl_FUNC_SQRT.
17658
17659 2010-01-18  Bruno Haible  <bruno@clisp.org>
17660
17661         New modules for common <math.h> functions.
17662         * m4/mathfunc.m4: New file.
17663         * modules/acos: New file.
17664         * modules/asin: New file.
17665         * modules/atan: New file.
17666         * modules/atan2: New file.
17667         * modules/cbrt: New file.
17668         * modules/copysign: New file.
17669         * modules/cos: New file.
17670         * modules/cosh: New file.
17671         * modules/erf: New file.
17672         * modules/erfc: New file.
17673         * modules/exp: New file.
17674         * modules/fabs: New file.
17675         * modules/fmod: New file.
17676         * modules/hypot: New file.
17677         * modules/j0: New file.
17678         * modules/j1: New file.
17679         * modules/jn: New file.
17680         * modules/ldexp: New file.
17681         * modules/lgamma: New file.
17682         * modules/log: New file.
17683         * modules/log10: New file.
17684         * modules/log1p: New file.
17685         * modules/logb: New file.
17686         * modules/modf: New file.
17687         * modules/nextafter: New file.
17688         * modules/pow: New file.
17689         * modules/remainder: New file.
17690         * modules/rint: New file.
17691         * modules/sin: New file.
17692         * modules/sinh: New file.
17693         * modules/sqrt: New file.
17694         * modules/tan: New file.
17695         * modules/tanh: New file.
17696         * modules/y0: New file.
17697         * modules/y1: New file.
17698         * modules/yn: New file.
17699         * doc/posix-functions/acos.texi: Mention the 'acos' module.
17700         * doc/posix-functions/asin.texi: Mention the 'asin' module.
17701         * doc/posix-functions/atan.texi: Mention the 'atan' module.
17702         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
17703         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
17704         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
17705         * doc/posix-functions/cos.texi: Mention the 'cos' module.
17706         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
17707         * doc/posix-functions/erf.texi: Mention the 'erf' module.
17708         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
17709         * doc/posix-functions/exp.texi: Mention the 'exp' module.
17710         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
17711         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
17712         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
17713         * doc/posix-functions/j0.texi: Mention the 'j0' module.
17714         * doc/posix-functions/j1.texi: Mention the 'j1' module.
17715         * doc/posix-functions/jn.texi: Mention the 'jn' module.
17716         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
17717         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
17718         * doc/posix-functions/log.texi: Mention the 'log' module.
17719         * doc/posix-functions/log10.texi: Mention the 'log10' module.
17720         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
17721         * doc/posix-functions/logb.texi: Mention the 'logb' module.
17722         * doc/posix-functions/modf.texi: Mention the 'modf' module.
17723         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
17724         * doc/posix-functions/pow.texi: Mention the 'pow' module.
17725         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
17726         * doc/posix-functions/rint.texi: Mention the 'rint' module.
17727         * doc/posix-functions/sin.texi: Mention the 'sin' module.
17728         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
17729         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
17730         * doc/posix-functions/tan.texi: Mention the 'tan' module.
17731         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
17732         * doc/posix-functions/y0.texi: Mention the 'y0' module.
17733         * doc/posix-functions/y1.texi: Mention the 'y1' module.
17734         * doc/posix-functions/yn.texi: Mention the 'yn' module.
17735
17736 2010-01-18  Jim Meyering  <meyering@redhat.com>
17737
17738         ignore-value: relax license to LGPLv2+
17739         * modules/ignore-value (License): Relax to LGPLv2+.
17740
17741         getdate: don't leak when TZ contains two or more '"'s
17742         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
17743         double quote in TZ after the first one.
17744
17745         readtokens: do not leak internal token_lengths buffer
17746         * lib/readtokens.c (readtokens): Free the local, lengths,
17747         when the supplied "token_lengths" parameter is NULL.
17748
17749 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17750
17751         Fix a couple of missing LIBTHREAD link failures on AIX.
17752         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
17753         $(LIBTHREAD).
17754         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
17755
17756         Link test-poll against INET_PTON_LIB.
17757         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
17758         for inet_pton on Solaris 10.
17759
17760 2010-01-17  Bruno Haible  <bruno@clisp.org>
17761
17762         unistdio/*-sprintf: Fix typo in module description.
17763         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
17764         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
17765         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
17766         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
17767         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
17768         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
17769         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
17770         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17771
17772 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17773
17774         gnulib-tool: fix filelist for AIX, HP-UX ksh.
17775         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
17776         variables in shell case patterns, for AIX and HP-UX ksh.
17777
17778         Split large sed scripts, for HP-UX sed.
17779         * modules/stdio: Split sed scripts around 50 sed commands,
17780         to avoid HP-UX limit of 99 commands, in the near future.
17781         * modules/string: Likewise.
17782         * modules/unistd: Likewise.
17783
17784         gnulib-tool: avoid writing in the current directory.
17785         * gnulib-tool (func_emit_lib_Makefile_am)
17786         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
17787         not in the current directory, so concurrent gnulib-tool
17788         instances do not interfere.
17789
17790 2010-01-16  Jim Meyering  <meyering@redhat.com>
17791
17792         doc: update users.txt
17793         * users.txt: Add grep.
17794         (diffutils, gzip): Update URLs.
17795
17796 2010-01-12  Bruno Haible  <bruno@clisp.org>
17797
17798         posix_spawn: Avoid test failure on Cygwin.
17799         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
17800         characters.
17801         Reported by Simon Josefsson.
17802
17803 2010-01-12  Bruno Haible  <bruno@clisp.org>
17804
17805         * tests/test-cond.c (main): When skipping the test, show the reason.
17806
17807 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17808
17809         * lib/striconv.c (str_cd_iconv): Avoid if before free.
17810
17811 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17812
17813         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
17814         VC_LIST_ALWAYS_EXCLUDE_REGEX.
17815
17816 2010-01-12  Eric Blake  <ebb9@byu.net>
17817
17818         build: guarantee AS_VAR_IF
17819         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
17820         (gl_AS_VAR_IF): Move...
17821         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
17822         Reported by Simon Josefsson.
17823
17824 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17825
17826         * lib/stdio.in.h: Fix typo.
17827
17828 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17829
17830         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
17831         libgpg-error.
17832
17833 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17834
17835         * tests/test-xalloc-die.sh: Use $EXEEXT.
17836
17837 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17838             Bruno Haible  <bruno@clisp.org>
17839
17840         getlogin, getlogin_r: Avoid test failure.
17841         * tests/test-getlogin.c: Include <stdio.h>.
17842         (main): Skip the test when the function fails because stdin is not a
17843         tty.
17844         * tests/test-getlogin_r.c: Include <stdio.h>.
17845         (main): Skip the test when the function fails because stdin is not a
17846         tty.
17847
17848 2010-01-11  Eric Blake  <ebb9@byu.net>
17849
17850         tests: avoid more large file warnings
17851         * tests/test-fflush.c: Avoid warning about ftell use.
17852         * tests/test-fseek.c: Avoid warning about fseek use.
17853
17854 2010-01-10  Bruno Haible  <bruno@clisp.org>
17855
17856         nproc: Work better on Linux when /proc and /sys are not mounted.
17857         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
17858         as lower bound when, on glibc/Linux systems,
17859         sysconf (_SC_NPROCESSORS_CONF) returns 1.
17860         Suggested by Pádraig Brady <P@draigbrady.com>.
17861         Reported by Dmitry V. Levin <ldv@altlinux.org>.
17862
17863         nproc: Refactor.
17864         * lib/nproc.c (num_processors_via_affinity_mask): New function,
17865         extracted from num_processors.
17866         (num_processors): Call it.
17867
17868 2010-01-11  Jim Meyering  <meyering@redhat.com>
17869
17870         utimecmp: avoid new warning from upcoming gcc-4.5.0
17871         * lib/utimecmp.c (BILLION): Define using #define rather than an
17872         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
17873
17874 2010-01-11  Eric Blake  <ebb9@byu.net>
17875
17876         math: add portability warnings for classification macros
17877         * modules/math (Depends-on): Add warn-on-use.
17878         (Makefile.am): Provide new substitutions.
17879         * m4/math_h.m4 (gl_MATH_H): Require inline.
17880         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
17881         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
17882         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
17883         implement warnings.
17884
17885         unistd: warn on use of environ without module
17886         * modules/unistd (Depends-on): Add warn-on-use.
17887         (Makefile.am): Provide new substitutions.
17888         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
17889         * lib/unistd.in.h (environ): Wrap with a warning helper function.
17890
17891         stdio: warn on suspicious uses
17892         * modules/stdio (Depends-on): Add warn-on-use.
17893         (Makefile.am): Provide new substitutions.
17894         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
17895         fseeko.
17896         * lib/stdio.in.h (gets): Always warn on use.
17897         (fseek, ftell): Adjust when warnings are issued, and honor
17898         _GL_NO_LARGE_FILES as a way to silence the warning.
17899         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
17900         any warning about large file offsets.
17901         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
17902         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
17903         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
17904         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
17905         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
17906         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
17907         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
17908         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
17909
17910         warn-on-use: new module
17911         * modules/warn-on-use: New file.
17912         * build-aux/warn-on-use.h: Likewise.
17913         * m4/warn-on-use.m4: Likewise.
17914         * MODULES.html.sh (Support for building): Mention it.
17915
17916 2010-01-10  Bruno Haible  <bruno@clisp.org>
17917
17918         Tests for module 'unistr/u32-strdup'.
17919         * modules/unistr/u32-strdup-tests: New file.
17920         * tests/unistr/test-u32-strdup.c: New file.
17921
17922         Tests for module 'unistr/u16-strdup'.
17923         * modules/unistr/u16-strdup-tests: New file.
17924         * tests/unistr/test-u16-strdup.c: New file.
17925
17926         Tests for module 'unistr/u8-strdup'.
17927         * modules/unistr/u8-strdup-tests: New file.
17928         * tests/unistr/test-u8-strdup.c: New file.
17929         * tests/unistr/test-strdup.h: New file.
17930
17931         Tests for module 'unistr/u32-strncmp'.
17932         * modules/unistr/u32-strncmp-tests: New file.
17933         * tests/unistr/test-u32-strncmp.c: New file.
17934
17935         Tests for module 'unistr/u16-strncmp'.
17936         * modules/unistr/u16-strncmp-tests: New file.
17937         * tests/unistr/test-u16-strncmp.c: New file.
17938
17939         Tests for module 'unistr/u8-strncmp'.
17940         * modules/unistr/u8-strncmp-tests: New file.
17941         * tests/unistr/test-u8-strncmp.c: New file.
17942         * tests/unistr/test-strncmp.h: New file.
17943
17944         Tests for module 'unistr/u32-strcoll'.
17945         * modules/unistr/u32-strcoll-tests: New file.
17946         * tests/unistr/test-u32-strcoll.c: New file.
17947
17948         Tests for module 'unistr/u16-strcoll'.
17949         * modules/unistr/u16-strcoll-tests: New file.
17950         * tests/unistr/test-u16-strcoll.c: New file.
17951
17952         Tests for module 'unistr/u8-strcoll'.
17953         * modules/unistr/u8-strcoll-tests: New file.
17954         * tests/unistr/test-u8-strcoll.c: New file.
17955
17956         Tests for module 'unistr/u32-strcmp'.
17957         * modules/unistr/u32-strcmp-tests: New file.
17958         * tests/unistr/test-u32-strcmp.c: New file.
17959         * tests/unistr/test-u32-strcmp.h: New file.
17960
17961         Tests for module 'unistr/u16-strcmp'.
17962         * modules/unistr/u16-strcmp-tests: New file.
17963         * tests/unistr/test-u16-strcmp.c: New file.
17964         * tests/unistr/test-u16-strcmp.h: New file.
17965
17966         Tests for module 'unistr/u8-strcmp'.
17967         * modules/unistr/u8-strcmp-tests: New file.
17968         * tests/unistr/test-u8-strcmp.c: New file.
17969         * tests/unistr/test-u8-strcmp.h: New file.
17970         * tests/unistr/test-strcmp.h: New file.
17971
17972         Tests for module 'unistr/u32-strncat'.
17973         * modules/unistr/u32-strncat-tests: New file.
17974         * tests/unistr/test-u32-strncat.c: New file.
17975
17976         Tests for module 'unistr/u16-strncat'.
17977         * modules/unistr/u16-strncat-tests: New file.
17978         * tests/unistr/test-u16-strncat.c: New file.
17979
17980         Tests for module 'unistr/u8-strncat'.
17981         * modules/unistr/u8-strncat-tests: New file.
17982         * tests/unistr/test-u8-strncat.c: New file.
17983         * tests/unistr/test-strncat.h: New file.
17984
17985         Tests for module 'unistr/u32-strcat'.
17986         * modules/unistr/u32-strcat-tests: New file.
17987         * tests/unistr/test-u32-strcat.c: New file.
17988
17989         Tests for module 'unistr/u16-strcat'.
17990         * modules/unistr/u16-strcat-tests: New file.
17991         * tests/unistr/test-u16-strcat.c: New file.
17992
17993         Tests for module 'unistr/u8-strcat'.
17994         * modules/unistr/u8-strcat-tests: New file.
17995         * tests/unistr/test-u8-strcat.c: New file.
17996         * tests/unistr/test-strcat.h: New file.
17997
17998         Tests for module 'unistr/u32-stpncpy'.
17999         * modules/unistr/u32-stpncpy-tests: New file.
18000         * tests/unistr/test-u32-stpncpy.c: New file.
18001
18002         Tests for module 'unistr/u16-stpncpy'.
18003         * modules/unistr/u16-stpncpy-tests: New file.
18004         * tests/unistr/test-u16-stpncpy.c: New file.
18005
18006         Tests for module 'unistr/u8-stpncpy'.
18007         * modules/unistr/u8-stpncpy-tests: New file.
18008         * tests/unistr/test-u8-stpncpy.c: New file.
18009         * tests/unistr/test-stpncpy.h: New file.
18010
18011         Tests for module 'unistr/u32-strncpy'.
18012         * modules/unistr/u32-strncpy-tests: New file.
18013         * tests/unistr/test-u32-strncpy.c: New file.
18014
18015         Tests for module 'unistr/u16-strncpy'.
18016         * modules/unistr/u16-strncpy-tests: New file.
18017         * tests/unistr/test-u16-strncpy.c: New file.
18018
18019         Tests for module 'unistr/u8-strncpy'.
18020         * modules/unistr/u8-strncpy-tests: New file.
18021         * tests/unistr/test-u8-strncpy.c: New file.
18022         * tests/unistr/test-strncpy.h: New file.
18023
18024         Tests for module 'unistr/u32-stpcpy'.
18025         * modules/unistr/u32-stpcpy-tests: New file.
18026         * tests/unistr/test-u32-stpcpy.c: New file.
18027
18028         Tests for module 'unistr/u16-stpcpy'.
18029         * modules/unistr/u16-stpcpy-tests: New file.
18030         * tests/unistr/test-u16-stpcpy.c: New file.
18031
18032         Tests for module 'unistr/u8-stpcpy'.
18033         * modules/unistr/u8-stpcpy-tests: New file.
18034         * tests/unistr/test-u8-stpcpy.c: New file.
18035         * tests/unistr/test-stpcpy.h: New file.
18036
18037         Tests for module 'unistr/u32-strcpy'.
18038         * modules/unistr/u32-strcpy-tests: New file.
18039         * tests/unistr/test-u32-strcpy.c: New file.
18040
18041         Tests for module 'unistr/u16-strcpy'.
18042         * modules/unistr/u16-strcpy-tests: New file.
18043         * tests/unistr/test-u16-strcpy.c: New file.
18044
18045         Tests for module 'unistr/u8-strcpy'.
18046         * modules/unistr/u8-strcpy-tests: New file.
18047         * tests/unistr/test-u8-strcpy.c: New file.
18048         * tests/unistr/test-strcpy.h: New file.
18049
18050         Tests for module 'unistr/u32-strnlen'.
18051         * modules/unistr/u32-strnlen-tests: New file.
18052         * tests/unistr/test-u32-strnlen.c: New file.
18053
18054         Tests for module 'unistr/u16-strnlen'.
18055         * modules/unistr/u16-strnlen-tests: New file.
18056         * tests/unistr/test-u16-strnlen.c: New file.
18057
18058         Tests for module 'unistr/u8-strnlen'.
18059         * modules/unistr/u8-strnlen-tests: New file.
18060         * tests/unistr/test-u8-strnlen.c: New file.
18061         * tests/unistr/test-strnlen.h: New file.
18062
18063         Tests for module 'unistr/u32-strlen'.
18064         * modules/unistr/u32-strlen-tests: New file.
18065         * tests/unistr/test-u32-strlen.c: New file.
18066
18067         Tests for module 'unistr/u16-strlen'.
18068         * modules/unistr/u16-strlen-tests: New file.
18069         * tests/unistr/test-u16-strlen.c: New file.
18070
18071         Tests for module 'unistr/u8-strlen'.
18072         * modules/unistr/u8-strlen-tests: New file.
18073         * tests/unistr/test-u8-strlen.c: New file.
18074
18075         Tests for module 'unistr/u32-prev'.
18076         * modules/unistr/u32-prev-tests: New file.
18077         * tests/unistr/test-u32-prev.c: New file.
18078
18079         Tests for module 'unistr/u16-prev'.
18080         * modules/unistr/u16-prev-tests: New file.
18081         * tests/unistr/test-u16-prev.c: New file.
18082
18083         Tests for module 'unistr/u8-prev'.
18084         * modules/unistr/u8-prev-tests: New file.
18085         * tests/unistr/test-u8-prev.c: New file.
18086
18087         Tests for module 'unistr/u32-next'.
18088         * modules/unistr/u32-next-tests: New file.
18089         * tests/unistr/test-u32-next.c: New file.
18090
18091         Tests for module 'unistr/u16-next'.
18092         * modules/unistr/u16-next-tests: New file.
18093         * tests/unistr/test-u16-next.c: New file.
18094
18095         Tests for module 'unistr/u8-next'.
18096         * modules/unistr/u8-next-tests: New file.
18097         * tests/unistr/test-u8-next.c: New file.
18098
18099         Tests for module 'unistr/u32-strmbtouc'.
18100         * modules/unistr/u32-strmbtouc-tests: New file.
18101         * tests/unistr/test-u32-strmbtouc.c: New file.
18102
18103         Tests for module 'unistr/u16-strmbtouc'.
18104         * modules/unistr/u16-strmbtouc-tests: New file.
18105         * tests/unistr/test-u16-strmbtouc.c: New file.
18106
18107         Tests for module 'unistr/u8-strmbtouc'.
18108         * modules/unistr/u8-strmbtouc-tests: New file.
18109         * tests/unistr/test-u8-strmbtouc.c: New file.
18110
18111         Tests for module 'unistr/u32-strmblen'.
18112         * modules/unistr/u32-strmblen-tests: New file.
18113         * tests/unistr/test-u32-strmblen.c: New file.
18114
18115         Tests for module 'unistr/u16-strmblen'.
18116         * modules/unistr/u16-strmblen-tests: New file.
18117         * tests/unistr/test-u16-strmblen.c: New file.
18118
18119         Tests for module 'unistr/u8-strmblen'.
18120         * modules/unistr/u8-strmblen-tests: New file.
18121         * tests/unistr/test-u8-strmblen.c: New file.
18122
18123         Tests for module 'unistr/u32-cpy-alloc'.
18124         * modules/unistr/u32-cpy-alloc-tests: New file.
18125         * tests/unistr/test-u32-cpy-alloc.c: New file.
18126
18127         Tests for module 'unistr/u16-cpy-alloc'.
18128         * modules/unistr/u16-cpy-alloc-tests: New file.
18129         * tests/unistr/test-u16-cpy-alloc.c: New file.
18130
18131         Tests for module 'unistr/u8-cpy-alloc'.
18132         * modules/unistr/u8-cpy-alloc-tests: New file.
18133         * tests/unistr/test-u8-cpy-alloc.c: New file.
18134         * tests/unistr/test-cpy-alloc.h: New file.
18135
18136         Tests for module 'unistr/u32-mbsnlen'.
18137         * modules/unistr/u32-mbsnlen-tests: New file.
18138         * tests/unistr/test-u32-mbsnlen.c: New file.
18139
18140         Tests for module 'unistr/u16-mbsnlen'.
18141         * modules/unistr/u16-mbsnlen-tests: New file.
18142         * tests/unistr/test-u16-mbsnlen.c: New file.
18143
18144         Tests for module 'unistr/u8-mbsnlen'.
18145         * modules/unistr/u8-mbsnlen-tests: New file.
18146         * tests/unistr/test-u8-mbsnlen.c: New file.
18147
18148         Tests for module 'unistr/u32-chr'.
18149         * modules/unistr/u32-chr-tests: New file.
18150         * tests/unistr/test-u32-chr.c: New file.
18151
18152         Tests for module 'unistr/u16-chr'.
18153         * modules/unistr/u16-chr-tests: New file.
18154         * tests/unistr/test-u16-chr.c: New file.
18155
18156         Tests for module 'unistr/u8-chr'.
18157         * modules/unistr/u8-chr-tests: New file.
18158         * tests/unistr/test-u8-chr.c: New file.
18159         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
18160
18161         Tests for module 'unistr/u32-cmp2'.
18162         * modules/unistr/u32-cmp2-tests: New file.
18163         * tests/unistr/test-u32-cmp2.c: New file.
18164
18165         Tests for module 'unistr/u16-cmp2'.
18166         * modules/unistr/u16-cmp2-tests: New file.
18167         * tests/unistr/test-u16-cmp2.c: New file.
18168
18169         Tests for module 'unistr/u8-cmp2'.
18170         * modules/unistr/u8-cmp2-tests: New file.
18171         * tests/unistr/test-u8-cmp2.c: New file.
18172         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
18173
18174         Tests for module 'unistr/u32-cmp'.
18175         * modules/unistr/u32-cmp-tests: New file.
18176         * tests/unistr/test-u32-cmp.c: New file.
18177
18178         Tests for module 'unistr/u16-cmp'.
18179         * modules/unistr/u16-cmp-tests: New file.
18180         * tests/unistr/test-u16-cmp.c: New file.
18181
18182         Tests for module 'unistr/u8-cmp'.
18183         * modules/unistr/u8-cmp-tests: New file.
18184         * tests/unistr/test-u8-cmp.c: New file.
18185         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
18186
18187         Tests for module 'unistr/u32-set'.
18188         * modules/unistr/u32-set-tests: New file.
18189         * tests/unistr/test-u32-set.c: New file.
18190
18191         Tests for module 'unistr/u16-set'.
18192         * modules/unistr/u16-set-tests: New file.
18193         * tests/unistr/test-u16-set.c: New file.
18194
18195         Tests for module 'unistr/u8-set'.
18196         * modules/unistr/u8-set-tests: New file.
18197         * tests/unistr/test-u8-set.c: New file.
18198         * tests/unistr/test-set.h: New file.
18199
18200         Tests for module 'unistr/u32-move'.
18201         * modules/unistr/u32-move-tests: New file.
18202         * tests/unistr/test-u32-move.c: New file.
18203
18204         Tests for module 'unistr/u16-move'.
18205         * modules/unistr/u16-move-tests: New file.
18206         * tests/unistr/test-u16-move.c: New file.
18207
18208         Tests for module 'unistr/u8-move'.
18209         * modules/unistr/u8-move-tests: New file.
18210         * tests/unistr/test-u8-move.c: New file.
18211         * tests/unistr/test-move.h: New file.
18212
18213         Tests for module 'unistr/u32-cpy'.
18214         * modules/unistr/u32-cpy-tests: New file.
18215         * tests/unistr/test-u32-cpy.c: New file.
18216
18217         Tests for module 'unistr/u16-cpy'.
18218         * modules/unistr/u16-cpy-tests: New file.
18219         * tests/unistr/test-u16-cpy.c: New file.
18220
18221         Tests for module 'unistr/u8-cpy'.
18222         * modules/unistr/u8-cpy-tests: New file.
18223         * tests/unistr/test-u8-cpy.c: New file.
18224         * tests/unistr/test-cpy.h: New file.
18225
18226 2010-01-09  Bruno Haible  <bruno@clisp.org>
18227
18228         Tests for module 'unistr/u32-uctomb'.
18229         * modules/unistr/u32-uctomb-tests: New file.
18230         * tests/unistr/test-u32-uctomb.c: New file.
18231
18232         Tests for module 'unistr/u16-uctomb'.
18233         * modules/unistr/u16-uctomb-tests: New file.
18234         * tests/unistr/test-u16-uctomb.c: New file.
18235
18236         Tests for module 'unistr/u8-uctomb'.
18237         * modules/unistr/u8-uctomb-tests: New file.
18238         * tests/unistr/test-u8-uctomb.c: New file.
18239
18240         Tests for module 'unistr/u32-mbtoucr'.
18241         * modules/unistr/u32-mbtoucr-tests: New file.
18242         * tests/unistr/test-u32-mbtoucr.c: New file.
18243
18244         Tests for module 'unistr/u16-mbtoucr'.
18245         * modules/unistr/u16-mbtoucr-tests: New file.
18246         * tests/unistr/test-u16-mbtoucr.c: New file.
18247
18248         Tests for module 'unistr/u8-mbtoucr'.
18249         * modules/unistr/u8-mbtoucr-tests: New file.
18250         * tests/unistr/test-u8-mbtoucr.c: New file.
18251
18252         Tests for module 'unistr/u32-mbtouc'.
18253         * modules/unistr/u32-mbtouc-tests: New file.
18254         * tests/unistr/test-u32-mbtouc.c: New file.
18255
18256         Tests for module 'unistr/u16-mbtouc'.
18257         * modules/unistr/u16-mbtouc-tests: New file.
18258         * tests/unistr/test-u16-mbtouc.c: New file.
18259
18260         Tests for module 'unistr/u8-mbtouc'.
18261         * modules/unistr/u8-mbtouc-tests: New file.
18262         * tests/unistr/test-u8-mbtouc.c: New file.
18263
18264         Tests for module 'unistr/u32-mbtouc-unsafe'.
18265         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
18266         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
18267         * tests/unistr/test-u32-mbtouc.h: New file.
18268
18269         Tests for module 'unistr/u16-mbtouc-unsafe'.
18270         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
18271         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
18272         * tests/unistr/test-u16-mbtouc.h: New file.
18273
18274         Tests for module 'unistr/u8-mbtouc-unsafe'.
18275         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
18276         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
18277         * tests/unistr/test-u8-mbtouc.h: New file.
18278
18279         Tests for module 'unistr/u32-mblen'.
18280         * modules/unistr/u32-mblen-tests: New file.
18281         * tests/unistr/test-u32-mblen.c: New file.
18282
18283         Tests for module 'unistr/u16-mblen'.
18284         * modules/unistr/u16-mblen-tests: New file.
18285         * tests/unistr/test-u16-mblen.c: New file.
18286
18287         Tests for module 'unistr/u8-mblen'.
18288         * modules/unistr/u8-mblen-tests: New file.
18289         * tests/unistr/test-u8-mblen.c: New file.
18290
18291         Tests for module 'unistr/u32-to-u16'.
18292         * modules/unistr/u32-to-u16-tests: New file.
18293         * tests/unistr/test-u32-to-u16.c: New file.
18294
18295         Tests for module 'unistr/u32-to-u8'.
18296         * modules/unistr/u32-to-u8-tests: New file.
18297         * tests/unistr/test-u32-to-u8.c: New file.
18298
18299         Tests for module 'unistr/u16-to-u32'.
18300         * modules/unistr/u16-to-u32-tests: New file.
18301         * tests/unistr/test-u16-to-u32.c: New file.
18302
18303         Tests for module 'unistr/u16-to-u8'.
18304         * modules/unistr/u16-to-u8-tests: New file.
18305         * tests/unistr/test-u16-to-u8.c: New file.
18306
18307         Tests for module 'unistr/u8-to-u32'.
18308         * modules/unistr/u8-to-u32-tests: New file.
18309         * tests/unistr/test-u8-to-u32.c: New file.
18310
18311         Tests for module 'unistr/u8-to-u16'.
18312         * modules/unistr/u8-to-u16-tests: New file.
18313         * tests/unistr/test-u8-to-u16.c: New file.
18314
18315         Tests for module 'unistr/u32-check'.
18316         * modules/unistr/u32-check-tests: New file.
18317         * tests/unistr/test-u32-check.c: New file.
18318
18319         Tests for module 'unistr/u16-check'.
18320         * modules/unistr/u16-check-tests: New file.
18321         * tests/unistr/test-u16-check.c: New file.
18322
18323         Tests for module 'unistr/u8-check'.
18324         * modules/unistr/u8-check-tests: New file.
18325         * tests/unistr/test-u8-check.c: New file.
18326
18327         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
18328         (category_equals): New function.
18329         (main): Add more tests.
18330         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
18331
18332         * tests/unictype/test-bidi_byname.c (main): Add more tests.
18333
18334 2010-01-10  Bruno Haible  <bruno@clisp.org>
18335
18336         unistr/u*-strcoll: Try harder to distinguish different strings.
18337         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
18338         compare s1 and s2 to see if they are different.
18339
18340 2010-01-10  Bruno Haible  <bruno@clisp.org>
18341
18342         unistr/u*-stpncpy: Fix the return value.
18343         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
18344         description of the return value consistent with stpncpy in glibc.
18345         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
18346         written non-NUL unit.
18347
18348 2010-01-10  Bruno Haible  <bruno@clisp.org>
18349
18350         unistr/u*-next: Add missing dependencies.
18351         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
18352         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
18353         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
18354
18355 2010-01-10  Bruno Haible  <bruno@clisp.org>
18356
18357         unistr/u8-mbsnlen: Fix return value for incomplete character.
18358         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
18359         u8_mblen.
18360         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
18361         Remove unistr/u8-mblen.
18362         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
18363         u16_mblen.
18364         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
18365         Remove unistr/u16-mblen.
18366
18367 2010-01-10  Bruno Haible  <bruno@clisp.org>
18368
18369         wchar: Fix compilation error when <wchar.h> is used from coreutils.
18370         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
18371         Reported by Brian Gough <bjg@gnu.org> and
18372         Chris Clayton <chris2553@googlemail.com> via
18373         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
18374
18375 2010-01-09  Bruno Haible  <bruno@clisp.org>
18376
18377         unistr/u16-to-u32: Reject invalid input.
18378         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
18379         u16_mbtouc.
18380         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
18381         Remove unistr/u16-mbtouc.
18382
18383         unistr/u16-to-u8: Reject invalid input.
18384         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
18385         u16_mbtouc.
18386         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
18387         Remove unistr/u16-mbtouc.
18388
18389         unistr/u8-to-u32: Reject invalid input.
18390         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
18391         u8_mbtouc.
18392         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
18393         Remove unistr/u8-mbtouc.
18394
18395         unistr/u8-to-u16: Reject invalid input.
18396         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
18397         u8_mbtouc.
18398         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
18399         Remove unistr/u8-mbtouc.
18400
18401 2010-01-09  Bruno Haible  <bruno@clisp.org>
18402
18403         Tests for module 'getlogin'.
18404         * modules/getlogin-tests: New file.
18405         * tests/test-getlogin.c: New file.
18406
18407         New module 'getlogin'.
18408         * lib/unistd.in.h (getlogin): New declaration.
18409         * lib/getlogin.c: New file.
18410         * m4/getlogin.m4: New file.
18411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
18412         HAVE_GETLOGIN.
18413         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
18414         HAVE_GETLOGIN.
18415         * modules/getlogin: New file.
18416         * doc/posix-functions/getlogin.texi: Mention the new module.
18417         Reported by John W. Eaton <jwe@gnu.org>.
18418
18419 2010-01-09  Bruno Haible  <bruno@clisp.org>
18420
18421         getlogin_r: Support for native Windows.
18422         * lib/getlogin_r.c: Include <windows.h>
18423         (getlogin_r): Implement for native Windows.
18424         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
18425         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
18426         via John W. Eaton <jwe@gnu.org>.
18427
18428 2010-01-09  Bruno Haible  <bruno@clisp.org>
18429
18430         getlogin_r: Small fixes.
18431         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
18432         succeeds.
18433         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
18434         before testing whether getlogin_r is declared. No need to set
18435         HAVE_DECL_GETLOGIN_R to 1.
18436         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
18437
18438 2010-01-09  Bruno Haible  <bruno@clisp.org>
18439
18440         * lib/unistd.in.h (getlogin_r): Add comment.
18441
18442 2010-01-09  Bruno Haible  <bruno@clisp.org>
18443
18444         Tests for module 'getlogin_r'.
18445         * modules/getlogin_r-tests: New file.
18446         * tests/test-getlogin_r.c: New file.
18447
18448 2010-01-09  Jim Meyering  <meyering@redhat.com>
18449
18450         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
18451         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
18452         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
18453
18454 2010-01-08  Simon Josefsson  <simon@josefsson.org>
18455
18456         * lib/dup2.c (rpl_dup2): Improve comment.
18457
18458 2010-01-08  Eric Blake  <ebb9@byu.net>
18459
18460         maint.mk: allow packages to add makefile @@ exceptions
18461         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
18462         (sc_makefile_check): Rename...
18463         (sc_makefile_at_at_check): ...to this, and use hook.
18464
18465         dup2: work around mingw bug
18466         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
18467         Reported by Simon Josefsson.
18468
18469 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
18470
18471         glob: Fix C++ compilation.
18472         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
18473         C++.
18474
18475 2010-01-07  Bruno Haible  <bruno@clisp.org>
18476
18477         Fix indentation of wctype.in.h, broken since 2007-01-06.
18478         * lib/wctype.in.h: Fix indentation of preprocessor directives.
18479
18480 2010-01-07  Bruno Haible  <bruno@clisp.org>
18481
18482         mbslen: Avoid collision with system function.
18483         * lib/string.in.h [MirBSD]: Include <wchar.h>.
18484         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
18485         * m4/mbslen.m4: New file.
18486         * modules/mbslen (Files): Add it.
18487         (configure.ac): Invoke gl_MBSLEN.
18488         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
18489         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
18490         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
18491         via Ian Beckwith <ianb@erislabs.net>.
18492
18493 2010-01-07  Bruno Haible  <bruno@clisp.org>
18494
18495         dirent: Document the last fix.
18496         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
18497
18498 2010-01-07  Bruno Haible  <bruno@clisp.org>
18499
18500         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
18501         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
18502         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
18503         va_list are defined.
18504         * doc/posix-headers/stdio.texi: Document the bug of missing types.
18505         Reported by Eric Blake.
18506
18507 2010-01-07  Bruno Haible  <bruno@clisp.org>
18508
18509         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
18510         * modules/xlist (Depends-on): Add 'list',
18511         * modules/xoset (Depends-on): Add 'oset'.
18512         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18513
18514 2010-01-07  Bruno Haible  <bruno@clisp.org>
18515
18516         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
18517         * doc/posix-functions/strncasecmp.texi: Likewise.
18518
18519 2010-01-07  Bruno Haible  <bruno@clisp.org>
18520
18521         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
18522
18523 2010-01-07  John W. Eaton  <jwe@octave.org>
18524
18525         wctype: allow C++ use
18526         * lib/wctype.in.h: Add extern "C" block for C++.
18527
18528 2010-01-06  Eric Blake  <ebb9@byu.net>
18529
18530         maint.mk: detect incorrect GFDL usage
18531         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
18532
18533 2010-01-06  Jim Meyering  <meyering@redhat.com>
18534         and Eric Blake  <ebb9@byu.net>
18535
18536         maint.mk: ignore multi-line copyright in NEWS
18537         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
18538
18539 2010-01-06  Eric Blake  <ebb9@byu.net>
18540
18541         select: add missing dependency
18542         * modules/select-tests (Depends-on): Move sockets dependency...
18543         * modules/select (Depends-on): ...here.
18544         Reported by Ian Beckwith.
18545
18546         doc: regenerate INSTALL
18547         * doc/INSTALL: Reflect recent autoconf update.
18548         * doc/INSTALL.ISO: Likewise.
18549         * doc/INSTALL.UTF-8: Likewise.
18550
18551         pread: fix compilation on glibc
18552         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
18553         Reported by Ralf Wildenhues.
18554
18555         dirent: fix test failure
18556         * lib/dirent.in.h (includes): Guarantee ino_t.
18557         Reported by Ralf Wildenhues.
18558
18559 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
18560
18561         linkat, renameat: avoid bad free
18562         * lib/at-func2.c (at_func2): Fix typo.
18563         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
18564
18565 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18566
18567         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
18568         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
18569         to avoid failure of symlink test later.
18570
18571 2010-01-06  Eric Blake  <ebb9@byu.net>
18572
18573         stdio, unistd: guarantee ssize_t
18574         * lib/unistd.in.h (includes): Ensure that types required by POSIX
18575         2008 are exposed when needed.
18576         * lib/stdio.in.h (includes): Likewise.
18577         Reported by Ralf Wildenhues.
18578
18579 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
18580
18581         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
18582         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
18583         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
18584
18585 2010-01-06  Jim Meyering  <meyering@redhat.com>
18586
18587         readtokens: this module *does* require xalloc.h
18588         It uses only functions that were omitted by the old syntax-check rule.
18589         * lib/readtokens.c: Include "xalloc.h" once again.
18590         * modules/readtokens (Depends-on): Add xalloc.
18591         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
18592
18593 2010-01-05  Eric Blake  <ebb9@byu.net>
18594
18595         maint: support 'make announcement' from a VPATH build
18596         * top/maint.mk (announcement): Look for correct NEWS file.
18597
18598 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
18599
18600         utimens (fdutimens): ignore a negative FD, per contract
18601         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
18602         when we have a valid file descriptor.  Otherwise, using a brand
18603         new glibc (with just-patched futimens that now fails with EBADF)
18604         would cause this function to fail with ENOSYS.
18605         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
18606         See also http://bugzilla.redhat.com/552320.
18607
18608 2010-01-05  Eric Blake  <ebb9@byu.net>
18609
18610         strcase: document what it provides
18611         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
18612         gnulib module.
18613         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
18614         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
18615
18616 2010-01-05  Jim Meyering  <meyering@redhat.com>
18617
18618         maint: remove useless inclusions of "xalloc.h"
18619         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
18620         * lib/readtokens.c: Likewise.
18621         * lib/same.c: Likewise.
18622         * modules/getloadavg (Depends-on): Remove xalloc.
18623         * modules/readtokens: Likewise.
18624         * modules/same: Likewise.
18625
18626         maint.mk: include 4 more function names in alloca.h-checking regexp
18627         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
18628         regexp.  Before, we would give a false-positive (saying alloca.h
18629         is included unnecessarily) when the only uses involved omitted symbols.
18630
18631         xalloc.h: use consistent formatting
18632         * lib/xalloc.h: Move declarations to start in the first column.
18633
18634 2010-01-05  Eric Blake  <ebb9@byu.net>
18635
18636         mkdir: avoid xalloc
18637         * lib/mkdir.c (includes): Drop unused header.
18638         Reported by John W. Eaton.
18639
18640 2010-01-04  Jim Meyering  <meyering@redhat.com>
18641
18642         nl_langinfo: avoid configure-time syntax error
18643         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
18644         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
18645         the empty string.  Don't let that provoke a shell syntax error.
18646
18647         regcomp, regexec, fnmatch: avoid array bounds read error
18648         * lib/regcomp.c (build_equiv_class): From glibc:
18649         Use only the low 24 bits of a findidx return value as an index
18650         into the weights array.  Patch by Ulrich Drepper:
18651         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
18652         * lib/regexec.c (check_node_accept_bytes): Likewise.
18653         * lib/fnmatch_loop.c (FCT): Likewise.
18654
18655         regcomp: skip collseq lookup when there are no rules
18656         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
18657         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
18658
18659         regcomp: recognize ill-formed { } expressions
18660         * lib/regcomp.c (parse_dup_op): From glibc:
18661         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
18662
18663         regcomp: fix typo in comment
18664         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
18665         s/satisfy/satisfies/.
18666
18667         regcomp: sync from glibc: remove dead store
18668         * lib/regcomp.c (duplicate_node_closure): Remove useless
18669         search_duplicated_node call and dead store.
18670
18671         regcomp: sync from glibc; always use nl_langinfo
18672         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
18673         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
18674         * modules/regex (Depends-on): Add nl_langinfo.
18675
18676 2010-01-04  Eric Blake  <ebb9@byu.net>
18677
18678         fdopendir: fix configure test
18679         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
18680
18681 2010-01-01  Bruno Haible  <bruno@clisp.org>
18682
18683         wchar: Remove unused configure check.
18684         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
18685
18686 2010-01-01  Eric Blake  <ebb9@byu.net>
18687
18688         headers: make check of system header explicit
18689         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
18690         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
18691         ourselves.
18692         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18693         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18694         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
18695         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
18696         internals.
18697         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
18698         missing.
18699         Suggested by Bruno Haible.
18700
18701 2010-01-01  Jim Meyering  <meyering@redhat.com>
18702
18703         ChangeLog: tweak to eliminate unnecessary copyright line
18704         * ChangeLog: Remove a copyright line that was mistakenly updated
18705         by today's update-copyright run.  Reported by Eric Blake.
18706
18707         test-update-copyright: don't let envvar setting cause test failure
18708         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18709
18710 2010-01-01  Bruno Haible  <bruno@clisp.org>
18711
18712         localename: Avoid gcc warning.
18713         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
18714         function if it is not used.
18715
18716 2010-01-01  Jim Meyering  <meyering@redhat.com>
18717
18718         update nearly all FSF copyright year lists to include 2010
18719         Use the same procedure as for 2009, outlined in
18720         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
18721
18722         version-etc: set COPYRIGHT_YEAR to 2010
18723         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
18724
18725 2009-12-31  Eric Blake  <ebb9@byu.net>
18726
18727         doc: correct availability of cygwin 1.5.x getopt
18728         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
18729         variables.
18730         * doc/posix-functions/opterr.texi (opterr): Likewise.
18731         * doc/posix-functions/optind.texi (optind): Likewise.
18732         * doc/posix-functions/optopt.texi (optopt): Likewise.
18733         * doc/posix-functions/tzname.texi (tzname): Likewise.
18734
18735         openat: update maintainer
18736         * modules/openat (Maintainer): Add myself.
18737
18738         utimens: avoid shadowing warning
18739         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
18740         buffers into one, to avoid shadowing, as well as avoiding a
18741         redundant stat.
18742         Reported by Jim Meyering.
18743
18744         test-dup2: avoid compiler warning
18745         * tests/test-dup2.c (is_inheritable): Only define if used.
18746
18747 2010-01-01  Bruno Haible  <bruno@clisp.org>
18748
18749         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
18750         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
18751         defined, use wctomb instead of wcrtomb.
18752
18753 2010-01-01  Bruno Haible  <bruno@clisp.org>
18754
18755         iconv: Reject native Solaris iconv.
18756         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
18757         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
18758
18759 2009-12-31  Bruno Haible  <bruno@clisp.org>
18760
18761         * tests/test-signal.c (main): Remove test of 'SIG'.
18762
18763 2009-12-31  Bruno Haible  <bruno@clisp.org>
18764
18765         spawn: Fix incomplete fix.
18766         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18767         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18768         warnings for GNULIB_POSIXCHECK again.
18769         Reported by Eric Blake.
18770
18771 2009-12-31  Bruno Haible  <bruno@clisp.org>
18772
18773         Avoid namespace pollution on glibc systems.
18774         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
18775         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
18776         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
18777         glibc systems.
18778
18779 2009-12-31  Bruno Haible  <bruno@clisp.org>
18780
18781         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
18782         (gl_REPLACE_WCHAR_H): Turn into a no-op.
18783         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
18784         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18785         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18786         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18787         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18788
18789 2009-12-31  Bruno Haible  <bruno@clisp.org>
18790
18791         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
18792         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
18793         afterwards.
18794
18795 2009-12-31  Bruno Haible  <bruno@clisp.org>
18796
18797         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
18798         SYS_UTSNAME_H.
18799
18800 2009-12-31  Bruno Haible  <bruno@clisp.org>
18801
18802         spawn: Fix misapplied patch.
18803         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18804         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18805         warnings for GNULIB_POSIXCHECK.
18806
18807 2009-12-31  Bruno Haible  <bruno@clisp.org>
18808
18809         times: Update after sys_times changed.
18810         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
18811         * modules/times (Files): Add it.
18812         (configure.ac): Invoke gl_FUNC_TIMES.
18813
18814 2009-12-31  Bruno Haible  <bruno@clisp.org>
18815
18816         Use AC_C_INLINE where necessary.
18817         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
18818         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
18819         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18820         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
18821         * m4/mbfile.m4 (gl_MBFILE): Likewise.
18822         * m4/mbiter.m4 (gl_MBITER): Likewise.
18823         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
18824         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18825         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
18826         * modules/u64 (configure.ac): Likewise.
18827
18828 2009-12-31  Bruno Haible  <bruno@clisp.org>
18829
18830         Use AC_C_INLINE instead of module 'inline' where possible.
18831         * modules/inline (Description): Clarify purpose.
18832         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
18833         * modules/count-one-bits (Depends-on): Remove inline.
18834         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
18835         * modules/openat (Depends-on): Remove inline.
18836         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
18837         instead of depending on module 'inline'.
18838         * modules/filevercmp (Depends-on, configure.ac): Likewise.
18839         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
18840         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
18841         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
18842         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
18843         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
18844         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
18845         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
18846         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
18847         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
18848         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
18849         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
18850         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
18851         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
18852         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
18853         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
18854         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
18855         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
18856         Likewise.
18857         * modules/unictype/property-ascii-hex-digit (Depends-on,
18858         configure.ac): Likewise.
18859         * modules/unictype/property-bidi-arabic-digit (Depends-on,
18860         configure.ac): Likewise.
18861         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
18862         configure.ac): Likewise.
18863         * modules/unictype/property-bidi-block-separator (Depends-on,
18864         configure.ac): Likewise.
18865         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
18866         configure.ac): Likewise.
18867         * modules/unictype/property-bidi-common-separator (Depends-on,
18868         configure.ac): Likewise.
18869         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
18870         Likewise.
18871         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
18872         configure.ac): Likewise.
18873         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
18874         configure.ac): Likewise.
18875         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
18876         configure.ac): Likewise.
18877         * modules/unictype/property-bidi-european-digit (Depends-on,
18878         configure.ac): Likewise.
18879         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
18880         configure.ac): Likewise.
18881         * modules/unictype/property-bidi-left-to-right (Depends-on,
18882         configure.ac): Likewise.
18883         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
18884         configure.ac): Likewise.
18885         * modules/unictype/property-bidi-other-neutral (Depends-on,
18886         configure.ac): Likewise.
18887         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
18888         Likewise.
18889         * modules/unictype/property-bidi-segment-separator (Depends-on,
18890         configure.ac): Likewise.
18891         * modules/unictype/property-bidi-whitespace (Depends-on,
18892         configure.ac): Likewise.
18893         * modules/unictype/property-combining (Depends-on, configure.ac):
18894         Likewise.
18895         * modules/unictype/property-composite (Depends-on, configure.ac):
18896         Likewise.
18897         * modules/unictype/property-currency-symbol (Depends-on,
18898         configure.ac): Likewise.
18899         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
18900         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
18901         Likewise.
18902         * modules/unictype/property-default-ignorable-code-point (Depends-on,
18903         configure.ac): Likewise.
18904         * modules/unictype/property-deprecated (Depends-on, configure.ac):
18905         Likewise.
18906         * modules/unictype/property-diacritic (Depends-on, configure.ac):
18907         Likewise.
18908         * modules/unictype/property-extender (Depends-on, configure.ac):
18909         Likewise.
18910         * modules/unictype/property-format-control (Depends-on, configure.ac):
18911         Likewise.
18912         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
18913         Likewise.
18914         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
18915         Likewise.
18916         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
18917         Likewise.
18918         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
18919         Likewise.
18920         * modules/unictype/property-hyphen (Depends-on, configure.ac):
18921         Likewise.
18922         * modules/unictype/property-id-continue (Depends-on, configure.ac):
18923         Likewise.
18924         * modules/unictype/property-id-start (Depends-on, configure.ac):
18925         Likewise.
18926         * modules/unictype/property-ideographic (Depends-on, configure.ac):
18927         Likewise.
18928         * modules/unictype/property-ids-binary-operator (Depends-on,
18929         configure.ac): Likewise.
18930         * modules/unictype/property-ids-trinary-operator (Depends-on,
18931         configure.ac): Likewise.
18932         * modules/unictype/property-ignorable-control (Depends-on,
18933         configure.ac): Likewise.
18934         * modules/unictype/property-iso-control (Depends-on, configure.ac):
18935         Likewise.
18936         * modules/unictype/property-join-control (Depends-on, configure.ac):
18937         Likewise.
18938         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
18939         Likewise.
18940         * modules/unictype/property-line-separator (Depends-on, configure.ac):
18941         Likewise.
18942         * modules/unictype/property-logical-order-exception (Depends-on,
18943         configure.ac): Likewise.
18944         * modules/unictype/property-lowercase (Depends-on, configure.ac):
18945         Likewise.
18946         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
18947         * modules/unictype/property-non-break (Depends-on, configure.ac):
18948         Likewise.
18949         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
18950         Likewise.
18951         * modules/unictype/property-numeric (Depends-on, configure.ac):
18952         Likewise.
18953         * modules/unictype/property-other-alphabetic (Depends-on,
18954         configure.ac): Likewise.
18955         * modules/unictype/property-other-default-ignorable-code-point
18956         (Depends-on, configure.ac): Likewise.
18957         * modules/unictype/property-other-grapheme-extend (Depends-on,
18958         configure.ac): Likewise.
18959         * modules/unictype/property-other-id-continue (Depends-on,
18960         configure.ac): Likewise.
18961         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
18962         Likewise.
18963         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
18964         Likewise.
18965         * modules/unictype/property-other-math (Depends-on, configure.ac):
18966         Likewise.
18967         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
18968         Likewise.
18969         * modules/unictype/property-paired-punctuation (Depends-on,
18970         configure.ac): Likewise.
18971         * modules/unictype/property-paragraph-separator (Depends-on,
18972         configure.ac): Likewise.
18973         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
18974         Likewise.
18975         * modules/unictype/property-pattern-white-space (Depends-on,
18976         configure.ac): Likewise.
18977         * modules/unictype/property-private-use (Depends-on, configure.ac):
18978         Likewise.
18979         * modules/unictype/property-punctuation (Depends-on, configure.ac):
18980         Likewise.
18981         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
18982         Likewise.
18983         * modules/unictype/property-radical (Depends-on, configure.ac):
18984         Likewise.
18985         * modules/unictype/property-sentence-terminal (Depends-on,
18986         configure.ac): Likewise.
18987         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
18988         Likewise.
18989         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
18990         * modules/unictype/property-terminal-punctuation (Depends-on,
18991         configure.ac): Likewise.
18992         * modules/unictype/property-titlecase (Depends-on, configure.ac):
18993         Likewise.
18994         * modules/unictype/property-unassigned-code-value (Depends-on,
18995         configure.ac): Likewise.
18996         * modules/unictype/property-unified-ideograph (Depends-on,
18997         configure.ac): Likewise.
18998         * modules/unictype/property-uppercase (Depends-on, configure.ac):
18999         Likewise.
19000         * modules/unictype/property-variation-selector (Depends-on,
19001         configure.ac): Likewise.
19002         * modules/unictype/property-white-space (Depends-on, configure.ac):
19003         Likewise.
19004         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
19005         Likewise.
19006         * modules/unictype/property-xid-start (Depends-on, configure.ac):
19007         Likewise.
19008         * modules/unictype/property-zero-width (Depends-on, configure.ac):
19009         Likewise.
19010         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
19011         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
19012         Likewise.
19013
19014 2009-12-31  Bruno Haible  <bruno@clisp.org>
19015
19016         Remove unnecessary AC_C_INLINE invocation.
19017         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
19018         since 2009-08-21.
19019
19020 2009-12-31  Jim Meyering  <meyering@redhat.com>
19021
19022         maint.mk: don't require explicit gpg_key_ID in cfg.mk
19023         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
19024         With this change, we can all remove the gpg_key_ID = ... definition
19025         from our respective cfg.mk files.
19026
19027         maint.mk: create announcement template in ~/, not in /tmp
19028         * top/maint.mk (emit_upload_commands): Adjust.
19029         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
19030         Remove temporary file, .ci-msg.
19031
19032 2009-12-31  Eric Blake  <ebb9@byu.net>
19033
19034         link-warning: always build headers with link warnings
19035         * modules/arpa_inet (Makefile.am): Always build replacement
19036         header.
19037         * modules/ctype (Makefile.am): Likewise.
19038         * modules/dirent (Makefile.am): Likewise.
19039         * modules/inttypes (Makefile.am): Likewise.
19040         * modules/langinfo (Makefile.am): Likewise.
19041         * modules/locale (Makefile.am): Likewise.
19042         * modules/spawn (Makefile.am): Likewise.
19043         * modules/sys_file (Makefile.am): Likewise.
19044         * modules/sys_ioctl (Makefile.am): Likewise.
19045         * modules/sys_select (Makefile.am): Likewise.
19046         * modules/sys_socket (Makefile.am): Likewise.
19047         * modules/sys_times (Makefile.am): Likewise.
19048         * modules/sys_utsname (Makefile.am): Likewise.
19049         * modules/sys_wait (Makefile.am): Likewise.
19050         * modules/wchar (Makefile.am): Likewise.
19051         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
19052         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
19053         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
19054         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
19055         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
19056         Likewise.
19057         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
19058         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19059         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
19060         Likewise.
19061         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
19062         Likewise.
19063         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19064         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
19065         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
19066         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19067         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19068         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
19069         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
19070         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
19071         (gl_WCHAR_H_DEFAULTS): Likewise.
19072
19073 2009-12-31  Eric Blake  <ebb9@byu.net>
19074
19075         signal, spawn: use link warnings
19076         * lib/signal.in.h (sigset_t): Make unconditional.
19077         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
19078         (sigpending, sigprocmask, sigaction): Add link warnings.
19079         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
19080         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
19081         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
19082         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
19083         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
19084         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
19085         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
19086         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
19087         (posix_spawn_file_actions_destroy)
19088         (posix_spawn_file_actions_addopen)
19089         (posix_spawn_file_actions_addclose)
19090         (posix_spawn_file_actions_adddup2): Likewise.
19091         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
19092         * tests/test-signal.c (main): Enhance test.
19093
19094         spawn: improve wrapper support
19095         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
19096         (gl_SPAWN_H_DEFAULTS): New defaults.
19097         * modules/spawn (Makefile.am): Substitute them.
19098         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
19099         Only declare if missing or broken.
19100
19101         sys_times, sys_utsname: use include_next
19102         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
19103         header.
19104         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
19105         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
19106         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
19107         * modules/sys_times (Depends-on): Add include_next.
19108         (Makefile.am): Substitute additional values.
19109         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
19110         * lib/sys_times.in.h (includes): Include native header, if
19111         available.
19112         * lib/sys_utsname.in.h (includes): Likewise.
19113         * tests/test-sys_times.c (main): Enhance test.
19114
19115         fdutimensat: revert prior patch
19116         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
19117         utimens.h.
19118         Reported by Bruno Haible.
19119
19120 2009-12-30  Eric Blake  <ebb9@byu.net>
19121
19122         sys_wait: drop link-warning dependency
19123         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
19124         link-warning efforts.
19125         * lib/sys_wait.in.h: Likewise.
19126
19127         fdutimensat: remove bogus dependency
19128         * modules/fdutimensat (Depends-on): Drop inline.
19129
19130         unistd: fix typo
19131         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
19132
19133 2009-12-30  Bruno Haible  <bruno@clisp.org>
19134
19135         Fix compilation error with Solaris cc.
19136         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
19137         * lib/unicase/u16-is-invariant.c: Likewise.
19138         * lib/unicase/u32-is-invariant.c: Likewise.
19139         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
19140
19141 2009-12-30  Bruno Haible  <bruno@clisp.org>
19142
19143         Fix test crash.
19144         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
19145         locales.
19146         Reported by Simon Josefsson <simon@josefsson.org>.
19147
19148 2009-12-30  Bruno Haible  <bruno@clisp.org>
19149
19150         Fix compilation error on most platforms.
19151         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
19152         Reported by Simon Josefsson <simon@josefsson.org>
19153         and Nelson H. F. Beebe <beebe@math.utah.edu>.
19154
19155 2009-12-30  Eric Blake  <ebb9@byu.net>
19156
19157         futimens, utimensat: work around ntfs-3g bug
19158         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
19159         a ctime bug is present, and expand workaround to cover ntfs-3g.
19160         * lib/utimens.c (fdutimens, lutimens): Likewise.
19161         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
19162         (validate_timespec): Adjust return value.
19163         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
19164         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19165         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
19166
19167 2009-12-29  Eric Blake  <ebb9@byu.net>
19168
19169         link-warning: make usage consistent
19170         * modules/ctype (Depends-on): Add link-warning.
19171         (Makefile.am): Update rules accordingly.
19172         * modules/langinfo (Depends-on, Makefile.am): Likewise.
19173         * modules/locale (Depends-on, Makefile.am): Likewise.
19174         * modules/sys_file (Makefile.am): Likewise.
19175         * modules/getopt-posix (Makefile.am): Delete unused link warning
19176         efforts.
19177         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
19178         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
19179         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
19180         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
19181
19182         stdio: remove unused variables
19183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
19184         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
19185         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19186
19187         tests: test more substitute headers
19188         * modules/ctype-tests: New file.
19189         * modules/dirent-tests: Likewise.
19190         * modules/spawn-tests: Likewise.
19191         * modules/sys_file-tests: Likewise.
19192         * modules/sys_ioctl-tests: Likewise.
19193         * modules/sys_wait-tests: Likewise.
19194         * tests/test-ctype.c: Likewise.
19195         * tests/test-dirent.c: Likewise.
19196         * tests/test-spawn.c: Likewise.
19197         * tests/test-sys_file.c: Likewise.
19198         * tests/test-sys_ioctl.c: Likewise.
19199         * tests/test-sys_wait.c: Likewise.
19200         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
19201         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
19202         whether or not flock is in use.
19203
19204         tests: remove License section from module
19205         * modules/arpa_inet-tests: Remove unneeded section.
19206         * modules/byteswap-tests: Likewise.
19207         * modules/ceilf-tests: Likewise.
19208         * modules/ceill-tests: Likewise.
19209         * modules/crypto/des-tests: Likewise.
19210         * modules/crypto/gc-arcfour-tests: Likewise.
19211         * modules/crypto/gc-arctwo-tests: Likewise.
19212         * modules/crypto/gc-des-tests: Likewise.
19213         * modules/crypto/gc-hmac-md5-tests: Likewise.
19214         * modules/crypto/gc-hmac-sha1-tests: Likewise.
19215         * modules/crypto/gc-md2-tests: Likewise.
19216         * modules/crypto/gc-md4-tests: Likewise.
19217         * modules/crypto/gc-md5-tests: Likewise.
19218         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
19219         * modules/crypto/gc-rijndael-tests: Likewise.
19220         * modules/crypto/gc-sha1-tests: Likewise.
19221         * modules/crypto/gc-tests: Likewise.
19222         * modules/crypto/md2-tests: Likewise.
19223         * modules/crypto/md4-tests: Likewise.
19224         * modules/fcntl-h-tests: Likewise.
19225         * modules/floorf-tests: Likewise.
19226         * modules/floorl-tests: Likewise.
19227         * modules/frexp-nolibm-tests: Likewise.
19228         * modules/frexp-tests: Likewise.
19229         * modules/frexpl-nolibm-tests: Likewise.
19230         * modules/frexpl-tests: Likewise.
19231         * modules/getaddrinfo-tests: Likewise.
19232         * modules/inttypes-tests: Likewise.
19233         * modules/isfinite-tests: Likewise.
19234         * modules/isinf-tests: Likewise.
19235         * modules/ldexpl-tests: Likewise.
19236         * modules/locale-tests: Likewise.
19237         * modules/math-tests: Likewise.
19238         * modules/netdb-tests: Likewise.
19239         * modules/netinet_in-tests: Likewise.
19240         * modules/printf-frexp-tests: Likewise.
19241         * modules/printf-frexpl-tests: Likewise.
19242         * modules/priv-set-tests: Likewise.
19243         * modules/random_r-tests: Likewise.
19244         * modules/round-tests: Likewise.
19245         * modules/roundf-tests: Likewise.
19246         * modules/roundl-tests: Likewise.
19247         * modules/search-tests: Likewise.
19248         * modules/select-tests: Likewise.
19249         * modules/signal-tests: Likewise.
19250         * modules/stdbool-tests: Likewise.
19251         * modules/stddef-tests: Likewise.
19252         * modules/stdint-tests: Likewise.
19253         * modules/stdio-tests: Likewise.
19254         * modules/stdlib-tests: Likewise.
19255         * modules/string-tests: Likewise.
19256         * modules/strings-tests: Likewise.
19257         * modules/sys_select-tests: Likewise.
19258         * modules/sys_socket-tests: Likewise.
19259         * modules/sys_stat-tests: Likewise.
19260         * modules/sys_time-tests: Likewise.
19261         * modules/sys_utsname-tests: Likewise.
19262         * modules/sysexits-tests: Likewise.
19263         * modules/time-tests: Likewise.
19264         * modules/trunc-tests: Likewise.
19265         * modules/truncf-tests: Likewise.
19266         * modules/truncl-tests: Likewise.
19267         * modules/tsearch-tests: Likewise.
19268         * modules/unistd-tests: Likewise.
19269         * modules/wchar-tests: Likewise.
19270         * modules/wctype-tests: Likewise.
19271
19272         tests: fix license on several tests
19273         * tests/test-des.c: Update to GPLv3+.
19274         * tests/test-flock.c: Likewise.
19275         * tests/test-fsync.c: Likewise.
19276         * tests/test-futimens.h: Likewise.
19277         * tests/test-gc-arcfour.c: Likewise.
19278         * tests/test-gc-arctwo.c: Likewise.
19279         * tests/test-gc-des.c: Likewise.
19280         * tests/test-gc-hmac-md5.c: Likewise.
19281         * tests/test-gc-hmac-sha1.c: Likewise.
19282         * tests/test-gc-md2.c: Likewise.
19283         * tests/test-gc-md4.c: Likewise.
19284         * tests/test-gc-md5.c: Likewise.
19285         * tests/test-gc-pbkdf2-sha1.c: Likewise.
19286         * tests/test-gc-rijndael.c: Likewise.
19287         * tests/test-gc-sha1.c: Likewise.
19288         * tests/test-gc.c: Likewise.
19289         * tests/test-getcwd.c: Likewise.
19290         * tests/test-link.c: Likewise.
19291         * tests/test-link.h: Likewise.
19292         * tests/test-lutimens.h: Likewise.
19293         * tests/test-md2.c: Likewise.
19294         * tests/test-md4.c: Likewise.
19295         * tests/test-mkdir.h: Likewise.
19296         * tests/test-rename.c: Likewise.
19297         * tests/test-rename.h: Likewise.
19298         * tests/test-safe-alloc.c: Likewise.
19299         * tests/test-utimens-common.h: Likewise.
19300         * tests/test-utimens.h: Likewise.
19301
19302         maint: sync license texts
19303         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
19304         * doc/gpl-3.0.texi: Revert copyright year update.
19305         * doc/lgpl-3.0.texi: Likewise.
19306
19307 2009-12-29  Jim Meyering  <meyering@redhat.com>
19308
19309         update nearly all FSF copyright year lists to include 2009
19310         The files named by the following are exempted:
19311             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
19312               test -f "$dst" && { echo "$dst"; continue; }
19313               test -d "$dst" || continue
19314               echo "$dst"/$(basename "$src")
19315             done > exempt
19316             git ls-files tests/unictype >> exempt
19317         In the remaining files, convert to all-interval notation if
19318         - there is already at least one year interval like 2000-2003
19319         - the file is maintained by me
19320         - the file is in lib/uni*/, where that style already prevails
19321         Otherwise, use update-copyright's default.
19322
19323 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19324         and Eric Blake  <ebb9@byu.net>
19325
19326         tests: don't require debug system() to pass
19327         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
19328         * tests/test-rmdir.h (test_rmdir_func): Likewise.
19329         * tests/test-unlink.h (test_unlink_func): Likewise.
19330         * tests/test-fstatat.c (main): ...into callers.
19331         * tests/test-lstat.c (main): Likewise.
19332         * tests/test-rmdir.c (main): Likewise.
19333         * tests/test-unlink.c (main): Likewise.
19334         * tests/test-unlinkat.c (main): Likewise.
19335         * tests/test-areadlink-with-size.c (main): Don't require a
19336         debug-only system call to pass, aiding cross-testing to mingw.
19337         * tests/test-areadlink.c (main): Likewise.
19338         * tests/test-areadlinkat-with-size.c (main): Likewise.
19339         * tests/test-areadlinkat.c (main): Likewise.
19340         * tests/test-canonicalize-lgpl.c (main): Likewise.
19341         * tests/test-canonicalize.c (main): Likewise.
19342         * tests/test-chown.c (main): Likewise.
19343         * tests/test-fchownat.c (main): Likewise.
19344         * tests/test-lchown.c (main): Likewise.
19345         * tests/test-fdutimensat.c (main): Likewise.
19346         * tests/test-futimens.c (main): Likewise.
19347         * tests/test-link.c (main): Likewise.
19348         * tests/test-linkat.c (main): Likewise.
19349         * tests/test-mkdir.c (main): Likewise.
19350         * tests/test-mkdirat.c (main): Likewise.
19351         * tests/test-mkfifo.c (main): Likewise.
19352         * tests/test-mkfifoat.c (main): Likewise.
19353         * tests/test-mknod.c (main): Likewise.
19354         * tests/test-readlink.c (main): Likewise.
19355         * tests/test-remove.c (main): Likewise.
19356         * tests/test-rename.c (main): Likewise.
19357         * tests/test-renameat.c (main): Likewise.
19358         * tests/test-symlink.c (main): Likewise.
19359         * tests/test-symlinkat.c (main): Likewise.
19360         * tests/test-utimens.c (main): Likewise.
19361         * tests/test-utimensat.c (main): Likewise.
19362
19363 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19364
19365         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
19366         on $(UNUSED_PARAMETER_H) to avoid build failure.
19367
19368 2009-12-28  Jim Meyering  <meyering@redhat.com>
19369
19370         update-copyright: you may specify a max. line length other than 72
19371         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19372
19373         maint: use consistent FSF copyright line syntax
19374         * lib/posixtm.c: Add missing comma in FSF copyright line.
19375         * lib/posixtm.h: Likewise.
19376         * lib/getugroups.c: Add missing ", Inc.".
19377
19378         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
19379         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
19380         FSF copyright line.  Remove trailing blanks.
19381
19382 2009-12-28  Eric Blake  <ebb9@byu.net>
19383
19384         test-dup2: reduce dependencies
19385         * modules/cloexec (Configure.ac): Set witness.
19386         * modules/dup2-tests (Depends-on): Drop cloexec.
19387         * tests/test-dup2.c (main): Skip portion of test if cloexec module
19388         not present.
19389         Suggested by Bruno Haible.
19390
19391 2009-12-26  Bruno Haible  <bruno@clisp.org>
19392
19393         Remove an unneeded dependency.
19394         * modules/fseterr (Depends-on): Remove dup2.
19395
19396 2009-12-26  Eric Blake  <ebb9@byu.net>
19397
19398         tests: use macros.h in more places
19399         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
19400         (ASSERT_STREAM): Provide default of stderr.
19401         * tests/test-dirent-safer.c: Include macros.h, using alternate
19402         stream for assertions.
19403         * tests/test-dup-safer.c: Likewise.
19404         * tests/test-freopen-safer.c: Likewise.
19405         * tests/test-getopt.c: Likewise.
19406         * tests/test-openat-safer.c: Likewise.
19407         * tests/test-pipe.c: Likewise.
19408         * tests/test-popen-safer.c: Likewise.
19409         * modules/dirent-safer-tests (Files): Include macros.h.
19410         * modules/unistd-safer-tests (Files): Likewise.
19411         * modules/freopen-safer-tests (Files): Likewise.
19412         * modules/getopt-posix-tests (Files): Likewise.
19413         * modules/openat-safer-tests (Files): Likewise.
19414         * modules/pipe-tests (Files): Likewise.
19415
19416 2009-12-26  Bruno Haible  <bruno@clisp.org>
19417
19418         javacomp: Portability fix.
19419         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
19420         that it also works on Solaris.
19421
19422 2009-12-26  Bruno Haible  <bruno@clisp.org>
19423
19424         localename: Fix storage allocation of gl_locale_name_thread's result.
19425         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
19426         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
19427         all platforms that have 'uselocale'.
19428         (gl_locale_name_thread_unsafe): New function, extracted from
19429         gl_locale_name_thread.
19430         (gl_locale_name_thread): Call struniq on all platforms that have
19431         'uselocale'.
19432         * tests/test-localename.c (test_locale_name_thread): Check that the
19433         resulting strings are permanently allocated.
19434         * modules/localename-tests (Depends-on): Add strdup.
19435
19436 2009-12-26  Bruno Haible  <bruno@clisp.org>
19437
19438         * tests/test-localename.c (categories): Fill in the strings.
19439
19440 2009-12-26  Jim Meyering  <meyering@redhat.com>
19441
19442         isdir: complete the removal of m4/isdir.m4
19443         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
19444
19445         isdir: clean up, since at least grep still uses it
19446         * lib/isdir.c: Include "isdir.h".
19447         (S_ISDIR): Remove now-unneeded definition.
19448         * modules/isdir (Files): Add lib/isdir.h.
19449         * lib/isdir.h: New file, with declaration.
19450         * m4/isdir.m4: Remove file -- unneeded.
19451
19452 2009-12-25  Bruno Haible  <bruno@clisp.org>
19453
19454         selinux-h: Make generated .h files standalone.
19455         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
19456         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
19457         * lib/se-selinux.in.h: Likewise.
19458         * modules/selinux-h (Depends-on): Add unused-parameter.
19459         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
19460         selinux/selinux.h and selinux/context.h.
19461         Suggested by Eric Blake.
19462
19463 2009-12-25  Bruno Haible  <bruno@clisp.org>
19464
19465         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
19466         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
19467         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
19468         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
19469         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
19470
19471 2009-12-24  Bruno Haible  <bruno@clisp.org>
19472
19473         openat: Fix warning.
19474         * lib/openat-proc.c: Include <unistd.h>.
19475
19476 2009-12-24  Bruno Haible  <bruno@clisp.org>
19477
19478         New module 'unused-parameter'.
19479         * build-aux/unused-parameter.h: New file, extracted from earlier
19480         gnulib-common.m4.
19481         * modules/unused-parameter: New file.
19482         * lib/unistr.h: Include unused-parameter.h.
19483         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
19484         _GL_UNUSED.
19485         * modules/unistr/base (Depends-on): Add unused-parameter.
19486
19487 2009-12-24  Bruno Haible  <bruno@clisp.org>
19488
19489         Add missing dependencies to 'extensions' module.
19490         * m4/extensions.m4: Add comment.
19491         * modules/accept4 (Depends-on): Add extensions.
19492         * modules/dup3 (Depends-on): Likewise.
19493         * modules/fcntl (Depends-on): Likewise.
19494         * modules/futimens (Depends-on): Likewise.
19495         * modules/mknod (Depends-on): Likewise.
19496         * modules/pipe2 (Depends-on): Likewise.
19497         * modules/stat-time (Depends-on): Likewise.
19498         * modules/strcasestr-simple (Depends-on): Likewise.
19499         * modules/strsignal (Depends-on): Likewise.
19500         * modules/utimensat (Depends-on): Likewise.
19501         * modules/localcharset (Depends-on): Likewise. Needed because of
19502         gl_FCNTL_O_FLAGS.
19503         * modules/wcrtomb (Depends-on): Likewise. Needed because of
19504         AC_TYPE_MBSTATE_T.
19505         * modules/wcsnrtombs (Depends-on): Likewise.
19506         * modules/wcsrtombs (Depends-on): Likewise.
19507
19508 2009-12-24  Bruno Haible  <bruno@clisp.org>
19509
19510         binary-io: Avoid gcc warning due to SET_BINARY.
19511         * lib/binary-io.h (SET_BINARY): Cast the result to void.
19512         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
19513
19514 2009-12-24  Bruno Haible  <bruno@clisp.org>
19515
19516         Avoid future namespace pollution on glibc systems.
19517         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
19518         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
19519         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
19520         glibc systems.
19521
19522 2009-12-24  Bruno Haible  <bruno@clisp.org>
19523
19524         Refactor common macros used in tests.
19525         * tests/macros.h: New file.
19526         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
19527         and/or <stdlib.h>, if appropriate.
19528         (ASSERT, SIZEOF): Remove macros.
19529         * tests/test-areadlink-with-size.c: Likewise.
19530         * tests/test-areadlinkat.c: Likewise.
19531         * tests/test-areadlinkat-with-size.c: Likewise.
19532         * tests/test-argmatch.c: Likewise.
19533         * tests/test-argv-iter.c: Likewise.
19534         * tests/test-array-mergesort.c: Likewise.
19535         * tests/test-array_list.c: Likewise.
19536         * tests/test-array_oset.c: Likewise.
19537         * tests/test-avltree_list.c: Likewise.
19538         * tests/test-avltree_oset.c: Likewise.
19539         * tests/test-avltreehash_list.c: Likewise.
19540         * tests/test-base64.c: Likewise.
19541         * tests/test-binary-io.c: Likewise.
19542         * tests/test-bitrotate.c: Likewise.
19543         * tests/test-btowc.c: Likewise.
19544         * tests/test-byteswap.c: Likewise.
19545         * tests/test-c-ctype.c: Likewise.
19546         * tests/test-c-stack.c: Likewise.
19547         * tests/test-c-strcasecmp.c: Likewise.
19548         * tests/test-c-strcasestr.c: Likewise.
19549         * tests/test-c-strncasecmp.c: Likewise.
19550         * tests/test-c-strstr.c: Likewise.
19551         * tests/test-canonicalize-lgpl.c: Likewise.
19552         * tests/test-canonicalize.c: Likewise.
19553         * tests/test-carray_list.c: Likewise.
19554         * tests/test-ceilf1.c: Likewise.
19555         * tests/test-ceilf2.c: Likewise.
19556         * tests/test-ceill.c: Likewise.
19557         * tests/test-chown.c: Likewise.
19558         * tests/test-cloexec.c: Likewise.
19559         * tests/test-copy-acl.c: Likewise.
19560         * tests/test-copy-file.c: Likewise.
19561         * tests/test-count-one-bits.c: Likewise.
19562         * tests/test-dprintf-posix.c: Likewise.
19563         * tests/test-dup2.c: Likewise.
19564         * tests/test-dup3.c: Likewise.
19565         * tests/test-duplocale.c: Likewise.
19566         * tests/test-fbufmode.c: Likewise.
19567         * tests/test-fchdir.c: Likewise.
19568         * tests/test-fchownat.c: Likewise.
19569         * tests/test-fcntl-safer.c: Likewise.
19570         * tests/test-fcntl.c: Likewise.
19571         * tests/test-fdopendir.c: Likewise.
19572         * tests/test-fdutimensat.c: Likewise.
19573         * tests/test-fflush2.c: Likewise.
19574         * tests/test-file-has-acl.c: Likewise.
19575         * tests/test-filevercmp.c: Likewise.
19576         * tests/test-flock.c: Likewise.
19577         * tests/test-floorf1.c: Likewise.
19578         * tests/test-floorf2.c: Likewise.
19579         * tests/test-floorl.c: Likewise.
19580         * tests/test-fnmatch.c: Likewise.
19581         * tests/test-fopen.h: Likewise.
19582         * tests/test-fpending.c: Likewise.
19583         * tests/test-fprintf-posix.c: Likewise.
19584         * tests/test-fpurge.c: Likewise.
19585         * tests/test-freadable.c: Likewise.
19586         * tests/test-freadahead.c: Likewise.
19587         * tests/test-freading.c: Likewise.
19588         * tests/test-freadptr.c: Likewise.
19589         * tests/test-freadptr2.c: Likewise.
19590         * tests/test-freadseek.c: Likewise.
19591         * tests/test-freopen.c: Likewise.
19592         * tests/test-frexp.c: Likewise.
19593         * tests/test-frexpl.c: Likewise.
19594         * tests/test-fseek.c: Likewise.
19595         * tests/test-fseeko.c: Likewise.
19596         * tests/test-fstatat.c: Likewise.
19597         * tests/test-fstrcmp.c: Likewise.
19598         * tests/test-fsync.c: Likewise.
19599         * tests/test-ftell.c: Likewise.
19600         * tests/test-ftello.c: Likewise.
19601         * tests/test-func.c: Likewise.
19602         * tests/test-futimens.c: Likewise.
19603         * tests/test-fwritable.c: Likewise.
19604         * tests/test-fwriting.c: Likewise.
19605         * tests/test-getcwd.c: Likewise.
19606         * tests/test-getdate.c: Likewise.
19607         * tests/test-getdelim.c: Likewise.
19608         * tests/test-getdtablesize.c: Likewise.
19609         * tests/test-getgroups.c: Likewise.
19610         * tests/test-getline.c: Likewise.
19611         * tests/test-getndelim2.c: Likewise.
19612         * tests/test-glob.c: Likewise.
19613         * tests/test-hash.c: Likewise.
19614         * tests/test-i-ring.c: Likewise.
19615         * tests/test-iconv-utf.c: Likewise.
19616         * tests/test-iconv.c: Likewise.
19617         * tests/test-idpriv-drop.c: Likewise.
19618         * tests/test-idpriv-droptemp.c: Likewise.
19619         * tests/test-inet_ntop.c: Likewise.
19620         * tests/test-inet_pton.c: Likewise.
19621         * tests/test-isblank.c: Likewise.
19622         * tests/test-isfinite.c: Likewise.
19623         * tests/test-isinf.c: Likewise.
19624         * tests/test-isnan.c: Likewise.
19625         * tests/test-isnand.h: Likewise.
19626         * tests/test-isnanf.h: Likewise.
19627         * tests/test-isnanl.h: Likewise.
19628         * tests/test-lchown.c: Likewise.
19629         * tests/test-ldexpl.c: Likewise.
19630         * tests/test-link.c: Likewise.
19631         * tests/test-linkat.c: Likewise.
19632         * tests/test-linked_list.c: Likewise.
19633         * tests/test-linkedhash_list.c: Likewise.
19634         * tests/test-localename.c: Likewise.
19635         * tests/test-lseek.c: Likewise.
19636         * tests/test-lstat.c: Likewise.
19637         * tests/test-mbmemcasecmp.c: Likewise.
19638         * tests/test-mbmemcasecoll.c: Likewise.
19639         * tests/test-mbrtowc.c: Likewise.
19640         * tests/test-mbscasecmp.c: Likewise.
19641         * tests/test-mbscasestr1.c: Likewise.
19642         * tests/test-mbscasestr2.c: Likewise.
19643         * tests/test-mbscasestr3.c: Likewise.
19644         * tests/test-mbscasestr4.c: Likewise.
19645         * tests/test-mbschr.c: Likewise.
19646         * tests/test-mbscspn.c: Likewise.
19647         * tests/test-mbsinit.c: Likewise.
19648         * tests/test-mbsncasecmp.c: Likewise.
19649         * tests/test-mbsnrtowcs.c: Likewise.
19650         * tests/test-mbspbrk.c: Likewise.
19651         * tests/test-mbspcasecmp.c: Likewise.
19652         * tests/test-mbsrchr.c: Likewise.
19653         * tests/test-mbsrtowcs.c: Likewise.
19654         * tests/test-mbsspn.c: Likewise.
19655         * tests/test-mbsstr1.c: Likewise.
19656         * tests/test-mbsstr2.c: Likewise.
19657         * tests/test-mbsstr3.c: Likewise.
19658         * tests/test-memchr.c: Likewise.
19659         * tests/test-memchr2.c: Likewise.
19660         * tests/test-memcmp.c: Likewise.
19661         * tests/test-memmem.c: Likewise.
19662         * tests/test-memrchr.c: Likewise.
19663         * tests/test-mkdir.c: Likewise.
19664         * tests/test-mkdirat.c: Likewise.
19665         * tests/test-mkfifo.c: Likewise.
19666         * tests/test-mkfifoat.c: Likewise.
19667         * tests/test-mknod.c: Likewise.
19668         * tests/test-nanosleep.c: Likewise.
19669         * tests/test-nl_langinfo.c: Likewise.
19670         * tests/test-obstack-printf.c: Likewise.
19671         * tests/test-open.c: Likewise.
19672         * tests/test-openat.c: Likewise.
19673         * tests/test-pipe-filter-gi1.c: Likewise.
19674         * tests/test-pipe-filter-gi2-main.c: Likewise.
19675         * tests/test-pipe-filter-ii1.c: Likewise.
19676         * tests/test-pipe-filter-ii2-main.c: Likewise.
19677         * tests/test-pipe2.c: Likewise.
19678         * tests/test-popen.h: Likewise.
19679         * tests/test-posixtm.c: Likewise.
19680         * tests/test-pread.c: Likewise.
19681         * tests/test-printf-frexp.c: Likewise.
19682         * tests/test-printf-frexpl.c: Likewise.
19683         * tests/test-printf-posix.c: Likewise.
19684         * tests/test-priv-set.c: Likewise.
19685         * tests/test-quotearg.c: Likewise.
19686         * tests/test-random_r.c: Likewise.
19687         * tests/test-rawmemchr.c: Likewise.
19688         * tests/test-rbtree_list.c: Likewise.
19689         * tests/test-rbtree_oset.c: Likewise.
19690         * tests/test-rbtreehash_list.c: Likewise.
19691         * tests/test-readlink.c: Likewise.
19692         * tests/test-remove.c: Likewise.
19693         * tests/test-rename.c: Likewise.
19694         * tests/test-renameat.c: Likewise.
19695         * tests/test-rmdir.c: Likewise.
19696         * tests/test-round1.c: Likewise.
19697         * tests/test-roundf1.c: Likewise.
19698         * tests/test-roundl.c: Likewise.
19699         * tests/test-safe-alloc.c: Likewise.
19700         * tests/test-sameacls.c: Likewise.
19701         * tests/test-set-mode-acl.c: Likewise.
19702         * tests/test-setenv.c: Likewise.
19703         * tests/test-sigaction.c: Likewise.
19704         * tests/test-signbit.c: Likewise.
19705         * tests/test-sleep.c: Likewise.
19706         * tests/test-snprintf-posix.c: Likewise.
19707         * tests/test-snprintf.c: Likewise.
19708         * tests/test-sprintf-posix.c: Likewise.
19709         * tests/test-stat-time.c: Likewise.
19710         * tests/test-stat.c: Likewise.
19711         * tests/test-strcasestr.c: Likewise.
19712         * tests/test-strchrnul.c: Likewise.
19713         * tests/test-strerror.c: Likewise.
19714         * tests/test-striconv.c: Likewise.
19715         * tests/test-striconveh.c: Likewise.
19716         * tests/test-striconveha.c: Likewise.
19717         * tests/test-strsignal.c: Likewise.
19718         * tests/test-strstr.c: Likewise.
19719         * tests/test-strtod.c: Likewise.
19720         * tests/test-strverscmp.c: Likewise.
19721         * tests/test-symlink.c: Likewise.
19722         * tests/test-symlinkat.c: Likewise.
19723         * tests/test-trunc1.c: Likewise.
19724         * tests/test-trunc2.c: Likewise.
19725         * tests/test-truncf1.c: Likewise.
19726         * tests/test-truncf2.c: Likewise.
19727         * tests/test-truncl.c: Likewise.
19728         * tests/test-uname.c: Likewise.
19729         * tests/test-unlink.c: Likewise.
19730         * tests/test-unlinkat.c: Likewise.
19731         * tests/test-unsetenv.c: Likewise.
19732         * tests/test-usleep.c: Likewise.
19733         * tests/test-utimens.c: Likewise.
19734         * tests/test-utimensat.c: Likewise.
19735         * tests/test-vasnprintf-posix.c: Likewise.
19736         * tests/test-vasnprintf-posix2.c: Likewise.
19737         * tests/test-vasnprintf.c: Likewise.
19738         * tests/test-vasprintf-posix.c: Likewise.
19739         * tests/test-vasprintf.c: Likewise.
19740         * tests/test-vdprintf-posix.c: Likewise.
19741         * tests/test-vfprintf-posix.c: Likewise.
19742         * tests/test-vprintf-posix.c: Likewise.
19743         * tests/test-vsnprintf-posix.c: Likewise.
19744         * tests/test-vsnprintf.c: Likewise.
19745         * tests/test-vsprintf-posix.c: Likewise.
19746         * tests/test-wcrtomb.c: Likewise.
19747         * tests/test-wcsnrtombs.c: Likewise.
19748         * tests/test-wcsrtombs.c: Likewise.
19749         * tests/test-wctype.c: Likewise.
19750         * tests/test-wcwidth.c: Likewise.
19751         * tests/test-xfprintf-posix.c: Likewise.
19752         * tests/test-xmemdup0.c: Likewise.
19753         * tests/test-xprintf-posix.c: Likewise.
19754         * tests/test-xvasprintf.c: Likewise.
19755         * tests/unicase/test-locale-language.c: Likewise.
19756         * tests/unicase/test-mapping-part1.h: Likewise.
19757         * tests/unicase/test-predicate-part1.h: Likewise.
19758         * tests/unicase/test-u8-casecmp.c: Likewise.
19759         * tests/unicase/test-u8-casecoll.c: Likewise.
19760         * tests/unicase/test-u8-casefold.c: Likewise.
19761         * tests/unicase/test-u8-is-cased.c: Likewise.
19762         * tests/unicase/test-u8-is-casefolded.c: Likewise.
19763         * tests/unicase/test-u8-is-lowercase.c: Likewise.
19764         * tests/unicase/test-u8-is-titlecase.c: Likewise.
19765         * tests/unicase/test-u8-is-uppercase.c: Likewise.
19766         * tests/unicase/test-u8-tolower.c: Likewise.
19767         * tests/unicase/test-u8-totitle.c: Likewise.
19768         * tests/unicase/test-u8-toupper.c: Likewise.
19769         * tests/unicase/test-u16-casecmp.c: Likewise.
19770         * tests/unicase/test-u16-casecoll.c: Likewise.
19771         * tests/unicase/test-u16-casefold.c: Likewise.
19772         * tests/unicase/test-u16-is-cased.c: Likewise.
19773         * tests/unicase/test-u16-is-casefolded.c: Likewise.
19774         * tests/unicase/test-u16-is-lowercase.c: Likewise.
19775         * tests/unicase/test-u16-is-titlecase.c: Likewise.
19776         * tests/unicase/test-u16-is-uppercase.c: Likewise.
19777         * tests/unicase/test-u16-tolower.c: Likewise.
19778         * tests/unicase/test-u16-totitle.c: Likewise.
19779         * tests/unicase/test-u16-toupper.c: Likewise.
19780         * tests/unicase/test-u32-casecmp.c: Likewise.
19781         * tests/unicase/test-u32-casecoll.c: Likewise.
19782         * tests/unicase/test-u32-casefold.c: Likewise.
19783         * tests/unicase/test-u32-is-cased.c: Likewise.
19784         * tests/unicase/test-u32-is-casefolded.c: Likewise.
19785         * tests/unicase/test-u32-is-lowercase.c: Likewise.
19786         * tests/unicase/test-u32-is-titlecase.c: Likewise.
19787         * tests/unicase/test-u32-is-uppercase.c: Likewise.
19788         * tests/unicase/test-u32-tolower.c: Likewise.
19789         * tests/unicase/test-u32-totitle.c: Likewise.
19790         * tests/unicase/test-u32-toupper.c: Likewise.
19791         * tests/unicase/test-ulc-casecmp.c: Likewise.
19792         * tests/unicase/test-ulc-casecoll.c: Likewise.
19793         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
19794         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
19795         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
19796         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
19797         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
19798         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
19799         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
19800         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
19801         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
19802         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
19803         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
19804         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
19805         * tests/unictype/test-bidi_byname.c: Likewise.
19806         * tests/unictype/test-bidi_name.c: Likewise.
19807         * tests/unictype/test-bidi_of.c: Likewise.
19808         * tests/unictype/test-bidi_test.c: Likewise.
19809         * tests/unictype/test-block_list.c: Likewise.
19810         * tests/unictype/test-block_of.c: Likewise.
19811         * tests/unictype/test-block_test.c: Likewise.
19812         * tests/unictype/test-categ_and.c: Likewise.
19813         * tests/unictype/test-categ_and_not.c: Likewise.
19814         * tests/unictype/test-categ_byname.c: Likewise.
19815         * tests/unictype/test-categ_name.c: Likewise.
19816         * tests/unictype/test-categ_none.c: Likewise.
19817         * tests/unictype/test-categ_of.c: Likewise.
19818         * tests/unictype/test-categ_or.c: Likewise.
19819         * tests/unictype/test-categ_test_withtable.c: Likewise.
19820         * tests/unictype/test-combining.c: Likewise.
19821         * tests/unictype/test-decdigit.c: Likewise.
19822         * tests/unictype/test-digit.c: Likewise.
19823         * tests/unictype/test-mirror.c: Likewise.
19824         * tests/unictype/test-numeric.c: Likewise.
19825         * tests/unictype/test-pr_byname.c: Likewise.
19826         * tests/unictype/test-pr_test.c: Likewise.
19827         * tests/unictype/test-predicate-part1.h: Likewise.
19828         * tests/unictype/test-scripts.c: Likewise.
19829         * tests/unictype/test-sy_c_ident.c: Likewise.
19830         * tests/unictype/test-sy_java_ident.c: Likewise.
19831         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
19832         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
19833         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
19834         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
19835         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
19836         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
19837         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
19838         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
19839         * tests/uninorm/test-canonical-decomposition.c: Likewise.
19840         * tests/uninorm/test-compat-decomposition.c: Likewise.
19841         * tests/uninorm/test-composition.c: Likewise.
19842         * tests/uninorm/test-decomposing-form.c: Likewise.
19843         * tests/uninorm/test-decomposition.c: Likewise.
19844         * tests/uninorm/test-u8-nfc.c: Likewise.
19845         * tests/uninorm/test-u8-nfd.c: Likewise.
19846         * tests/uninorm/test-u8-nfkc.c: Likewise.
19847         * tests/uninorm/test-u8-nfkd.c: Likewise.
19848         * tests/uninorm/test-u8-normcmp.c: Likewise.
19849         * tests/uninorm/test-u8-normcoll.c: Likewise.
19850         * tests/uninorm/test-u16-nfc.c: Likewise.
19851         * tests/uninorm/test-u16-nfd.c: Likewise.
19852         * tests/uninorm/test-u16-nfkc.c: Likewise.
19853         * tests/uninorm/test-u16-nfkd.c: Likewise.
19854         * tests/uninorm/test-u16-normcmp.c: Likewise.
19855         * tests/uninorm/test-u16-normcoll.c: Likewise.
19856         * tests/uninorm/test-u32-nfc.c: Likewise.
19857         * tests/uninorm/test-u32-nfd.c: Likewise.
19858         * tests/uninorm/test-u32-nfkc.c: Likewise.
19859         * tests/uninorm/test-u32-nfkd.c: Likewise.
19860         * tests/uninorm/test-u32-normalize-big.c: Likewise.
19861         * tests/uninorm/test-u32-normcmp.c: Likewise.
19862         * tests/uninorm/test-u32-normcoll.c: Likewise.
19863         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
19864         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
19865         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
19866         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
19867         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
19868         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
19869         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
19870         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
19871         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
19872         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
19873         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
19874         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
19875         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
19876         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
19877         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
19878         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
19879         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
19880         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
19881         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
19882         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
19883         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
19884         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
19885         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
19886         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
19887         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
19888         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
19889         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
19890         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
19891         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
19892         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
19893         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
19894         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
19895         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
19896         * tests/uniwidth/test-u8-strwidth.c: Likewise.
19897         * tests/uniwidth/test-u8-width.c: Likewise.
19898         * tests/uniwidth/test-u16-strwidth.c: Likewise.
19899         * tests/uniwidth/test-u16-width.c: Likewise.
19900         * tests/uniwidth/test-u32-strwidth.c: Likewise.
19901         * tests/uniwidth/test-u32-width.c: Likewise.
19902         * tests/uniwidth/test-uc_width.c: Likewise.
19903         * tests/uniwidth/test-uc_width2.c: Likewise.
19904         * modules/acl-tests (Files): Add tests/macros.h.
19905         * modules/areadlink-tests (Files): Likewise.
19906         * modules/areadlink-with-size-tests (Files): Likewise.
19907         * modules/areadlinkat-tests (Files): Likewise.
19908         * modules/areadlinkat-with-size-tests (Files): Likewise.
19909         * modules/argmatch-tests (Files): Likewise.
19910         * modules/argv-iter-tests (Files): Likewise.
19911         * modules/array-list-tests (Files): Likewise.
19912         * modules/array-mergesort-tests (Files): Likewise.
19913         * modules/array-oset-tests (Files): Likewise.
19914         * modules/avltree-list-tests (Files): Likewise.
19915         * modules/avltree-oset-tests (Files): Likewise.
19916         * modules/avltreehash-list-tests (Files): Likewise.
19917         * modules/base64-tests (Files): Likewise.
19918         * modules/binary-io-tests (Files): Likewise.
19919         * modules/bitrotate-tests (Files): Likewise.
19920         * modules/btowc-tests (Files): Likewise.
19921         * modules/byteswap-tests (Files): Likewise.
19922         * modules/c-ctype-tests (Files): Likewise.
19923         * modules/c-stack-tests (Files): Likewise.
19924         * modules/c-strcase-tests (Files): Likewise.
19925         * modules/c-strcasestr-tests (Files): Likewise.
19926         * modules/c-strstr-tests (Files): Likewise.
19927         * modules/canonicalize-lgpl-tests (Files): Likewise.
19928         * modules/canonicalize-tests (Files): Likewise.
19929         * modules/carray-list-tests (Files): Likewise.
19930         * modules/ceilf-tests (Files): Likewise.
19931         * modules/ceill-tests (Files): Likewise.
19932         * modules/chown-tests (Files): Likewise.
19933         * modules/cloexec-tests (Files): Likewise.
19934         * modules/copy-file-tests (Files): Likewise.
19935         * modules/count-one-bits-tests (Files): Likewise.
19936         * modules/dprintf-posix-tests (Files): Likewise.
19937         * modules/dup2-tests (Files): Likewise.
19938         * modules/dup3-tests (Files): Likewise.
19939         * modules/duplocale-tests (Files): Likewise.
19940         * modules/fbufmode-tests (Files): Likewise.
19941         * modules/fchdir-tests (Files): Likewise.
19942         * modules/fcntl-safer-tests (Files): Likewise.
19943         * modules/fcntl-tests (Files): Likewise.
19944         * modules/fdopendir-tests (Files): Likewise.
19945         * modules/fdutimensat-tests (Files): Likewise.
19946         * modules/fflush-tests (Files): Likewise.
19947         * modules/filevercmp-tests (Files): Likewise.
19948         * modules/flock-tests (Files): Likewise.
19949         * modules/floorf-tests (Files): Likewise.
19950         * modules/floorl-tests (Files): Likewise.
19951         * modules/fnmatch-tests (Files): Likewise.
19952         * modules/fopen-safer-tests (Files): Likewise.
19953         * modules/fopen-tests (Files): Likewise.
19954         * modules/fpending-tests (Files): Likewise.
19955         * modules/fprintf-posix-tests (Files): Likewise.
19956         * modules/fpurge-tests (Files): Likewise.
19957         * modules/freadable-tests (Files): Likewise.
19958         * modules/freadahead-tests (Files): Likewise.
19959         * modules/freading-tests (Files): Likewise.
19960         * modules/freadptr-tests (Files): Likewise.
19961         * modules/freadseek-tests (Files): Likewise.
19962         * modules/freopen-tests (Files): Likewise.
19963         * modules/frexp-nolibm-tests (Files): Likewise.
19964         * modules/frexp-tests (Files): Likewise.
19965         * modules/frexpl-nolibm-tests (Files): Likewise.
19966         * modules/frexpl-tests (Files): Likewise.
19967         * modules/fseek-tests (Files): Likewise.
19968         * modules/fseeko-tests (Files): Likewise.
19969         * modules/fstrcmp-tests (Files): Likewise.
19970         * modules/fsync-tests (Files): Likewise.
19971         * modules/ftell-tests (Files): Likewise.
19972         * modules/ftello-tests (Files): Likewise.
19973         * modules/func-tests (Files): Likewise.
19974         * modules/futimens-tests (Files): Likewise.
19975         * modules/fwritable-tests (Files): Likewise.
19976         * modules/fwriting-tests (Files): Likewise.
19977         * modules/getcwd-tests (Files): Likewise.
19978         * modules/getdate-tests (Files): Likewise.
19979         * modules/getdelim-tests (Files): Likewise.
19980         * modules/getdtablesize-tests (Files): Likewise.
19981         * modules/getgroups-tests (Files): Likewise.
19982         * modules/getline-tests (Files): Likewise.
19983         * modules/getndelim2-tests (Files): Likewise.
19984         * modules/glob-tests (Files): Likewise.
19985         * modules/hash-tests (Files): Likewise.
19986         * modules/i-ring-tests (Files): Likewise.
19987         * modules/iconv-tests (Files): Likewise.
19988         * modules/iconv_open-utf-tests (Files): Likewise.
19989         * modules/idpriv-drop-tests (Files): Likewise.
19990         * modules/idpriv-droptemp-tests (Files): Likewise.
19991         * modules/inet_ntop-tests (Files): Likewise.
19992         * modules/inet_pton-tests (Files): Likewise.
19993         * modules/isblank-tests (Files): Likewise.
19994         * modules/isfinite-tests (Files): Likewise.
19995         * modules/isinf-tests (Files): Likewise.
19996         * modules/isnan-tests (Files): Likewise.
19997         * modules/isnand-nolibm-tests (Files): Likewise.
19998         * modules/isnand-tests (Files): Likewise.
19999         * modules/isnanf-nolibm-tests (Files): Likewise.
20000         * modules/isnanf-tests (Files): Likewise.
20001         * modules/isnanl-nolibm-tests (Files): Likewise.
20002         * modules/isnanl-tests (Files): Likewise.
20003         * modules/lchown-tests (Files): Likewise.
20004         * modules/ldexpl-tests (Files): Likewise.
20005         * modules/link-tests (Files): Likewise.
20006         * modules/linkat-tests (Files): Likewise.
20007         * modules/linked-list-tests (Files): Likewise.
20008         * modules/linkedhash-list-tests (Files): Likewise.
20009         * modules/localename-tests (Files): Likewise.
20010         * modules/lseek-tests (Files): Likewise.
20011         * modules/lstat-tests (Files): Likewise.
20012         * modules/mbmemcasecmp-tests (Files): Likewise.
20013         * modules/mbmemcasecoll-tests (Files): Likewise.
20014         * modules/mbrtowc-tests (Files): Likewise.
20015         * modules/mbscasecmp-tests (Files): Likewise.
20016         * modules/mbscasestr-tests (Files): Likewise.
20017         * modules/mbschr-tests (Files): Likewise.
20018         * modules/mbscspn-tests (Files): Likewise.
20019         * modules/mbsinit-tests (Files): Likewise.
20020         * modules/mbsncasecmp-tests (Files): Likewise.
20021         * modules/mbsnrtowcs-tests (Files): Likewise.
20022         * modules/mbspbrk-tests (Files): Likewise.
20023         * modules/mbspcasecmp-tests (Files): Likewise.
20024         * modules/mbsrchr-tests (Files): Likewise.
20025         * modules/mbsrtowcs-tests (Files): Likewise.
20026         * modules/mbsspn-tests (Files): Likewise.
20027         * modules/mbsstr-tests (Files): Likewise.
20028         * modules/memchr-tests (Files): Likewise.
20029         * modules/memchr2-tests (Files): Likewise.
20030         * modules/memcmp-tests (Files): Likewise.
20031         * modules/memmem-tests (Files): Likewise.
20032         * modules/memrchr-tests (Files): Likewise.
20033         * modules/mkdir-tests (Files): Likewise.
20034         * modules/mkfifo-tests (Files): Likewise.
20035         * modules/mkfifoat-tests (Files): Likewise.
20036         * modules/mknod-tests (Files): Likewise.
20037         * modules/nanosleep-tests (Files): Likewise.
20038         * modules/nl_langinfo-tests (Files): Likewise.
20039         * modules/obstack-printf-tests (Files): Likewise.
20040         * modules/open-tests (Files): Likewise.
20041         * modules/openat-tests (Files): Likewise.
20042         * modules/pipe-filter-gi-tests (Files): Likewise.
20043         * modules/pipe-filter-ii-tests (Files): Likewise.
20044         * modules/pipe2-tests (Files): Likewise.
20045         * modules/popen-safer-tests (Files): Likewise.
20046         * modules/popen-tests (Files): Likewise.
20047         * modules/posixtm-tests (Files): Likewise.
20048         * modules/pread-tests (Files): Likewise.
20049         * modules/printf-frexp-tests (Files): Likewise.
20050         * modules/printf-frexpl-tests (Files): Likewise.
20051         * modules/printf-posix-tests (Files): Likewise.
20052         * modules/priv-set-tests (Files): Likewise.
20053         * modules/quotearg-tests (Files): Likewise.
20054         * modules/random_r-tests (Files): Likewise.
20055         * modules/rawmemchr-tests (Files): Likewise.
20056         * modules/rbtree-list-tests (Files): Likewise.
20057         * modules/rbtree-oset-tests (Files): Likewise.
20058         * modules/rbtreehash-list-tests (Files): Likewise.
20059         * modules/readlink-tests (Files): Likewise.
20060         * modules/remove-tests (Files): Likewise.
20061         * modules/rename-tests (Files): Likewise.
20062         * modules/renameat-tests (Files): Likewise.
20063         * modules/rmdir-tests (Files): Likewise.
20064         * modules/round-tests (Files): Likewise.
20065         * modules/roundf-tests (Files): Likewise.
20066         * modules/roundl-tests (Files): Likewise.
20067         * modules/safe-alloc-tests (Files): Likewise.
20068         * modules/setenv-tests (Files): Likewise.
20069         * modules/sigaction-tests (Files): Likewise.
20070         * modules/signbit-tests (Files): Likewise.
20071         * modules/sleep-tests (Files): Likewise.
20072         * modules/snprintf-posix-tests (Files): Likewise.
20073         * modules/snprintf-tests (Files): Likewise.
20074         * modules/sprintf-posix-tests (Files): Likewise.
20075         * modules/stat-tests (Files): Likewise.
20076         * modules/stat-time-tests (Files): Likewise.
20077         * modules/strcasestr-tests (Files): Likewise.
20078         * modules/strchrnul-tests (Files): Likewise.
20079         * modules/strerror-tests (Files): Likewise.
20080         * modules/striconv-tests (Files): Likewise.
20081         * modules/striconveh-tests (Files): Likewise.
20082         * modules/striconveha-tests (Files): Likewise.
20083         * modules/strsignal-tests (Files): Likewise.
20084         * modules/strstr-tests (Files): Likewise.
20085         * modules/strtod-tests (Files): Likewise.
20086         * modules/strverscmp-tests (Files): Likewise.
20087         * modules/symlink-tests (Files): Likewise.
20088         * modules/symlinkat-tests (Files): Likewise.
20089         * modules/trunc-tests (Files): Likewise.
20090         * modules/truncf-tests (Files): Likewise.
20091         * modules/truncl-tests (Files): Likewise.
20092         * modules/uname-tests (Files): Likewise.
20093         * modules/unicase/cased-tests (Files): Likewise.
20094         * modules/unicase/ignorable-tests (Files): Likewise.
20095         * modules/unicase/locale-language-tests (Files): Likewise.
20096         * modules/unicase/tolower-tests (Files): Likewise.
20097         * modules/unicase/totitle-tests (Files): Likewise.
20098         * modules/unicase/toupper-tests (Files): Likewise.
20099         * modules/unicase/u8-casecmp-tests (Files): Likewise.
20100         * modules/unicase/u8-casecoll-tests (Files): Likewise.
20101         * modules/unicase/u8-casefold-tests (Files): Likewise.
20102         * modules/unicase/u8-is-cased-tests (Files): Likewise.
20103         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
20104         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
20105         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
20106         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
20107         * modules/unicase/u8-tolower-tests (Files): Likewise.
20108         * modules/unicase/u8-totitle-tests (Files): Likewise.
20109         * modules/unicase/u8-toupper-tests (Files): Likewise.
20110         * modules/unicase/u16-casecmp-tests (Files): Likewise.
20111         * modules/unicase/u16-casecoll-tests (Files): Likewise.
20112         * modules/unicase/u16-casefold-tests (Files): Likewise.
20113         * modules/unicase/u16-is-cased-tests (Files): Likewise.
20114         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
20115         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
20116         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
20117         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
20118         * modules/unicase/u16-tolower-tests (Files): Likewise.
20119         * modules/unicase/u16-totitle-tests (Files): Likewise.
20120         * modules/unicase/u16-toupper-tests (Files): Likewise.
20121         * modules/unicase/u32-casecmp-tests (Files): Likewise.
20122         * modules/unicase/u32-casecoll-tests (Files): Likewise.
20123         * modules/unicase/u32-casefold-tests (Files): Likewise.
20124         * modules/unicase/u32-is-cased-tests (Files): Likewise.
20125         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
20126         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
20127         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
20128         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
20129         * modules/unicase/u32-tolower-tests (Files): Likewise.
20130         * modules/unicase/u32-totitle-tests (Files): Likewise.
20131         * modules/unicase/u32-toupper-tests (Files): Likewise.
20132         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
20133         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
20134         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
20135         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
20136         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
20137         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
20138         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
20139         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
20140         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
20141         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
20142         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
20143         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
20144         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
20145         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
20146         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
20147         * modules/unictype/bidicategory-name-tests (Files): Likewise.
20148         * modules/unictype/bidicategory-of-tests (Files): Likewise.
20149         * modules/unictype/bidicategory-test-tests (Files): Likewise.
20150         * modules/unictype/block-list-tests (Files): Likewise.
20151         * modules/unictype/block-of-tests (Files): Likewise.
20152         * modules/unictype/block-test-tests (Files): Likewise.
20153         * modules/unictype/category-C-tests (Files): Likewise.
20154         * modules/unictype/category-Cc-tests (Files): Likewise.
20155         * modules/unictype/category-Cf-tests (Files): Likewise.
20156         * modules/unictype/category-Cn-tests (Files): Likewise.
20157         * modules/unictype/category-Co-tests (Files): Likewise.
20158         * modules/unictype/category-Cs-tests (Files): Likewise.
20159         * modules/unictype/category-L-tests (Files): Likewise.
20160         * modules/unictype/category-Ll-tests (Files): Likewise.
20161         * modules/unictype/category-Lm-tests (Files): Likewise.
20162         * modules/unictype/category-Lo-tests (Files): Likewise.
20163         * modules/unictype/category-Lt-tests (Files): Likewise.
20164         * modules/unictype/category-Lu-tests (Files): Likewise.
20165         * modules/unictype/category-M-tests (Files): Likewise.
20166         * modules/unictype/category-Mc-tests (Files): Likewise.
20167         * modules/unictype/category-Me-tests (Files): Likewise.
20168         * modules/unictype/category-Mn-tests (Files): Likewise.
20169         * modules/unictype/category-N-tests (Files): Likewise.
20170         * modules/unictype/category-Nd-tests (Files): Likewise.
20171         * modules/unictype/category-Nl-tests (Files): Likewise.
20172         * modules/unictype/category-No-tests (Files): Likewise.
20173         * modules/unictype/category-P-tests (Files): Likewise.
20174         * modules/unictype/category-Pc-tests (Files): Likewise.
20175         * modules/unictype/category-Pd-tests (Files): Likewise.
20176         * modules/unictype/category-Pe-tests (Files): Likewise.
20177         * modules/unictype/category-Pf-tests (Files): Likewise.
20178         * modules/unictype/category-Pi-tests (Files): Likewise.
20179         * modules/unictype/category-Po-tests (Files): Likewise.
20180         * modules/unictype/category-Ps-tests (Files): Likewise.
20181         * modules/unictype/category-S-tests (Files): Likewise.
20182         * modules/unictype/category-Sc-tests (Files): Likewise.
20183         * modules/unictype/category-Sk-tests (Files): Likewise.
20184         * modules/unictype/category-Sm-tests (Files): Likewise.
20185         * modules/unictype/category-So-tests (Files): Likewise.
20186         * modules/unictype/category-Z-tests (Files): Likewise.
20187         * modules/unictype/category-Zl-tests (Files): Likewise.
20188         * modules/unictype/category-Zp-tests (Files): Likewise.
20189         * modules/unictype/category-Zs-tests (Files): Likewise.
20190         * modules/unictype/category-and-not-tests (Files): Likewise.
20191         * modules/unictype/category-and-tests (Files): Likewise.
20192         * modules/unictype/category-byname-tests (Files): Likewise.
20193         * modules/unictype/category-name-tests (Files): Likewise.
20194         * modules/unictype/category-none-tests (Files): Likewise.
20195         * modules/unictype/category-of-tests (Files): Likewise.
20196         * modules/unictype/category-or-tests (Files): Likewise.
20197         * modules/unictype/category-test-withtable-tests (Files): Likewise.
20198         * modules/unictype/combining-class-tests (Files): Likewise.
20199         * modules/unictype/ctype-alnum-tests (Files): Likewise.
20200         * modules/unictype/ctype-alpha-tests (Files): Likewise.
20201         * modules/unictype/ctype-blank-tests (Files): Likewise.
20202         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
20203         * modules/unictype/ctype-digit-tests (Files): Likewise.
20204         * modules/unictype/ctype-graph-tests (Files): Likewise.
20205         * modules/unictype/ctype-lower-tests (Files): Likewise.
20206         * modules/unictype/ctype-print-tests (Files): Likewise.
20207         * modules/unictype/ctype-punct-tests (Files): Likewise.
20208         * modules/unictype/ctype-space-tests (Files): Likewise.
20209         * modules/unictype/ctype-upper-tests (Files): Likewise.
20210         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
20211         * modules/unictype/decimal-digit-tests (Files): Likewise.
20212         * modules/unictype/digit-tests (Files): Likewise.
20213         * modules/unictype/mirror-tests (Files): Likewise.
20214         * modules/unictype/numeric-tests (Files): Likewise.
20215         * modules/unictype/property-alphabetic-tests (Files): Likewise.
20216         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
20217         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
20218         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
20219         Likewise.
20220         * modules/unictype/property-bidi-block-separator-tests (Files):
20221         Likewise.
20222         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
20223         Likewise.
20224         * modules/unictype/property-bidi-common-separator-tests (Files):
20225         Likewise.
20226         * modules/unictype/property-bidi-control-tests (Files): Likewise.
20227         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
20228         Likewise.
20229         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
20230         Likewise.
20231         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
20232         Likewise.
20233         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
20234         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
20235         Likewise.
20236         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
20237         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
20238         Likewise.
20239         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
20240         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
20241         * modules/unictype/property-bidi-segment-separator-tests (Files):
20242         Likewise.
20243         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
20244         * modules/unictype/property-byname-tests (Files): Likewise.
20245         * modules/unictype/property-combining-tests (Files): Likewise.
20246         * modules/unictype/property-composite-tests (Files): Likewise.
20247         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
20248         * modules/unictype/property-dash-tests (Files): Likewise.
20249         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
20250         * modules/unictype/property-default-ignorable-code-point-tests (Files):
20251         Likewise.
20252         * modules/unictype/property-deprecated-tests (Files): Likewise.
20253         * modules/unictype/property-diacritic-tests (Files): Likewise.
20254         * modules/unictype/property-extender-tests (Files): Likewise.
20255         * modules/unictype/property-format-control-tests (Files): Likewise.
20256         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
20257         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
20258         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
20259         * modules/unictype/property-hex-digit-tests (Files): Likewise.
20260         * modules/unictype/property-hyphen-tests (Files): Likewise.
20261         * modules/unictype/property-id-continue-tests (Files): Likewise.
20262         * modules/unictype/property-id-start-tests (Files): Likewise.
20263         * modules/unictype/property-ideographic-tests (Files): Likewise.
20264         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
20265         * modules/unictype/property-ids-trinary-operator-tests (Files):
20266         Likewise.
20267         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
20268         * modules/unictype/property-iso-control-tests (Files): Likewise.
20269         * modules/unictype/property-join-control-tests (Files): Likewise.
20270         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
20271         * modules/unictype/property-line-separator-tests (Files): Likewise.
20272         * modules/unictype/property-logical-order-exception-tests (Files):
20273         Likewise.
20274         * modules/unictype/property-lowercase-tests (Files): Likewise.
20275         * modules/unictype/property-math-tests (Files): Likewise.
20276         * modules/unictype/property-non-break-tests (Files): Likewise.
20277         * modules/unictype/property-not-a-character-tests (Files): Likewise.
20278         * modules/unictype/property-numeric-tests (Files): Likewise.
20279         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
20280         * modules/unictype/property-other-default-ignorable-code-point-tests
20281         (Files): Likewise.
20282         * modules/unictype/property-other-grapheme-extend-tests (Files):
20283         Likewise.
20284         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
20285         * modules/unictype/property-other-id-start-tests (Files): Likewise.
20286         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
20287         * modules/unictype/property-other-math-tests (Files): Likewise.
20288         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
20289         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
20290         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
20291         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
20292         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
20293         * modules/unictype/property-private-use-tests (Files): Likewise.
20294         * modules/unictype/property-punctuation-tests (Files): Likewise.
20295         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
20296         * modules/unictype/property-radical-tests (Files): Likewise.
20297         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
20298         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
20299         * modules/unictype/property-space-tests (Files): Likewise.
20300         * modules/unictype/property-terminal-punctuation-tests (Files):
20301         Likewise.
20302         * modules/unictype/property-test-tests (Files): Likewise.
20303         * modules/unictype/property-titlecase-tests (Files): Likewise.
20304         * modules/unictype/property-unassigned-code-value-tests (Files):
20305         Likewise.
20306         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
20307         * modules/unictype/property-uppercase-tests (Files): Likewise.
20308         * modules/unictype/property-variation-selector-tests (Files): Likewise.
20309         * modules/unictype/property-white-space-tests (Files): Likewise.
20310         * modules/unictype/property-xid-continue-tests (Files): Likewise.
20311         * modules/unictype/property-xid-start-tests (Files): Likewise.
20312         * modules/unictype/property-zero-width-tests (Files): Likewise.
20313         * modules/unictype/scripts-tests (Files): Likewise.
20314         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
20315         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
20316         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
20317         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
20318         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
20319         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
20320         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
20321         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
20322         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
20323         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
20324         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
20325         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
20326         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
20327         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
20328         * modules/uninorm/composition-tests (Files): Likewise.
20329         * modules/uninorm/decomposing-form-tests (Files): Likewise.
20330         * modules/uninorm/decomposition-tests (Files): Likewise.
20331         * modules/uninorm/filter-tests (Files): Likewise.
20332         * modules/uninorm/nfc-tests (Files): Likewise.
20333         * modules/uninorm/nfd-tests (Files): Likewise.
20334         * modules/uninorm/nfkc-tests (Files): Likewise.
20335         * modules/uninorm/nfkd-tests (Files): Likewise.
20336         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
20337         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
20338         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
20339         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
20340         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
20341         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
20342         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
20343         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
20344         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
20345         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
20346         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
20347         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
20348         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
20349         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
20350         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
20351         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
20352         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
20353         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
20354         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
20355         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
20356         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
20357         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
20358         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
20359         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
20360         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
20361         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
20362         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
20363         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
20364         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
20365         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
20366         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
20367         * modules/uniwidth/u8-width-tests (Files): Likewise.
20368         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
20369         * modules/uniwidth/u16-width-tests (Files): Likewise.
20370         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
20371         * modules/uniwidth/u32-width-tests (Files): Likewise.
20372         * modules/uniwidth/width-tests (Files): Likewise.
20373         * modules/unlink-tests (Files): Likewise.
20374         * modules/unsetenv-tests (Files): Likewise.
20375         * modules/usleep-tests (Files): Likewise.
20376         * modules/utimens-tests (Files): Likewise.
20377         * modules/utimensat-tests (Files): Likewise.
20378         * modules/vasnprintf-posix-tests (Files): Likewise.
20379         * modules/vasnprintf-tests (Files): Likewise.
20380         * modules/vasprintf-posix-tests (Files): Likewise.
20381         * modules/vasprintf-tests (Files): Likewise.
20382         * modules/vdprintf-posix-tests (Files): Likewise.
20383         * modules/vfprintf-posix-tests (Files): Likewise.
20384         * modules/vprintf-posix-tests (Files): Likewise.
20385         * modules/vsnprintf-posix-tests (Files): Likewise.
20386         * modules/vsnprintf-tests (Files): Likewise.
20387         * modules/vsprintf-posix-tests (Files): Likewise.
20388         * modules/wcrtomb-tests (Files): Likewise.
20389         * modules/wcsnrtombs-tests (Files): Likewise.
20390         * modules/wcsrtombs-tests (Files): Likewise.
20391         * modules/wctype-tests (Files): Likewise.
20392         * modules/wcwidth-tests (Files): Likewise.
20393         * modules/xmemdup0-tests (Files): Likewise.
20394         * modules/xprintf-posix-tests (Files): Likewise.
20395         * modules/xvasprintf-tests (Files): Likewise.
20396
20397 2009-12-24  Eric Blake  <ebb9@byu.net>
20398
20399         test-nanosleep: fix typo
20400         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
20401         patch.
20402         Reported by Bruno Haible.
20403
20404 2009-12-24  Bruno Haible  <bruno@clisp.org>
20405
20406         Reduce namespace pollution on glibc systems.
20407         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
20408         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
20409         systems.
20410         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
20411         <getopt.h> on glibc systems.
20412         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
20413         systems.
20414         * lib/fcntl.c: Include <unistd.h> here instead.
20415
20416 2009-12-24  Bruno Haible  <bruno@clisp.org>
20417
20418         * lib/stdlib.in.h (includes): Fix typo in today's commit.
20419
20420 2009-12-24  Eric Blake  <ebb9@byu.net>
20421
20422         tests: add signature checks
20423         * tests/signature.h (SIGNATURE_CHECK): New file.
20424         * modules/atexit-tests (Files): Use it.
20425         * modules/btowc-tests (Files): Likewise.
20426         * modules/canonicalize-lgpl-tests (Files): Likewise.
20427         * modules/ceilf-tests (Files): Likewise.
20428         * modules/ceill-tests (Files): Likewise.
20429         * modules/chown-tests (Files): Likewise.
20430         * modules/dprintf-posix-tests (Files): Likewise.
20431         * modules/dup2-tests (Files): Likewise.
20432         * modules/dup3-tests (Files): Likewise.
20433         * modules/duplocale-tests (Files): Likewise.
20434         * modules/fchdir-tests (Files): Likewise.
20435         * modules/fcntl-tests (Files): Likewise.
20436         * modules/fdopendir-tests (Files): Likewise.
20437         * modules/fflush-tests (Files): Likewise.
20438         * modules/flock-tests (Files): Likewise.
20439         * modules/floorf-tests (Files): Likewise.
20440         * modules/floorl-tests (Files): Likewise.
20441         * modules/fnmatch-tests (Files): Likewise.
20442         * modules/fopen-tests (Files): Likewise.
20443         * modules/fprintf-posix-tests (Files): Likewise.
20444         * modules/freopen-tests (Files): Likewise.
20445         * modules/frexp-nolibm-tests (Files): Likewise.
20446         * modules/frexp-tests (Files): Likewise.
20447         * modules/frexpl-nolibm-tests (Files): Likewise.
20448         * modules/frexpl-tests (Files): Likewise.
20449         * modules/fseek-tests (Files): Likewise.
20450         * modules/fseeko-tests (Files): Likewise.
20451         * modules/fsync-tests (Files): Likewise.
20452         * modules/ftell-tests (Files): Likewise.
20453         * modules/ftello-tests (Files): Likewise.
20454         * modules/futimens-tests (Files): Likewise.
20455         * modules/getaddrinfo-tests (Files): Likewise.
20456         * modules/getcwd-tests (Files): Likewise.
20457         * modules/getdelim-tests (Files): Likewise.
20458         * modules/getdtablesize-tests (Files): Likewise.
20459         * modules/getgroups-tests (Files): Likewise.
20460         * modules/gethostname-tests (Files): Likewise.
20461         * modules/getline-tests (Files): Likewise.
20462         * modules/getopt-posix-tests (Files): Likewise.
20463         * modules/gettimeofday-tests (Files): Likewise.
20464         * modules/glob-tests (Files): Likewise.
20465         * modules/iconv-tests (Files): Likewise.
20466         * modules/inet_ntop-tests (Files): Likewise.
20467         * modules/inet_pton-tests (Files): Likewise.
20468         * modules/isblank-tests (Files): Likewise.
20469         * modules/lchown-tests (Files): Likewise.
20470         * modules/ldexpl-tests (Files): Likewise.
20471         * modules/link-tests (Files): Likewise.
20472         * modules/linkat-tests (Files): Likewise.
20473         * modules/lseek-tests (Files): Likewise.
20474         * modules/lstat-tests (Files): Likewise.
20475         * modules/mbrtowc-tests (Files): Likewise.
20476         * modules/mbsinit-tests (Files): Likewise.
20477         * modules/mbsnrtowcs-tests (Files): Likewise.
20478         * modules/mbsrtowcs-tests (Files): Likewise.
20479         * modules/memchr-tests (Files): Likewise.
20480         * modules/memcmp-tests (Files): Likewise.
20481         * modules/memmem-tests (Files): Likewise.
20482         * modules/memrchr-tests (Files): Likewise.
20483         * modules/mkdir-tests (Files): Likewise.
20484         * modules/mkfifo-tests (Files): Likewise.
20485         * modules/mkfifoat-tests (Files): Likewise.
20486         * modules/mknod-tests (Files): Likewise.
20487         * modules/nanosleep-tests (Files): Likewise.
20488         * modules/nl_langinfo-tests (Files): Likewise.
20489         * modules/obstack-printf-tests (Files): Likewise.
20490         * modules/open-tests (Files): Likewise.
20491         * modules/openat-tests (Files): Likewise.
20492         * modules/perror-tests (Files): Likewise.
20493         * modules/pipe2-tests (Files): Likewise.
20494         * modules/poll-tests (Files): Likewise.
20495         * modules/popen-tests (Files): Likewise.
20496         * modules/posix_spawn-tests (Files): Likewise.
20497         * modules/posix_spawnp-tests (Files): Likewise.
20498         * modules/pread-tests (Files): Likewise.
20499         * modules/printf-posix-tests (Files): Likewise.
20500         * modules/pty-tests (Files): Likewise.
20501         * modules/random_r-tests (Files): Likewise.
20502         * modules/rawmemchr-tests (Files): Likewise.
20503         * modules/readlink-tests (Files): Likewise.
20504         * modules/remove-tests (Files): Likewise.
20505         * modules/rename-tests (Files): Likewise.
20506         * modules/renameat-tests (Files): Likewise.
20507         * modules/rmdir-tests (Files): Likewise.
20508         * modules/round-tests (Files): Likewise.
20509         * modules/roundf-tests (Files): Likewise.
20510         * modules/roundl-tests (Files): Likewise.
20511         * modules/select-tests (Files): Likewise.
20512         * modules/setenv-tests (Files): Likewise.
20513         * modules/sigaction-tests (Files): Likewise.
20514         * modules/sleep-tests (Files): Likewise.
20515         * modules/snprintf-posix-tests (Files): Likewise.
20516         * modules/snprintf-tests (Files): Likewise.
20517         * modules/sprintf-posix-tests (Files): Likewise.
20518         * modules/stat-tests (Files): Likewise.
20519         * modules/strcasestr-tests (Files): Likewise.
20520         * modules/strchrnul-tests (Files): Likewise.
20521         * modules/strerror-tests (Files): Likewise.
20522         * modules/strsignal-tests (Files): Likewise.
20523         * modules/strstr-tests (Files): Likewise.
20524         * modules/strtod-tests (Files): Likewise.
20525         * modules/strverscmp-tests (Files): Likewise.
20526         * modules/symlink-tests (Files): Likewise.
20527         * modules/symlinkat-tests (Files): Likewise.
20528         * modules/times-tests (Files): Likewise.
20529         * modules/trunc-tests (Files): Likewise.
20530         * modules/truncf-tests (Files): Likewise.
20531         * modules/truncl-tests (Files): Likewise.
20532         * modules/tsearch-tests (Files): Likewise.
20533         * modules/uname-tests (Files): Likewise.
20534         * modules/unlink-tests (Files): Likewise.
20535         * modules/unsetenv-tests (Files): Likewise.
20536         * modules/usleep-tests (Files): Likewise.
20537         * modules/utimensat-tests (Files): Likewise.
20538         * modules/vasprintf-tests (Files): Likewise.
20539         * modules/vdprintf-posix-tests (Files): Likewise.
20540         * modules/vfprintf-posix-tests (Files): Likewise.
20541         * modules/vprintf-posix-tests (Files): Likewise.
20542         * modules/vsnprintf-posix-tests (Files): Likewise.
20543         * modules/vsnprintf-tests (Files): Likewise.
20544         * modules/vsprintf-posix-tests (Files): Likewise.
20545         * modules/wcrtomb-tests (Files): Likewise.
20546         * modules/wcsnrtombs-tests (Files): Likewise.
20547         * modules/wcsrtombs-tests (Files): Likewise.
20548         * modules/wcwidth-tests (Files): Likewise.
20549         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
20550         * tests/test-isinf.c (isinf): Likewise.
20551         * tests/test-isnan.c (isnan): Likewise.
20552         * tests/test-signbit.c (signbit): Likewise.
20553         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
20554         declaration, either as macro or with correct signature.
20555         (select): Ensure function under test is declared with correct
20556         signature in correct header.
20557         * tests/test-atexit.c (atexit): Likewise.
20558         * tests/test-btowc.c (btowc): Likewise.
20559         * tests/test-canonicalize-lgpl.c (realpath)
20560         (canonicalize_file_name): Likewise.
20561         * tests/test-ceilf1.c (ceilf): Likewise.
20562         * tests/test-ceill.c (ceill): Likewise.
20563         * tests/test-chown.c (chown): Likewise.
20564         * tests/test-dprintf-posix.c (dprintf): Likewise.
20565         * tests/test-dup2.c (dup2): Likewise.
20566         * tests/test-dup3.c (dup3): Likewise.
20567         * tests/test-duplocale.c (duplocale): Likewise.
20568         * tests/test-fchdir.c (fchdir): Likewise.
20569         * tests/test-fchownat.c (fchownat): Likewise.
20570         * tests/test-fcntl.c (fcntl): Likewise.
20571         * tests/test-fdopendir.c (fdopendir): Likewise.
20572         * tests/test-fflush.c (fflush): Likewise.
20573         * tests/test-flock.c (flock): Likewise.
20574         * tests/test-floorf1.c (floorf): Likewise.
20575         * tests/test-floorl.c (floorl): Likewise.
20576         * tests/test-fnmatch.c (fnmatch): Likewise.
20577         * tests/test-fopen.c (fopen): Likewise.
20578         * tests/test-fprintf-posix.c (fprintf): Likewise.
20579         * tests/test-freopen.c (freopen): Likewise.
20580         * tests/test-frexp.c (frexp): Likewise.
20581         * tests/test-frexpl.c (frexpl): Likewise.
20582         * tests/test-fseek.c (fseek): Likewise.
20583         * tests/test-fseeko.c (fseeko): Likewise.
20584         * tests/test-fstatat.c (fstatat): Likewise.
20585         * tests/test-fsync.c (fsync): Likewise.
20586         * tests/test-ftell.c (ftell): Likewise.
20587         * tests/test-ftello.c (ftello): Likewise.
20588         * tests/test-futimens.c (futimens): Likewise.
20589         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
20590         (gai_strerror): Likewise.
20591         * tests/test-getcwd.c (getcwd): Likewise.
20592         * tests/test-getdelim.c (getdelim): Likewise.
20593         * tests/test-getdtablesize.c (getdtablesize): Likewise.
20594         * tests/test-getgroups.c (getgroups): Likewise.
20595         * tests/test-gethostname.c (gethostname): Likewise.
20596         * tests/test-getline.c (getline): Likewise.
20597         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
20598         Likewise.
20599         * tests/test-gettimeofday.c (gettimeofday): Likewise.
20600         * tests/test-glob.c (glob, globfree): Likewise.
20601         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
20602         * tests/test-inet_ntop.c (inet_ntop): Likewise.
20603         * tests/test-inet_pton.c (inet_pton): Likewise.
20604         * tests/test-isblank.c (isblank): Likewise.
20605         * tests/test-lchown.c (lchown): Likewise.
20606         * tests/test-ldexpl.c (ldexpl): Likewise.
20607         * tests/test-link.c (link): Likewise.
20608         * tests/test-linkat.c (linkat): Likewise.
20609         * tests/test-lseek.c (lseek): Likewise.
20610         * tests/test-lstat.c (lstat): Likewise.
20611         * tests/test-mbrtowc.c (mbrtowc): Likewise.
20612         * tests/test-mbsinit.c (mbsinit): Likewise.
20613         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
20614         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
20615         * tests/test-memchr.c (memchr): Likewise.
20616         * tests/test-memcmp.c (memcmp): Likewise.
20617         * tests/test-memmem.c (memmem): Likewise.
20618         * tests/test-memrchr.c (memrchr): Likewise.
20619         * tests/test-mkdir.c (mkdir): Likewise.
20620         * tests/test-mkdirat.c (mkdirat): Likewise.
20621         * tests/test-mkfifo.c (mkfifo): Likewise.
20622         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
20623         * tests/test-mknod.c (mknod): Likewise.
20624         * tests/test-nanosleep.c (nanosleep): Likewise.
20625         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
20626         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
20627         Likewise.
20628         * tests/test-open.c (open): Likewise.
20629         * tests/test-openat.c (openat): Likewise.
20630         * tests/test-perror.c (perror): Likewise.
20631         * tests/test-pipe2.c (pipe2): Likewise.
20632         * tests/test-poll.c (poll): Likewise.
20633         * tests/test-popen.c (popen, pclose): Likewise.
20634         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
20635         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
20636         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
20637         (posix_spawn_file_actions_destroy)
20638         (posix_spawn_file_actions_addclose)
20639         (posix_spawn_file_actions_addopen)
20640         (posix_spawn_file_actions_adddup2): Likewise.
20641         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
20642         * tests/test-pread.c (pread): Likewise.
20643         * tests/test-printf-posix.c (printf): Likewise.
20644         * tests/test-pty.c (openpty, forkpty): Likewise.
20645         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
20646         (random_r): Likewise.
20647         * tests/test-rawmemchr.c (rawmemchr): Likewise.
20648         * tests/test-readlink.c (readlink): Likewise.
20649         * tests/test-remove.c (remove): Likewise.
20650         * tests/test-rename.c (rename): Likewise.
20651         * tests/test-renameat.c (renameat): Likewise.
20652         * tests/test-rmdir.c (rmdir): Likewise.
20653         * tests/test-round1.c (round): Likewise.
20654         * tests/test-roundf1.c (roundf): Likewise.
20655         * tests/test-roundl.c (roundl): Likewise.
20656         * tests/test-setenv.c (setenv): Likewise.
20657         * tests/test-sigaction.c (sigaction): Likewise.
20658         * tests/test-sleep.c (sleep): Likewise.
20659         * tests/test-snprintf.c (snprintf): Likewise.
20660         * tests/test-sprintf-posix.c (sprintf): Likewise.
20661         * tests/test-stat.c (stat): Likewise.
20662         * tests/test-stpncpy.c (stpncpy): Likewise.
20663         * tests/test-strcasestr.c (strcasestr): Likewise.
20664         * tests/test-strchrnul.c (strchrnul): Likewise.
20665         * tests/test-strerror.c (strerror): Likewise.
20666         * tests/test-strsignal.c (strsignal): Likewise.
20667         * tests/test-strstr.c (strstr): Likewise.
20668         * tests/test-strtod.c (strtod): Likewise.
20669         * tests/test-strverscmp.c (strverscmp): Likewise.
20670         * tests/test-symlink.c (symlink): Likewise.
20671         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
20672         * tests/test-times.c (times): Likewise.
20673         * tests/test-trunc1.c (trunc): Likewise.
20674         * tests/test-truncf1.c (truncf): Likewise.
20675         * tests/test-truncl.c (truncl): Likewise.
20676         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
20677         Likewise.
20678         * tests/test-uname.c (uname): Likewise.
20679         * tests/test-unlink.c (unlink): Likewise.
20680         * tests/test-unlinkat.c (unlinkat): Likewise.
20681         * tests/test-unsetenv.c (unsetenv): Likewise.
20682         * tests/test-usleep.c (usleep): Likewise.
20683         * tests/test-utimensat.c (utimensat): Likewise.
20684         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
20685         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
20686         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
20687         * tests/test-vprintf-posix.c (vprintf): Likewise.
20688         * tests/test-vsnprintf.c (vsnprintf): Likewise.
20689         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
20690         * tests/test-wcrtomb.c (wcrtomb): Likewise.
20691         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
20692         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
20693         * tests/test-wcwidth.c (wcwidth): Likewise.
20694
20695         build: pull in conditional headers during GNULIB_POSIXCHECK
20696         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
20697         definitions from any conditionally-included headers.
20698         * lib/stdlib.in.h (includes): Likewise.
20699         * lib/unistd.in.h (includes): Likewise.
20700
20701 2009-12-24  Bruno Haible  <bruno@clisp.org>
20702
20703         * tests/test-argv-iter.c: Include header file being tested immediately
20704         after config.h.
20705         * tests/test-base64.c: Likewise.
20706         * tests/test-flock.c: Likewise.
20707         * tests/test-fsync.c: Likewise.
20708         * tests/test-getdate.c: Likewise.
20709         * tests/test-getndelim2.c: Likewise.
20710         * tests/test-isfinite.c: Likewise.
20711         * tests/test-isinf.c: Likewise.
20712         * tests/test-strerror.c: Likewise.
20713         * tests/test-strsignal.c: Likewise.
20714
20715 2009-12-23  Eric Blake  <ebb9@byu.net>
20716
20717         unistd: work around cygwin bug
20718         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
20719         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
20720         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
20721
20722 2009-12-23  Bruno Haible  <bruno@clisp.org>
20723
20724         localename: More tests.
20725         * tests/test-localename.c (SIZEOF): New macro.
20726         (categories): New variable.
20727         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
20728         test_locale_name_default): Add test w.r.t. thread locale.
20729         (test_locale_name_thread): New function.
20730         (main): Invoke it.
20731
20732         localename: Make aware of thread locale.
20733         * lib/localename.h (gl_locale_name_thread): New declaration.
20734         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
20735         behaviour with respect to thread locale.
20736         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
20737         <langinfo.h>, glthread/lock.h.
20738         (SIZE_BITS): New macro.
20739         (string_hash): New function.
20740         (struct hash_node): New type.
20741         (HASH_TABLE_SIZE): New macro.
20742         (struniq_hash_table, struniq_lock): New variables.
20743         (struniq): New function.
20744         (gl_locale_name_thread): New function.
20745         (gl_locale_name): Invoke it.
20746         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
20747         * modules/localename (Depends-on): Add lock.
20748         Reported by Mike Gran <spk121@yahoo.com>.
20749
20750 2009-12-23  Eric Blake  <ebb9@byu.net>
20751
20752         va-args: new module
20753         * modules/va-args: New file.
20754         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
20755         * MODULES.html.sh (Core language properties): Mention it.
20756
20757         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
20758         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
20759         named alias for __attribute__((__unused__)).
20760         * lib/chown.c: Update client.
20761         * lib/fchmodat.c: Likewise.
20762         * lib/fts.c: Likewise.
20763         * lib/getdate.y: Likewise.
20764         * lib/getgroups.c: Likewise.
20765         * lib/getopt.c: Likewise.
20766         * lib/getugroups.c: Likewise.
20767         * lib/mkdir.c: Likewise.
20768         * lib/mkfifo.c: Likewise.
20769         * lib/mkfifoat.c: Likewise.
20770         * lib/mknod.c: Likewise.
20771         * lib/mknodat.c: Likewise.
20772         * lib/readlink.c: Likewise.
20773         * lib/se-context.in.h: Likewise.
20774         * lib/se-selinux.in.h: Likewise.
20775         * lib/sockets.c: Likewise.
20776         * lib/symlink.c: Likewise.
20777         * lib/symlinkat.c: Likewise.
20778         * lib/unicodeio.c: Likewise.
20779         * lib/unistr.h: Likewise.
20780         * tests/test-areadlink.c: Likewise.
20781         * tests/test-areadlinkat.c: Likewise.
20782         * tests/test-filenamecat.c: Likewise.
20783         * tests/test-fseeko.c: Likewise.
20784         * tests/test-ftello.c: Likewise.
20785         * tests/test-getdate.c: Likewise.
20786         * tests/test-getgroups.c: Likewise.
20787         * tests/test-gethostname.c: Likewise.
20788         * tests/test-quotearg.c: Likewise.
20789         * tests/test-version-etc.c: Likewise.
20790         * tests/test-xalloc-die.c: Likewise.
20791         * tests/test-xfprintf-posix.c: Likewise.
20792         * tests/test-xprintf-posix.c: Likewise.
20793         * tests/test-xvasprintf.c: Likewise.
20794
20795         tests: avoid compiler warnings
20796         * tests/test-fcntl.c (main): Delete unused parameters.
20797         * tests/test-freopen-safer.c (main): Likewise.
20798         * tests/test-xalloc-die.c (main): Mark unused parameters.
20799         * tests/test-fseeko.c (main): Likewise.
20800         * tests/test-ftello.c (main): Likewise.
20801         * tests/test-nanosleep.c (main): Avoid declaration warning.
20802         * tests/test-sleep.c (main): Likewise.
20803         * tests/test-unsetenv.c (main): Silence warning about string
20804         literal.
20805         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20806
20807 2009-12-23  Bruno Haible  <bruno@clisp.org>
20808
20809         * tests/test-localename.c (test_locale_name): New function, extracted
20810         from main. Also test mixed situations.
20811         (test_locale_name_posix, test_locale_name_environ,
20812         test_locale_name_default): New functions.
20813         (main): Invoke them all.
20814         * modules/localename-tests (configure.ac): Test for newlocale.
20815
20816 2009-12-23  Bruno Haible  <bruno@clisp.org>
20817
20818         unistd: Ensure getcwd gets declared before being overridden.
20819         * lib/unistd.in.h: Conditionally include <io.h>.
20820
20821 2009-12-22  Bruno Haible  <bruno@clisp.org>
20822
20823         wchar: Diagnose broken combination of glibc and gcc versions and flags.
20824         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
20825         (gl_WCHAR_H): Invoke it.
20826         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
20827         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
20828         Reported by Karl Berry <karl@freefriends.org>.
20829
20830 2009-12-22  Eric Blake  <ebb9@byu.net>
20831
20832         math, unistd: avoid redundant includes
20833         * lib/math.in.h (isnan): No need to re-include <math.h>.
20834         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
20835
20836         getsubopt: work around cygwin bug
20837         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
20838         avoid conflicting with system getsubopt.
20839         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
20840         bug.
20841
20842         getopt: synchronize from glibc
20843         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
20844         parameter order.  Adjust all callers.
20845         (_getopt_internal_r, main): Adjust quoting in error messages.
20846         Drop considerations for outdated POSIX 1003.2 error message.
20847         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
20848         callers.
20849         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
20850
20851         test-getopt: test stderr behavior
20852         * modules/getopt-posix-tests (Depends-on): Add dup2.
20853         * tests/test-getopt.c (ASSERT): Avoid stderr.
20854         (main): Move stderr to a temporary file.
20855         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
20856         Instead, add parameter to inform caller if output occurred.
20857         (test_getopt): Adjust all existing tests to expect silence, and
20858         add new tests of leading ":".
20859         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20860         glibc shortcomings with leading "-:" or "+:" in optstring.
20861         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20862         Likewise.
20863         * doc/posix-functions/getopt.texi (getopt): Likewise.
20864
20865         test-getopt: enhance test
20866         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
20867         supports optind=0.
20868         * tests/test-getopt.c (OPTIND_MIN): Move...
20869         * tests/test-getopt.h (OPTIND_MIN): ...here.
20870         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
20871         Require that optind=0 works, since modern BSD supports it in
20872         addition to optreset, and since coreutils expects it.
20873         (test_getopt_long_only): New test.
20874         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20875         glibc shortcomings with 'W;', and enforcement of optind=0.
20876         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20877         Likewise.
20878
20879 2009-12-21  Bruno Haible  <bruno@clisp.org>
20880
20881         localename: Improvements for MacOS X and Cygwin.
20882         * lib/localename.h (gl_locale_name_environ): New declaration.
20883         * lib/localename.c (gl_locale_name_environ): New function, extracted from
20884         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
20885         (gl_locale_name_posix): Invoke it.
20886         (gl_locale_name_default): Add comments. Use Windows native API also on
20887         Cygwin.
20888
20889 2009-12-21  Bruno Haible  <bruno@clisp.org>
20890
20891         Update list of Win32 locale ids.
20892         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
20893         (LANG_SAMI): Renamed from LANG_SAAMI.
20894         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
20895         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
20896         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
20897         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
20898         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
20899         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
20900         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
20901         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
20902         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
20903         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
20904         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
20905         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
20906         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
20907         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
20908         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
20909         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
20910         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
20911         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
20912         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
20913         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
20914         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
20915         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
20916         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
20917         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
20918         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
20919         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
20920         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
20921         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
20922         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
20923         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
20924         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
20925         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
20926         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
20927         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
20928         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
20929         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
20930         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
20931         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
20932         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
20933         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
20934         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
20935         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
20936         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
20937         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
20938         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
20939         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
20940         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
20941         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
20942         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
20943         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
20944         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
20945         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
20946         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
20947         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
20948         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
20949         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
20950         Add more languages and countries for Sami, Sorbian. Add more countries
20951         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
20952         for Pashto. Change country for Syriac, Tswana.
20953
20954 2009-12-21  Eric Blake  <ebb9@byu.net>
20955
20956         test-utimens: avoid spurious failure
20957         * tests/test-chown.h (nap): Factor...
20958         * tests/nap.h: ...into new file.
20959         * tests/test-lchown.h (nap): Avoid duplication.
20960         * tests/test-utimens-common.h (nap): Use shared implementation,
20961         necessary on file systems with 1-second resolution.
20962         * modules/chown-tests (Files): Include new file.
20963         * modules/fdutimensat-tests (Files): Likewise.
20964         * modules/futimens-tests (Files): Likewise.
20965         * modules/lchown-tests (Files): Likewise.
20966         * modules/openat-tests (Files): Likewise.
20967         * modules/utimens-tests (Files): Likewise.
20968         * modules/utimensat-tests (Files): Likewise.
20969
20970 2009-12-19  Eric Blake  <ebb9@byu.net>
20971
20972         futimens, utimensat: work around Linux bug
20973         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
20974         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20975         * lib/utimensat.c (rpl_utimensat): Work around it.
20976         * lib/futimens.c (rpl_futimens): Adjust comment.
20977
20978         utimens: work around Linux ctime bug
20979         * lib/utimens.c (detect_ctime_bug): New helper function.
20980         (update_timespec): Differentiate between workaround needed for
20981         this bug vs. what is needed for systems that lack utimensat.
20982         (fdutimens, lutimens): Work around bug.
20983
20984         utimens: check for ctime update
20985         * tests/test-utimens-common.h (check_ctime): Define.
20986         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
20987         * tests/test-futimens.h (test_futimens): Likewise.
20988         * tests/test-lutimens.h (test_lutimens): Likewise.
20989         * doc/posix-functions/futimens.texi (futimens): Document the bug.
20990         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
20991
20992 2009-12-19  Bruno Haible  <bruno@clisp.org>
20993
20994         dprintf-posix: Check against memory leak fixed on 2009-12-15.
20995         * tests/test-dprintf-posix2.sh: New file.
20996         * tests/test-dprintf-posix2.c: New file.
20997         * modules/dprintf-posix-tests (Files): Add them.
20998         (configure.ac): Check for getrlimit and setrlimit.
20999         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
21000
21001 2009-12-19  Bruno Haible  <bruno@clisp.org>
21002
21003         fprintf-posix: Check against memory leak fixed on 2009-12-15.
21004         * tests/test-fprintf-posix3.sh: New file.
21005         * tests/test-fprintf-posix3.c: New file.
21006         * modules/fprintf-posix-tests (Files): Add them.
21007         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
21008
21009 2009-12-19  Eric Blake  <ebb9@byu.net>
21010
21011         dirfd: fix prototype
21012         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
21013         * lib/dirfd.c (dirfd): Likewise.
21014
21015         canonicalize: reduce memory usage
21016         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
21017         allocation to size.
21018         Reported by Solar Designer <solar@openwall.com>.
21019
21020 2009-12-19  Bruno Haible  <bruno@clisp.org>
21021
21022         New module attribute 'Applicability'.
21023         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
21024         * gnulib-tool: New option --extract-applicability.
21025         (func_usage): Document it.
21026         (sed_extract_prog): Recognize it.
21027         (func_get_applicability): New function.
21028         (func_import): Generalize handling of 'link-warning' module.
21029         * modules/link-warning (Applicability): New section.
21030         * modules/arg-nonnull (Applicability): New section.
21031         Repoted by Simon Josefsson <simon@josefsson.org>.
21032
21033 2009-12-19  Bruno Haible  <bruno@clisp.org>
21034
21035         fflush: tweak
21036         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
21037         * lib/fseeko.c (rpl_fseeko): Likewise.
21038
21039 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
21040
21041         * lib/gl_list.h: Fix typo in comment.
21042
21043 2009-12-16  Eric Blake  <ebb9@byu.net>
21044
21045         fcntl: use to simplify other modules
21046         * modules/cloexec (Depends-on): Add fcntl.
21047         * modules/fchdir (Depends-on): Likewise.
21048         * modules/fd-safer-flag (Depends-on): Likewise.
21049         * modules/unistd-safer (Depends-on): Likewise.
21050         * modules/dup3 (configure.ac): Set module indicator.
21051         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
21052         missing.
21053         * lib/fchdir.c (_gl_register_dup): Fix comment.
21054         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
21055         * lib/dup-safer.c (dup_safer): Likewise.
21056         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
21057         * lib/dup3.c (dup3): Likewise.
21058         * tests/test-fchdir.c (main): Enhance test.
21059         Fixes a dup_cloexec bug reported by Ondřej Vašík.
21060
21061         fcntl: port portions of fcntl to mingw
21062         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
21063         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
21064         replacement for mingw.
21065         * modules/fcntl (Description): Update.
21066         (Depends-on): Add dup2.
21067         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
21068         * modules/fcntl-h (Makefile.am): Substitute it.
21069         * lib/fcntl.in.h (fcntl): Update declaration.
21070         (F_DUPFD, F_GETFD): New macros, when needed.
21071         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
21072         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
21073         * tests/test-fcntl.c (check_flags, main): Enhance test for items
21074         we now guarantee.
21075
21076         fcntl: work around cygwin bug in F_DUPFD
21077         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
21078         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
21079         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
21080         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
21081         * doc/posix-functions/fcntl.texi (fcntl): Document it.
21082
21083         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
21084         * modules/fcntl (Files): List new files.
21085         (configure.ac): Run a test.
21086         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
21087         * lib/fcntl.c (rpl_fcntl): Likewise.
21088         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
21089         (gl_FCNTL_H): Always replace fcntl.h.
21090         * modules/fcntl-h (Makefile.am): Substitute witnesses.
21091         * lib/fcntl.in.h (fcntl): Declare replacement.
21092         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
21093         needed, plus a witness.
21094         * doc/posix-functions/fcntl.texi (fcntl): Document this.
21095         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
21096         * tests/test-fcntl.c: New file.
21097         * modules/fcntl-tests: Likewise.
21098
21099         binary-io: avoid potential compilation warning
21100         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
21101         directives.
21102
21103         fflush: avoid compilation error on NetBSD
21104         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
21105         between off_t and fpos_t, since the latter is sometimes a struct.
21106         * lib/fseeko.c (rpl_fseeko): Likewise.
21107         Reported by Alexander Nasonov <alnsn@yandex.ru>.
21108
21109 2009-12-15  Eric Blake  <ebb9@byu.net>
21110
21111         fcntl-h, stdio, sys_ioctl: fix declarations
21112         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
21113         function must not take arguments.
21114         * lib/sys_ioctl.in.h (ioctl): Likewise.
21115         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
21116         (open): Add a link warning.
21117
21118 2009-12-15  Jim Meyering  <meyering@redhat.com>
21119
21120         areadlink, areadlink-with-size: relax license to LGPLv2+
21121         * modules/areadlink (License): Relax to LGPLv2+.
21122         * modules/areadlink-with-size (License): Likewise.
21123
21124 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
21125             Bruno Haible  <bruno@clisp.org>
21126
21127         *printf: Fix memory leak.
21128         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
21129         * lib/vfprintf.c (vfprintf): Likewise.
21130         * lib/dprintf.c (dprintf): Likewise.
21131         * lib/vdprintf.c (vdprintf): Likewise.
21132
21133 2009-12-14  Eric Blake  <ebb9@byu.net>
21134
21135         accept4: adjust module dependencies
21136         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
21137
21138         utimens: one more try at avoiding compiler warning
21139         * lib/utimens.c (lutimens): Lower scope of result.
21140
21141 2009-12-13  Bruno Haible  <bruno@clisp.org>
21142
21143         Move the malloc checking from module 'list' to new module 'xlist'.
21144         * modules/xlist: New file.
21145         * lib/gl_xlist.h: New file.
21146         * lib/gl_xlist.c: New file.
21147         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
21148         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
21149         gl_list_add_last, gl_list_add_before, gl_list_add_after,
21150         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
21151         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
21152         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
21153         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
21154         gl_sortedlist_nx_add): New declarations.
21155         (struct gl_list_implementation): Rename and change methods accordingly.
21156         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
21157         (gl_list_nx_create): Renamed from gl_list_create.
21158         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
21159         (gl_list_nx_set_at): Renamed from gl_list_set_at.
21160         (gl_list_nx_add_first): Renamed from gl_list_add_first.
21161         (gl_list_nx_add_last): Renamed from gl_list_add_last.
21162         (gl_list_nx_add_before): Renamed from gl_list_add_before.
21163         (gl_list_nx_add_after): Renamed from gl_list_add_after.
21164         (gl_list_nx_add_at): Renamed from gl_list_add_at.
21165         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
21166         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
21167         gl_list_create_empty.
21168         (gl_list_nx_create): Renamed from gl_list_create.
21169         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
21170         (gl_list_nx_set_at): Renamed from gl_list_set_at.
21171         (gl_list_nx_add_first): Renamed from gl_list_add_first.
21172         (gl_list_nx_add_last): Renamed from gl_list_add_last.
21173         (gl_list_nx_add_before): Renamed from gl_list_add_before.
21174         (gl_list_nx_add_after): Renamed from gl_list_add_after.
21175         (gl_list_nx_add_at): Renamed from gl_list_add_at.
21176         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
21177         * lib/gl_array_list.c: Don't include xalloc.h.
21178         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
21179         NULL upon out-of-memory.
21180         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
21181         out-of-memory.
21182         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
21183         Change return type to 'int'.
21184         (gl_array_nx_set_at): Renamed from gl_array_set_at.
21185         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
21186         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
21187         upon out-of-memory.
21188         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
21189         upon out-of-memory.
21190         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
21191         upon out-of-memory.
21192         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
21193         upon out-of-memory.
21194         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
21195         out-of-memory.
21196         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
21197         Update.
21198         (gl_array_list_implementation): Update.
21199         * lib/gl_carray_list.c: Don't include xalloc.h.
21200         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
21201         Return NULL upon out-of-memory.
21202         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
21203         out-of-memory.
21204         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
21205         Change return type to 'int'.
21206         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
21207         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
21208         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
21209         upon out-of-memory.
21210         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
21211         upon out-of-memory.
21212         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
21213         out-of-memory.
21214         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
21215         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
21216         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
21217         Update.
21218         (gl_carray_list_implementation): Update.
21219         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
21220         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
21221         gl_linked_create_empty. Return NULL upon out-of-memory.
21222         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
21223         out-of-memory.
21224         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
21225         Change return type to 'int'. Return -1 upon out-of-memory.
21226         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
21227         out-of-memory.
21228         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
21229         upon out-of-memory.
21230         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
21231         upon out-of-memory.
21232         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
21233         NULL upon out-of-memory.
21234         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
21235         upon out-of-memory.
21236         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
21237         out-of-memory.
21238         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
21239         Update.
21240         * lib/gl_linked_list.c: Don't include xalloc.h.
21241         (gl_linked_list_implementation): Update.
21242         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
21243         (add_to_bucket): Change return type to 'int'.
21244         (gl_linkedhash_list_implementation): Update.
21245         * lib/gl_anytree_list1.h (free_subtree): New function.
21246         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
21247         gl_tree_create_empty. Return NULL upon out-of-memory.
21248         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
21249         Change return type to 'int'. Return -1 upon out-of-memory.
21250         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
21251         out-of-memory.
21252         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
21253         (gl_tree_remove_node): New function, moved here from
21254         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
21255         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
21256         Update.
21257         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
21258         malloc, not xmalloc. Return NULL upon out-of-memory.
21259         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
21260         out-of-memory.
21261         (gl_tree_remove_node_from_tree): New function, extracted from
21262         gl_tree_remove_node.
21263         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
21264         upon out-of-memory.
21265         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
21266         out-of-memory.
21267         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
21268         upon out-of-memory.
21269         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
21270         upon out-of-memory.
21271         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
21272         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
21273         not xmalloc. Return NULL upon out-of-memory.
21274         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
21275         out-of-memory.
21276         (gl_tree_remove_node_from_tree): New function, extracted from
21277         gl_tree_remove_node.
21278         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
21279         upon out-of-memory.
21280         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
21281         out-of-memory.
21282         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
21283         upon out-of-memory.
21284         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
21285         upon out-of-memory.
21286         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
21287         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
21288         gl_anytree_list1.h before gl_anyavltree_list2.h.
21289         (gl_avltree_list_implementation): Update.
21290         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
21291         gl_anytree_list1.h before gl_anyavltree_list2.h.
21292         (gl_rbtree_list_implementation): Update.
21293         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
21294         Change return type to 'int'. Return -1 upon out-of-memory. Use
21295         __builtin_expect.
21296         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
21297         (gl_avltreehash_list_implementation): Update.
21298         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
21299         (gl_rbtreehash_list_implementation): Update.
21300         * modules/array-list (Depends-on): Remove xalloc.
21301         * modules/carray-list (Depends-on): Likewise.
21302         * modules/linked-list (Depends-on): Likewise.
21303         * modules/linkedhash-list (Depends-on): Likewise.
21304         * modules/avltree-list (Depends-on): Likewise.
21305         * modules/rbtree-list (Depends-on): Likewise.
21306         * modules/avltreehash-list (Depends-on): Likewise.
21307         * modules/rbtreehash-list (Depends-on): Likewise.
21308
21309         * modules/xsublist: New file.
21310         * lib/gl_xsublist.h: New file.
21311         * lib/gl_xsublist.c: New file.
21312         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
21313         (gl_sublist_nx_create): New declaration.
21314         * lib/gl_sublist.c: Don't include xalloc.h.
21315         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
21316         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
21317         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
21318         Change return type to 'int'. Return -1 upon out-of-memory.
21319         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
21320         upon out-of-memory.
21321         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
21322         NULL upon out-of-memory.
21323         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
21324         upon out-of-memory.
21325         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
21326         NULL upon out-of-memory.
21327         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
21328         NULL upon out-of-memory.
21329         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
21330         upon out-of-memory.
21331         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
21332         (gl_sublist_list_implementation): Update.
21333         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
21334         upon out-of-memory.
21335         * modules/sublist (Depends-on): Remove xalloc.
21336
21337         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
21338         * tests/test-carray_list.c: Likewise.
21339         * tests/test-linked_list.c: Likewise.
21340         * tests/test-linkedhash_list.c: Likewise.
21341         * tests/test-avltree_list.c: Likewise.
21342         * tests/test-rbtree_list.c: Likewise.
21343         * tests/test-avltreehash_list.c: Likewise.
21344         * tests/test-rbtreehash_list.c: Likewise.
21345         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
21346         * modules/carray-list-tests (Makefile.am): Likewise.
21347         * modules/linked-list-tests (Makefile.am): Likewise.
21348         * modules/linkedhash-list-tests (Makefile.am): Likewise.
21349         * modules/avltree-list-tests (Makefile.am): Likewise.
21350         * modules/rbtree-list-tests (Makefile.am): Likewise.
21351         * modules/avltreehash-list-tests (Makefile.am): Likewise.
21352         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
21353
21354         * NEWS: Mention the changes.
21355
21356         * lib/clean-temp.c: Include gl_xlist.h.
21357         * modules/clean-temp (Depends-on): Add xlist.
21358
21359         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
21360         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
21361
21362         * tests/test-array_oset.c: Include gl_xlist.h.
21363         * modules/array-oset-tests (Depends-on): Add xlist.
21364
21365         Reported by José E. Marchesi <jemarch@gnu.org>.
21366
21367 2009-12-13  Bruno Haible  <bruno@clisp.org>
21368
21369         Move the malloc checking from module 'oset' to new module 'xoset'.
21370         * modules/xoset: New file.
21371         * lib/gl_xoset.h: New file.
21372         * lib/gl_xoset.c: New file.
21373         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
21374         declarations.
21375         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
21376         (struct gl_oset_implementation): Rename and change methods accordingly.
21377         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
21378         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21379         'int'. Mark as __warn_unused_result__.
21380         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
21381         gl_oset_create_empty.
21382         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21383         'int'.
21384         * lib/gl_array_oset.c: Don't include xalloc.h.
21385         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
21386         malloc, not xmalloc.
21387         (grow): Change return type to 'int'. Don't call xalloc_die.
21388         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
21389         to 'int'.
21390         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
21391         'int'.
21392         (gl_array_oset_implementation): Update.
21393         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
21394         gl_tree_create_empty.
21395         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
21396         'int'.
21397         * lib/gl_avltree_oset.c: Don't include xalloc.h.
21398         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21399         xmalloc.
21400         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21401         not xmalloc.
21402         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21403         xmalloc.
21404         (gl_avltree_oset_implementation): Update.
21405         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
21406         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21407         xmalloc.
21408         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21409         not xmalloc.
21410         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21411         xmalloc.
21412         (gl_rbtree_oset_implementation): Update.
21413         * modules/array-oset (Depends-on): Remove xalloc.
21414         * modules/avltree-oset (Depends-on): Likewise.
21415         * modules/rbtree-oset (Depends-on): Likewise.
21416         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
21417         * tests/test-avltree_oset.c: Likewise.
21418         * tests/test-rbtree_oset.c: Likewise.
21419         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
21420         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
21421         * modules/rbtree-oset-tests (Makefile.am): Likewise.
21422         * NEWS: Mention the change.
21423
21424 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
21425
21426         maint.mk: allow a project to override release-prep commands
21427         * top/maint.mk (alpha, beta, stable): Move release-preparatory
21428         commands into a new rule.
21429         (release-prep): New rule.
21430         (release-prep-hook): New overridable variable.
21431
21432 2009-12-13  Bruno Haible  <bruno@clisp.org>
21433
21434         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
21435
21436 2009-12-13  Jim Meyering  <meyering@redhat.com>
21437
21438         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
21439         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
21440
21441 2009-12-12  Bruno Haible  <bruno@clisp.org>
21442
21443         duplocale: Tweak.
21444         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
21445
21446 2009-12-12  Karl Berry  <karl@gnu.org>
21447
21448         * config/srclist.txt (strtoll.c): tab changes, no more sync.
21449
21450 2009-12-12  Bruno Haible  <bruno@clisp.org>
21451
21452         * m4/po.m4: Undo incorrect untabification.
21453
21454 2009-12-12  Bruno Haible  <bruno@clisp.org>
21455
21456         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
21457         * modules/c-strtod (Depends-on): Add locale.
21458         * modules/c-strtold (Depends-on): Likewise.
21459
21460 2009-12-12  Bruno Haible  <bruno@clisp.org>
21461
21462         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
21463
21464 2009-12-11  Eric Blake  <ebb9@byu.net>
21465
21466         setenv: relax requirement in light of POSIX ruling
21467         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
21468         not NULL.
21469         * tests/test-setenv.c (main): Relax test.
21470         * tests/test-unsetenv.c (main): Likewise.
21471         * doc/posix-functions/setenv.texi (setenv): Document this.
21472         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21473
21474 2009-12-11  Bruno Haible  <bruno@clisp.org>
21475
21476         New module 'fd-safer-flag'.
21477         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
21478         * lib/dup-safer.c (dup_safer_flag): Remove function.
21479         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
21480         * lib/fd-safer.c (fd_safer_flag): Remove function.
21481         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
21482         * modules/cloexec (configure.ac): Drop indicator macro.
21483         * modules/fd-safer-flag: New file.
21484         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
21485         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
21486         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
21487
21488 2009-12-11  Bruno Haible  <bruno@clisp.org>
21489
21490         Tests for module 'nl_langinfo'.
21491         * modules/nl_langinfo-tests: New file.
21492         * tests/test-nl_langinfo.sh: New file.
21493         * tests/test-nl_langinfo.c: New file.
21494
21495         New module 'nl_langinfo'.
21496         * lib/nl_langinfo.c: New file.
21497         * m4/nl_langinfo.m4: New file.
21498         * modules/nl_langinfo: New file.
21499         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
21500
21501 2009-12-11  Bruno Haible  <bruno@clisp.org>
21502
21503         Tests for module 'langinfo'.
21504         * modules/langinfo-tests: New file.
21505         * tests/test-langinfo.c: New file.
21506
21507         New module 'langinfo'.
21508         * lib/langinfo.in.h: New file.
21509         * m4/langinfo_h.m4: New file.
21510         * modules/langinfo: New file.
21511         * doc/posix-headers/langinfo.texi: Mention the new module.
21512
21513 2009-12-11  Bruno Haible  <bruno@clisp.org>
21514
21515         * lib/config.charset: Untabify.
21516
21517 2009-12-11  Bruno Haible  <bruno@clisp.org>
21518
21519         * modules/unistd-safer (configure.ac): Drop indicator macro.
21520
21521 2009-12-11  Bruno Haible  <bruno@clisp.org>
21522
21523         Move pipe2-safer code to its own file.
21524         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
21525         * lib/pipe-safer.c (pipe2_safer): Remove function.
21526         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
21527         (Makefile.am): Add it to lib_SOURCES.
21528
21529 2009-12-10  Bruno Haible  <bruno@clisp.org>
21530
21531         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
21532
21533 2009-12-10  Bruno Haible  <bruno@clisp.org>
21534
21535         Declare which arguments expect non-NULL values, for GCC and clang.
21536         * build-aux/arg-nonnull.h: New file.
21537         * modules/arg-nonnull: New file.
21538         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
21539         (inet_ntop, inet_pton): Use it.
21540         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
21541         (closedir, dirfd, opendir, scandir, alphasort): Use it.
21542         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
21543         (open, openat): Use it.
21544         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
21545         (fnmatch): Use it.
21546         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
21547         (getopt, getopt_long, getopt_long_only): Use it.
21548         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
21549         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
21550         Use it.
21551         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
21552         (iconv_open): Use it.
21553         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
21554         (strtoimax, strtoumax): Use it.
21555         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
21556         (duplocale): Use it.
21557         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
21558         (frexp, frexpl): Use it.
21559         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
21560         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
21561         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
21562         (tsearch, tfind, tdelete, twalk): Use it.
21563         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
21564         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21565         sigpending): Use it.
21566         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
21567         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21568         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21569         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21570         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21571         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21572         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21573         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21574         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21575         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21576         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21577         Use it.
21578         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
21579         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
21580         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
21581         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
21582         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
21583         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
21584         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
21585         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
21586         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
21587         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
21588         strtoull, unsetenv): Use it.
21589         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
21590         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21591         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21592         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
21593         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
21594         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
21595         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
21596         (strcasecmp, strncasecmp): Use it.
21597         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
21598         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
21599         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
21600         rpl_setsockopt): Use it.
21601         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
21602         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
21603         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
21604         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
21605         (gettimeofday): Use it.
21606         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
21607         (times): Use it.
21608         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
21609         (uname): Use it.
21610         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
21611         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
21612         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
21613         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
21614         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
21615         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
21616         unlinkat, write): Use it.
21617         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
21618         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
21619         * lib/argv-iter.h: Include arg-nonnull.h.
21620         (_ATTRIBUTE_NONNULL_): Remove macro.
21621         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
21622         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
21623         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
21624         optimization.
21625         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
21626         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
21627         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
21628         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
21629         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
21630         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
21631         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
21632         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
21633         * modules/arpa_inet (Depends-on): Add arg-nonnull.
21634         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
21635         * modules/dirent (Depends-on): Add arg-nonnull.
21636         (Makefile.am): Insert arg-nonnull.h into dirent.h.
21637         * modules/fcntl-h (Depends-on): Add arg-nonnull.
21638         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
21639         * modules/fnmatch (Depends-on): Add arg-nonnull.
21640         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
21641         * modules/getopt-posix (Depends-on): Add arg-nonnull.
21642         (Makefile.am): Insert arg-nonnull.h into getopt.h.
21643         * modules/glob (Depends-on): Add arg-nonnull.
21644         (Makefile.am): Insert arg-nonnull.h into glob.h.
21645         * modules/iconv_open (Depends-on): Add arg-nonnull.
21646         (Makefile.am): Insert arg-nonnull.h into iconv.h.
21647         * modules/inttypes (Depends-on): Add arg-nonnull.
21648         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
21649         * modules/locale (Depends-on): Add arg-nonnull.
21650         (Makefile.am): Insert arg-nonnull.h into locale.h.
21651         * modules/math (Depends-on): Add arg-nonnull.
21652         (Makefile.am): Insert arg-nonnull.h into math.h.
21653         * modules/netdb (Depends-on): Add arg-nonnull.
21654         (Makefile.am): Insert arg-nonnull.h into netdb.h.
21655         * modules/search (Depends-on): Add arg-nonnull.
21656         (Makefile.am): Insert arg-nonnull.h into search.h.
21657         * modules/signal (Depends-on): Add arg-nonnull.
21658         (Makefile.am): Insert arg-nonnull.h into signal.h.
21659         * modules/spawn (Depends-on): Add arg-nonnull.
21660         (Makefile.am): Insert arg-nonnull.h into spawn.h.
21661         * modules/stdio (Depends-on): Add arg-nonnull.
21662         (Makefile.am): Insert arg-nonnull.h into stdio.h.
21663         * modules/stdlib (Depends-on): Add arg-nonnull.
21664         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
21665         * modules/string (Depends-on): Add arg-nonnull.
21666         (Makefile.am): Insert arg-nonnull.h into string.h.
21667         * modules/strings (Depends-on): Add arg-nonnull.
21668         (Makefile.am): Insert arg-nonnull.h into strings.h.
21669         * modules/sys_socket (Depends-on): Add arg-nonnull.
21670         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
21671         * modules/sys_stat (Depends-on): Add arg-nonnull.
21672         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
21673         * modules/sys_time (Depends-on): Add arg-nonnull.
21674         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
21675         * modules/sys_times (Depends-on): Add arg-nonnull.
21676         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
21677         * modules/sys_utsname (Depends-on): Add arg-nonnull.
21678         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
21679         * modules/time (Depends-on): Add arg-nonnull.
21680         (Makefile.am): Insert arg-nonnull.h into time.h.
21681         * modules/unistd (Depends-on): Add arg-nonnull.
21682         (Makefile.am): Insert arg-nonnull.h into unistd.h.
21683         * modules/wchar (Depends-on): Add arg-nonnull.
21684         (Makefile.am): Insert arg-nonnull.h into wchar.h.
21685         * modules/argv-iter (Depends-on): Add arg-nonnull.
21686         * tests/test-canonicalize.c (null_ptr): New function.
21687         (main): Use it.
21688         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
21689         (main): Use it.
21690         * tests/test-memmem.c (null_ptr): New function.
21691         (main): Use it.
21692         Reported by Jim Meyering.
21693
21694 2009-12-10  Bruno Haible  <bruno@clisp.org>
21695
21696         Use spaces for indentation, not tabs.
21697         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21698         * m4/*.m4: Untabify.
21699         * build-aux/*.h: Untabify.
21700         * tests/**/*.[hc]: Untabify.
21701         * README: New section "Indent with spaces, not TABs", based on
21702         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
21703         * NEWS: Mention the change.
21704
21705 2009-12-10  Bruno Haible  <bruno@clisp.org>
21706
21707         pty test: Fix link error.
21708         * modules/pty-tests (Makefile.am): Add the default LDADD value to
21709         test_pty_LDADD.
21710
21711 2009-12-07  Simon Josefsson  <simon@josefsson.org>
21712
21713         * modules/pty: New file.
21714         * modules/pty-tests: New file.
21715         * m4/pty.m4: New file.
21716         * tests/test-pty.c: New file.
21717         * doc/glibc-headers/pty.texi: Modified.
21718         * doc/glibc-functions/forkpty.texi: Modified.
21719         * doc/glibc-functions/openpty.texi: Modified.
21720
21721 2009-12-10  Bruno Haible  <bruno@clisp.org>
21722
21723         Avoid syntax error in C++ mode.
21724         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
21725
21726 2009-12-10  Bruno Haible  <bruno@clisp.org>
21727
21728         Use sed with option -e.
21729         * gnulib-tool (func_version, func_emit_copyright_notice,
21730         func_emit_initmacro_end, func_import, func_create_testdir): Pass
21731         option -e to sed.
21732         * modules/link-warning (Makefile.am): Likewise.
21733
21734 2009-12-10  Jim Meyering  <meyering@redhat.com>
21735
21736         mgetgroups: do not write bytes beyond end of malloc'd buffer
21737         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
21738         username, we call getgroups with a one-element-shorter buffer,
21739         but still told it the length was original, max_n_groups.
21740
21741 2009-12-09  Eric Blake  <ebb9@byu.net>
21742
21743         cloexec: relax license
21744         * modules/cloexec (Maintainer): Add myself.
21745         (License): Use LGPL, not GPL.
21746
21747         link-warning: optimize generation
21748         * modules/link-warning (Makefile.am): Reduce process usage.
21749
21750 2009-12-09  Bruno Haible  <bruno@clisp.org>
21751
21752         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
21753         workaround was added on 2009-11-17.
21754
21755 2009-12-09  Jim Meyering  <meyering@redhat.com>
21756             Bruno Haible  <bruno@clisp.org>
21757
21758         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
21759         * modules/link-warning (Makefile.am): Make the comment-removing sed
21760         command more robust in the face of bootstrap-prepended comment lines.
21761
21762 2009-12-09  Bruno Haible  <bruno@clisp.org>
21763
21764         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
21765         most one group.
21766
21767 2009-12-09  Simon Josefsson <simon@josefsson.org>
21768             Bruno Haible  <bruno@clisp.org>
21769
21770         * build-aux/link-warning.h: Add copyright notice.
21771         * modules/link-warning (Makefile.am): Generate link-warning.h from
21772         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
21773         * NEWS: Mention change in link-warning module.
21774         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
21775         * modules/dirent (Makefile.am): Add dependency to dirent.h.
21776         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
21777         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
21778         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
21779         * modules/math (Makefile.am): Add dependency to math.h.
21780         * modules/search (Makefile.am): Add dependency to search.h.
21781         * modules/signal (Makefile.am): Add dependency to signal.h.
21782         * modules/spawn (Makefile.am): Add dependency to spawn.h.
21783         * modules/stdio (Makefile.am): Add dependency to stdio.h.
21784         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
21785         * modules/string (Makefile.am): Add dependency to string.h.
21786         * modules/strings (Makefile.am): Add dependency to strings.h.
21787         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
21788         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
21789         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
21790         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
21791         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
21792         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
21793         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
21794         * modules/unistd (Makefile.am): Add dependency to unistd.h.
21795         * modules/wchar (Makefile.am): Add dependency to wchar.h.
21796
21797 2009-12-09  Bruno Haible  <bruno@clisp.org>
21798
21799         fchdir: Optimize away rpl_fstat when possible.
21800         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
21801         REPLACE_OPEN_DIRECTORY.
21802         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
21803
21804 2009-12-09  Bruno Haible  <bruno@clisp.org>
21805
21806         * lib/fchdir.c: Update comment.
21807
21808 2009-12-09  Bruno Haible  <bruno@clisp.org>
21809
21810         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
21811
21812 2009-12-08  Eric Blake  <ebb9@byu.net>
21813
21814         fchdir: avoid memory leak on re-registration.
21815         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
21816
21817 2009-12-08  Jim Meyering  <meyering@redhat.com>
21818
21819         init.sh: avoid Solaris 10 /bin/sh portability problem
21820         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
21821         sourced script:
21822           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
21823           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
21824           bar
21825         tests/init.sh relied on that, accepting a --set-path=DIR argument,
21826         and two tests used that idiom.
21827         * tests/init.sh: Update suggested usage comments.
21828         (path_prepend_): New function, to be used in place
21829         of the --src-path=DIR option.
21830         (setup_): Move PATH-prepending code into path_prepend_.
21831         * tests/test-pread.sh: Adapt to new usage.
21832         * tests/test-xalloc-die.sh: Likewise.
21833
21834 2009-12-08  Simon Josefsson  <simon@josefsson.org>
21835
21836         * doc/gnulib.texi (Glibc pty.h): Add.
21837         * doc/glibc-functions/forkpty.texi: Add.
21838         * doc/glibc-functions/openpty.texi: Add.
21839         Suggested by Bruno Haible.
21840
21841 2009-12-08  Eric Blake  <ebb9@byu.net>
21842
21843         fchdir: fix logic bugs
21844         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
21845         * tests/test-fchdir.c (main): Enhance test.
21846         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
21847         is in use.
21848
21849         dup2: fix logic bugs
21850         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
21851         REPLACE_DUP2 to decide when rpl_dup2 is needed.
21852         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
21853         exists.
21854         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
21855
21856 2009-12-07  Eric Blake  <ebb9@byu.net>
21857
21858         unlink: fix m4 detection
21859         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
21860
21861         unistd-safer: add unit test
21862         * modules/unistd-safer-tests: New file.
21863         * tests/test-dup-safer.c: Likewise.
21864         * tests/test-cloexec.c (setmode): Avoid compiler warning.
21865         * tests/test-dup2.c (setmode): Likewise.
21866         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
21867
21868         cloexec: preserve text vs. binary across dup_cloexec
21869         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
21870         mode.
21871         * modules/dup2-tests (Depends-on): Add binary-io.
21872         * modules/cloexec-tests (Depends-on): Likewise.
21873         * tests/test-dup2.c (setmode, is_mode): New helpers.
21874         (main): Add tests that translation mode is preserved.
21875         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
21876         Reported by Bruno Haible.
21877
21878         mgetgroups: reduce duplicate listings
21879         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
21880         resulting array.
21881         * tests/test-chown.h (test_chown): Simplify client.
21882         * tests/test-lchown.h (test_lchown): Likewise.
21883
21884 2009-12-06  Bruno Haible  <bruno@clisp.org>
21885
21886         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
21887         value.
21888
21889 2009-12-06  Bruno Haible  <bruno@clisp.org>
21890
21891         * lib/progname.c: Include stdio.h, stdlib.h.
21892         (set_program_name): Reject a NULL argument.
21893
21894 2009-12-05  Eric Blake  <ebb9@byu.net>
21895
21896         pipe2-safer: new module
21897         * modules/pipe2-safer: New file.
21898         * lib/unistd-safer.h (pipe2_safer): New prototype.
21899         * lib/unistd--.h (pipe2): New wrapper.
21900         * lib/pipe-safer.c (pipe2_safer): New function.
21901         * modules/pipe (Depends-on): Add pipe2-safer.
21902         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
21903
21904         stdlib-safer: preserve cloexec flag for mkostemp[s]
21905         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
21906         fd_safer_flag.
21907
21908         unistd-safer: allow preservation of cloexec status via flag
21909         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
21910         prototypes.
21911         * lib/dup-safer.c (dup_safer_flag): New function.
21912         * lib/fd-safer.c (fd_safer_flag): Likewise.
21913         * modules/cloexec (configure.ac): Set witness.
21914
21915         test-dup2: enhance test
21916         * modules/dup2-tests (Depends-on): Add cloexec.
21917         * tests/test-dup2.c (main): Enhance test.
21918
21919         cloexec: add dup_cloexec
21920         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
21921         header and comments.
21922         * lib/cloexec.c (set_cloexec_flag): Add comments.
21923         (dup_cloexec): New function, with mingw implementation borrowed
21924         from...
21925         * lib/w32spawn.h (dup_noinherit): ...here.
21926         * modules/execute (Depends-on): Add cloexec.
21927         * modules/pipe (Depends-on): Likewise.
21928         * modules/cloexec (Depends-on): Add dup2.
21929         * modules/cloexec-tests (Files): New file.
21930         * tests/test-cloexec.c: Likewise.
21931
21932         test-xalloc-die: fix test for mingw
21933         * modules/xalloc-die-tests (Files): Add tests/init.sh.
21934         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
21935         directory and .exe suffix off argv[0] output.
21936
21937         test-fseeko: fix test for mingw
21938         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
21939         than undefining fseek, so test will pass on mingw.
21940
21941 2009-12-05  Bruno Haible  <bruno@clisp.org>
21942
21943         * lib/progname.h (set_program_name): Clarify specification.
21944         * lib/progname.c (set_program_name): Likewise.
21945         Reported by Jim Meyering.
21946
21947 2009-12-05  Jim Meyering  <meyering@redhat.com>
21948
21949         maint.mk: backslash-escape parens in default regexp
21950         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
21951         backslash-escape the literal parentheses.
21952
21953         maint.mk: news-date-check: use grep -E
21954         * top/maint.mk (today): Define a Make variable, not a...
21955         (news-date-check): ...shell variable.
21956         (news-date-regexp): Use the Make variable.
21957         Use grep's -E option.  Change the failing diagnostic to mention
21958         the variable, $(news-date-regexp).
21959
21960 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
21961
21962         maintainer-makefile: allow customization of NEWS entry format
21963         * top/maint.mk (news-date-regexp): New overridable variable.
21964         (news-date-check): Use it.
21965
21966 2009-12-04  Eric Blake  <ebb9@byu.net>
21967
21968         mgetgroups: add xgetgroups, and avoid ENOSYS failures
21969         * lib/mgetgroups.h (xgetgroups): New prototype.
21970         * lib/mgetgroups.c (xgetgroups): New wrapper.
21971         (mgetgroups): Handle ENOSYS.
21972         * modules/mgetgroups (Depends-on): Add realloc.
21973         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
21974
21975         mgetgroups: avoid argument promotion issues with -1
21976         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
21977         for invalid gid_t.
21978         * tests/test-chown.h (getegid, test_chown): Likewise.
21979         * tests/test-lchown.h (getegid, test_lchown): Likewise.
21980
21981 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
21982
21983         exclude: Fix header file problems.
21984         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
21985
21986 2009-12-01  Jim Meyering  <meyering@redhat.com>
21987
21988         fts: fts_open: do not let an empty string cause immediate failure
21989         This is required in support of GNU rm, for which the command
21990         "rm A '' B" must process and remove both A and B, in spite of
21991         the empty string argument.
21992         * lib/fts.c (fts_open): Do not let the presence of an empty string
21993         cause fts_open to fail immediately.  Most fts-using tools must be
21994         able to process all arguments, in order, and can be expected to
21995         diagnose such arguments themselves.
21996
21997 2009-11-30  Eric Blake  <ebb9@byu.net>
21998
21999         utimens: fix compilation error
22000         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
22001         Declare variable at right scope.
22002
22003 2009-11-29  Jim Meyering  <meyering@redhat.com>
22004
22005         bootstrap: handle perl-5.11's changed --version output
22006         * build-aux/bootstrap (get_version): Handle perl separately,
22007         since perl-5.11's --version output is different.
22008
22009 2009-11-28  Jim Meyering  <meyering@redhat.com>
22010
22011         userspec: depend on the inttostr module, too
22012         * modules/userspec (Depends-on): Add inttostr.
22013
22014         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
22015         * lib/userspec.c (parse_with_separator): Do not accept a user ID
22016         number of MAXUID when it evaluates to (uid_t) -1.
22017         Likewise for group ID.  Reported by Matt McCutchen in
22018         <http://savannah.gnu.org/bugs/?28113>
22019
22020         userspec: reformat to use spaces, not TABs
22021         * lib/userspec.c: Expand TABs to spaces.
22022         Add Emacs' "indent-tabs-mode: nil" hint.
22023
22024 2009-11-27  Eric Blake  <ebb9@byu.net>
22025
22026         getopt-gnu: flush out another BSD bug
22027         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
22028         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
22029         flush out BSD bug.
22030         * tests/test-getopt.h (test_getopt): End lists with NULL.
22031         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22032         (test_getopt_long_posix): Enhance test.
22033         * modules/getopt-posix-tests (Depends-on): Add stdbool.
22034         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
22035         getopt-gnu.
22036         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22037         Likewise.
22038
22039 2009-11-27  Simon Josefsson  <simon@josefsson.org>
22040
22041         * modules/idpriv-droptemp-tests (Notice): Fix text.
22042
22043 2009-11-27  Jim Meyering  <meyering@redhat.com>
22044
22045         test-xalloc-die: avoid spurious failure due to libtool argv difference
22046         In a libtool-enabled project, this test would fail due to a difference
22047         in the emitted program name, e.g.,
22048         -test-xalloc-die: memory exhausted
22049         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
22050         Use program to avoid that.
22051         * modules/xalloc-die-tests (Depends-on): Add progname.
22052         * tests/test-xalloc-die.c: Include progname.h".
22053         (program_name): Remove decl.
22054         (main): Call set_program_name.
22055         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
22056
22057 2009-11-26  Richard Jones  <rjones@redhat.com>
22058
22059         w32sock: leave win32 error in place.
22060         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
22061
22062 2009-11-26  Eric Blake  <ebb9@byu.net>
22063
22064         init.sh: suggest to use skip_ and fail_ functions in comments
22065         * tests/init.sh: Add a sentence.
22066
22067 2009-11-25  Bruno Haible  <bruno@clisp.org>
22068
22069         init.sh: add documentation in comments
22070         * tests/init.sh: Add some developer and user documentation.
22071
22072 2009-11-26  Jim Meyering  <meyering@redhat.com>
22073
22074         init.sh: accommodate even those who specify bogus srcdir manually
22075         * tests/init.sh: Normally, srcdir is guaranteed by automake and
22076         configure-time tests to be sanitized, so that there is no need to
22077         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
22078         (with no double quotes) suffices.  However, since tests may be
22079         invoked manually, and since you may explicitly set srcdir to the
22080         name of a directory containing spaces, do quote its uses here.
22081         * tests/test-pread.sh: Likewise.
22082         Suggested by Bruno Haible.
22083
22084         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
22085         * tests/test-pread.sh: Write no data into the pipe, because
22086         test-pread actually reads none.  This avoids a diagnostic,
22087         "bash: echo: write error: Broken pipe", that arises in the unusual
22088         event something is ignoring SIGPIPE, and might be interpreted
22089         as some sort of failure.  Reported by Bruno Haible.
22090
22091 2009-11-25  Jim Meyering  <meyering@redhat.com>
22092
22093         test-pread: cover failure with ESPIPE and EINVAL
22094         * tests/test-pread.c (main): Test for failure, too.
22095         * tests/test-pread.sh: Invoke with stdin on a pipe.
22096         Suggested by Eric Blake.
22097
22098         pread: improvement and fix
22099         * modules/pread (Depends-on): Depend on lseek, for portability to
22100         e.g., mingw.  Suggested by Eric Blake.
22101         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
22102
22103         unistd.in.h: correct declaration of pread
22104         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
22105         Reported by Richard W.M. Jones.
22106
22107         test-pread.sh: distribute the test script
22108         * modules/pread-tests (Files): Include test-pread.sh.
22109
22110         test-pread.sh: clean up
22111         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
22112         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
22113         That is unnecessary, since it's always ".".
22114         Suggestion from Eric Blake.
22115
22116         test-pread.sh: make executable
22117         * tests/test-pread.sh: Set executable bit.
22118         Reported by Eric Blake.
22119
22120         correct typo in test-pread.sh
22121         * tests/test-pread.sh: Add #! line.
22122
22123         test pread
22124         * tests/test-pread.c: New file.
22125         * tests/test-pread.sh: Likewise.
22126         * modules/pread-tests: Likewise.
22127
22128         pread: new module
22129         * modules/pread: New file.
22130         * lib/unistd.in.h (pread): Define/declare.
22131         * lib/pread.c (pread): New file.
22132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
22133         * modules/unistd (Makefile.am): Substitute witnesses.
22134         * doc/posix-functions/pread.texi (pread): Update.
22135         * MODULES.html.sh: Add pread.
22136
22137 2009-11-25  Jim Meyering  <meyering@redhat.com>
22138
22139         tests/init.sh: new file to be used via most *.sh tests
22140         * tests/init.sh: New file.
22141
22142 2009-11-25  Eric Blake  <ebb9@byu.net>
22143
22144         utimens: work around older Linux failure with symlinks
22145         * lib/utimens.c (lutimensat_works_really): New variable.
22146         (fdutimens, lutimens): Use it to manage kernels that support
22147         nanosecond times on files, but not on symlinks.
22148         Reported by Ondřej Vašík.
22149
22150         utimes: fix configure grammar
22151         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
22152
22153 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
22154
22155         regex: Fix fastmap for multibyte character ranges.
22156         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
22157         characters when a multibyte character range is included.
22158
22159 2009-11-22  Andy Wingo  <wingo@pobox.com>
22160
22161         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
22162         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
22163
22164 2009-11-24  Bruno Haible  <bruno@clisp.org>
22165
22166         doc: Most *_l functions exist in MacOS X 10.5.
22167         * doc/posix-functions/duplocale.texi: Update platforms list.
22168         * doc/posix-functions/freelocale.texi: Likewise.
22169         * doc/posix-functions/newlocale.texi: Likewise.
22170         * doc/posix-functions/uselocale.texi: Likewise.
22171         * doc/posix-functions/isalnum_l.texi: Likewise.
22172         * doc/posix-functions/isalpha_l.texi: Likewise.
22173         * doc/posix-functions/isblank_l.texi: Likewise.
22174         * doc/posix-functions/iscntrl_l.texi: Likewise.
22175         * doc/posix-functions/isdigit_l.texi: Likewise.
22176         * doc/posix-functions/isgraph_l.texi: Likewise.
22177         * doc/posix-functions/islower_l.texi: Likewise.
22178         * doc/posix-functions/isprint_l.texi: Likewise.
22179         * doc/posix-functions/ispunct_l.texi: Likewise.
22180         * doc/posix-functions/isspace_l.texi: Likewise.
22181         * doc/posix-functions/isupper_l.texi: Likewise.
22182         * doc/posix-functions/iswalnum_l.texi: Likewise.
22183         * doc/posix-functions/iswalpha_l.texi: Likewise.
22184         * doc/posix-functions/iswblank_l.texi: Likewise.
22185         * doc/posix-functions/iswcntrl_l.texi: Likewise.
22186         * doc/posix-functions/iswctype_l.texi: Likewise.
22187         * doc/posix-functions/iswdigit_l.texi: Likewise.
22188         * doc/posix-functions/iswgraph_l.texi: Likewise.
22189         * doc/posix-functions/iswlower_l.texi: Likewise.
22190         * doc/posix-functions/iswprint_l.texi: Likewise.
22191         * doc/posix-functions/iswpunct_l.texi: Likewise.
22192         * doc/posix-functions/iswspace_l.texi: Likewise.
22193         * doc/posix-functions/iswupper_l.texi: Likewise.
22194         * doc/posix-functions/iswxdigit_l.texi: Likewise.
22195         * doc/posix-functions/isxdigit_l.texi: Likewise.
22196         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
22197         * doc/posix-functions/strcasecmp_l.texi: Likewise.
22198         * doc/posix-functions/strcoll_l.texi: Likewise.
22199         * doc/posix-functions/strfmon_l.texi: Likewise.
22200         * doc/posix-functions/strftime_l.texi: Likewise.
22201         * doc/posix-functions/strncasecmp_l.texi: Likewise.
22202         * doc/posix-functions/strxfrm_l.texi: Likewise.
22203         * doc/posix-functions/tolower_l.texi: Likewise.
22204         * doc/posix-functions/toupper_l.texi: Likewise.
22205         * doc/posix-functions/towctrans_l.texi: Likewise.
22206         * doc/posix-functions/towlower_l.texi: Likewise.
22207         * doc/posix-functions/towupper_l.texi: Likewise.
22208         * doc/posix-functions/wcscoll_l.texi: Likewise.
22209         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
22210         * doc/posix-functions/wctrans_l.texi: Likewise.
22211         * doc/posix-functions/wctype_l.texi: Likewise.
22212         * doc/glibc-functions/strptime_l.texi: Likewise.
22213         * doc/glibc-functions/strtod_l.texi: Likewise.
22214         * doc/glibc-functions/strtof_l.texi: Likewise.
22215         * doc/glibc-functions/strtol_l.texi: Likewise.
22216         * doc/glibc-functions/strtold_l.texi: Likewise.
22217         * doc/glibc-functions/strtoll_l.texi: Likewise.
22218         * doc/glibc-functions/strtoul_l.texi: Likewise.
22219         * doc/glibc-functions/strtoull_l.texi: Likewise.
22220         * doc/glibc-functions/wcsftime_l.texi: Likewise.
22221         * doc/glibc-functions/wcstod_l.texi: Likewise.
22222         * doc/glibc-functions/wcstof_l.texi: Likewise.
22223         * doc/glibc-functions/wcstol_l.texi: Likewise.
22224         * doc/glibc-functions/wcstold_l.texi: Likewise.
22225         * doc/glibc-functions/wcstoll_l.texi: Likewise.
22226         * doc/glibc-functions/wcstoul_l.texi: Likewise.
22227         * doc/glibc-functions/wcstoull_l.texi: Likewise.
22228
22229 2009-11-24  Bruno Haible  <bruno@clisp.org>
22230
22231         duplocale: Fix logic bug.
22232         * lib/duplocale.c: Don't include <langinfo.h>.
22233         (_NL_LOCALE_NAME): Remove macro.
22234         (rpl_duplocale): Use setlocale instead of nl_langinfo.
22235         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
22236
22237 2009-11-23  Jim Meyering  <meyering@redhat.com>
22238
22239         test-update-copyright: don't hard-code /usr/bin/perl
22240         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
22241         perl to print the current year.  Gilles Espinasse reported that
22242         the replaced use of perl was hard-coded as /usr/bin/perl.
22243
22244 2009-11-23  Bruno Haible  <bruno@clisp.org>
22245
22246         duplocale: Add support for glibc 2.3.x.
22247         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
22248
22249 2009-11-22  Bruno Haible  <bruno@clisp.org>
22250
22251         vasnprintf: Tiny optimization.
22252         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
22253         MacOS X.
22254
22255 2009-11-22  Bruno Haible  <bruno@clisp.org>
22256
22257         Tests for module 'duplocale'.
22258         * modules/duplocale-tests: New file.
22259         * tests/test-duplocale.c: New file.
22260
22261         New module 'duplocale'.
22262         * m4/duplocale.m4: New file.
22263         * lib/locale.in.h (duplocale): New declaration.
22264         * lib/duplocale.c: New file.
22265         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
22266         gl_LOCALE_H_DEFAULTS): New macros.
22267         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
22268         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
22269         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
22270         REPLACE_DUPLOCALE.
22271         * modules/duplocale: New file.
22272         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
22273
22274 2009-11-22  Bruno Haible  <bruno@clisp.org>
22275
22276         * modules/locale-tests (configure.ac): Test for newlocale function.
22277         * tests/test-locale.c: When the system has extended locale functions,
22278         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
22279
22280         locale: Make locale_t available when possible.
22281         * lib/locale.in.h: Include <xlocale.h> when it exists.
22282         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
22283         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
22284         * modules/locale (Depends-on): Add extensions.
22285         (Makefile.am): Also substitute HAVE_XLOCALE_H.
22286         * doc/posix-headers/locale.texi: Document the problem with locale_t.
22287
22288 2009-11-22  Bruno Haible  <bruno@clisp.org>
22289
22290         Add comments.
22291         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
22292         invocation.
22293         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
22294         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22295         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22296
22297 2009-11-22  Bruno Haible  <bruno@clisp.org>
22298
22299         error: account for the possibility of freopen (stdout).
22300         * lib/error.c: Include <unistd.h>.
22301         (flush_stdout): New function, extracted from error and error_at_line.
22302         Determine stdout's fd dynamically.
22303         (error, error_at_line): Invoke flush_stdout.
22304         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
22305         * modules/error (Depends-on): Add unistd.
22306
22307 2009-11-22  Bruno Haible  <bruno@clisp.org>
22308
22309         diffseq: Add comment.
22310         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
22311
22312 2009-11-22  Jim Meyering  <meyering@redhat.com>
22313
22314         c-stack: avoid defining an unused static function
22315         * lib/c-stack.c (find_stack_direction): Do not define this function
22316         when it will not be used.
22317
22318         diffseq: avoid spurious gcc warnings
22319         * lib/diffseq.h (IF_LINT2): Define.
22320         (compareseq): Use it to initialize two members of "part".
22321         This avoids two used-uninitialized warnings.
22322
22323 2009-11-21  Jim Meyering  <meyering@redhat.com>
22324
22325         c-stack: avoid "ignoring return value of `write'" warning
22326         * lib/c-stack.c: Include "ignore-value.h".
22327         (die): Explicitly ignore each write return value.
22328         * modules/c-stack (Depends-on): Add ignore-value.
22329
22330 2009-11-21  Bruno Haible  <bruno@clisp.org>
22331
22332         diffseq: reduce scope of variable 'best'.
22333         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
22334         variable, earlier used for two different purposes.
22335
22336 2009-11-21  Jim Meyering  <meyering@redhat.com>
22337
22338         diffseq: remove useless assignment to "best"
22339         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
22340         assignment.  At that point "best" is already guaranteed to be zero.
22341
22342 2009-11-20  Eric Blake  <ebb9@byu.net>
22343
22344         build: mention ftp redirector in release announcements
22345         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
22346         values that used to come from cfg.mk; mention FTP redirect URL.
22347         * build-aux/announce-gen: Mention the mirror list.
22348         Suggested by Karl Berry.
22349
22350         nanosleep: improve port to mingw
22351         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
22352         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
22353         LIB_NANOSLEEP, but only when needed.
22354         * modules/select (Link): Document LIBSOCKET.
22355         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
22356         enough.
22357
22358         nanosleep: work around cygwin bug
22359         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
22360         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
22361         bug.
22362         (getnow): Delete, not needed.
22363         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
22364         LIB_CLOCK_GETTIME.
22365         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
22366         clock-time, gettime.
22367         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
22368         bug.
22369         * modules/nanosleep-tests: New test.
22370         * tests/test-nanosleep.c: New file.
22371
22372         sleep: work around cygwin bug
22373         * lib/sleep.c (rpl_sleep): Work around the bug.
22374         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
22375         (gl_PREREQ_SLEEP): Delete unused macro.
22376         * modules/sleep (Depends-on): Add verify.
22377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22378         * modules/unistd (Makefile.am): Substitute witness.
22379         * lib/unistd.in.h (sleep): Update prototype.
22380         * doc/posix-functions/sleep.texi (sleep): Document the bug.
22381         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
22382         * modules/sleep-tests (Depends-on): Check for alarm.
22383
22384 2009-11-20  Jim Meyering  <meyering@redhat.com>
22385
22386         maint.mk: improve sc_prohibit_magic_number_exit
22387         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
22388         so it does not match uses like System.exit(1).
22389         Add comments showing how to correct all offenders.
22390
22391 2009-11-19  Eric Blake  <ebb9@byu.net>
22392
22393         xalloc-die-tests: add missing library
22394         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
22395
22396         test-xvasprintf: silence compiler warnings
22397         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
22398         empty string from gcc.
22399
22400 2009-11-19  Jim Meyering  <meyering@redhat.com>
22401
22402         xfreopen: new module, from coreutils
22403         * modules/xfreopen: New module.
22404         * lib/xfreopen.c: New file.
22405         * lib/xfreopen.h: New file.
22406         * MODULES.html.sh (File stream based Input/Output"): Add it.
22407
22408 2009-11-19  Eric Blake  <ebb9@byu.net>
22409
22410         manywarnings: depend on warnings
22411         * modules/manywarnings (Depends-on): Add warnings.
22412
22413         build: avoid compiler warnings
22414         * lib/select.c (rpl_select): Delete unused variable.
22415         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
22416
22417 2009-11-18  Eric Blake  <ebb9@byu.net>
22418
22419         tests: avoid false negative with --with-packager
22420         * tests/test-version-etc.sh: Discard packager information.
22421         * tests/test-argp-version-etc-1.sh: Likewise.
22422         Reported by Mike Frysinger.
22423
22424         utimens: fix regression on Solaris
22425         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
22426         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
22427         can only change fd timestamps via futimesat.  Instead, use an
22428         additional witness macro to avoid BSD bug.
22429         Reported by Jim Meyering.
22430
22431 2009-11-17  Eric Blake  <ebb9@byu.net>
22432
22433         usleep: use it to simplify tests
22434         * modules/stat-time-tests (Depends-on): Add usleep.
22435         (configure.ac): Drop usleep check.
22436         * modules/chown-tests (Depends-on, configure.ac): Likewise.
22437         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
22438         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
22439         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
22440         * modules/openat-tests (Depends-on, configure.ac): Likewise.
22441         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
22442         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
22443         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
22444         Likewise.
22445         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
22446         * tests/test-lchown.h (nap): Likewise.
22447         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
22448         * tests/test-stat-time.c (nap): Likewise.
22449         * tests/test-utimens-common.h (nap): Update comments.
22450
22451         usleep: new module
22452         * modules/usleep: New file.
22453         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22454         * lib/usleep.c (usleep): Likewise.
22455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22456         * modules/unistd (Makefile.am): Substitute witnesses.
22457         * lib/unistd.in.h (usleep): Add declaration.
22458         * doc/pastposix-functions/usleep.texi (usleep): Document this.
22459         * MODULES.html.sh (Date and time): Likewise.
22460         * modules/usleep-tests (Depends-on): New test.
22461         * tests/test-usleep.c: New file.
22462
22463         chown: work around OpenBSD bug
22464         * lib/chown.c (rpl_chown): Work around the bug.
22465         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
22466         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
22467         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
22468         * modules/chown (Depends-on): Add stdbool.
22469         * modules/lchown (Depends-on): Likewise.
22470         * doc/posix-functions/chown.texi (chown): Document the bug.
22471         * doc/posix-functions/lchown.texi (lchown): Likewise.
22472         * tests/test-lchown.h (test_chown): Relax test.
22473
22474         mkstemp: avoid conflict with C++ keyword template
22475         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
22476         * lib/mkostemp.c (mkostemp): Likewise.
22477         * lib/mkostemps.c (mkostemps): Likewise.
22478         * lib/mkstemp.c (mkstemp): Likewise.
22479         * lib/mkstemps.c (mkstemps): Likewise.
22480
22481         xalloc-die-tests: optimize
22482         * tests/test-xalloc-die.sh: Reduce number of processes.
22483
22484 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22485
22486         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
22487         patch from ludo@gnu.org (Ludovic Courtès).
22488
22489 2009-11-17  Jim Meyering  <meyering@redhat.com>
22490
22491         version-etc: use proper license string
22492         * modules/version-etc (License): Use LGPL, not LGPLv3+.
22493         * modules/version-etc-fsf: Likewise.
22494
22495 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22496
22497         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
22498         printed to stdout.  Deal with EOL differences.
22499
22500 2009-11-17  Eric Blake  <ebb9@byu.net>
22501
22502         unsetenv: work around Solaris bug
22503         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
22504         * lib/unsetenv.c (rpl_unsetenv): Work around it.
22505         Reported by Jim Meyering.
22506
22507         vasnprintf: avoid compiler warnings
22508         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
22509         variables.
22510         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
22511
22512 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22513
22514         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
22515         settings since xalloc-die is no longer the self test,
22516         xalloc-die.sh is.
22517
22518 2009-11-17  Jim Meyering  <meyering@redhat.com>
22519
22520         test-xalloc-die.sh: make the code agree with the commit log
22521         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
22522         at the end, just in case you happen to have a test-xalloc-die
22523         program in some other PATH directory.
22524
22525         test-xalloc-die.sh: fix a portability bug
22526         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
22527         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
22528         Otherwise, argv[0] (as often seen in diagnostics) would be too
22529         system-dependent, sometimes with, and sometimes without the leading "./".
22530
22531         version-etc-fsf: relax license to LGPLv3+
22532         * modules/version-etc-fsf (License): Relax license.
22533
22534 2009-11-16  Eric Blake  <ebb9@byu.net>
22535
22536         xalloc-die-tests: avoid printing null pointer
22537         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
22538         shell script.
22539         * tests/test-xalloc-die.c (program_name): Declare.
22540         * tests/test-xalloc-die.sh (tmpfiles): New file.
22541
22542         setenv, unsetenv: work around various bugs
22543         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
22544         (setenv) [HAVE_SETENV]: Work around bugs.
22545         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
22546         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
22547         for bugs.
22548         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
22549         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
22550         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
22551         * modules/stdlib (Makefile.am): Update substitutions.
22552         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
22553         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
22554         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22555         * modules/setenv-tests: New test.
22556         * modules/unsetenv-tests: Likewise.
22557         * tests/test-setenv.c: New file.
22558         * tests/test-unsetenv.c: Likewise.
22559
22560 2009-11-16  Jim Meyering  <meyering@redhat.com>
22561
22562         version-etc: relax license to LGPLv3+
22563         * modules/version-etc (License): Relax license.
22564
22565         better AC_REQUIRE expanded-before-required-warning avoidance
22566         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
22567         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
22568         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
22569         which is no longer needed.
22570
22571 2009-11-16  Eric Blake  <ebb9@byu.net>
22572
22573         test-freading: clean up temporary file
22574         * tests/test-freading.c (main): Remove file on success, and use
22575         ASSERT more liberally.
22576         Reported by Jim Meyering.
22577
22578 2009-11-16  Jim Meyering  <meyering@redhat.com>
22579
22580         avoid new AC_REQUIRE expanded-before-required warnings
22581         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
22582         merely using it.
22583         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
22584         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
22585
22586 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22587
22588         * tests/test-xalloc-die.c: New file.
22589         * modules/xalloc-die-tests: New file.
22590         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
22591         XFAIL_TESTS so it can be appended by modules.
22592
22593 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22594
22595         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
22596         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
22597
22598 2009-11-14  Eric Blake  <ebb9@byu.net>
22599
22600         fnmatch: avoid compiler warning
22601         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
22602         to silence compiler warning about mismatch signedness in ?:.
22603         Reported by Robert Millan.
22604
22605         intprops: add double-inclusion guard
22606         * lib/intprops.h: Allow idempotent includes.
22607         Suggested by Bruce Korb.
22608
22609         openat: detect Solaris fchownat bug
22610         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
22611         penalizing glibc chownat when only lchownat is broken.
22612         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
22613         trailing slash bugs.
22614         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
22615         * modules/openat-tests (Files): Include more files.
22616         (Depends-on): Add mgetgroups, sleep, stat-time.
22617         (configure.ac): Add additional checks.
22618         (Makefile.am): Build new test.
22619         * tests/test-fchownat.c: New file.
22620
22621         lchown: detect Solaris and FreeBSD bug
22622         * lib/lchown.c (rpl_lchown): Work around bug.
22623         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
22624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22625         * modules/unistd (Makefile.am): Populate it.
22626         * lib/unistd.in.h (lchown): Update declaration.
22627         * doc/posix-functions/lchown.texi (lchown): Document the bug.
22628         * modules/lchown-tests: New file.
22629         * tests/test-lchown.h (test_lchown): Likewise.
22630         * tests/test-lchown.c (main): Likewise.
22631
22632         chown: detect Solaris and FreeBSD bug
22633         * lib/chown.c (rpl_chown): Work around bug.
22634         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
22635         (gl_PREREQ_CHOWN): Delete.
22636         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22637         * modules/unistd (Makefile.am): Populate it.
22638         * lib/unistd.in.h (chown): Update declaration.
22639         * lib/lchown.c (chown): Update client.
22640         * modules/lchown (Depends-on): Add lstat.
22641         * doc/posix-functions/chown.texi (chown): Document the bug.
22642         * doc/posix-functions/getgroups.texi (getgroups): Document
22643         getgroups pitfall.
22644         * modules/chown-tests: New file.
22645         * tests/test-chown.h (test_chown): Likewise.
22646         * tests/test-chown.c (main): Likewise.
22647
22648 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
22649
22650         gnulib-tool: correctly detect absence of m4 directories
22651         * gnulib-tool: Avoid extra newline on data passed to wc -l.
22652
22653 2009-11-14  Jim Meyering  <meyering@redhat.com>
22654
22655         maint.mk: Prohibit inclusion of "xalloc.h" without use.
22656         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
22657
22658 2009-11-14  John W. Eaton  <jwe@gnu.org>
22659
22660         strftime.h: wrap funtion declaration in extern "C" block
22661         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
22662
22663 2009-11-13  Eric Blake  <ebb9@byu.net>
22664
22665         getgroups: avoid compiler warning
22666         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
22667
22668         getgroups: work around FreeBSD bug
22669         * lib/getgroups.c (rpl_getgroups): Work around the bug.
22670         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
22671         * doc/posix-functions/getgroups.texi (getgroups): Document it.
22672         * tests/test-getgroups.c (main): Fix buffer overrun.
22673
22674         getgroups: avoid compilation failure
22675         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
22676         * modules/getgroups (Depends-on): Add stdint.
22677
22678 2009-11-13  Jim Meyering  <meyering@redhat.com>
22679
22680         test-getgroups: avoid compilation failure
22681         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
22682
22683 2009-11-13  Eric Blake  <ebb9@byu.net>
22684
22685         mgetgroups: new module, taken from coreutils
22686         * modules/mgetgroups: New file.
22687         * lib/mgetgroups.h: Likewise.
22688         * lib/mgetgroups.c (mgetgroups): Likewise.
22689         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
22690         * MODULES.html.sh (Users and groups): Mention it.
22691
22692         getgroups: don't expose GETGROUPS_T to user
22693         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
22694         an element at a time if GETGROUPS_T is wrong size.
22695         * lib/getugroups.h (getugroups): Change signature.
22696         * lib/unistd.in.h (getgroups): Likewise.
22697         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
22698         signature needs fixing.
22699         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
22700         AC_TYPE_GETGROUPS.
22701         * modules/group-member (Depends-on): Add getgroups.
22702         * lib/group-member.c (group_info, get_group_info): Use gid_t.
22703         (group_member): Rely on getgroups replacement.
22704         * lib/getugroups.c (getugroups): Use gid_t.
22705         * tests/test-getgroups.c (main): Likewise.
22706         * NEWS: Mention the signature change.
22707         * doc/posix-functions/getgroups.texi (getgroups): Mention the
22708         problem with signature.
22709         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
22710         GETGROUPS_T is still useful for setgroups.
22711
22712         getgroups, getugroups: provide stubs for mingw
22713         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
22714         * lib/getugroups.c (getugroups): Likewise.
22715         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
22716         function.  Modernize replacement scheme.
22717         (gl_PREREQ_GETGROUPS): Delete.
22718         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
22719         * modules/getgroups (configure.ac): Declare witness.
22720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22721         * modules/unistd (Depends-on): Substitute witness.
22722         * lib/unistd.in.h (getgroups): Declare replacement.
22723
22724         getgroups: avoid calling exit
22725         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
22726         drop xalloc.
22727         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
22728         dependencies.
22729         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
22730         exiting, in the rare case of malloc failure.
22731
22732         getgroups: fix logic error
22733         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
22734         has more than 20 groups.
22735         * modules/getgroups-tests: New test.
22736         * tests/test-getgroups.c: New file.
22737
22738 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22739
22740         * tests/test-base64.c: Improve.
22741
22742 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22743
22744         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
22745         Blake <ebb9@byu.net>.
22746
22747 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22748
22749         * tests/test-xvasprintf.c: Add %s%s related checks.
22750
22751 2009-11-12  Eric Blake  <ebb9@byu.net>
22752
22753         version-etc: match standards.texi style
22754         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
22755         and use <> only for URLs.
22756
22757 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
22758
22759         fts: do not fail on a submount during traversal
22760         * lib/fts.c (fts_build): Read the stat info again after opening
22761         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
22762         Original report at http://bugzilla.redhat.com/501848.
22763
22764 2009-11-12  Jim Meyering  <meyering@redhat.com>
22765
22766         bootstrap: sync from coreutils
22767         * build-aux/bootstrap (bootstrap_epilogue): New function.
22768         Use git_modules_config in one more place.  This make bootstrap's
22769         --gnulib-srcdir option more useful for testing.
22770
22771         bootstrap: generalize autoheader check
22772         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
22773         AC_CONFIG_HEADERS.
22774
22775 2009-11-11  Eric Blake  <ebb9@byu.net>
22776
22777         mkfifoat: use new modules for Solaris and BSD bugs
22778         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
22779         * lib/mkfifoat.c (mknodat): Split...
22780         * lib/mknodat.c (mknodat): ...into new file.
22781         * modules/mkfifoat (Files): Ship new file.
22782         (Depends-on): Add mkfifo, mknod.
22783         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
22784         (Depends-on): Add symlink.
22785         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
22786         redundant with test_mkfifo.h.
22787         (do_mkfifoat, do_mknodat): New helpers.
22788
22789         mknod: new module
22790         * modules/mknod: New file.
22791         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
22792         * lib/mknod.c (mknod): Likewise.
22793         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22794         defaults.
22795         * modules/sys_stat (Makefile.am): Substitute them.
22796         * lib/sys_stat.in.h (mknod): Declare replacement.
22797         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22798         Document it.
22799         * doc/posix-functions/mknod.texi (mknod): Likewise.
22800         * modules/mknod-tests: New test.
22801         * tests/test-mknod.c: Likewise.
22802
22803         mkfifo: new module
22804         * modules/mkfifo: New file.
22805         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22806         * lib/mkfifo.c (mkfifo): Likewise.
22807         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22808         defaults.
22809         * modules/sys_stat (Makefile.am): Substitute them.
22810         * lib/sys_stat.in.h (mkfifo): Declare replacement.
22811         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22812         Document it.
22813         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
22814         * modules/mkfifo-tests: New test.
22815         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
22816         from test-mkfifoat.c.
22817         * tests/test-mkfifo.c: New file.
22818
22819         readlink: detect FreeBSD bug
22820         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
22821         slash on symlink.
22822         * doc/posix-functions/readlink.texi (readlink): Document the bug.
22823         * tests/test-readlink.h (test_readlink): Enhance test.
22824
22825         symlink: detect FreeBSD bug
22826         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
22827         slash on symlink.
22828         * doc/posix-functions/symlink.texi (symlink): Document the bug.
22829         * tests/test-symlink.h (test_symlink): Enhance test.
22830
22831 2009-11-10  Eric Blake  <ebb9@byu.net>
22832
22833         link: detect FreeBSD bug
22834         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
22835         symlink.
22836         * doc/posix-functions/link.texi (link): Document the bug.
22837         * tests/test-link.h (test_link): Enhance test.
22838         * tests/test-linkat.c (main): Update caller.
22839
22840         unlink, remove: detect FreeBSD bug
22841         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
22842         slash on symlink.
22843         * doc/posix-functions/unlink.texi (unlink): Document the bug.
22844         * doc/posix-functions/remove.texi (remove): Likewise.
22845         * tests/test-unlink.h (test_unlink): Enhance test.
22846         * tests/test-remove.c (main): Likewise.
22847
22848 2009-11-09  Eric Blake  <ebb9@byu.net>
22849
22850         rename: detect FreeBSD bug
22851         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
22852         slash on symlink.
22853         * modules/renameat-tests (Depends-on): Add filenamecat.
22854         * tests/test-rename.h (test_rename): Allow one more errno.
22855         * tests/test-renameat.c (main): Likewise.
22856         * doc/posix-functions/rename.texi (rename): Document the bug.
22857
22858         open: detect FreeBSD bug
22859         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
22860         symlink.
22861         * doc/posix-functions/open.texi (open): Document the bug.
22862         * doc/posix-functions/utimes.texi (utimes): Likewise.
22863         * tests/test-open.h (test_open): Add parameters, and test symlink
22864         handling.
22865         * tests/test-open.c (main): Adjust caller.
22866         * tests/test-fcntl-safer.c (main): Likewise.
22867         * modules/open-tests (Depends-on): Add stdbool, symlink.
22868         * modules/fcntl-safer-tests (Depends-on): Likewise.
22869         * tests/test-openat.c (main): Add test-open tests.
22870
22871         stat: detect FreeBSD bug
22872         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
22873         symlink.
22874         * doc/posix-functions/stat.texi (stat): Document the bug.
22875         * tests/test-stat.h (test_stat_func): Add argument.
22876         * tests/test-stat.c (main): Adjust caller.
22877         * tests/test-fstatat.c (main): Likewise.
22878         * modules/stat-tests (Depends-on): Add stdbool, symlink.
22879         Reported by Jim Meyering.
22880
22881 2009-11-09  James Youngman  <jay@gnu.org>
22882
22883         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
22884         * lib/strftime.c: Correct placement of #include "ignore-value.h".
22885
22886 2009-11-08  Jim Meyering  <meyering@redhat.com>
22887
22888         utimens: remove invalid futimesat call
22889         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
22890         It used the file descriptor of the target file as the DIR_FD
22891         parameter and NULL as the file name.  That caused failure with
22892         errno == EFAULT on FreeBSD-8.0-rc2
22893
22894 2009-11-07  Eric Blake  <ebb9@byu.net>
22895
22896         fflush, freadseek: use fseeko, not fseek
22897         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
22898         (clear_ungetc_buffer): Avoid potential problems on large files.
22899         * lib/freadseek.c (freadseek): Likewise.
22900         * modules/freadseek (Depends-on): Add fseeko.
22901         * modules/fseek (configure.ac): Set a witness.
22902         * tests/test-fflush.c (main): Use fseeko.
22903         * tests/test-fpurge.c (fseek): Disable link warning.
22904         * tests/test-freadable.c (fseek): Likewise.
22905         * tests/test-freading.c (fseek): Likewise.
22906         * tests/test-fseeko.c (fseek): Likewise.
22907         * tests/test-ftell.c (fseek): Likewise.
22908         * tests/test-ftello.c (fseek): Likewise.
22909         * tests/test-fwritable.c (fseek): Likewise.
22910         * tests/test-fwriting.c (fseek): Likewise.
22911
22912 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22913
22914         * modules/memchr (Depends-on): Drop getpagesize dependency.
22915
22916 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22917
22918         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
22919         Reported by Ludovic Courtès.
22920         * build-aux/pmccabe2html: Improve example usage.
22921         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
22922
22923 2009-11-06  Jim Meyering  <meyering@redhat.com>
22924
22925         do-release-commit-and-tag: New module.
22926         Automate the release-commit and tag process.
22927         * build-aux/do-release-commit-and-tag: New script, from coreutils.
22928         * modules/do-release-commit-and-tag: New file.
22929         * MODULES.html.sh (Support for maintaining and releasing): Add it.
22930
22931 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22932
22933         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
22934         because test-select.c uses inet_pton.
22935
22936 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22937
22938         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
22939         GETADDRINFO_LIB.  Bump serial number.
22940         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
22941         Suggested by Eric Blake <ebb9@byu.net>.
22942
22943 2009-11-05  Eric Blake  <ebb9@byu.net>
22944
22945         strtod: detect darwin bug
22946         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
22947         Reported by Leo Davis.
22948
22949         freopen-safer: new module
22950         * modules/freopen-safer: New module.
22951         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
22952         * lib/freopen-safer.c (freopen_safer): New file.
22953         * lib/stdio-safer.h (freopen_safer): New declaration.
22954         * lib/stdio--.h (freopen): New override.
22955         * MODULES.html.sh (File stream based Input/Output): Mention it.
22956         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
22957         freopen-safer module.
22958         * doc/posix-functions/stderr.texi (stderr): Likewise.
22959         * doc/posix-functions/stdin.texi (stdin): Likewise.
22960         * doc/posix-functions/stdout.texi (stdout): Likewise.
22961         * modules/freopen-safer-tests: New test.
22962         * tests/test-reopen-safer.c: New file.
22963
22964 2009-11-05  Jim Meyering  <meyering@redhat.com>
22965
22966         maint.mk: Prohibit inclusion of "close-stream.h" without use.
22967         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
22968
22969 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22970
22971         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
22972
22973 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22974
22975         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
22976
22977 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22978
22979         Fix link error.
22980         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
22981         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22982
22983 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22984
22985         * tests/test-func.c: Also test value of __func__.
22986
22987 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22988
22989         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
22990         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
22991
22992 2009-11-05  Bruno Haible  <bruno@clisp.org>
22993
22994         Fix link error.
22995         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
22996         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22997         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
22998
22999 2009-11-05  Bruno Haible  <bruno@clisp.org>
23000
23001         Tests for module 'inet_pton'.
23002         * modules/inet_pton-tests: New file.
23003         * tests/test-inet_pton.c: New file.
23004
23005 2009-11-05  Bruno Haible  <bruno@clisp.org>
23006
23007         Tests for module 'inet_ntop'.
23008         * modules/inet_ntop-tests: New file.
23009         * tests/test-inet_ntop.c: New file.
23010
23011 2009-11-04  Eric Blake  <ebb9@byu.net>
23012
23013         stdlib-safer: wrap all mkstemp variants
23014         * modules/mkostemp (configure.ac): Set witness.
23015         * modules/mkostemps (configure.ac): Likewise.
23016         * modules/mkstemps (configure.ac): Likewise.
23017         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
23018         (mkstemps_safer): Wrap more functions.
23019         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
23020         wrapping.
23021         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
23022         (mkstemps_safer): Implement the wrappers.
23023
23024         mkstemps, mkostemps: new modules
23025         * modules/mkostemps: New module.
23026         * modules/mkstemps: Likewise.
23027         * lib/mkostemps.c (mkostemps): New file.
23028         * lib/mkstemps.c (mkstemps): Likewise.
23029         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
23030         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
23031         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
23032         * modules/stdlib (Makefile.am): Substitute them.
23033         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
23034         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
23035         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23036         * doc/gnulib.texi (Glibc stdlib.h): Include them.
23037         * MODULES.html.sh (File system functions): Mention them.
23038
23039         tempname: resync from glibc
23040         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
23041         same values for __GT_FILE as glibc.  Abort even when assertions
23042         are disabled.
23043         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
23044         match its value otherwise.  Allow idempotent inclusion.
23045         * lib/mkdtemp.c (mkdtemp): Adjust caller.
23046         * lib/mkostemp.c (mkostemp): Likewise.
23047         * lib/mkstemp.c (mkstemp): Likewise.
23048         * lib/tmpfile.c (tmpfile): Likewise.
23049         * NEWS: Document this.
23050
23051         utimens: fix use of futimens on older Linux
23052         * lib/utimens.c (fdutimens): Use updated, rather than original,
23053         timespec to avoid bug in older Linux kernel.
23054         Reported by Simon Josefsson.
23055
23056 2009-11-04  Bruno Haible  <bruno@clisp.org>
23057
23058         Make num_processors more flexible and consistent.
23059         * lib/nproc.h (enum nproc_query): New type.
23060         (num_processors): Add a 'query' argument.
23061         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
23062         (num_processors): Add a 'query' argument. Test the value of the
23063         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
23064         mingw, count the number of CPUs available for the current process.
23065         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
23066         Check for sched_getaffinity and sched_getaffinity_np.
23067         * modules/nproc (Depends-on): Add c-ctype, extensions.
23068         * NEWS: Mention the change.
23069
23070 2009-11-03  Bruno Haible  <bruno@clisp.org>
23071
23072         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
23073
23074 2009-11-03  Jim Meyering  <meyering@redhat.com>
23075
23076         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
23077         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
23078         if it is defined.
23079
23080 2009-11-02  Eric Blake  <ebb9@byu.net>
23081
23082         mktime, timegm: share common declaration
23083         * lib/mktime-internal.h: New file.
23084         * lib/mktime.c: Use it rather than open-coding a declaration.
23085         * lib/timegm.c: Likewise.
23086         * modules/mktime (Files): Ship it.
23087         * modules/timegm (Files): Likewise.
23088         Suggested by Bruno Haible.
23089
23090         test-update-copyright: update test to match script changes
23091         * tests/test-update-copyright.sh: Avoid hard-coding perl
23092         location.  Don't update *.bak created by earlier runs.
23093
23094 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
23095             Simon Josefsson  <simon@josefsson.org>
23096             Bruno Haible  <bruno@clisp.org>
23097
23098         Fix link error on Solaris 8.
23099         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
23100         also in libnsl. Define also INET_PTON_LIB.
23101         * modules/inet_pton (Link): New section.
23102
23103 2009-11-02  Simon Josefsson  <simon@josefsson.org>
23104             Bruno Haible  <bruno@clisp.org>
23105
23106         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
23107         * modules/inet_ntop (Link): New section.
23108         Reported by Boyan Kasarov <bkasarov@gmail.com>.
23109
23110 2009-11-02  Eric Blake  <ebb9@byu.net>
23111
23112         maint: avoid compiler warnings in m4 macros
23113         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
23114         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
23115
23116 2009-11-02  Simon Josefsson  <simon@josefsson.org>
23117
23118         * m4/pmccabe2html.m4: Remove file.
23119         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
23120         function.  Change maintainer.
23121         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
23122         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
23123         Courtès).
23124
23125 2009-10-31  Eric Blake  <ebb9@byu.net>
23126
23127         fseeko: fix m4 regression
23128         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
23129         regression from 2009-10-27.
23130         Reported by Ralf Wildenhues.
23131
23132 2009-10-31  Jim Meyering  <meyering@redhat.com>
23133
23134         inttostr: aesthetics and improved (compile-time) safety
23135         Define inttype_is_signed rather than inttype_is_unsigned,
23136         since the sole use is via "#if inttype_is_signed".
23137         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
23138         inttype_is_unsigned.
23139         * lib/offtostr.c (inttype_is_signed): Likewise.
23140         * lib/uinttostr.c (inttype_is_signed): Likewise.
23141         * lib/umaxtostr.c (inttype_is_signed): Likewise.
23142         * lib/inttostr.c (inttostr): Use verify to cross-check the
23143         inttype_is_signed value and the signedness of the actual type.
23144         * modules/inttostr (Depends-on): Add verify.
23145
23146 2009-10-30  Eric Blake  <ebb9@byu.net>
23147
23148         build: avoid compiler warnings
23149         * lib/fchmodat.c (lchmod): Mark unused variables.
23150         * lib/getopt.c (_getopt_initialize): Likewise.
23151         * lib/mktime.c (__mktime_internal): Provide prototype.
23152         * lib/inttostr.c (inttostr): Avoid compiler warning even with
23153         older gcc that do not understand #pragma GCC diagnostic.
23154         * lib/uinttostr.c (inttype_is_unsigned): Define.
23155         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
23156
23157 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
23158
23159         stat: fix compilation on AIX
23160         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
23161         only see struct stat64.
23162
23163 2009-10-30  Eric Blake  <ebb9@byu.net>
23164
23165         exclude: make more robust
23166         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
23167         rather than masking a coding bug.
23168         Suggested by Bruno Haible.
23169
23170 2009-10-30  Jim Meyering  <meyering@redhat.com>
23171
23172         perl scripts: remove #!/usr/bin/perl in favor of more portable...
23173         Rather than putting #!/usr/bin/perl on the first line,
23174         start with a variant of what's recommended by "man perlrun" that
23175         invokes the first "perl" program from your shell's search path.
23176         * build-aux/gitlog-to-changelog: Replace #!... as above.
23177         Add a "Local Variables" perl mode setting.
23178         Prompted by a patch from Ludovic Courtès.
23179         Improved by Eric Blake.
23180         * build-aux/useless-if-before-free: Likewise.
23181         * build-aux/announce-gen: Likewise.
23182         * build-aux/update-copyright: Likewise.
23183
23184 2009-10-29  Eric Blake  <ebb9@byu.net>
23185
23186         filenamecat-lgpl: adjust clients
23187         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
23188         filenamecat.
23189         * modules/renameat (Depends-on): Likewise.
23190
23191         filenamecat: split into filenamecat-lgpl
23192         * modules/filenamecat-lgpl: New module.
23193         * modules/filenamecat (Files): Move library-safe files into
23194         filenamecat-lgpl.
23195         (Depends-on): Add filenamecat-lgpl.
23196         (configure.ac): Declare witness.
23197         * lib/filenamecat.h (file_name_concat): Only declare when using
23198         GPL module.
23199         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
23200         Move...
23201         * lib/filenamecat-lgpl.c: ...into new file.
23202         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
23203         (gl_FILE_NAME_CONCAT): Use it.
23204         * MODULES.html.sh (File system functions): Mention new module.
23205
23206         argp: avoid memory leak
23207         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
23208         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
23209         base_name, since the latter malloc()s and can call exit().
23210         Leak introduced 2006-07-03.
23211
23212         dirname-lgpl: adjust clients that don't need full dirname
23213         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
23214         * modules/filenamecat (Depends-on): Likewise.
23215         * modules/linkat (Depends-on): Likewise.
23216         * modules/mkancesdirs (Depends-on): Likewise.
23217         * modules/mkdir (Depends-on): Likewise.
23218         * modules/openat (Depends-on): Likewise.
23219         * modules/savewd (Depends-on): Likewise.
23220         * modules/rename (Depends-on): Likewise.
23221         (License): Relax license.
23222         * modules/mkdir-tests (Depends-on): Drop progname.
23223         (Makefile.am): Delete unneeded LDADD.
23224         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
23225
23226         dirname: split into dirname-lgpl
23227         * modules/dirname-lgpl: New module.
23228         * modules/dirname (Files): Move library-safe files into
23229         dirname-lgpl.
23230         (Depends-on): Add dirname-lgpl.
23231         (configure.ac): Declare witness.
23232         * modules/double-slash-root (License): Relax license.
23233         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
23234         module.
23235         * lib/dirname.c (dir_len, mdir_name): Move...
23236         * lib/dirname-lgpl.c: ...into new file.
23237         * lib/basename.c (last_component, base_len): Move...
23238         * lib/basename-lgpl.c: ...into new file.
23239         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
23240         (gl_DIRNAME): Use it.
23241         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
23242         Mention new module.
23243         * modules/dirname-tests (Depends-on): Add progname.
23244         * tests/test-dirname.c (program_name): Delete.
23245
23246         mkdir: make safe for libraries
23247         * modules/mkdir (Depends-on): Drop xalloc.
23248         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
23249         exit.
23250
23251         tests: avoid some compiler warnings
23252         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
23253         literals.
23254         * tests/test-memchr.c (main): Avoid type mismatch.
23255         * tests/test-arpa_inet.c (main): Avoid unused parameters.
23256         * tests/test-base64.c (main): Likewise.
23257         * tests/test-getdelim.c (main): Likewise.
23258         * tests/test-gethostname.c (main): Likewise.
23259         * tests/test-getline.c (main): Likewise.
23260         * tests/test-netinet_in.c (main): Likewise.
23261         * tests/test-select.c (open_server_socket, main): Likewise.
23262         * tests/test-select-stdin.c (main): Likewise.
23263         * tests/test-sockets.c (main): Likewise.
23264         * tests/test-strsignal.c (main): Likewise.
23265         * tests/test-sys_select.c (main): Likewise.
23266         * tests/test-sys_socket.c (main): Likewise.
23267         * tests/test-u64.c (main): Likewise.
23268         * tests/test-xfprintf-posix.c (main): Likewise.
23269         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
23270
23271         sockets: avoid compiler warning
23272         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
23273
23274         maint: detect usage(1) and other suspicious exits
23275         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
23276
23277 2009-10-29  Jim Meyering  <meyering@redhat.com>
23278
23279         timespec: long-to-int truncation could make timespec_cmp malfunction
23280         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
23281         a multiple of 2^32 nanoseconds as no difference.
23282
23283 2009-10-28  Jim Meyering  <meyering@redhat.com>
23284
23285         fprintftime: wrap macro code argument in "do {...} while(0)"
23286         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
23287         cpy macro must be a statement that can be followed by a semicolon.
23288         Now that the else clause contains a comment and is hence longer
23289         than one line, I require curly braces.  That in turn requires
23290         that we wrap this code block in the standard do...while(0).
23291
23292         fprintftime: remove stray semicolon from previous change
23293         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
23294
23295         fprintftime: avoid a warning about ignored fwrite return value
23296         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
23297         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
23298         that is unsafe.
23299         * modules/fprintftime (Depends-on): Add ignore-value.
23300
23301         exclude: avoid an unwarranted warning
23302         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
23303
23304 2009-10-27  Eric Blake  <ebb9@byu.net>
23305
23306         fseek: avoid compilation failure when fflush is replaced
23307         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
23308         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
23309         module is in use.
23310         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
23311         module is not in use; since REPLACE_FSEEK worked otherwise.
23312         (GNULIB_FTELLO): Likewise for ftell.
23313         Reported by Ian Beckwith and others.
23314
23315 2009-10-27  Bruno Haible  <bruno@clisp.org>
23316
23317         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
23318         Reported by Jim Meyering.
23319
23320 2009-10-27  Jim Meyering  <jim@meyering.net>
23321             Bruno Haible  <bruno@clisp.org>
23322
23323         Avoid warning despite dropping the return value of fwrite.
23324         * lib/unicodeio.c: Include ignore-value.h.
23325         (fwrite_success_callback): Explicitly ignore fwrite's return value.
23326         * modules/unicodeio (Depends-on): Add ignore-value.
23327
23328 2009-10-26  Eric Blake  <ebb9@byu.net>
23329
23330         areadlinkat: fix fallback path
23331         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
23332         pointer and zero.
23333
23334 2009-10-22  Pádraig Brady  <P@draigBrady.com>
23335
23336         Use a better IO block size for modern systems
23337         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
23338         * lib/md2.c: Likewise.
23339         * lib/md4.c: Likewise.
23340         * lib/md5.c: Likewise.
23341         * lib/sha1.c: Likewise.
23342         * lib/sha256.c: Likewise.
23343         * lib/sha512.c: Likewise.
23344
23345 2009-10-22  Eric Blake  <ebb9@byu.net>
23346
23347         tests: avoid several compiler warnings
23348         * tests/test-getcwd.c (main): Avoid buffer underflow.
23349         * tests/test-getdate.c (main): String literals are not safe with
23350         putenv, so use setenv.  Declare unused argument.
23351         * modules/getdate-tests (Depends-on): Add setenv.
23352         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
23353         problems with string literals in char *.
23354         * tests/test-hash.c (main): Avoid shadowing declaration.
23355         (insert_new): Treat string literals as char const *.
23356         * tests/test-getopt.h (test_getopt): Likewise.
23357         (getopt_loop): Alter types to minimize casting elsewhere.
23358         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
23359         (test_getopt_long_posix): Likewise.
23360         (do_getopt_long): Add wrapper to minimize casting.
23361         * tests/test-atexit.c (clear_temp_file): Use void.
23362         * tests/test-areadlink-with-size.c (main): Declare unused
23363         arguments.
23364         * tests/test-areadlink.c (main): Likewise.
23365         * tests/test-areadlinkat-with-size.c (main): Likewise.
23366         * tests/test-areadlinkat.c (main): Likewise.
23367         * tests/test-canonicalize-lgpl.c (main): Likewise.
23368         * tests/test-canonicalize.c (main): Likewise.
23369         * tests/test-dirent-safer.c (main): Likewise.
23370         * tests/test-dirname.c (main): Likewise.
23371         * tests/test-dup2.c (main): Likewise.
23372         * tests/test-fchdir.c (main): Likewise.
23373         * tests/test-fcntl-h.c (main): Likewise.
23374         * tests/test-fcntl-safer.c (main): Likewise.
23375         * tests/test-fdopendir.c (main): Likewise.
23376         * tests/test-fdutimensat.c (main): Likewise.
23377         * tests/test-fflush.c (main): Likewise.
23378         * tests/test-filenamecat.c (main): Likewise.
23379         * tests/test-filevercmp.c (main): Likewise.
23380         * tests/test-fopen-safer.c (main): Likewise.
23381         * tests/test-fopen.c (main): Likewise.
23382         * tests/test-fpending.c (main): Likewise.
23383         * tests/test-fpurge.c (main): Likewise.
23384         * tests/test-freading.c (main): Likewise.
23385         * tests/test-fstatat.c (main): Likewise.
23386         * tests/test-fsync.c (main): Likewise.
23387         * tests/test-futimens.c (main): Likewise.
23388         * tests/test-getndelim2.c (main): Likewise.
23389         * tests/test-gettimeofday.c (main): Likewise.
23390         * tests/test-getopt.c (main): Likewise.
23391         * tests/test-i-ring.c (main): Likewise.
23392         * tests/test-inttypes.c (main): Likewise.
23393         * tests/test-link.c (main): Likewise.
23394         * tests/test-lstat.c (main): Likewise.
23395         * tests/test-math.c (main): Likewise.
23396         * tests/test-md5.c (main): Likewise.
23397         * tests/test-memchr2.c (main): Likewise.
23398         * tests/test-memrchr.c (main): Likewise.
23399         * tests/test-mkdir.c (main): Likewise.
23400         * tests/test-mkdirat.c (main): Likewise.
23401         * tests/test-mkfifoat.c (main): Likewise.
23402         * tests/test-open.c (main): Likewise.
23403         * tests/test-openat-safer.c (main): Likewise.
23404         * tests/test-openat.c (main): Likewise.
23405         * tests/test-quotearg.c (main): Likewise.
23406         * tests/test-rawmemchr.c (main): Likewise.
23407         * tests/test-readlink.c (main): Likewise.
23408         * tests/test-remove.c (main): Likewise.
23409         * tests/test-rename.c (main): Likewise.
23410         * tests/test-renameat.c (main): Likewise.
23411         * tests/test-rmdir.c (main): Likewise.
23412         * tests/test-sha1.c (main): Likewise.
23413         * tests/test-signal.c (main): Likewise.
23414         * tests/test-sigaction.c (main): Likewise.
23415         * tests/test-stat.c (main): Likewise.
23416         * tests/test-stat-time.c (main): Likewise.
23417         * tests/test-stddef.c (main): Likewise.
23418         * tests/test-stdint.c (main): Likewise.
23419         * tests/test-stdio.c (main): Likewise.
23420         * tests/test-stdlib.c (main): Likewise.
23421         * tests/test-strchrnul.c (main): Likewise.
23422         * tests/test-strerror.c (main): Likewise.
23423         * tests/test-string.c (main): Likewise.
23424         * tests/test-strtod.c (main): Likewise.
23425         * tests/test-strverscmp.c (main): Likewise.
23426         * tests/test-symlink.c (main): Likewise.
23427         * tests/test-symlinkat.c (main): Likewise.
23428         * tests/test-sys_stat.c (main): Likewise.
23429         * tests/test-sys_time.c (main): Likewise.
23430         * tests/test-time.c (main): Likewise.
23431         * tests/test-unistd.c (main): Likewise.
23432         * tests/test-unlink.c (main): Likewise.
23433         * tests/test-unlinkat.c (main): Likewise.
23434         * tests/test-utimens.c (main): Likewise.
23435         * tests/test-utimensat.c (main): Likewise.
23436         * tests/test-version-etc.c (main): Likewise.
23437         * tests/test-wchar.c (main): Likewise.
23438         * tests/test-wctype.c (main): Likewise.
23439         * tests/test-xprintf-posix.c (main): Likewise.
23440         * tests/test-posixtm.c (main): Likewise.
23441         (STREQ): Delete unused macro.
23442         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
23443         shadowed variables.
23444         * tests/test-memchr.c (main): Likewise.
23445
23446 2009-10-21  Eric Blake  <ebb9@byu.net>
23447
23448         areadlinkat: avoid failure on older glibc
23449         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
23450         rather than mis-comparing 0 against FUNC_RESULT of char*.
23451
23452 2009-10-21  Bruno Haible  <bruno@clisp.org>
23453
23454         * modules/stpncpy (License): Relicense under LGPLv2+.
23455         Reported by David Lutterkort <lutter@redhat.com>.
23456
23457 2009-10-20  Eric Blake  <ebb9@byu.net>
23458
23459         utimensat: work around Solaris 9 bug
23460         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
23461         has trailing slash bugs.
23462         * tests/test-lutimens.h (test_lutimens): Enhance test.
23463         * tests/test-utimens.h (test_utimens): Likewise.
23464         * doc/posix-functions/utime.texi (utime): Enhance documentation.
23465         * doc/posix-functions/utimes.texi (utimes): Likewise.
23466         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23467         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
23468         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
23469         * doc/posix-functions/futimens.texi (futimens): Likewise.
23470
23471         fdutimensat: new module
23472         * modules/fdutimensat: New file.
23473         * lib/fdutimensat.c (fdutimensat): Likewise.
23474         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
23475         * MODULES.html.sh (File system functions): Mention module.
23476         * modules/fdutimensat-tests: New test.
23477         * tests/test-fdutimensat.c: Likewise.
23478
23479         doc: regenerate INSTALL
23480         * doc/INSTALL: Reflect recent autoconf update.
23481         * doc/INSTALL.ISO: Likewise.
23482         * doc/INSTALL.UTF-8: Likewise.
23483
23484 2009-10-20  Pádraig Brady  <P@draigBrady.com>
23485
23486         acl: warn if ACL support is not detected
23487         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
23488
23489 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
23490
23491         * lib/nproc.h: Add extern "C" block for C++.
23492
23493 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
23494             Bruno Haible  <bruno@clisp.org>
23495
23496         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
23497         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
23498         * doc/posix-functions/isalpha.texi: Likewise.
23499         * doc/posix-functions/isblank.texi: Likewise.
23500         * doc/posix-functions/iscntrl.texi: Likewise.
23501         * doc/posix-functions/isdigit.texi: Likewise.
23502         * doc/posix-functions/isgraph.texi: Likewise.
23503         * doc/posix-functions/islower.texi: Likewise.
23504         * doc/posix-functions/isprint.texi: Likewise.
23505         * doc/posix-functions/ispunct.texi: Likewise.
23506         * doc/posix-functions/isspace.texi: Likewise.
23507         * doc/posix-functions/isupper.texi: Likewise.
23508         * doc/posix-functions/isxdigit.texi: Likewise.
23509
23510 2009-10-18  Bruno Haible  <bruno@clisp.org>
23511
23512         Tests for module 'isblank'.
23513         * modules/isblank-tests: New file.
23514         * tests/test-isblank.c: New file.
23515
23516         New module 'isblank'.
23517         * lib/isblank.c: New file.
23518         * m4/isblank.m4: New file.
23519         * modules/isblank: New file.
23520         * doc/posix-functions/isblank.texi: Mention the new module.
23521
23522 2009-10-18  Bruno Haible  <bruno@clisp.org>
23523
23524         New module 'ctype'.
23525         * lib/ctype.in.h: New file.
23526         * m4/ctype.m4: New file.
23527         * modules/ctype: New file.
23528         * doc/posix-headers/ctype.texi: Mention the new module.
23529
23530 2009-10-18  Jim Meyering  <meyering@redhat.com>
23531
23532         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
23533         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
23534         right after its initialization, rather than farther down.
23535         Keeping these in close proximity makes it easier to ensure
23536         that each such variable is initialized.  E.g.,
23537
23538             LIB_CLOCK_GETTIME=
23539             AC_SUBST([LIB_CLOCK_GETTIME])
23540
23541         This change also increments these serial numbers.
23542         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
23543         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23544         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23545
23546 2009-10-18  Bruno Haible  <bruno@clisp.org>
23547
23548         Don't let environment variables perturb build.
23549         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
23550         (gl_PREREQ_GETHRXTIME): ... not here.
23551
23552 2009-10-18  Bruno Haible  <bruno@clisp.org>
23553
23554         Avoid symlink attack in localcharset module.
23555         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
23556         (O_NOFOLLOW): Define fallback.
23557         (get_charset_aliases): Don't open the file if it is a symbolic link.
23558         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
23559         gl_FCNTL_H.
23560         (gl_FCNTL_H): Require it.
23561         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
23562         * modules/localcharset (Files): Add m4/fcntl_h.m4.
23563         Reported by Fergal Glynn <fglynn@veracode.com>.
23564
23565 2009-10-18  Bruno Haible  <bruno@clisp.org>
23566
23567         Implement nproc for mingw.
23568         * lib/nproc.c: Include <windows.h>
23569         (num_processors): On native Windows platforms, try GetSystemInfo.
23570
23571 2009-10-18  Bruno Haible  <bruno@clisp.org>
23572
23573         Implement nproc for IRIX.
23574         * lib/nproc.c: Include <sys/sysmp.h>.
23575         (num_processors): On IRIX systems, try sysmp.
23576         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
23577
23578 2009-10-18  Bruno Haible  <bruno@clisp.org>
23579
23580         Implement nproc for HP-UX.
23581         * lib/nproc.c: Include <sys/pstat.h>
23582         (num_processors): On HP-UX systems, try pstat_getdynamic.
23583         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
23584         pstat_getdynamic.
23585
23586 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
23587             Bruno Haible  <bruno@clisp.org>
23588
23589         Implement nproc for NetBSD, OpenBSD.
23590         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
23591         (ARRAY_SIZE): New macro.
23592         (num_processors): On BSD systems, try sysctl of HW_NCPU.
23593         * m4/nproc.m4: New file.
23594         * modules/nproc (Files): Add m4/nproc.m4.
23595         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
23596         (Makefile.am): Instead, augment lib_SOURCES.
23597
23598 2009-10-18  Bruno Haible  <bruno@clisp.org>
23599
23600         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
23601         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
23602         sys/param.h.
23603
23604 2009-10-16  Eric Blake  <ebb9@byu.net>
23605
23606         utimensat: new module
23607         * modules/utimensat: New file.
23608         * lib/utimensat.c (utimensat): Likewise.
23609         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23610         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
23611         so we can work around Linux bugs.
23612         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23613         * modules/sys_stat (Makefile.am): Substitute them.
23614         * lib/sys_stat.in.h (utimensat): Declare it.
23615         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23616         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23617         * modules/utimensat-tests: New test.
23618         * tests/test-utimensat.c: Likewise.
23619
23620         utimens: let lutimens work on non-symlinks
23621         * lib/utimens.c (lutimens): Fall back to utimens rather than
23622         failing with ENOSYS, when file is not a symlink.
23623         (utimens): Reduce redirection.
23624         * tests/test-lutimens.h (test_lutimens): Update test to cover
23625         non-symlinks.
23626         * tests/test-utimens.h (test_utimens): Update test to cover
23627         symlinks.
23628         * tests/test-utimens.c (main): Update caller.
23629
23630         utimens: cache whether utimensat syscall works
23631         * lib/utimens.c (utimensat_works_really): New cache variable.
23632         (fdutimens, lutimens): Use it to avoid failing syscall.
23633
23634         test-stat-time, test-utimens: improve portability
23635         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
23636         ext4 on alpha, and for cygwin.
23637         * tests/test-utimens-common.h: New file.
23638         (nap): Factor delays into single function.
23639         * tests/test-lutimens.h (test_lutimens): Use new header.
23640         * tests/test-futimens.h (test_futimens): Likewise.
23641         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
23642         timestamps to occur from same machine, as was done previously for
23643         test_utimens.
23644         * modules/utimens-tests (Files): Ship new file.
23645         * modules/futimens-tests (Files): Likewise.
23646         Reported in part by Jim Meyering.
23647
23648         sys_stat: sort replacement declarations
23649         * lib/sys_stat.in.h: Sort declarations.
23650         * lib/futimens.c (futimens): Fix typo.
23651
23652 2009-10-15  Jim Meyering  <meyering@redhat.com>
23653
23654         don't let environment settings perturb build
23655         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
23656         could cause a configure-time and/or build-time malfunction.
23657         Typically, a configure-time function-in-library test is performed
23658         via code like this:
23659
23660           LIB_VAR=
23661           AC_SUBST([LIB_VAR])
23662           prefix_saved_LIBS=$LIBS
23663             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
23664                        [test "$ac_cv_search_FUNC" = "none required" ||
23665                         LIB_VAR=$ac_cv_search_FUNC])
23666           LIBS=$prefix_saved_LIBS
23667
23668         However, in each of the files affected by this change, the LIB_VAR=
23669         initialization was omitted.  Thus, when set in the environment, its
23670         value would propagate into generated Makefiles when FUNC is not found
23671         in LIB_NAME.
23672         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
23673         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23674         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23675
23676 2009-10-14  Eric Blake  <ebb9@byu.net>
23677
23678         fchdir: avoid infinite recursion in mingw
23679         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
23680         recursing.
23681
23682         test-stat-time: port to mingw
23683         * tests/test-stat-time.c (force_unlink): Return a value.
23684         (test_ctime) [W32]: Fix compilation error.
23685         (nap): Don't call usleep with too large an argument.  Use
23686         force_unlink.
23687         * doc/pastposix-functions/usleep.texi (usleep): Document the
23688         portability issue.
23689
23690 2009-10-13  Jim Meyering  <meyering@redhat.com>
23691
23692         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
23693         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
23694         * modules/pipe-filter-ii: Likewise.
23695         * modules/sys_socket-tests: Likewise.
23696         * modules/tsearch-tests: Likewise.
23697         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
23698         (check): Depend on it.
23699
23700 2009-10-12  Eric Blake  <ebb9@byu.net>
23701
23702         utimens-tests: port to NFS file systems
23703         * tests/test-utimens.h (test_utimens): Refactor utimecmp
23704         comparisons to avoid spurious failures from timestamp drift
23705         between NFS machines.
23706
23707 2009-10-12  Eric Blake  <ebb9@byu.net>
23708
23709         stat-time-tests: minor cleanups
23710         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
23711         * tests/test-stat-time.c (nap): Separate assignment from call.
23712         Suggested by Paolo Bonzini and Bruno Haible.
23713
23714         sys_stat: guarantee struct timespec
23715         * lib/sys_stat.in.h (includes): Always include <time.h>
23716         * modules/sys_stat (Depends-on): Add time.
23717         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
23718         mode_t permission values.
23719         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
23720         get at subsecond timestamps.
23721
23722 2009-10-10  Eric Blake  <ebb9@byu.net>
23723
23724         futimens: new module
23725         * modules/futimens: New file.
23726         * lib/futimens.c (futimens): Likewise.
23727         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
23728         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
23729         we can work around Linux bugs.
23730         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23731         * modules/sys_stat (Makefile.am): Substitute them.
23732         * lib/sys_stat.in.h (futimens): Declare it.
23733         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23734         * doc/posix-functions/futimens.texi (futimens): Likewise.
23735         * modules/futimens-tests: New test.
23736         * tests/test-futimens.c: Likewise.
23737
23738         utimens: introduce fdutimens
23739         * lib/utimens.h (fdutimens): New prototype.
23740         * lib/utimens.c (gl_futimens): Move guts...
23741         (fdutimens): ...to new interface.
23742         * tests/test-utimens.c (do_fdutimens): Use it.
23743
23744         utimens: add UTIME_NOW and UTIME_OMIT support
23745         * lib/utimens.c (validate_timespec, update_timespec): New helper
23746         functions.
23747         (gl_futimens, lutimens): Use them.
23748         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
23749         stdbool, sys_stat.
23750         (Link): Mention resulting library dependency.
23751         * modules/utimecmp (Link): Likewise.
23752         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
23753         (Makefile.am): Pick up library dependency.
23754         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
23755         definition.
23756         * tests/test-sys_stat.c: Test the definitions.
23757         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
23758         * NEWS: Document library dependency.
23759
23760         utimecmp: support symlink timestamps
23761         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
23762         hashing when possible.  Use pathconf when available.
23763         (SYSCALL_RESOLUTION): Recognize tighter resolution.
23764         * modules/utimecmp (Depends-on): Add lstat.
23765
23766         utimens: add lutimens interface
23767         * lib/utimens.c (lutimens): New function.
23768         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
23769         * lib/utimens.h (lutimens): Declare new interface.
23770         * tests/test-utimens.c (main): Enhance test.
23771         * tests/test-lutimens.h (test_lutimens): New file.
23772         * modules/utimens-tests (Files): Distribute it.
23773         (Depends-on): Add symlink.
23774         (configure.ac): Check for usleep.
23775
23776         utimens: validate futimens usage
23777         * lib/utimens.c (gl_futimens): Require valid fd up front, using
23778         fewer syscalls on failure later on.  Avoid compiler warning on
23779         mingw.
23780         * modules/utimens (Depends-on): Add dup2.
23781
23782         utimens: add test
23783         * modules/utimens-tests: New test.
23784         * tests/test-utimens.h: New file.
23785         * tests/test-futimens.h: Likewise.
23786         * tests/test-utimens.c: Likewise.
23787
23788         doc: mention timestamp portability issues
23789         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
23790         instead.
23791         * doc/posix-functions/utime.texi (utime): Likewise.
23792         * doc/posix-functions/utimes.texi (utimes): Likewise.
23793         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
23794         instead.
23795         * doc/posix-functions/futimens.texi (futimens): Mention utimens
23796         module.
23797         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23798         Mention weakness with symlink timestamps.
23799         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
23800         to utimensat/futimens instead.
23801         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
23802
23803         test-dup2: enhance test
23804         * tests/test-dup2.c (main): Also check AT_FDCWD.
23805
23806         test-stat-time: avoid more spurious failures
23807         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
23808         xfs; and avoid race if the two timestamps cross quantization edge.
23809
23810         relocatable: prefer 'file system' over 'filesystem'
23811         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
23812         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
23813         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
23814         * doc/relocatable.texi (Enabling Relocatability): Likewise.
23815         * lib/relocatable.c (compute_curr_prefix): Likewise.
23816
23817 2009-10-10  Jim Meyering  <meyering@redhat.com>
23818
23819         stat-time-tests: check for the usleep function
23820         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
23821
23822 2009-10-10  Bruno Haible  <bruno@clisp.org>
23823
23824         * modules/xnanosleep: Put the Link section after the Include section.
23825
23826 2009-10-09  Eric Blake  <ebb9@byu.net>
23827
23828         dup2: work around FreeBSD 6.1 bug
23829         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
23830         * doc/posix-functions/dup2.texi (dup2): Document it.
23831         Reported by Nelson H. F. Beebe and Jim Meyering.
23832
23833         test-stat-time: port to buggy NFS clients
23834         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
23835         (test_ctime): Also skip test if mtime and ctime are skewed.
23836
23837         maint: prefer 'file system' over 'filesystem'
23838         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23839         * doc/posix-functions/lstat.texi (lstat): Likewise.
23840         * lib/file-has-acl.c (file_has_acl): Likewise.
23841         * lib/fwriteerror.c [TEST]: Likewise.
23842         * tests/test-areadlink.h (test_areadlink): Likewise.
23843         * tests/test-areadlinkat-with-size.c (main): Likewise.
23844         * tests/test-areadlinkat.c (main): Likewise.
23845         * tests/test-canonicalize-lgpl.c (main): Likewise.
23846         * tests/test-canonicalize.c (main): Likewise.
23847         * tests/test-fstatat.c (main): Likewise.
23848         * tests/test-linkat.c (main): Likewise.
23849         * tests/test-lstat.h (test_lstat_func): Likewise.
23850         * tests/test-mkdir.h (test_mkdir): Likewise.
23851         * tests/test-readlink.h (test_readlink): Likewise.
23852         * tests/test-remove.c (main): Likewise.
23853         * tests/test-rename.h (test_rename): Likewise.
23854         * tests/test-renameat.c (main): Likewise.
23855         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23856         * tests/test-symlink.h (test_symlink): Likewise.
23857         * tests/test-symlinkat.c (main): Likewise.
23858         * tests/test-unlink.h (test_unlink_func): Likewise.
23859         * tests/test-unlinkat.c (main): Likewise.
23860
23861         maint: make realtime library usage explicit
23862         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
23863         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
23864         * modules/settime (Link): Likewise.
23865         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
23866
23867         test-stat-time: speed up execution
23868         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
23869         warning on mingw.
23870         (nap): New helper function.
23871         (prepare_test): Use it to reduce sleep time.
23872         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
23873         execution.
23874         * modules/stat-time-tests (configure.ac): Check for usleep.
23875
23876 2009-10-09  Jim Meyering  <meyering@redhat.com>
23877
23878         selinux-h: always use getfilecon wrappers
23879         * lib/getfilecon.c: New file.
23880         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
23881         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
23882         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
23883         (fgetfilecon): Provide a stub.
23884         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
23885         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
23886         file unconditionally.
23887         When <selinux/selinux.h> is found, arrange to use wrappers.
23888         * modules/selinux-h (Files): Add getfilecon.c.
23889         (Makefile.am): Substitute include-next-related bits
23890         into the now-always-generated selinux/selinux.h file.
23891         * doc/glibc-functions/lgetfilecon.texi: New file.
23892         * doc/glibc-functions/fgetfilecon.texi: New file.
23893         * doc/glibc-functions/getfilecon.texi: New file.
23894         * doc/glibc-functions/getfilecon-desc.texi: New file.
23895         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
23896         which to pull in the new files.
23897         * MODULES.html.sh (Misc): Add selinux-h.
23898
23899 2009-10-08  Jim Meyering  <meyering@redhat.com>
23900
23901         unistd: fix comment typo
23902         * lib/unistd.in.h (euidaccess): Fix a comment typo.
23903
23904 2009-10-08  Eric Blake  <ebb9@byu.net>
23905
23906         areadlink: use SIZE_MAX consistently
23907         * modules/areadlink (Depends-on): Add stdint.
23908         * modules/areadlink-with-size (Depends-on): Likewise.
23909         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
23910         gives NULL; drop sys/types, since unistd gives size_t; and add
23911         stdint for SIZE_MAX.
23912         (SIZE_MAX): Rely on headers.
23913         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
23914         and add stdint.
23915         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
23916         (SIZE_MAX): Likewise.
23917         (INITIAL_BUF_SIZE): Turn into enum.
23918         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
23919
23920 2009-10-08  Jim Meyering  <meyering@redhat.com>
23921
23922         areadlinkat: avoid compilation failure
23923         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
23924         Fix typo in comment.
23925
23926 2009-10-07  Eric Blake  <ebb9@byu.net>
23927
23928         areadlinkat-with-size: new module
23929         * modules/areadlinkat-with-size: New module.
23930         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
23931         * lib/areadlink.h (areadlinkat): Declare it.
23932         * MODULES.html.sh (File system functions): Mention it.
23933         * modules/areadlinkat-with-size-tests: New test.
23934         * tests/test-areadlinkat-with-size.c: New file.
23935
23936         xreadlinkat: new module
23937         * modules/xreadlinkat: New module.
23938         * lib/xreadlinkat.c (xreadlinkat): New file.
23939         * lib/xreadlink.h (xreadlinkat): Declare it.
23940         * MODULES.html.sh (File system functions): Mention it.
23941
23942         areadlinkat: new module
23943         * lib/at-func.c (FUNC_FAIL): New define.
23944         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
23945         * modules/areadlinkat: New module.
23946         * lib/linkat.c (areadlinkat): Move...
23947         * lib/areadlinkat.c (areadlinkat): ...to new file.
23948         * lib/areadlink.h (areadlinkat): Declare it.
23949         * modules/linkat (Depends-on): Add areadlinkat.
23950         * MODULES.html.sh (File system functions): Mention it.
23951         * modules/areadlinkat-tests: New test.
23952         * tests/test-areadlinkat.c: New file.
23953
23954         areadlink, areadlink-with-size: add tests
23955         * modules/areadlink-tests: New test.
23956         * modules/areadlink-with-size-tests: Likewise.
23957         * tests/test-areadlink.h: New file.
23958         * tests/test-areadlink.c: Likewise.
23959         * tests/test-areadlink-with-size.c: Likewise.
23960
23961         maint: minor cleanups
23962         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
23963         _UNUSED_PARAMETER_ instead.
23964         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
23965         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
23966         * modules/linkat-tests (Files): Distribute test-link.h.
23967
23968         openat, utimens: whitespace cleanup
23969         * lib/openat.c: Prefer space throughout, rather than mix of 8
23970         spaces vs. tabs.
23971         * lib/at-func.c: Likewise.
23972         * lib/utimens.c: Likewise.
23973
23974         openat: avoid using wrong fd
23975         * lib/openat.c (openat_permissive): Reject user's fd if saving the
23976         working directory chooses same fd.
23977         * lib/at-func.c (AT_FUNC_NAME): Likewise.
23978
23979         mkdir, mkdirat: fix cygwin 1.5.x bug
23980         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
23981         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
23982         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
23983         bug.
23984         (gl_PREREQ_MKDIR): Delete unused macro.
23985         * modules/mkdir (Files): Track file rename.
23986         (configure.ac): Update macro name.
23987         * modules/openat (Depends-on): Add mkdir.
23988         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
23989
23990         mkdir, mkdirat: add tests
23991         * modules/mkdir-tests: New test.
23992         * tests/test-mkdir.h: New file.
23993         * tests/test-mkdir.c: Likewise.
23994         * tests/test-mkdirat.c: Likewise.
23995         * modules/openat-tests (Files): Add new files.
23996         (Makefile.am): Run new test.
23997
23998 2009-10-06  Eric Blake  <ebb9@byu.net>
23999
24000         doc: tweak *at function documentation
24001         * doc/posix-functions/faccessat.texi (faccessat): Mention
24002         known issue with replacement.
24003         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
24004         * doc/posix-functions/linkat.texi (linkat): Likewise.
24005         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24006         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24007         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24008         * doc/posix-functions/renameat.texi (renameat): Likewise.
24009         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24010
24011         openat: fix GNU/Hurd bug in unlinkat
24012         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
24013         broken.
24014         * doc/posix-functions/unlink.texi (unlink): Document this.
24015         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
24016
24017         fdopendir: fix GNU/Hurd bug
24018         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
24019         allowing non-directory fds.
24020         * lib/fdopendir.c (rpl_fdopendir): Work around it.
24021         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24022         * modules/dirent (Makefile.am): Substitute it.
24023         * lib/dirent.in.h (fdopendir): Declare replacement.
24024         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
24025         * tests/test-fdopendir.c (main): Test something other than
24026         /dev/null, since on Hurd that behaves like a directory.
24027
24028         test-symlink: port to GNU/Hurd
24029         * tests/test-symlink.h (test_symlink): Relax expected errno.
24030
24031         doc: tweak more cygwin information
24032         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
24033         now compatible with glibc.
24034         * doc/posix-functions/getopt.texi (getopt): Likewise.
24035
24036         getopt-gnu: add another test
24037         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
24038         guarantee behavior relied on by m4.
24039         * tests/test-getopt.c (main): Use it.
24040         * modules/getopt-posix-tests (Depends-on): Add setenv.
24041         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
24042
24043         getopt: fix compilation on darwin
24044         * lib/getopt.in.h (includes): Leave breadcrumbs during system
24045         include.
24046         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
24047         Reported by Ludovic Courtès.
24048
24049 2009-10-06  Bruno Haible  <bruno@clisp.org>
24050
24051         * modules/size_max (Description): Discourage its use.
24052         Reported by Simon Josefsson.
24053
24054 2009-10-06  Jim Meyering  <meyering@redhat.com>
24055
24056         linkat: avoid compilation failure
24057         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
24058
24059 2009-10-05  Eric Blake  <ebb9@byu.net>
24060
24061         linkat: support Linux 2.6.17
24062         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
24063         linkat on Linux, but allow cache variable override.
24064         * lib/linkat.c (rpl_linkat): Define override.
24065         * modules/linkat (Depends-on): Add symlinkat.
24066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
24067         * modules/unistd (Makefile.am): Substitute it.
24068         * lib/unistd.in.h (linkat): Declare replacement.
24069         Reported by Pádraig Brady.
24070
24071         quotearg: port test to systems with C.UTF-8 locale
24072         * tests/test-quotearg.c (struct result_strings): Add another
24073         member, differentiating between C.ASCII and C.UTF-8 handling.
24074         (compare_strings): Add parameter.
24075         (main): Adjust all callers.
24076
24077         getopt: avoid clash with FreeBSD _getopt_internal
24078         * lib/getopt.in.h (_getopt_internal): Override the name.
24079         * lib/getopt_int.h (includes): Pick up any overrides.
24080         Reported by Reuben Thomas.
24081
24082         hash: allow C89 compilation
24083         * lib/hash.c (check_tuning): Move declaration before statement.
24084         Reported by Reuben Thomas.
24085
24086 2009-10-05  Karl Berry  <karl@gnu.org>
24087
24088         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
24089
24090 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
24091             Bruno Haible  <bruno@clisp.org>
24092
24093         * lib/uname.c (uname): Use a table-driven algorithm to compute
24094         Windows NT versions.
24095
24096 2009-10-04  Bruno Haible  <bruno@clisp.org>
24097
24098         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
24099         program_invocation_short_name.
24100         * modules/progname (configure.ac): Test for presence of
24101         program_invocation_short_name.
24102         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
24103
24104 2009-10-04  Bruno Haible  <bruno@clisp.org>
24105
24106         * lib/progname.c (set_program_name): Fix comment.
24107         Reported by Jim Meyering.
24108
24109 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
24110             Bruno Haible  <bruno@clisp.org>
24111
24112         * lib/uname.c: Include <string.h>.
24113         (uname): Do only one call to GetVersionEx in the common case.
24114
24115 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
24116             Bruno Haible  <bruno@clisp.org>
24117
24118         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
24119         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
24120         (uname): Add support for Windows CE and various non-x86 CPU types.
24121
24122 2009-10-03  Bruno Haible  <bruno@clisp.org>
24123
24124         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
24125         invocation to tests/configure.ac.
24126         Reported by Ian Beckwith <ianb@erislabs.net>.
24127
24128 2009-10-02  Eric Blake  <ebb9@byu.net>
24129
24130         fchdir: avoid compiler warning
24131         * lib/fchdir.c (canonicalize_file_name)
24132         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
24133
24134         test-open: support mingw errno values
24135         * tests/test-open.h (test_open): Relax test.
24136         * tests/test-fopen.h (test_fopen): Likewise.
24137         * tests/test-openat-safer.c (main): Likewise.
24138
24139         open: fix opening directory on mingw
24140         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
24141
24142         test-open: on GNU/Hurd, /dev/null is a directory
24143         * tests/test-fopen.h (main): Rename...
24144         (test_fopen): ...to this.  Use a guaranteed non-directory when
24145         confirming open behavior on trailing slash.
24146         * tests/test-openat-safer.c (main): Likewise.
24147         * tests/test-open.h (main): Likewise....
24148         (test_open): ...to this.
24149         * tests/test-fopen.c (main): Adjust caller.
24150         * tests/test-fopen-safer.c (main): Likewise.
24151         * tests/test-open.c (main): Likewise.
24152         * tests/test-fcntl-safer.c (main): Likewise.
24153         Reported by Samuel Thibault.
24154
24155         rename, fchdir: don't ignore chdir failure
24156         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
24157         * lib/rename.c (rpl_rename) [W32]: Likewise.
24158         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
24159         an empty destination directory if source cannot be renamed,
24160         although there is still possibility for failure.
24161         * doc/posix-functions/rename.texi (rename): Document the race.
24162         Reported by Jim Meyering.
24163
24164         maint: cleanup whitespace in recent commits
24165         * lib/rename.c (rpl_rename): Remove tabs.
24166         * tests/test-link.h (test_link): Likewise.
24167         * lib/fchdir.c (get_name): Likewise.
24168         Reported by Jim Meyering.
24169
24170 2009-10-02  Ben Pfaff  <blp@gnu.org>
24171
24172         relocatable-prog-wrapper: Add missing dependency on
24173         double-slash-root.
24174         * modules/relocatable-prog-wrapper: Add dependency.
24175         Reported by Ian Beckwith <ianb@erislabs.net>.
24176
24177 2009-10-02  Eric Blake  <ebb9@byu.net>
24178
24179         renameat: fix Solaris bugs
24180         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
24181         needed fixing.
24182         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
24183         * modules/stdio (Makefile.am): Substitute it.
24184         * lib/stdio.in.h (renameat): Declare replacement.
24185         * lib/renameat.c (rpl_renameat): Implement fix.
24186
24187         renameat: new module
24188         * modules/renameat: New file.
24189         * lib/renameat.c (renameat): Likewise.
24190         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
24191         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24192         * modules/stdio (Makefile.am): Substitute them.
24193         * lib/stdio.in.h (renameat): Declare it.
24194         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24195         * doc/posix-functions/renameat.texi (renameat): Likewise.
24196         * modules/renameat-tests: New test.
24197         * tests/test-renameat.c: Likewise.
24198
24199         rename: fix mingw bugs
24200         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
24201         directory overwrite bugs.
24202
24203         rename: fix another cygwin 1.5 bug
24204         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
24205         checks.
24206         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
24207         unnecessary cygwin workarounds.  Also work around bug with moving
24208         full directory onto an empty one.
24209         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
24210
24211         rename-dest-slash: merge into rename module
24212         * modules/rename-dest-slash (Status): Mark obsolete.
24213         (Depends-on): Add rename.
24214         (Files): Let rename do it all.
24215         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
24216         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
24217         * m4/rename-dest-slash.m4: ...so this file can be deleted.
24218         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
24219         * lib/rename.c (rpl_rename): Update comments.
24220
24221         rename: fix cygwin 1.5.x bugs
24222         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
24223         * lib/rename.c (rpl_rename): Work around them.
24224         * modules/rename (Depends-on): Add same-inode.
24225
24226         rename: fix Solaris 10 bug
24227         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
24228         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
24229         was the only bug.
24230
24231         rename: fix Solaris 9 bug
24232         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
24233         on non-directory.  Avoid calling exit.
24234         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
24235         strdup.
24236         * modules/rename-tests (Depends-on): Drop lstat.
24237         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
24238         (gl_PREREQ_RENAME): Delete unused macro.
24239
24240         rename-dest-slash: fix NetBSD bug
24241         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
24242         links.
24243         * modules/rename-dest-slash (Depends-on): Add same-inode.
24244
24245         rename-tests: new test, exposes several platform bugs
24246         * modules/rename-tests: New file.
24247         * tests/test-rename.h: Likewise.
24248         * tests/test-rename.c: Likewise.
24249         * doc/posix-functions/rename.texi (rename): Improve documentation,
24250         including bugs that will eventually be fixed in gnulib.
24251
24252 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
24253
24254         * lib/uname.c: Include <stdlib.h>
24255         (uname): Assume version info is available.
24256
24257 2009-10-02  Jim Meyering  <meyering@redhat.com>
24258
24259         gnu-web-doc-update: correct --help output
24260         * build-aux/gnu-web-doc-update: Make --help output relevant.
24261
24262         gnu-web-doc-update: add standard options
24263         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
24264
24265         gnu-web-doc-update: New module.
24266         Use this script to automatically update the on-line web documentation
24267         for your GNU project at http://www.gnu.org/software/$pkg/manual/
24268         * modules/gnu-web-doc-update: New file, from coreutils.
24269         * build-aux/gnu-web-doc-update: New script.
24270
24271 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
24272
24273         link: LoadLibrary is not needed.
24274         * lib/link.c: Use GetModuleHandle.
24275
24276 2009-10-01  Eric Blake  <ebb9@byu.net>
24277
24278         getopt: bump serial number
24279         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
24280         change.
24281
24282         tests: tighten link, rmdir, and remove tests
24283         * tests/test-link.h (includes): No need to use <config.h> here.
24284         Clean up if directory hard link was created, otherwise test for
24285         trailing '.'.
24286         * tests/test-linkat.c (main): Simplify.
24287         * tests/test-remove.c (main): Enhance test for trailing '.'.
24288         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24289
24290 2009-10-01  Jim Meyering  <meyering@redhat.com>
24291
24292         maint.mk: requiring "make major" was annoying, for a "minor" release.
24293         What is intended is "stable", to contrast with alpha and beta,
24294         so require "make stable", not "make major".
24295         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
24296         (get_tool_versions): Likewise.
24297         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
24298
24299 2009-09-30  Ben Pfaff  <blp@gnu.org>
24300
24301         Fix broken build of replacement for Windows tmpfile().
24302         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
24303         flags argument added along with the 'mkostemp' module.
24304
24305 2009-09-28  Bruno Haible  <bruno@clisp.org>
24306
24307         Avoid identifier clash with POSIX function 'remove' defined as a macro.
24308         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
24309         to 'remove_elt'.
24310         (gl_list_remove): Update.
24311         * lib/gl_list.c (gl_list_remove): Update.
24312         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
24313         to 'remove_elt'.
24314         (gl_oset_remove): Update.
24315         * lib/gl_list.c (gl_oset_remove): Update.
24316         Reported by Eric Blake.
24317
24318 2009-09-28  Eric Blake  <ebb9@byu.net>
24319
24320         doc: mention yet more cygwin 1.7 status
24321         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
24322         cygwin.
24323         * doc/glibc-functions/execvpe.texi (execvpe): New file.
24324         * doc/gnulib.texi (Glibc unistd.h): Mention it.
24325
24326         argp: fix test failure
24327         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
24328         that are not upper-case.  Pass correct range to tolower.
24329
24330 2009-09-27  Jim Meyering  <meyering@redhat.com>
24331
24332         test-yesno: work around sparc-dash here-document infelicity
24333         Without this change, the literal \177 byte in a here document
24334         would make dash 0.5.5.1-3 access uninitialized memory.
24335         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
24336         Instead, use a marker, "@", and filter through tr to create the desired
24337         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
24338
24339 2009-09-27  Bruno Haible  <bruno@clisp.org>
24340
24341         Disable untested support for new flavours of ACLs on AIX.
24342         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
24343         progress.
24344         * lib/set-mode-acl.c (qset_acl): Likewise.
24345
24346 2008-12-07  Bruno Haible  <bruno@clisp.org>
24347
24348         Add support for new flavours of ACLs on AIX. (Untested.)
24349         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
24350         (file_has_acl): Add support for newer AIX.
24351         * lib/set-mode-acl.c (qset_acl): Likewise.
24352         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
24353         Rainer Tammer <tammer@tammer.net>.
24354
24355 2009-09-26  Eric Blake  <ebb9@byu.net>
24356
24357         argp: fix compilation of getopt
24358         * lib/getopt.in.h (includes): Use different guard than glibc.
24359         Reported by Sergey Poznyakoff.
24360
24361         doc: mention more cygwin 1.7 status
24362         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
24363         bug.
24364         * doc/posix-functions/execl.texi (execl): Likewise.
24365         * doc/posix-functions/execle.texi (execle): Likewise.
24366         * doc/posix-functions/execlp.texi (execlp): Likewise.
24367         * doc/posix-functions/execv.texi (execv): Likewise.
24368         * doc/posix-functions/execve.texi (execve): Likewise.
24369         * doc/posix-functions/execvp.texi (execvp): Likewise.
24370         * doc/glibc-functions/canonicalize_file_name.texi
24371         (canonicalize_file_name): Cygwin 1.7 now provides this.
24372         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
24373         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
24374         on AT_SYMLINK_NOFOLLOW.
24375
24376 2009-09-24  Eric Blake  <ebb9@byu.net>
24377
24378         test-linkat: make test more robust
24379         * tests/test-linkat.c (main): Avoid collision with EEXIST.
24380
24381         getopt: fix inclusion guards for cygwin
24382         * modules/getopt-posix (Depends-on): Add include-next.
24383         (Makefile.am): Substitute more items in replacement header.
24384         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
24385         <getopt.h>.
24386         * lib/getopt.in.h (includes): Use split inclusion guard, and
24387         prefer <getopt.h> over include <unistd.h> when one is present.
24388         (option): Also override name of 'struct option'.
24389
24390         same-inode: revert prior change; it is not yet ready
24391         * NEWS: Undo mention of this change.
24392         * lib/same-inode.h (same-inode.h): Undo tri-state change.
24393         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24394         * lib/cycle-check.c (cycle_check): Likewise.
24395         * lib/same.c (same_name): Likewise.
24396         * lib/at-func2.c (at_func2): Likewise.
24397
24398 2009-09-23  Eric Blake  <ebb9@byu.net>
24399
24400         linkat: new module
24401         * modules/linkat: New file.
24402         * lib/at-func2.c (at_func2): Likewise.
24403         * lib/linkat.c (linkat): Likewise.
24404         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24405         * lib/openat-priv.h (at_func2): Add declaration.
24406         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24407         * modules/unistd (Makefile.am): Substitute them.
24408         * lib/unistd.in.h (linkat): Declare it.
24409         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24410         * doc/posix-functions/linkat.texi (linkat): Likewise.
24411         * doc/posix-functions/link.texi (link): Tweak wording.
24412         * tests/test-link.c (main): Move guts...
24413         * tests/test-link.h (test_link): ...into new file.
24414         * modules/linkat-tests: New test.
24415         * tests/test-linkat.c: Likewise.
24416         * modules/link-tests (Files): Ship new file.
24417         (Depends-on): Add stdbool.
24418
24419         dirname: add library-safe mdir_name
24420         * lib/dirname.h (mdir_name): New prototype.
24421         * lib/dirname.c (dir_name): Move guts...
24422         (mdir_name): ...to new function that avoids xalloc_die.
24423
24424         fchdir: another mingw fix
24425         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
24426         * lib/fchdir.c (get_name): New helper method; skips canonicalize
24427         on mingw (where it has not yet been ported), and make it optional
24428         elsewhere.
24429         (_gl_register_fd): Use it.
24430
24431         same-inode: make SAME_INODE tri-state, to port to mingw
24432         * NEWS: Mention this change.
24433         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
24434         st_ino always being 0.
24435         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24436         * lib/cycle-check.c (cycle_check): Likewise.
24437         * lib/same.c (same_name): Likewise.
24438
24439         lstat: avoid mingw compilation error
24440         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
24441         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
24442         lstat ourselves.
24443         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
24444         was adequate.
24445         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
24446         the checks for lstat.
24447         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
24448
24449         link: fix test failure on Solaris 9
24450         * lib/link.c (rpl_link): Don't assume link will catch bogus
24451         trailing slash on source.
24452
24453         test-symlinkat: enhance test
24454         * tests/test-readlink.c (main): Move guts...
24455         * tests/test-readlink.h (test_readlink): ...into new file.
24456         * tests/test-symlink.c (main): Move guts...
24457         * tests/test-symlink.h (test_symlink): ...into new file.
24458         * tests/test-symlinkat.c (main): Use new files for further
24459         coverage.
24460         (do_symlink, do_readlink): New helper functions.
24461         * modules/symlink-tests (Files): Ship new file.
24462         (Depends-on): Add stdbool.
24463         * modules/readlink-tests (Files): Ship new file.
24464         (Depends-on): Add stdbool.
24465         * modules/symlinkat-tests (Files): Use new files.
24466
24467 2009-09-23  Eric Blake  <ebb9@byu.net>
24468
24469         readlink: document portability issue with symlink length
24470         * doc/posix-functions/lstat.texi (lstat): Mention that some file
24471         systems have bogus st_size on symlinks, and mention the
24472         areadlink-with-size module.
24473         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24474         * doc/posix-functions/readlink.texi (readlink): Mention the
24475         areadlink module, and ERANGE failure.
24476         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24477         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
24478
24479         readlink: fix Solaris 9 bug with trailing slash
24480         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
24481         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
24482         * doc/posix-functions/readlink.texi (readlink): Document this.
24483         * modules/readlink-tests: New test.
24484         * tests/test-readlink.c: Likewise.
24485
24486         readlink: fix cygwin 1.5.x bug with return type
24487         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
24488         * lib/unistd.in.h (readlink): Use ssize_t.
24489         * lib/readlink.c (readlink): Likewise.
24490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24491         * modules/unistd (Makefile.am): Substitute it.
24492         * lib/unistd.in.h (readlink): Declare replacement.
24493         * doc/posix-functions/readlink.texi (readlink): Document this.
24494
24495         symlink: use throughout gnulib
24496         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
24497         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
24498         symlink is not used.
24499         * modules/symlinkat (Depends-on): Add symlink.
24500         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24501         * modules/canonicalize-tests (Depends-on): Likewise.
24502         * modules/lstat-tests (Depends-on): Likewise.
24503         * modules/openat-tests (Depends-on): Likewise.
24504         * modules/remove-tests (Depends-on): Likewise.
24505         * modules/rmdir-tests (Depends-on): Likewise.
24506         * modules/unlink-tests (Depends-on): Likewise.
24507         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
24508         * tests/test-canonicalize.c (symlink): Likewise.
24509         * tests/test-fstatat.c (symlink): Likewise.
24510         * tests/test-lstat.c (symlink): Likewise.
24511         * tests/test-remove.c (symlink): Likewise.
24512         * tests/test-rmdir.c (symlink): Likewise.
24513         * tests/test-unlink.c (symlink): Likewise.
24514         * tests/test-unlinkat.c (symlink): Likewise.
24515
24516         symlink: new module, for Solaris 9 bug
24517         * modules/symlink: New file.
24518         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24519         * lib/symlink.c: Likewise.
24520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
24521         * modules/unistd (Makefile.am): Substitute them.
24522         * lib/unistd.in.h (symlink): Declare replacement.
24523         * MODULES.html.sh (File system functions): Mention it.
24524         * doc/posix-functions/symlink.texi (symlink): Likewise.
24525         * modules/symlink-tests: New test.
24526         * tests/test-symlink.c: Likewise.
24527
24528 2009-09-23  Bruno Haible  <bruno@clisp.org>
24529
24530         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
24531         when needed.
24532         Test case: gnulib-tool --import --with-tests atexit inttypes.
24533         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
24534
24535 2009-09-23  Bruno Haible  <bruno@clisp.org>
24536
24537         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
24538         subcommand, not in a subshell.
24539
24540 2009-09-22  Eric Blake  <ebb9@byu.net>
24541
24542         unistd: sort replacement declarations
24543         * lib/unistd.in.h: Sort declarations.
24544
24545         open, openat: minor optimization
24546         * lib/open.c (open): If open succeeded, len is non-zero.
24547         * lib/openat.c (rpl_openat): Likewise.
24548
24549         link-follow: ensure correct result
24550         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
24551         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
24552         distinguish between possible failures.
24553
24554 2009-09-21  Eric Blake  <ebb9@byu.net>
24555
24556         fts: avoid compiler warning
24557         * lib/fts.c (dirent_inode_sort_may_be_useful)
24558         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
24559
24560 2009-09-19  Bruno Haible  <bruno@clisp.org>
24561
24562         * lib/progreloc.c (canonicalize_file_name): New declaration.
24563
24564 2009-09-19  Eric Blake  <ebb9@byu.net>
24565
24566         link: fix quoting
24567         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
24568
24569         openat: fix openat bugs on Solaris 9
24570         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
24571         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
24572         * modules/openat (Depends-on): Add open.
24573         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
24574         * modules/fcntl-h (Makefile.am): Substitute it.
24575         * lib/fcntl.in.h (openat): Declare replacement.
24576         * doc/posix-functions/openat.texi (openat): Document this.
24577
24578         openat: move fstatat and unlinkat into correct files
24579         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
24580         compiled.
24581         * lib/openat.c (fstatat, unlinkat): Move...
24582         * lib/fstatat.c (fstatat): ...into correct files.
24583         * lib/unlinkat.c (unlinkat): Likewise.
24584
24585         openat: fix unlinkat bugs on Solaris 9
24586         * lib/unlinkat.c (unlinkat): New file.
24587         * modules/openat (Depends-on): Add unlink.
24588         (Files): Distribute it.
24589         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
24590         trailing slash behavior is broken.
24591         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24592         * modules/unistd (Makefile.am): Substitute it.
24593         * lib/unistd.in.h (unlinkat): Declare replacement.
24594         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
24595
24596         openat: fix fstatat bugs on Solaris 9
24597         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
24598         stat.
24599         * doc/posix-functions/fstatat.texi (fstatat): Document this.
24600
24601         test-unlinkat: enhance test, to expose Solaris 9 bug
24602         * tests/test-unlink.c (main): Factor guts...
24603         * tests/test-unlink.h (test_rmdir_func): ...into new file.
24604         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
24605         * tests/test-rmdir.c (main): Adjust caller.
24606         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
24607         (unlinker): New helper function.
24608         (rmdirat): Enhance check.
24609         * modules/rmdir-tests (Depends-on): Add stdbool.
24610         * modules/unlink-tests (Depends-on): Likewise.
24611         (Files): Add test-unlink.h.
24612         * modules/openat-tests (Files): Likewise.
24613         (Depends-on): Add unlinkdir.
24614
24615         test-fstatat: new test, to expose Solaris 9 bugs
24616         * tests/test-stat.c (main): Factor guts...
24617         * tests/test-stat.h (test_stat_func): ...into new file.
24618         * tests/test-lstat.c (main): Factor guts...
24619         * tests/test-lstat.h (test_lstat_func): ...into new file.
24620         * tests/test-fstatat.c: New file.
24621         * modules/stat-tests (Files): Add test-stat.h.
24622         * modules/lstat-tests (Files): Add test-lstat.h.
24623         (Depends-on): Add stdbool.
24624         * modules/openat-tests (Depends-on): Add pathmax.
24625         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
24626         (Makefile.am): Run new test.
24627
24628         remove: new module, for mingw and Solaris 9 bugs
24629         * modules/remove: New file.
24630         * lib/remove.c: Likewise.
24631         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
24632         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24633         * modules/stdio (Makefile.am): Use them.
24634         * lib/stdio.in.h (remove): Declare replacement.
24635         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24636         * doc/posix-functions/remove.texi (remove): Likewise.
24637         * modules/remove-tests: New test.
24638         * tests/test-remove.c: Likewise.
24639
24640         unlink: new module, for Solaris 9 bug
24641         * modules/unlink: New file.
24642         * lib/unlink.c: Likewise.
24643         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24645         * modules/unistd (Makefile.am): Use them.
24646         * lib/unistd.in.h (stat): Declare replacement.
24647         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24648         * doc/posix-functions/unlink.texi (unlink): Likewise.
24649         * modules/unlink-tests: New test.
24650         * tests/test-unlink.c: Likewise.
24651
24652         lstat: fix Solaris 9 bug
24653         * lib/lstat.c (lstat): Also check for trailing slash on
24654         non-symlink, non-directories.  Use stat module to simplify logic.
24655         * doc/posix-functions/lstat.texi (lstat): Document it.
24656         * modules/lstat-tests (Depends-on): Add errno, same-inode.
24657         (configure.ac): Check for symlink.
24658         * tests/test-lstat.c (main): Add more tests.
24659
24660         stat: add as dependency to other modules
24661         * modules/chown (Depends-on): Add stat.
24662         * modules/euidaccess (Depends-on): Likewise.
24663         * modules/fchdir (Depends-on): Likewise.
24664         * modules/isdir (Depends-on): Likewise.
24665         * modules/link (Depends-on): Likewise.
24666         * modules/lstat (Depends-on): Likewise.
24667         * modules/mkdir-p (Depends-on): Likewise.
24668         * modules/modechange (Depends-on): Likewise.
24669         * modules/open (Depends-on): Likewise.
24670         * modules/readlink (Depends-on): Likewise.
24671         * modules/same (Depends-on): Likewise.
24672
24673         stat: fix Solaris 9 bug
24674         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
24675         slash.
24676         * lib/stat.c (rpl_stat): Work around it.
24677         * doc/posix-functions/stat.texi (stat): Update documentation.
24678
24679         stat: new module, for mingw bug
24680         * modules/stat: New file.
24681         * lib/stat.c: Likewise.
24682         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24683         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24684         * modules/sys_stat (Makefile.am): Use them.
24685         * lib/sys_stat.in.h (stat): Declare replacement.
24686         * lib/openat.c (fstatat): Deal with lstat and stat being function
24687         macros.
24688         * modules/openat (Depends-on): Add inline.
24689         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24690         * doc/posix-functions/stat.texi (stat): Likewise.
24691         * modules/stat-tests: New test.
24692         * tests/test-stat.c: Likewise.
24693
24694 2009-09-19  Jim Meyering  <meyering@redhat.com>
24695
24696         syntax-check: detect unnecessary inclusion of canonicalize.h
24697         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
24698
24699 2009-09-19  Eric Blake  <ebb9@byu.net>
24700
24701         canonicalize-lgpl: adjust clients to use correct header
24702         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24703         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
24704         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
24705         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
24706         * lib/progreloc.c (includes): Likewise.
24707
24708 2009-09-19  Jim Meyering  <meyering@redhat.com>
24709
24710         test-posixtm.c: correct a comment
24711         * tests/test-posixtm.c: Correct first-line comment.
24712         Spotted by Eric Blake.
24713
24714 2009-09-16  Jim Meyering  <meyering@redhat.com>
24715
24716         posixtm-tests: make T const-correct; add a test case
24717         * tests/test-posixtm.c (T): Declare const.
24718         Add a test for -(2^31+1).
24719         Remove useless can-succeed-only-in-2002 test.
24720
24721         posixtm-tests: adjust the sole failing test
24722         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
24723         expected output matches what mktime now produces.  Cross-checked via
24724         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
24725
24726         posixtm: move #ifdef'd tests into a new module
24727         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
24728         * tests/test-posixtm.c: ... this new file.
24729         * modules/posixtm-tests: New module.
24730
24731 2009-09-19  Eric Blake  <ebb9@byu.net>
24732
24733         openat: simplify use of at-func.c
24734         * lib/at-func.c (includes): Include prerequisites here, to
24735         simplify requirements on client files.
24736         * lib/openat-priv.h: Add double-inclusion guard.
24737         * lib/faccessat.c (includes): Simplify.
24738         * lib/fchmodat.c (includes): Likewise.
24739         * lib/fchownat.c (includes): Likewise.
24740         * lib/mkdirat.c (includes): Likewise.
24741         * lib/mkfifoat.c (includes): Likewise.
24742         * lib/symlinkat.c (includes): Likewise.
24743
24744         openat: allow return of fd 0
24745         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
24746         * modules/save-cwd (Depends-on): Replace fcntl-safer with
24747         unistd-safer.
24748         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
24749         <fcntl.h>; this module does not leak fds.
24750         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
24751         must be allowed to return 0, leaving openat_safer to add the
24752         safety.
24753         (openat_permissive): Avoid writing to just-opened fd 2 if
24754         restoring the current directory fails.
24755         * lib/openat-die.c (openat_restore_fail): Add comment.
24756         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
24757         (save_cwd): Guarantee safe fd, but without use of open_safer.
24758         * tests/test-openat.c: New test.
24759         * modules/openat-tests (Files, Makefile.am): Distribute and build
24760         new file.
24761
24762         relocatable-prog-wrapper: fix build
24763         * modules/relocatable-prog-wrapper (Files): Update name of
24764         canonicalize m4 file, broken on 2009-09-17.
24765         Reported by emad hajjar <aleppos@hotmail.com>.
24766
24767 2009-09-19  Bruno Haible  <bruno@clisp.org>
24768
24769         * lib/safe-alloc.h: Use the standard header with GPL copyright.
24770         * lib/safe-alloc.c: Likewise.
24771         Reported by Ian Beckwith <ianb@erislabs.net>.
24772
24773 2009-09-18  Bruno Haible  <bruno@clisp.org>
24774
24775         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
24776         Reported by <erobles@sensacd.com.mx>.
24777
24778 2009-09-17  Eric Blake  <ebb9@byu.net>
24779
24780         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
24781         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
24782         slashes when checking if last component is missing.
24783         * tests/test-canonicalize.c (main): Test this.
24784
24785         canonicalize, canonicalize-lgpl: honor // if distinct from /
24786         * modules/canonicalize (Files): Add double-slash-root.m4.
24787         * modules/canonicalize-lgpl (Files): Likewise.
24788         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24789         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
24790         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
24791         fallback definition.
24792         (canonicalize_filename_mode): Use it to protect //.
24793         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
24794         (__realpath): Likewise.
24795         * tests/test-canonicalize.c (main): Test this.
24796         * tests/test-canonicalize-lgpl.c (main): Likewise.
24797         * modules/canonicalize-tests (Depends-on): Add same-inode.
24798         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24799
24800         canonicalize-lgpl: fix glibc bug with trailing slash
24801         * m4/canonicalize-lgpl.m4: Move contents...
24802         * m4/canonicalize.m4: ...here.
24803         (gl_CANONICALIZE_LGPL): Factor realpath check...
24804         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
24805         glibc 2.3.5 bug, fixed 2005-04-27.
24806         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
24807         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
24808         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
24809         * modules/canonicalize-lgpl (Files): Manage file rename.
24810         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24811         * modules/stdlib (Makefile.am): Substitute witness.
24812         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
24813         is needed.
24814         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
24815         replacement is required.
24816         * lib/canonicalize.c (canonicalize_file_name): Likewise.
24817         * doc/glibc-functions/canonicalize_file_name.texi
24818         (canonicalize_file_name): Document this.
24819         * doc/posix-functions/realpath.texi (realpath): Likewise.
24820
24821         canonicalize-lgpl: reject non-directory with trailing slash
24822         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
24823         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
24824         catches failures in glibc 2.3.5.
24825         * tests/test-canonicalize.c (main): Likewise.
24826
24827         canonicalize-lgpl: use native realpath if it works
24828         * lib/canonicalize-lgpl.c (realpath): Guard with
24829         FUNC_REALPATH_WORKS.
24830         * lib/stdlib.in.h (realpath): Make declaration optional based on
24831         HAVE_REALPATH.
24832         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
24833         native realpath works.
24834         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24835         * modules/stdlib (Makefile.am): Substitute witness.
24836
24837         canonicalize, canonicalize-lgpl: use <stdlib.h>
24838         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
24839         (Include): Mention <stdlib.h>.
24840         (configure.ac): Mention functions we provide.
24841         * modules/canonicalize (configure.ac): Likewise.
24842         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
24843         realpath if canonicalize_file_name is missing.
24844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
24845         * modules/stdlib (Makefile.am): Substitute witnesses.
24846         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
24847         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
24848         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
24849         * NEWS: Document this.
24850         * doc/glibc-functions/canonicalize_file_name.texi
24851         (canonicalize_file_name): Likewise.
24852         * doc/posix-functions/realpath.texi (realpath): Likewise.
24853         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
24854
24855         test-canonicalize: consolidate into single C program
24856         * tests/test-canonicalize.sh: Delete; move setup into...
24857         * tests/test-canonicalize.c (main): ...the program, making it
24858         easier to run in debugger.  Add some tests.
24859         * modules/canonicalize-tests (Files): Remove unused file.
24860         (Depends-on): Add progname.
24861         (configure.ac, Makefile.am): Simplify.
24862
24863         test-canonicalize-lgpl: consolidate into single C program
24864         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
24865         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
24866         easier to run in debugger.  Add some tests.
24867         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
24868         (configure.ac, Makefile.am): Simplify.
24869
24870         canonicalize: avoid resolvepath
24871         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
24872         unnecessary checks.
24873         * lib/canonicalize.c (includes): Simplify.
24874         (canonicalize_file_name): Drop resolvepath implementation.
24875         * modules/canonicalize (Depends-on): Drop filenamecat.
24876
24877         canonicalize: don't lose errno
24878         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
24879         over calls to free.
24880
24881         canonicalize: simplify errno handling
24882         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
24883         assignment.
24884
24885         canonicalize, canonicalize-lgpl: update module dependencies
24886         * modules/canonicalize (Depends-on): Add extensions, lstat,
24887         pathmax, stdlib.
24888         (Files): Drop pathmax.h.
24889         (configure.ac): Adjust macro name.
24890         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
24891         lstat, stdlib, sys_stat.
24892         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
24893         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
24894         extensions.
24895         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
24896         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
24897         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
24898         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
24899         declaration, if available.
24900         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
24901         we can rely on the readlink module.
24902         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
24903         (includes): Use <unistd.h> unconditionally.
24904
24905 2009-09-17  Eric Blake  <ebb9@byu.net>
24906
24907         maint: make Include sections of modules consistent
24908         * modules/alloca: Use only header name; no need to list #include.
24909         * modules/alloca-opt: Likewise.
24910         * modules/arpa_inet: Likewise.
24911         * modules/canon-host: Likewise.
24912         * modules/configmake: Likewise.
24913         * modules/dirent: Likewise.
24914         * modules/eealloc: Likewise.
24915         * modules/environ: Likewise.
24916         * modules/fchdir: Likewise.
24917         * modules/fcntl: Likewise.
24918         * modules/fcntl-h: Likewise.
24919         * modules/gethrxtime: Likewise.
24920         * modules/gettime: Likewise.
24921         * modules/ignore-value: Likewise.
24922         * modules/inet_ntop: Likewise.
24923         * modules/inet_pton: Likewise.
24924         * modules/inttypes: Likewise.
24925         * modules/isnand-nolibm: Likewise.
24926         * modules/isnanf-nolibm: Likewise.
24927         * modules/mbchar: Likewise.
24928         * modules/mbfile: Likewise.
24929         * modules/mbiter: Likewise.
24930         * modules/mbuiter: Likewise.
24931         * modules/netdb: Likewise.
24932         * modules/netinet_in: Likewise.
24933         * modules/nproc: Likewise.
24934         * modules/pagealign_alloc: Likewise.
24935         * modules/poll: Likewise.
24936         * modules/printf-frexp: Likewise.
24937         * modules/pthread: Likewise.
24938         * modules/putenv: Likewise.
24939         * modules/random_r: Likewise.
24940         * modules/relocatable-prog: Likewise.
24941         * modules/search: Likewise.
24942         * modules/select: Likewise.
24943         * modules/selinux-h: Likewise.
24944         * modules/settime: Likewise.
24945         * modules/signal: Likewise.
24946         * modules/size_max: Likewise.
24947         * modules/socklen: Likewise.
24948         * modules/ssize_t: Likewise.
24949         * modules/stdarg: Likewise.
24950         * modules/stdbool: Likewise.
24951         * modules/stddef: Likewise.
24952         * modules/stdint: Likewise.
24953         * modules/stdio: Likewise.
24954         * modules/stdlib: Likewise.
24955         * modules/string: Likewise.
24956         * modules/strings: Likewise.
24957         * modules/sys_file: Likewise.
24958         * modules/sys_ioctl: Likewise.
24959         * modules/sys_select: Likewise.
24960         * modules/sys_socket: Likewise.
24961         * modules/sys_stat: Likewise.
24962         * modules/sys_time: Likewise.
24963         * modules/sys_times: Likewise.
24964         * modules/sys_utsname: Likewise.
24965         * modules/sys_wait: Likewise.
24966         * modules/sysexits: Likewise.
24967         * modules/time: Likewise.
24968         * modules/times: Likewise.
24969         * modules/tmpfile: Likewise.
24970         * modules/trim: Likewise.
24971         * modules/unistd: Likewise.
24972         * modules/wchar: Likewise.
24973         * modules/wctype: Likewise.
24974
24975 2009-09-17  Bruno Haible  <bruno@clisp.org>
24976
24977         Make getdate.y compile on QNX and NetBSD 5 / i386.
24978         * m4/getdate.m4 (gl_GETDATE): Conditionally define
24979         TIME_T_FITS_IN_LONG_INT.
24980         * lib/getdate.y (long_time_t): New type.
24981         (relative_time): Change type of 'seconds' field to long_time_t.
24982         (get_date): Update types of local variables. Check against overflow
24983         during conversion from long_time_t to time_t.
24984         Reported by Matt Kraai <kraai@ftbfs.org>
24985         and Hasso Tepper <hasso@netbsd.org>.
24986
24987 2009-09-17  Bruno Haible  <bruno@clisp.org>
24988
24989         * modules/COPYING: Update copyright years.
24990         * modules/README: Likeiwse.
24991         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
24992         Reported by Ian Beckwith <ianb@erislabs.net>.
24993
24994 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
24995
24996         * users.txt: Update references for gnuit package.
24997
24998 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
24999
25000         * m4/getdelim.m4: Fix typo in copyright line.
25001
25002 2009-09-17  Bruno Haible  <bruno@clisp.org>
25003
25004         * lib/atoll.c: Use the standard header with GPL copyright.
25005         * lib/argz.in.h: Likewise.
25006         * lib/glob.c: Likewise.
25007         * lib/glob-libc.h: Likewise.
25008         * lib/random_r.c: Likewise.
25009         * lib/siglist.h: Likewise.
25010         * lib/strsignal.c: Likewise.
25011         Reported by Ian Beckwith <ianb@erislabs.net>.
25012
25013 2009-09-17  Eric Blake  <ebb9@byu.net>
25014
25015         rmdir: ensure correct dependency order
25016         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
25017
25018 2009-09-17  Bruno Haible  <bruno@clisp.org>
25019
25020         Disable assertion that fails on NetBSD 5 / i386.
25021         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
25022         Reported by Sam Steingold <sds@gnu.org>
25023         and Hasso Tepper <hasso@netbsd.org>.
25024
25025 2009-09-16  Eric Blake  <ebb9@byu.net>
25026
25027         unlinkdir: port to mingw
25028         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
25029         on which no one can unlink a directory.
25030
25031         stdlib: sort witness names
25032         * modules/stdlib (Makefile.am): Sort replacements.
25033         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
25034         * lib/stdlib.in.h: Likewise.
25035
25036         parse-duration-tests: avoid link failure
25037         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
25038         LIBINTL.
25039         Reported by Tom G. Christensen.
25040
25041         openat-tests: ensure unlinkat behaves like rmdir
25042         * tests/test-rmdir.c (main): Factor guts...
25043         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
25044         * modules/rmdir-tests (Files): Ship new file.
25045         * modules/openat-tests: New test.
25046         * tests/test-unlinkat.c: Likewise.
25047
25048         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
25049         * modules/rmdir-errno (Status, Notice): Now obsolete.
25050
25051         rmdir: work around cygwin 1.5.x and mingw bugs
25052         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
25053         * lib/rmdir.c (rmdir): Work around it.
25054         * modules/rmdir (Status, Notice): No longer obsolete.
25055         (Files): Add dos.m4.
25056         (Depends-on): Add unistd.
25057         (configure.ac): Set witnesses.
25058         (License): Relax to LGPLv2+.
25059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
25060         * modules/unistd (Makefile.am): Substitute witnesses.
25061         * lib/unistd.in.h (rmdir): Declare replacement.
25062         * doc/posix-functions/rmdir.texi (rmdir): Document this.
25063         * modules/rmdir-tests: New tests.
25064         * tests/test-rmdir.c: Likewise.
25065
25066 2009-09-15  Eric Blake  <ebb9@byu.net>
25067
25068         fchdir: improve use of replacement functions
25069         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
25070         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
25071         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
25072         REPLACE_CLOSEDIR.
25073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
25074         * modules/sys_stat (Makefile.am): Substitute correct witness.
25075         * modules/dirent (Makefile.am): Likewise.
25076         * modules/unistd (Makefile.am): Likewise.
25077         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
25078         * lib/unistd.in.h (dup): Likewise.
25079         * lib/sys_stat.in.h (fstat): Likewise.
25080
25081         maint: ignore gnulib-tool temp files
25082         * .gitignore: Ignore files created during gnulib-tool --test.
25083
25084 2009-09-13  Jim Meyering  <meyering@redhat.com>
25085
25086         posixtm: don't reject a time that specify "60" as the number of seconds
25087         * lib/posixtm.c (posixtime): The code to reject invalid dates
25088         would also reject a time specified with the .60 suffix.
25089         But POSIX allows that, in order to accommodate leap seconds.
25090         So don't reject it.
25091         (main): Adjust tests accordingly.
25092         * modules/posixtm (Depends-on): Add stpcpy.
25093
25094 2009-09-11  Jim Meyering  <meyering@redhat.com>
25095
25096         announce-gen: include [$release_type] in emitted Subject:
25097         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
25098         e.g., [stable] in the emitted Subject: line.
25099
25100 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25101
25102         Remove obsolete macros from several modules.
25103         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
25104         obsolete Autoconf macros with their modern counterparts.
25105         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
25106         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
25107         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
25108         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
25109         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
25110         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25111         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25112         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25113         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25114         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
25115         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
25116         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
25117         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
25118         * m4/sockets.m4 (gl_SOCKETS): Likewise.
25119         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
25120         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
25121         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
25122         * m4/time_r.m4 (gl_TIME_R): Likewise.
25123         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25124         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
25125         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
25126
25127         Fix copyright header in build-aux scripts.
25128         * build-aux/git-version-gen: Fix copyright header to match GPLv3
25129         recommendation.
25130         * build-aux/ncftpput-ftp: Likewise.
25131         * build-aux/update-copyright: Likewise.
25132
25133 2009-09-09  Eric Blake  <ebb9@byu.net>
25134
25135         test-link: allow Linux choice of errno
25136         * tests/test-link.c (main): Relax test for alternate error.
25137
25138         strndup: fix improper m4 caching
25139         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
25140         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
25141         (gl_PREREQ_STRNDUP): Delete.
25142         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
25143         * modules/string (Makefile.am): Substitute it.
25144         * lib/string.in.h (strndup): Modernize prototype.
25145
25146         getcwd: port to mingw
25147         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
25148         different from the POSIX assumptions made throughout the getcwd
25149         module; fortunately, the mingw getcwd does not need replacement.
25150         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
25151         * modules/getcwd-tests: New test.
25152         * tests/test-getcwd.c: Likewise.
25153
25154         link: fix platform bugs
25155         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
25156         * lib/link.c (link): Work around them.  Fix related mingw bug.
25157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
25158         * modules/unistd (Makefile.am): Substitute it.
25159         * lib/unistd.in.h (link): Declare replacement.
25160         * doc/posix-functions/link.texi (link): Document this.
25161         * modules/link (Depends-on): Add strdup-posix, sys_stat.
25162
25163         test-link: consolidate into single C program, test more cases
25164         * tests/test-link.sh: Delete.
25165         * tests/test-link.c: Test more error conditions.  Exposes bugs on
25166         at least Cygwin and Solaris.
25167         * modules/link-tests (Files): Remove unused file.
25168         (Depends-on): Add errno, sys_stat.
25169         (Makefile.am): Simplify.
25170
25171 2009-09-08  Bruno Haible  <bruno@clisp.org>
25172
25173         Work around towlower, towupper bug on mingw.
25174         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
25175         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
25176         * doc/posix-functions/towlower.texi: Mention the mingw bug.
25177         * doc/posix-functions/towupper.texi: Likewise.
25178         Reported by Eric Blake.
25179
25180 2009-09-08  Jim Meyering  <meyering@redhat.com>
25181
25182         build: don't try to run autoheader if we don't use it
25183         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
25184         is not used in configure.ac.
25185
25186 2009-09-08  Eric Blake  <ebb9@byu.net>
25187
25188         euidaccess: fix compilation error
25189         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
25190
25191         rawmemchr: relax license
25192         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
25193         okay.
25194         Reported by Jim Meyering.
25195
25196         mkfifoat: new module
25197         * modules/mkfifoat: New file.
25198         * lib/mkfifoat.c: Likewise.
25199         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
25200         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25201         * modules/sys_stat (Makefile.am): Use them.
25202         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
25203         * MODULES.html.sh (File system functions): Mention module.
25204         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25205         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25206         * modules/mkfifoat-tests: New test.
25207         * tests/test-mkfifoat.c: Likewise.
25208
25209         strchrnul: relax license
25210         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
25211         okay.
25212         Reported by Jim Meyering.
25213
25214 2009-09-08  Eric Blake  <ebb9@byu.net>
25215
25216         fstatat: fix compilation on Solaris
25217         * lib/fstatat.c (includes): Add fcntl.h.
25218         Reported by Pádraig Brady.
25219
25220 2009-09-07  Eric Blake  <ebb9@byu.net>
25221
25222         rename: modernize replacement
25223         * modules/rename (Depends-on): Add stdio.
25224         (configure.ac): Declare witness.
25225         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
25226         stdio take care of replacement.
25227         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
25228         * modules/stdio (Makefile.am): Substitute them.
25229         * lib/stdio.in.h (rename): Declare replacement.
25230         * lib/rename.c (includes): Allow cross-compilation to non-windows
25231         machines.
25232         * doc/posix-functions/rename.texi (rename): Improve
25233         documentation.
25234
25235         stdio: sort witness names
25236         * modules/stdio (Makefile.am): Sort replacements.
25237         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25238         * lib/stdio.in.h: Likewise.
25239
25240         getcwd: minor cleanups
25241         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
25242         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
25243
25244         openat: provide more convenience names
25245         * modules/faccessat (configure.ac): Add C witness.
25246         * lib/unistd.in.h (readlinkat): Fix typo.
25247         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
25248         convenience wrappers.
25249         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
25250         wrappers in syntax checks.
25251
25252 2009-09-06  Eric Blake  <ebb9@byu.net>
25253
25254         doc: fix comments in recent patches
25255         * lib/faccessat.c: Mention correct function.
25256         * lib/fchmodat.c: Likewise.
25257         * lib/fchownat.c: Likewise.
25258         * lib/symlinkat.c: Likewise.
25259         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
25260         constants.
25261
25262         faccessat, symlinkat: continue cleanup of previous patch
25263         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
25264         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25265         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
25266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
25267         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
25268         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
25269         set.
25270
25271 2009-09-06  Bruno Haible  <bruno@clisp.org>
25272
25273         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
25274         (fstatat): Declare if GNULIB_FSTATAT is set.
25275         (mkdirat): Declare if GNULIB_MKDIRAT is set.
25276         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
25277         (unlinkat): Declare if GNULIB_UNLINKAT is set.
25278         * modules/fcntl-h (Files): Remove m4/openat.m4.
25279         * modules/sys_stat (Files): Remove m4/openat.m4.
25280         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
25281         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
25282         * modules/unistd (Files): Remove m4/openat.m4.
25283         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
25284         GNULIB_OPENAT.
25285         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
25286         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
25287         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
25288         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
25289         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
25290         gl_OPENAT_DEFAULTS.
25291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
25292         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
25293         Don't require gl_OPENAT_DEFAULTS.
25294         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
25295         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
25296         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
25297         (gl_OPENAT_DEFAULTS): Remove macro.
25298
25299 2009-09-06  Bruno Haible  <bruno@clisp.org>
25300
25301         * modules/openat (configure.ac): Remove unneeded witness.
25302
25303 2009-09-06  Bruno Haible  <bruno@clisp.org>
25304
25305         Set errno to ENOSYS when a function is entirely unsupported.
25306         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
25307         EOPNOTSUPP.
25308         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25309         * modules/chown (Depends-on): Remove errno.
25310
25311 2009-09-06  Bruno Haible  <bruno@clisp.org>
25312
25313         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
25314
25315 2009-09-06  Bruno Haible  <bruno@clisp.org>
25316
25317         * lib/sys_stat.in.h: Fix preprocessor command indentation.
25318
25319 2009-09-06  Ben Pfaff  <blp@gnu.org>
25320             Bruno Haible  <bruno@clisp.org>
25321
25322         Work around a glibc bug in strtok_r.
25323         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
25324         Undefine if UNDEFINE_STRTOK_R is set.
25325         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
25326         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25327         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
25328         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
25329         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
25330         UNDEFINE_STRTOK_R.
25331         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
25332
25333 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25334
25335         exclude: minor fix
25336         * lib/exclude.c: Include wctype.h
25337
25338 2009-09-06  Akim Demaille  <demaille@gostai.com>
25339
25340         bootstrap: improve error message
25341         * build-aux/bootstrap (find_tool): Upon failure, report the list
25342         of candidates.
25343         Honor the initial value of the envvar.
25344
25345 2009-09-05  Eric Blake  <ebb9@byu.net>
25346
25347         symlinkat: new module
25348         * modules/symlinkat: New file.
25349         * lib/symlinkat.c: Likewise.
25350         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
25351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25352         * modules/unistd (Makefile.am): Use them.
25353         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
25354         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
25355         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
25356         * MODULES.html.sh (File system functions): Mention module.
25357         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25358         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25359         * modules/symlinkat-tests: New test.
25360         * tests/test-symlinkat.c: Likewise.
25361
25362         test-openat-safer: add more checks
25363         * tests/test-openat-safer.c (main): Check more code paths.
25364
25365 2009-09-05  Jim Meyering  <meyering@redhat.com>
25366
25367         syntax-check: detect unnecessary inclusion of openat.h
25368         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
25369
25370 2009-09-05  Bruno Haible  <bruno@clisp.org>
25371
25372         Support towlower, towupper.
25373         * doc/posix-functions/towlower.texi: Mention module wctype.
25374         * doc/posix-functions/towupper.texi: Likewise.
25375         * lib/wctype.in.h (towlower, towupper): New functions.
25376         * tests/test-wctype.c: Include stdio.h, stdlib.h.
25377         (ASSERT): New macro.
25378         (e): New variable.
25379         (main): Test also towlower, towupper. Test WEOF argument.
25380         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25381
25382 2009-09-05  Bruno Haible  <bruno@clisp.org>
25383
25384         Fix conversion behaviour when the input is invalid.
25385         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
25386         mark occurring in first pass of indirect conversion.
25387         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
25388         input.
25389         Found by clang's static analyzer.
25390
25391 2009-09-05  Bruno Haible  <bruno@clisp.org>
25392
25393         * tests/test-striconveh.c (main): Test indirect conversion on platforms
25394         where direct conversion is possible.
25395
25396 2009-09-04  Eric Blake  <ebb9@byu.net>
25397
25398         openat: fail with ENOENT on empty name
25399         * lib/openat-proc.c (openat_proc_name): Special-case the empty
25400         buffer.
25401
25402         link-follow: fix logic bug in prior patch
25403         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
25404         reversed sense of yes and no in prior patch.  Avoid confusing
25405         compilation failure with desired semantics.
25406
25407         link-follow: accomodate mingw and cross-compilation
25408         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
25409         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
25410         cross-compilation results to -1, to make linkat easier to
25411         implement when cross-compiling.  Trivially support mingw.
25412         * modules/link-follow (configure.ac): Call new name.
25413         * NEWS: Mention this.
25414
25415 2009-09-03  Eric Blake  <ebb9@byu.net>
25416
25417         faccessat: compile replacement
25418         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
25419         needed.
25420
25421         fts: fix compilation error
25422         * lib/fts.c (includes): Re-add "openat.h", for
25423         openat_needs_fchdir.
25424
25425         faccessat: new module
25426         * modules/faccessat: New file.
25427         * lib/faccessat.c: Likewise.
25428         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25429         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25430         * modules/unistd (Makefile.am): Use it.
25431         * lib/unistd.in.h (faccessat): Declare it.
25432         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
25433         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
25434         * MODULES.html.sh (File system functions): Mention it.
25435         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
25436         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
25437
25438         euidaccess: prefer POSIX over non-standard implementation
25439         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
25440         * lib/euidaccess.c (euidaccess): Use it if available.
25441
25442         openat: make template easier to use
25443         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
25444         AT_FUNC_F2 to be undefined.
25445         (VALIDATE_FLAG): New macro; use it to reject bad flags.
25446         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
25447         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
25448         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
25449         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
25450         Likewise.
25451         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
25452         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
25453         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
25454         Likewise.
25455
25456         openat: declare in POSIX headers
25457         * NEWS: Mention this.
25458         * modules/openat (configure.ac): Declare witnesses.
25459         (Depends-on): Add fcntl-h, sys_stat, unistd.
25460         (Include): Mention correct headers.
25461         * modules/fcntl-h (Depends-on): Add link-warning.
25462         (Files): Add openat.m4.
25463         (Makefile.am): Substitute witnesses.
25464         * modules/sys_stat (Files, Makefile.am): Likewise.
25465         * modules/unistd (Files, Makefile.am): Likewise.
25466         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
25467         (gl_OPENAT_DEFAULTS): New macro.
25468         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
25469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
25470         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
25471         (SYS_STAT_H): Remove unused variable.
25472         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
25473         * lib/fcntl--.h (includes): Remove unneeded header.
25474         * lib/openat-safer.c (includes): Likewise.
25475         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
25476         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
25477         appropriate headers.
25478         (__OPENAT_PREFIX): Delete.
25479         * lib/fcntl.in.h (openat): Provide declaration.
25480         (AT_FDCWD): Fix Solaris bug.
25481         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
25482         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
25483         * lib/fchmodat.c (includes):  Adjust to find declaration.
25484         * lib/fchownat.c (includes): Likewise.
25485         * lib/mkdirat.c (includes): Likewise.
25486         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
25487         still visible.
25488
25489 2009-09-02  Eric Blake  <ebb9@byu.net>
25490
25491         errno: use consistently
25492         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
25493         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
25494         * lib/canonicalize.c (ELOOP): Likewise.
25495         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
25496         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
25497         * lib/lchown.c (EOPNOTSUPP): Likewise.
25498         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
25499         * lib/savewd.c (ESTALE): Likewise.
25500         * lib/settime.c (ENOSYS): Likewise.
25501         * lib/utimens.c (ENOSYS): Likewise.
25502         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
25503         * lib/chdir-safer.c (ELOOP): Likewise.
25504         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
25505         * modules/c-stack (Depends-on): Add errno.
25506         * modules/canonicalize (Depends-on): Likewise.
25507         * modules/chdir-safer (Depends-on): Likewise.
25508         * modules/fdopendir (Depends-on): Likewise.
25509         * modules/inet_ntop (Depends-on): Likewise.
25510         * modules/inet_pton (Depends-on): Likewise.
25511         * modules/lchown (Depends-on): Likewise.
25512         * modules/openat (Depends-on): Likewise.
25513         * modules/savewd (Depends-on): Likewise.
25514         * modules/settime (Depends-on): Likewise.
25515         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
25516
25517         fts: avoid leaking fds
25518         * modules/fts (Depends-on): Add cloexec.
25519         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
25520         flag.
25521
25522         fts: make directory fds more robust
25523         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
25524         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
25525
25526         backupfile, chdir-long, fts, savedir: make safer
25527         * lib/backupfile.c (includes): Use "dirent--.h", since
25528         numbered_backup can write to stderr during readdir.
25529         * lib/savedir.c (includes): Likewise.
25530         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
25531         emulation can write to stderr on failure.
25532         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
25533         * lib/getcwd.c: Document why opendir_safer is unused.
25534         * lib/glob.c: Likewise.
25535         * lib/scandir.c: Likewise.
25536         * lib/openat-proc.c: Likewise, for open_safer.
25537         * modules/backupfile (Depends-on): Add dirent-safer.
25538         * modules/savedir (Depends-on): Likewise.
25539         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
25540         * modules/chdir-long (Depends-on): Add openat-safer.
25541
25542         openat-safer: new module
25543         * modules/openat-safer: New file.
25544         * lib/openat-safer.c: Likewise.
25545         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
25546         * lib/fcntl-safer.h (openat_safer): Declare.
25547         * lib/fcntl--.h (openat): Override.
25548         * MODULES.html.sh (File descriptor based I/O): Mention it.
25549         * lib/openat.h: Add double-inclusion guards.
25550         * lib/openat.c (includes): Only include "fcntl-safer.h", not
25551         "fcntl--.h", so we can implement openat.
25552         * modules/openat-safer-tests: New test.
25553         * tests/test-openat-safer.c: New file.
25554
25555         dirent-safer: new module
25556         * modules/dirent-safer: New file.
25557         * lib/dirent--.h: Likewise.
25558         * lib/dirent-safer.h: Likewise.
25559         * lib/opendir-safer.c: Likewise.
25560         * m4/dirent-safer.m4: Likewise.
25561         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
25562         * modules/dirent-safer-tests: New test.
25563         * tests/test-dirent-safer.c: New file.
25564         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
25565
25566         fdopendir: optimize on mingw
25567         * lib/unistd.in.h (_gl_directory_name): New prototype.
25568         * lib/fchdir.c (_gl_directory_name): Implement it.
25569         (fchdir): Use it to simplify implementation.
25570         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
25571         fchdir, when available, to avoid calling [f]chdir().
25572
25573         fdopendir: split into its own module
25574         * lib/openat.c (fdopendir): Move...
25575         * lib/fdopendir.c: ...into new file.
25576         * modules/fdopendir: New module.
25577         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
25578         * modules/openat (Depends-on): Add fdopendir.
25579         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
25580         fdopendir here.
25581         * modules/savedir (Depends-on): Only need fdopendir, not full
25582         openat.
25583         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
25584         * lib/openat.h (fdopendir): Drop prototype.
25585         * lib/dirent.in.h (fdopendir): Provide prototype.
25586         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
25587         * modules/dirent (Makefile.am): Substitute them.
25588         * MODULES.html.sh (File system functions): Mention it.
25589         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
25590         * modules/fdopendir-tests: New file.
25591         * tests/test-fdopendir.c: Likewise.
25592
25593         fchdir: use more consistent macro convention
25594         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
25595         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
25596         REPLACE_FCHDIR, rather than relying on config.h macros.
25597         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
25598         inside a single make-time REPLACE_FCHDIR block, rather than using
25599         the config.h FCHDIR_REPLACEMENT.
25600         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
25601         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
25602         Manage fstat replacement.
25603         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
25604         REPLACE_FCHDIR.
25605         * modules/sys_stat (Files): Add m4/unistd_h.m4.
25606         (Makefile.am): Substitute REPLACE_FCHDIR.
25607         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
25608         FCHDIR_REPLACEMENT.
25609         * lib/dup-safer.c (dup_safer): Likewise.
25610         * lib/dup2.c (rpl_dup2): Likewise.
25611         * lib/dup3.c (rpl_dup3): Likewise.
25612         * lib/open.c (rpl_open): Likewise.
25613
25614         fchdir: simplify error handling, and support dup3
25615         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
25616         stdbool, malloc-posix, realloc-posix.
25617         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
25618         (ensure_dirs_slot): Return false on allocation failure.
25619         (rpl_dup2): Delete.
25620         (_gl_register_dup): New function.
25621         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
25622         (_gl_register_fd): Close fd on allocation failure.
25623         * lib/fcntl.in.h (_gl_register_fd): Update signature.
25624         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
25625         prototype.
25626         (rpl_dup2_fchdir): Delete prototype.
25627         * lib/open.c (open): Update caller.
25628         * lib/dup2.c (dup2): Track fchdir metadata.
25629         * lib/dup3.c (dup3): Likewise.
25630         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
25631         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
25632
25633 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25634
25635         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
25636         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
25637         don't pass arguments to AC_OUTPUT.
25638
25639 2009-09-02  Bruno Haible  <bruno@clisp.org>
25640
25641         * modules/mkdtemp (License): Relicense under LGPLv2+.
25642         Reported by Paolo Bonzini.
25643
25644 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25645
25646         Replace uses of obsolete autoconf macros in Jim's modules.
25647         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
25648         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
25649         can evoke a warning from autoconf when run with -Wobsolete
25650         enabled.  They were declared obsolete for good reasons (see
25651         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
25652         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
25653         should not continue using the deprecated macros.
25654         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
25655         obsolete Autoconf macros with modern counterparts.
25656         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25657         * m4/dos.m4 (gl_AC_DOS): Likewise.
25658         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
25659         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25660         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
25661         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
25662         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
25663         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
25664         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
25665         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
25666         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
25667         Likewise.
25668         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25669         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
25670         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
25671         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
25672         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
25673         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
25674
25675 2009-09-01  Eric Blake  <ebb9@byu.net>
25676
25677         fchdir: fix off-by-one bug in previous patch
25678         * lib/fchdir.c (rpl_fstat): Use correct bounds.
25679         (_gl_unregister_fd): Delete useless if.
25680
25681 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
25682
25683         maint.mk: sort the list of syntax-check rules
25684         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
25685         easier to get a sense of progress when the rules are run sequentially
25686         and take a long time.
25687
25688 2009-09-01  Simon Josefsson  <simon@josefsson.org>
25689
25690         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
25691         * modules/netinet_in: Likewise.
25692         * modules/sys_file: Likewise.
25693         * modules/sys_ioctl: Likewise.
25694         * modules/sys_select: Likewise.
25695         * modules/sys_socket: Likewise.
25696         * modules/sys_stat: Likewise.
25697         * modules/sys_time: Likewise.
25698         * modules/sys_times: Likewise.
25699         * modules/sys_utsname: Likewise.
25700         * modules/sys_wait: Likewise.
25701
25702 2009-09-01  Jim Meyering  <meyering@redhat.com>
25703
25704         fts: help ensure that return values are not ignored
25705         * lib/fts_.h (__GNUC_PREREQ): Define.
25706         (__attribute_warn_unused_result__): Define.
25707         (fts_children, fts_close, fts_open, fts_read): Declare with
25708         __attribute_warn_unused_result__.
25709
25710         fts: fts_close now fails also when closing a dir file descriptor fails
25711         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
25712         and propagate to caller, along with errno.
25713
25714         announce-gen: correct formatting in --help output
25715         * build-aux/announce-gen (usage): Move the one-line description in
25716         --help output "up", to where it belongs, just after Usage:.
25717
25718 2009-08-31  Eric Blake  <ebb9@byu.net>
25719
25720         fchdir: port to mingw
25721         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
25722         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
25723         opened, then use a substitute.
25724         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
25725         replacement.
25726         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
25727         (_gl_register_fd): No need to check stat if open already filters
25728         all directories.
25729         (fchdir): Fix error condition to match POSIX.
25730         * modules/fchdir (Depends-on): Add sys_stat.
25731         * doc/posix-functions/open.texi (open): Document the limitation.
25732         * modules/fchdir-tests: New file.
25733         * tests/test-fchdir.c: Likewise.
25734
25735         canonicalize: allow cross-testing from cygwin to mingw
25736         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
25737         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
25738         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
25739         Likewise.
25740         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
25741         target does not support symlinks.
25742         * tests/test-canonicalize-lgpl.sh: Likewise.
25743
25744         chown: avoid compilation warning on mingw
25745         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
25746         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
25747         mingw.
25748         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25749         * modules/chown (Depends-on): Add errno.
25750
25751 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
25752
25753         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
25754         command.
25755
25756 2009-08-31  Jim Meyering  <meyering@redhat.com>
25757
25758         canonicalize: remove useless initialization
25759         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
25760         initialization of local, "end".
25761
25762 2009-08-30  Bruno Haible  <bruno@clisp.org>
25763
25764         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
25765         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
25766         ENOSYS.
25767
25768 2009-08-30  Bruno Haible  <bruno@clisp.org>
25769
25770         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
25771         /usr/xpg4/bin/tr when it exists.
25772         * tests/test-pipe-filter-gi1.sh: Likewise.
25773
25774 2009-08-30  Bruno Haible  <bruno@clisp.org>
25775
25776         Work around deficient /usr/bin/id program on Solaris.
25777         * tests/test-file-has-acl.sh (ID): New variable.
25778         * tests/test-set-mode-acl.sh (ID): Likewise.
25779         * tests/test-copy-acl.sh (ID): Likewise.
25780         * tests/test-copy-file.sh (ID): Likewise.
25781
25782 2009-08-30  Bruno Haible  <bruno@clisp.org>
25783
25784         New module 'xstriconveh'.
25785         * lib/xstriconveh.h: New file.
25786         * lib/xstriconveh.c: New file.
25787         * modules/xstriconveh: New file.
25788
25789 2009-08-30  Bruno Haible  <bruno@clisp.org>
25790
25791         Make it easier to use mem_cd_iconveh.
25792         * lib/striconveh.h (iconveh_t): New type.
25793         (iconveh_open, iconveh_close): New declarations.
25794         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25795         with a single 'const iconveh_t *' argument.
25796         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
25797         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25798         with a single 'const iconveh_t *' argument.
25799         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
25800         * tests/test-striconveh.c (main): Update.
25801         * NEWS: Mention the change.
25802
25803 2009-08-30  Bruno Haible  <bruno@clisp.org>
25804
25805         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
25806         problem.
25807
25808 2009-08-30  Bruno Haible  <bruno@clisp.org>
25809
25810         Work around iconv_open problem on Solaris.
25811         * lib/iconv_open-solaris.gperf: New file.
25812         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
25813         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
25814         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
25815         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
25816         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
25817         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
25818
25819 2009-08-29  Jim Meyering  <meyering@redhat.com>
25820
25821         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
25822         * top/maint.mk (cvs-check): Remove target; it was just an alias
25823         to the better-named vc-diff-check.
25824         (maintainer-distcheck): Remove rule.  It was used only from
25825         the (alpha/beta/major) target, and all of its commands but one
25826         were coreutils-specific.
25827         (vc-dist): Remove rule.
25828         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
25829         Run vc-diff-check, not vc-dist.
25830         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
25831
25832 2009-08-27  Bruno Haible  <bruno@clisp.org>
25833
25834         * tests/test-bitrotate.c (main): Remove test that uses a shift count
25835         of 0.
25836
25837 2009-08-27  Bruno Haible  <bruno@clisp.org>
25838
25839         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
25840         compilers.
25841         * doc/func.texi: Document the SunPRO C bug.
25842
25843 2009-08-27  Bruno Haible  <bruno@clisp.org>
25844
25845         Fix link error on Solaris.
25846         * tests/test-parse-duration.c (xstrdup): Remove function.
25847
25848 2009-08-26  Pádraig Brady  <P@draigbrady.com>
25849
25850         ignore-value: handle pointer types, too
25851         * lib/ignore-value.h (__attribute__): Remove definition.
25852         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
25853         of a more concise and more-often effective "(void) i" statement.
25854         (ignore_ptr): New function to suppress warnings from functions that
25855         return pointers, and to make it explicit that one function doesn't
25856         handle all cases.
25857
25858 2009-08-25  Bruno Haible  <bruno@clisp.org>
25859
25860         dup2: work around a Linux bug.
25861         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
25862         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
25863         * doc/posix-functions/dup2.texi: Mention the Linux bug.
25864         Reported by Simon Josefsson.
25865
25866 2009-08-25  Jim Meyering  <meyering@redhat.com>
25867
25868         libguestfs uses gnulib
25869         * users.txt: Add libguestfs.
25870
25871 2009-08-24  Eric Blake  <ebb9@byu.net>
25872
25873         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
25874         * lib/pipe2.c (includes): Add binary-io.h.
25875         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
25876
25877 2009-08-24  Bruno Haible  <bruno@clisp.org>
25878
25879         Tolerate declared but missing accept4 syscall.
25880         * lib/accept4.c (accept4): Invoke original accept4 function first, if
25881         available.
25882         * lib/sys_socket.in.h (accept4): If the function is already present,
25883         override it.
25884         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
25885         * modules/accept4 (Makefile.am): Compile accept4.c always.
25886         Reported by Paolo Bonzini and Eric Blake.
25887
25888 2009-08-23  Bruno Haible  <bruno@clisp.org>
25889
25890         New module 'accept4'.
25891         * lib/sys_socket.in.h (accept4): New declaration.
25892         * lib/accept4.c: New file.
25893         * m4/accept4.m4: New file.
25894         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25895         GNULIB_ACCEPT4, HAVE_ACCEPT4.
25896         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
25897         HAVE_ACCEPT4.
25898         * modules/accept4: New file.
25899         * doc/glibc-functions/accept4.texi: Mention the new module.
25900
25901 2009-08-24  Jim Meyering  <meyering@redhat.com>
25902
25903         progname: also set global program_invocation_name, when possible
25904         Before this change, a libtool-enabled program that calls glibc's
25905         error function would report the program name as
25906         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
25907         * modules/progname (configure.ac): Check for a declaration of
25908         program_invocation_name.
25909         * lib/progname.c:  Include <errno.h>.
25910         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
25911         Set program_invocation_name.
25912
25913 2009-08-23  Bruno Haible  <bruno@clisp.org>
25914
25915         * lib/dup3.c: Include <string.h>.
25916
25917 2009-08-23  Bruno Haible  <bruno@clisp.org>
25918
25919         * lib/dup3.c (dup3): Test only once whether the system actually exists.
25920         * lib/pipe2.c (pipe2): Likewise.
25921         Suggested by Eric Blake.
25922
25923 2009-08-23  Bruno Haible  <bruno@clisp.org>
25924
25925         Tolerate declared but missing dup3 syscall.
25926         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
25927         * lib/unistd.in.h (dup3): If the function is already present,
25928         override it.
25929         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
25930         * modules/dup3 (Makefile.am): Compile dup3.c always.
25931         Reported by Paolo Bonzini.
25932
25933 2009-08-23  Bruno Haible  <bruno@clisp.org>
25934
25935         Tolerate declared but missing pipe2 syscall.
25936         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
25937         available.
25938         * lib/unistd.in.h (pipe2): If the function is already present,
25939         override it.
25940         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
25941         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
25942         Reported by Paolo Bonzini.
25943
25944 2009-08-23  Bruno Haible  <bruno@clisp.org>
25945
25946         * lib/pipe2.c (pipe2): Move #ifs inside function.
25947
25948 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25949
25950         quotearg: document limitations of quote_these_too
25951         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
25952         those limitations are created.
25953         * lib/quotearg.h (set_char_quoting): Document that digits and
25954         letters that are special after backslash are not permitted.
25955         (quotearg_char): Cross-reference set_char_quoting documentation.
25956
25957 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
25958
25959         quotearg: implement custom_quoting_style
25960         * lib/quotearg.c: (struct quoting_options): Add left_quote and
25961         right_quote fields.
25962         (set_custom_quoting): New public function.
25963         (quotearg_buffer_restyled): Add left_quote and right_quote
25964         arguments, handle them very much like locale quoting, and update
25965         all uses.
25966         (quotearg_n_custom): New public function.
25967         (quotearg_n_custom_mem): New public function.
25968         (quotearg_custom): New public function.
25969         (quotearg_custom_mem): New public function.
25970         * lib/quotearg.h: Prototype and document new public functions.
25971         (enum quoting_style): For escape_quoting_style and
25972         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
25973         ignored even though they're otherwise like c_quoting_style.
25974         Add custom_quoting_style member and document with comparison to
25975         clocale_quoting_style.
25976         * tests/test-quotearg.c (custom_quotes): New array.
25977         (custom_results): New array.
25978         (main): Extend to test custom quoting.
25979
25980 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25981
25982         quotearg: fix right quote escaping when it's in quote_these_too
25983         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
25984         quote, be sure to prepend only one backslash.
25985         * tests/test-quotearg.c (use_quote_double_quotes): New function.
25986         (main): Test it.
25987
25988 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25989
25990         quotearg-tests: test escaping of embedded locale quotes
25991         * tests/test-quotearg.c (struct result_strings): Add member for
25992         new input.
25993         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
25994         (inputs): Add new input.
25995         (results_g): Add expected results.
25996         (flag_results): Likewise.
25997         (locale_results): Likewise.
25998         (compare_strings): Check those.
25999
26000 2009-08-23  Bruno Haible  <bruno@clisp.org>
26001
26002         Tests for module 'dup3'.
26003         * modules/dup3-tests: New file.
26004         * tests/test-dup3.c: New file.
26005
26006         New module 'dup3'.
26007         * lib/unistd.in.h (dup3): New declaration.
26008         * lib/dup3.c: New file.
26009         * m4/dup3.m4: New file.
26010         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
26011         HAVE_DUP3.
26012         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
26013         * modules/dup3: New file.
26014         * doc/glibc-functions/dup3.texi: Mention the new module.
26015
26016 2009-08-23  Bruno Haible  <bruno@clisp.org>
26017
26018         Tweak the dup2 test.
26019         * tests/test-dup2.c (main): Create the test file empty. Verify that an
26020         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
26021         the test file is still empty. Fix argument order of lseek.
26022
26023 2009-08-23  Bruno Haible  <bruno@clisp.org>
26024
26025         Avoid test link errors when the modules getopt-gnu, gettext are used.
26026         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
26027         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26028
26029 2009-08-23  Bruno Haible  <bruno@clisp.org>
26030
26031         Fix getdtablesize() on mingw.
26032         * lib/getdtablesize.c (getdtablesize): Implement differently.
26033         * lib/unistd.in.h (getdtablesize): Improve comment.
26034
26035 2009-08-23  Bruno Haible  <bruno@clisp.org>
26036
26037         New module 'mkostemp'.
26038         Based on Ulrich Drepper's 2007-08-10 change in glibc.
26039         * lib/stdlib.in.h (mksotemp): New declaration.
26040         * lib/mkostemp.c: New file, from glibc with modifications.
26041         * lib/tempname.h (GT_FILE): Remove outdated comment.
26042         (gen_tempname): Add flags argument.
26043         * lib/tempname.c (__GT_BIGFILE): Remove macro.
26044         (__GT_FILE): Map to 1.
26045         (small_open, large_open): Remove macros.
26046         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
26047         * lib/mkstemp.c (mkstemp): Update.
26048         * lib/mkdtemp.c (mkdtemp): Likewise.
26049         * m4/mkostemp.m4: New file.
26050         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
26051         HAVE_MKOSTEMP.
26052         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
26053         HAVE_MKOSTEMP.
26054         * modules/mkostemp: New file, based on modules/mkstemp.
26055         * doc/glibc-functions/mkostemp.texi: Mention the new module.
26056         * NEWS: Mention the change.
26057
26058 2009-08-23  Bruno Haible  <bruno@clisp.org>
26059
26060         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
26061         Reported by Eric Blake.
26062
26063 2009-08-23  Bruno Haible  <bruno@clisp.org>
26064
26065         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
26066         Reported by Eric Blake.
26067
26068 2009-08-23  Bruno Haible  <bruno@clisp.org>
26069
26070         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
26071         * modules/pipe2 (Depends-on): Likewise.
26072
26073 2009-08-23  Eric Blake  <ebb9@byu.net>
26074
26075         fcntl-h: add O_TTY_INIT support
26076         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
26077         * tests/test-fcntl-h.c (o): Test it.
26078         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26079
26080         fcntl-h: rename from fcntl, in preparation for fcntl(2)
26081         * modules/fcntl: Move <fcntl.h> header replacement...
26082         * modules/fcntl-h: ...to new name, so as not to collide with
26083         like-named function.
26084         * tests/test-fcntl.c: Rename...
26085         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
26086         * modules/fcntl-tests: Rename...
26087         * modules/fcntl-h-tests: ...to this.  Update test file name.
26088         * modules/chdir-long (Depends-on): Update clients.
26089         * modules/chdir-safer (Depends-on): Likewise.
26090         * modules/fcntl-safer (Depends-on): Likewise.
26091         * modules/fts (Depends-on): Likewise.
26092         * modules/mkancesdirs (Depends-on): Likewise.
26093         * modules/mkdir-p (Depends-on): Likewise.
26094         * modules/open (Depends-on): Likewise.
26095         * modules/savewd (Depends-on): Likewise.
26096         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
26097         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26098
26099 2009-08-22  Bruno Haible  <bruno@clisp.org>
26100
26101         * modules/binary-io (License): Relicense under LGPL.
26102         * modules/pipe2 (License): Likewise.
26103
26104 2009-08-22  Bruno Haible  <bruno@clisp.org>
26105
26106         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
26107         return value.
26108         * lib/pipe-filter-gi.c (filter_init): Likewise.
26109         Reported by Eric Blake.
26110
26111 2009-08-22  Bruno Haible  <bruno@clisp.org>
26112
26113         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
26114         * modules/pipe (Depends-on): Add pipe2.
26115
26116 2009-08-22  Bruno Haible  <bruno@clisp.org>
26117
26118         Tests for module 'pipe2'.
26119         * modules/pipe2-tests: New file.
26120         * tests/test-pipe2.c: New file.
26121
26122         New module 'pipe2'.
26123         * lib/unistd.in.h (pipe2): New declaration.
26124         * lib/pipe2.c: New file.
26125         * m4/pipe2.m4: New file.
26126         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
26127         HAVE_PIPE2.
26128         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
26129         * modules/pipe2: New file.
26130         * doc/glibc-functions/pipe2.texi: Mention the new module.
26131
26132 2009-08-22  Bruno Haible  <bruno@clisp.org>
26133
26134         Reference some new glibc functions.
26135         * doc/glibc-functions/accept4.texi: New file.
26136         * doc/glibc-functions/dup3.texi: New file.
26137         * doc/glibc-functions/mkostemp.texi: New file.
26138         * doc/glibc-functions/pipe2.texi: New file.
26139         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
26140         (Glibc sys/socket.h): Refer to accept4.
26141         (Glibc unistd.h): Refer to dup3, pipe2.
26142         Reported by Eric Blake.
26143
26144 2009-08-22  Jim Meyering  <meyering@redhat.com>
26145             Bruno Haible  <bruno@clisp.org>
26146
26147         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
26148         This makes it so packages using automake-1.11's silent-rules option
26149         can print e.g., a single "GEN    configmake.h" line, rather than
26150         the 30+ statements that perform the job.  If you want to see the
26151         actual commands, you can still run "make V=1".
26152         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
26153         so that make output is abbreviated when those variables are defined
26154         appropriately.
26155         * modules/argz: Likewise.
26156         * modules/arpa_inet: Likewise.
26157         * modules/byteswap: Likewise.
26158         * modules/configmake: Likewise.
26159         * modules/dirent: Likewise.
26160         * modules/errno: Likewise.
26161         * modules/fcntl: Likewise.
26162         * modules/float: Likewise.
26163         * modules/fnmatch: Likewise.
26164         * modules/getopt-posix: Likewise.
26165         * modules/glob: Likewise.
26166         * modules/iconv_open: Likewise.
26167         * modules/inttypes: Likewise.
26168         * modules/localcharset: Likewise.
26169         * modules/locale: Likewise.
26170         * modules/math: Likewise.
26171         * modules/netdb: Likewise.
26172         * modules/netinet_in: Likewise.
26173         * modules/poll: Likewise.
26174         * modules/posix_spawnp-tests: Likewise.
26175         * modules/sched: Likewise.
26176         * modules/search: Likewise.
26177         * modules/selinux-h: Likewise.
26178         * modules/signal: Likewise.
26179         * modules/spawn: Likewise.
26180         * modules/stdarg: Likewise.
26181         * modules/stdbool: Likewise.
26182         * modules/stddef: Likewise.
26183         * modules/stdint: Likewise.
26184         * modules/stdio: Likewise.
26185         * modules/stdlib: Likewise.
26186         * modules/string: Likewise.
26187         * modules/strings: Likewise.
26188         * modules/sys_file: Likewise.
26189         * modules/sys_ioctl: Likewise.
26190         * modules/sys_select: Likewise.
26191         * modules/sys_socket: Likewise.
26192         * modules/sys_stat: Likewise.
26193         * modules/sys_time: Likewise.
26194         * modules/sys_times: Likewise.
26195         * modules/sys_utsname: Likewise.
26196         * modules/sys_wait: Likewise.
26197         * modules/sysexits: Likewise.
26198         * modules/time: Likewise.
26199         * modules/unistd: Likewise.
26200         * modules/wchar: Likewise.
26201         * modules/wctype: Likewise.
26202
26203 2009-08-22  Jim Meyering  <meyering@redhat.com>
26204
26205         announce-gen: detect write failure
26206         * build-aux/announce-gen: Add Coda at end.
26207         Remove equivalent-but-more-verbose block at top.
26208
26209 2009-08-19  Akim Demaille  <demaille@gostai.com>
26210
26211         bootstrap: --help to stdout.
26212         * bootstrap (usage): Don't send --help to stderr.
26213         Use a here doc instead of a long string.
26214
26215 2009-08-21  Eric Blake  <ebb9@byu.net>
26216
26217         test-popen-safer: split from test-popen
26218         * tests/test-popen.c (main): Move...
26219         * tests/test-popen.h: ...into new file.
26220         * tests/test-popen-safer2.c: New file.
26221         * modules/popen-tests (Files): Add test-popen.h.
26222         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
26223         Suggested by Bruno Haible.
26224
26225         test-fcntl-safer: split from test-open
26226         * tests/test-open.c (main): Move...
26227         * tests/test-open.h: ...into new file.
26228         * tests/test-fcntl-safer.c: New file.
26229         * modules/open-tests (Files): Add test-open.h.
26230         * modules/fcntl-safer-tests: New file.
26231         Suggested by Bruno Haible.
26232
26233         test-fopen-safer: split from test-fopen
26234         * tests/test-fopen.c (main): Move...
26235         * tests/test-fopen.h: ...into new file.
26236         * tests/test-fopen-safer.c: New file.
26237         * modules/fopen-tests (Files): Add test-fopen.h.
26238         * modules/fopen-safer-tests: New file.
26239         Suggested by Bruno Haible.
26240
26241 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
26242
26243         popen-safer: test O_CLOEXEC at run-time.
26244         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
26245
26246 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
26247
26248         fcntl: move more flags to the header
26249         * lib/cloexec.c: Do not define FD_CLOEXEC here.
26250         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
26251         * lib/fcntl.in.h: Do both things here.
26252
26253 2009-08-21  Jim Meyering  <meyering@redhat.com>
26254
26255         consistently remove $@-t before redirecting to it
26256         * modules/argz: Remove $@-t and $@ before redirecting to the former.
26257         * modules/alloca-opt: Likewise.
26258         * modules/byteswap: Likewise.
26259         * modules/fnmatch: Likewise.
26260         * modules/getopt-posix: Likewise.
26261         * modules/glob: Likewise.
26262         * modules/poll: Likewise.
26263         * modules/posix_spawnp-tests: Likewise.
26264         * modules/sys_socket: Likewise.
26265         * modules/sysexits: Likewise.
26266
26267 2009-08-21  Eric Blake  <ebb9@byu.net>
26268
26269         popen: simplify access to original popen
26270         * lib/popen.c (rpl_popen): No need to worry about popen being a
26271         macro.
26272         Reported by Bruno Haible.
26273
26274 2009-08-20  Eric Blake  <ebb9@byu.net>
26275
26276         build: avoid some compiler warnings
26277         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
26278         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
26279         type.
26280         (new_exclude_segment, excluded_file_pattern_p)
26281         (excluded_file_name_p): Reduce scope.
26282         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
26283         old-style declaration.
26284
26285 2009-08-20  Simon Josefsson  <simon@josefsson.org>
26286
26287         * tests/test-exclude1.sh: Handle Windows EOL.
26288         * tests/test-exclude2.sh: Likewise.
26289         * tests/test-exclude3.sh: Likewise.
26290         * tests/test-exclude4.sh: Likewise.
26291         * tests/test-exclude5.sh: Likewise.
26292         * tests/test-exclude6.sh: Likewise.
26293         * tests/test-exclude7.sh: Likewise.
26294
26295 2009-08-19  Akim Demaille  <demaille@gostai.com>
26296
26297         bootstrap: find sha1sum when named gsha1sum.
26298         * bootstrap (find_tool): New.
26299         ($SHA1SUM): New.
26300         Use it.
26301
26302 2009-08-20  Jim Meyering  <meyering@redhat.com>
26303
26304         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
26305         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
26306         expression that converts "." in a file name to "\." in the resulting
26307         regexp.  Start with a dummy statement, so that prior shell variable
26308         definitions are expanded portably.  Reported by Simon Josefsson.
26309
26310 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
26311
26312         Fix polling for writeability of a screen buffer.
26313         * lib/poll.c: Distinguish input and screen buffers for the
26314         Win32 implementation.
26315         * lib/select.c: Likewise.
26316
26317 2009-08-19  Eric Blake  <ebb9@byu.net>
26318
26319         popen-safer: prevent popen from clobbering std descriptors
26320         * modules/popen-safer: New file.
26321         * lib/popen-safer.c: Likewise.
26322         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
26323         * lib/stdio--.h (popen): Provide override.
26324         * lib/stdio-safer.h (popen_safer): Provide declaration.
26325         * tests/test-popen.c (includes): Partially test this.
26326         * modules/popen-safer-tests: New file, for more tests.
26327         * tests/test-popen-safer.c: Likewise.
26328         * MODULES.html.sh (file stream based Input/Output): Mention it.
26329
26330         tests: test some of the *-safer modules
26331         * modules/fopen-safer (Depends-on): Add fopen.
26332         * modules/fcntl-safer (Depends-on): Add fcntl.
26333         * modules/stdlib-safer (Depends-on): Add stdlib.
26334         (configure.ac): Set indicator.
26335         * modules/unistd-safer (configure.ac): Likewise.
26336         * modules/tmpfile-safer (configure.ac): Likewise.
26337         (Depends-on): Add tmpfile.
26338         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
26339         active.
26340         * tests/test-fopen.c (includes): Test safer versions when they are
26341         in use.
26342         * tests/test-open.c (includes): Likewise.
26343
26344         popen: fix cygwin 1.5 bug when stdin closed
26345         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
26346         * modules/popen: New file.
26347         * modules/popen-tests: Likewise.
26348         * tests/test-popen.c: Likewise.
26349         * m4/popen.m4: Likewise.
26350         * lib/popen.c: Likewise.
26351         * lib/stdio.in.h (popen): New declaration.
26352         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
26353         * modules/stdio (Makefile.am): Likewise.
26354         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
26355
26356 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
26357
26358         maint.mk: give full control over update-copyright exclusions
26359         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
26360         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
26361         (update-copyright): Don't force inclusion of top-level
26362         ChangeLog.  Don't force exclusion of all COPYING files, but make
26363         them the default exclusion instead.
26364
26365 2009-08-16  Bruno Haible  <bruno@clisp.org>
26366
26367         Fix test failures on Solaris 10.
26368         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
26369         tests when Solaris iconv() is used.
26370         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
26371         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
26372         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
26373         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
26374         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
26375
26376 2009-08-16  Bruno Haible  <bruno@clisp.org>
26377
26378         Fix test failures on Solaris 10.
26379         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
26380         'tr' program and pass it as first argument.
26381         * tests/test-pipe-filter-gi1.sh: Likewise.
26382         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
26383         program as first argument.
26384         * tests/test-pipe-filter-gi1.c (main): Likewise.
26385
26386 2009-08-16  Eric Blake  <ebb9@byu.net>
26387
26388         fpurge: fix previous commits
26389         * modules/fpurge (Makefile.am): Make replacement conditional,
26390         partially reverting 2007-04-29 change; missed in previous
26391         attempt.
26392         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
26393         is missing.
26394
26395 2009-08-16  Bruno Haible  <bruno@clisp.org>
26396
26397         Clarify fpurge's effect on the file position.
26398         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
26399         * tests/test-fpurge.c (main): Make a second pass for checking the file
26400         position.
26401
26402 2009-08-16  Bruno Haible  <bruno@clisp.org>
26403
26404         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
26405         declaration of fpurge is missing.
26406         * tests/test-fpurge.c (main): Check that the file has not more contents
26407         than expected. Close the file before removing it.
26408
26409 2009-08-15  Eric Blake  <ebb9@byu.net>
26410
26411         fpurge: don't wrap working cygwin implementation
26412         * lib/fpurge.c (fpurge): Fix comment typo.
26413         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
26414         1.7 to avoid replacement.
26415         * tests/test-fpurge.c (main): Enhance test.
26416
26417 2009-08-15  Eric Blake  <ebb9@byu.net>
26418         and Jim Meyering  <meyering@redhat.com>
26419
26420         test-update-copyright: skip if perl is insufficient
26421         * tests/test-update-copyright.sh: Failure to run maintainer tool
26422         should not cause testsuite failure on cygwin 1.5.
26423
26424 2009-08-14  Eric Blake  <ebb9@byu.net>
26425
26426         doc: mention more functions added in cygwin 1.7.0
26427         * doc/posix-headers/limits.texi (limits.h): Update for recent
26428         cygwin additions.
26429         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
26430         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
26431         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
26432         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
26433         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
26434
26435 2009-08-14  Eric Blake  <ebb9@byu.net>
26436
26437         maint.mk: simplify update-copyright rule
26438         * top/maint.mk (update-copyright-local): Delete, and document how
26439         to do it in cfg.mk instead.
26440         (update-copyright-exclude-regexp): Delete, and document how to do
26441         it in .x-update-copyright instead.
26442         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
26443         exclude ChangeLog.
26444
26445 2009-08-14  Bruno Haible  <bruno@clisp.org>
26446
26447         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
26448
26449 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26450
26451         maint.mk: support update-copyright-env
26452         * top/maint.mk (update-copyright-env): Define place-holder.
26453         (update-copyright): Expand $(update-copyright-env) before
26454         invoking update-copyright.
26455
26456 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26457
26458         update-copyright: implement forced reformatting
26459         * build-aux/update-copyright: Implement and document
26460         UPDATE_COPYRIGHT_FORCE.
26461         * tests/test-update-copyright.sh: Test it.
26462
26463 2009-08-14  Eric Blake  <ebb9@byu.net>
26464         and Bruno Haible  <bruno@clisp.org>
26465
26466         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
26467         * tests/test-locale.c: Revert previous patch related to NULL.
26468         * tests/test-stdio.c: Likewise.
26469         * tests/test-stdlib.c: Likewise.
26470         * tests/test-string.c: Likewise.
26471         * tests/test-unistd.c: Likewise.
26472         * modules/time-tests (Depends-on): Add verify.
26473         * modules/wchar-tests (Depends-on): Likewise.
26474         * tests/test-time.c: Test for NULL compliance.
26475         * tests/test-wchar.c: Likewise.
26476         * modules/locale (Depends-on): Add stddef.
26477         * modules/stdio (Depends-on): Likewise.
26478         * modules/stdlib (Depends-on): Likewise.
26479         * modules/string (Depends-on): Likewise.
26480         * modules/time (Depends-on): Likewise.
26481         * modules/unistd (Depends-on): Likewise.
26482         * modules/wchar (Depends-on): Likewise.
26483         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
26484         * lib/stdlib.in.h (includes): Likewise.
26485         * lib/string.in.h (includes): Likewise.
26486         * lib/time.in.h (includes): Likewise.
26487         * lib/unistd.in.h (includes): Likewise.
26488         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
26489         replaced.
26490         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26491         * m4/stddef_h.m4: New file.
26492         * modules/stddef: Likewise.
26493         * lib/stddef.in.h: Likewise.
26494         * modules/stddef-tests: Likewise.
26495         * tests/test-stddef.c: Likewise.
26496         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
26497         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
26498         * doc/posix-headers/locale.texi (locale.h): Likewise.
26499         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
26500         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26501         * doc/posix-headers/string.texi (string.h): Likewise.
26502         * doc/posix-headers/time.texi (time.h): Likewise.
26503         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
26504         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
26505
26506 2009-08-14  Eric Blake  <ebb9@byu.net>
26507
26508         doc: improve git diff of texinfo files
26509         * .gitattributes: Add rule for *.texi files, with hint on how to
26510         use it.
26511         Copied from m4, and based on a report by Bruno Haible.
26512
26513 2009-08-14  Bruno Haible  <bruno@clisp.org>
26514
26515         Disable multithread support by default on Cygwin 1.5.x for real.
26516         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
26517
26518 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26519
26520         update-copyright: much ado about intervals
26521         * build-aux/update-copyright: Implement and document
26522         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
26523         of copyright year intervals.
26524         Also, document UPDATE_COPYRIGHT_YEAR.
26525         * tests/test-update-copyright.sh: Test it.
26526
26527         update-copyright: convert 2-digit to 4-digit years
26528         * build-aux/update-copyright: Implement and document.
26529         * tests/test-update-copyright.sh: Update.
26530
26531 2009-08-14  Jim Meyering  <meyering@redhat.com>
26532
26533         test-exclude: avoid coreutils "make check" failure
26534         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
26535         just as in test-argmatch.c.
26536
26537 2009-08-13  Eric Blake  <ebb9@byu.net>
26538
26539         test-dup2: fix bad assumption
26540         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
26541         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
26542
26543         test-version-etc: fix CRLF portability issue
26544         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
26545         recognize \r.
26546         * tests/test-argp-version-etc-1.sh: Likewise.
26547
26548         getopt: update client modules
26549         * modules/argp (Depends-on): Use getopt-gnu.
26550         * modules/git-merge-changelog (Depends-on): Likewise.
26551         * modules/long-options (Depends-on): Likewise.
26552         * modules/xstrtol (Depends-on): Likewise.
26553
26554 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26555
26556         * tests/test-version-etc.sh: Don't fail on different
26557         project/version.  Don't fail on CRLF differences.  Rewrite to use
26558         multiple -e instead of multiple sed forks, suggested by Eric Blake
26559         <ebb9@byu.net>.
26560         * tests/test-argp-version-etc-1.sh: Likewise.
26561
26562 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26563
26564         * tests/test-version-etc.sh: Don't fail on different
26565         project/version.
26566
26567 2009-08-12  Bruno Haible  <bruno@clisp.org>
26568
26569         Tests for modules 'getopt-posix', 'getopt-gnu'.
26570         * modules/getopt-posix-tests: New file.
26571         * tests/test-getopt.c: New file.
26572         * tests/test-getopt.h: New file.
26573         * tests/test-getopt_long.h: New file.
26574
26575         New modules 'getopt-posix', 'getopt-gnu'.
26576         * modules/getopt-gnu: New file, renamed from modules/getopt.
26577         * modules/getopt-posix: New file.
26578         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
26579         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
26580         (gl_GETOPT): Remove macro.
26581         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
26582         Disable the test against BSD systems that declare optreset. Test
26583         against mingw bug. Test against lack of support of optional arguments
26584         on many platforms.
26585         * doc/glibc-headers/getopt.texi: Update module name and list of
26586         relevant platforms.
26587         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
26588         'getopt-gnu' and more portability problems.
26589         * NEWS: Mention the changes.
26590
26591 2009-08-12  Bruno Haible  <bruno@clisp.org>
26592
26593         Ensure that optarg etc. get declared by <unistd.h>.
26594         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
26595         AC_USE_SYSTEM_EXTENSIONS.
26596         * modules/getopt (Depends-on): Add 'extensions'.
26597
26598 2009-08-12  Bruno Haible  <bruno@clisp.org>
26599
26600         Avoid test link errors.
26601         * modules/pipe-filter-ii-tests (Makefile.am): Define
26602         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
26603         * modules/pipe-filter-gi-tests (Makefile.am): Define
26604         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
26605         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26606
26607 2009-08-12  Bruno Haible  <bruno@clisp.org>
26608
26609         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
26610         gl_GETOPT_SUBSTITUTE before.
26611         (gl_GETOPT): Use it.
26612         * m4/argp.m4 (gl_ARGP): Update.
26613         Reported by Sergey Poznyakoff.
26614
26615         * m4/getopt.m4: Reorder macros.
26616         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
26617         (gl_GETOPT_SUBSTITUTE): Remove macro.
26618
26619 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26620
26621         Minor improvement in gitlog-to-changelog
26622
26623         * build-aux/gitlog-to-changelog: New option `--format' makes
26624         output format string configurable.
26625
26626 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26627
26628         Optimize exclude: use hash tables for non-wildcard patterns.
26629
26630         * lib/exclude.c: Include hash.h and mbuiter.h
26631         (struct exclude_pattern, exclude_segment): New data types.
26632         (struct exclude): Rewrite.
26633         (fnmatch_pattern_has_wildcards): New function.
26634         (new_exclude_segment, free_exclude_segment): New functions.
26635         (excluded_file_pattern_p, excluded_file_name_p): New functions.
26636         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
26637         * lib/exclude.h (is_fnmatch_pattern): New prototype.
26638         * modules/exclude: Depend on hash and mbuiter.
26639
26640         * modules/exclude-tests: New file.
26641         * tests/test-exclude.c: New file.
26642         * tests/test-exclude1.sh: New file.
26643         * tests/test-exclude2.sh: New file.
26644         * tests/test-exclude3.sh: New file.
26645         * tests/test-exclude4.sh: New file.
26646         * tests/test-exclude5.sh: New file.
26647         * tests/test-exclude6.sh: New file.
26648         * tests/test-exclude7.sh: New file.
26649
26650 2009-08-12  Bruno Haible  <bruno@clisp.org>
26651
26652         Ensure that getopt() gets declared by <unistd.h>.
26653         * lib/unistd.in.h: Conditionally include getopt.h.
26654         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
26655         Set GNULIB_UNISTD_H_GETOPT.
26656         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26657         GNULIB_UNISTD_H_GETOPT.
26658         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
26659
26660 2009-08-12  Bruno Haible  <bruno@clisp.org>
26661
26662         Clarify logic.
26663         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
26664         gl_replace_getopt instead of GETOPT_H.
26665
26666 2009-08-12  Bruno Haible  <bruno@clisp.org>
26667
26668         * m4/getopt.m4: Add comments.
26669
26670 2009-08-12  Bruno Haible  <bruno@clisp.org>
26671
26672         Disable multithread support by default on Cygwin 1.5.x.
26673         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
26674         set gl_use_threads=no if not specified otherwise.
26675
26676 2009-08-11  Bruno Haible  <bruno@clisp.org>
26677
26678         Avoid compilation error on NetBSD 5.0.
26679         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
26680         * tests/test-stdio.c: Likewise.
26681         * tests/test-stdlib.c: Likewise.
26682         * tests/test-string.c: Likewise.
26683         * tests/test-unistd.c: Likewise.
26684         Reported by Greg Troxel <gdt@ir.bbn.com>
26685         at <https://savannah.gnu.org/support/?106973>.
26686
26687 2009-08-11  Bruno Haible  <bruno@clisp.org>
26688
26689         * modules/dup2-tests (Depends-on): Remove close.
26690
26691         Undo 2009-07-19 commit.
26692         * modules/acl-tests (Depends-on): Remove close.
26693         * modules/binary-io-tests (Depends-on): Likewise.
26694         * modules/closein-tests (Depends-on): Likewise.
26695         * modules/flock-tests (Depends-on): Likewise.
26696         * modules/fsync-tests (Depends-on): Likewise.
26697         * modules/lseek-tests (Depends-on): Likewise.
26698         * modules/pipe-tests (Depends-on): Likewise.
26699         * modules/posix_spawn-tests (Depends-on): Likewise.
26700         * modules/posix_spawnp-tests (Depends-on): Likewise.
26701         * modules/stat-time-tests (Depends-on): Likewise.
26702         * modules/yesno-tests (Depends-on): Likewise.
26703
26704 2009-08-10  Bruno Haible  <bruno@clisp.org>
26705
26706         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
26707
26708 2009-08-10  Bruno Haible  <bruno@clisp.org>
26709
26710         Fix a gcc warning.
26711         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
26712
26713 2009-08-10  Bruno Haible  <bruno@clisp.org>
26714
26715         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
26716         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
26717         not only the first time.
26718         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
26719         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
26720         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
26721         is 1, not only the the first time.
26722
26723 2009-08-10  Bruno Haible  <bruno@clisp.org>
26724
26725         Make it possible to use module 'gethostname' without module 'close'.
26726         * lib/unistd.in.h (close): Evoke a link error only if
26727         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26729         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26730         * modules/unistd (Makefile.am): Substitute
26731         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26732         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
26733         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26734         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
26735         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26736         * modules/sys_ioctl (Makefile.am): Substitute
26737         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26738         * modules/socket (configure.ac): On native Windows, set
26739         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
26740         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26741         Reported by Sam Steingold <sds@gnu.org>.
26742
26743 2009-08-10  Bruno Haible  <bruno@clisp.org>
26744
26745         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
26746         * modules/ioctl (configure.ac): Likewise.
26747
26748 2009-08-10  Bruno Haible  <bruno@clisp.org>
26749
26750         Avoid collision between gnulib wrapper and libintl wrapper.
26751         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
26752         already defined in intl/printf.c.
26753         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
26754         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
26755
26756 2009-08-09  Bruno Haible  <bruno@clisp.org>
26757
26758         Make <sys/select.h> really self-contained, also on Solaris 10.
26759         * lib/sys_select.in.h: Include <string.h>.
26760         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
26761         Solaris 10 problem.
26762         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
26763         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
26764         Reported by Jim Meyering.
26765
26766 2009-08-09  Bruno Haible  <bruno@clisp.org>
26767
26768         Avoid warnings from 'aclocal' that are due to a use of macro name
26769         AM_XGETTEXT_OPTION that is not defined in automake.
26770         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
26771         automake.
26772         * modules/error (configure.ac): Likewise.
26773         * modules/propername (configure.ac): Likewise.
26774         * modules/vasprintf (configure.ac): Likewise.
26775         * modules/verror (configure.ac): Likewise.
26776         * modules/xprintf (configure.ac): Likewise.
26777         * modules/xvasprintf (configure.ac): Likewise.
26778
26779 2009-08-08  Bruno Haible  <bruno@clisp.org>
26780
26781         Avoid compilation error in C++ mode.
26782         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
26783         Reported by Sam Steingold <sds@gnu.org>.
26784
26785 2009-08-08  Bruno Haible  <bruno@clisp.org>
26786
26787         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
26788         for the various Unix platforms.
26789         * doc/posix-headers/limits.texi: Update platforms list regarding
26790         HOST_NAME_MAX.
26791         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26792
26793 2009-08-07  Jim Meyering  <meyering@redhat.com>
26794
26795         selinux-at: fix typo in a comment
26796         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
26797         Spotted by Paolo Bonzini.
26798
26799         selinux-at: remove redundant m4 code, add documentation
26800         * modules/selinux-at (configure.ac): Remove redundant code.
26801         LIB_SELINUX is already set via the dependent module, selinux-h.
26802         (Include): Add quotes around selinux-at.h.
26803         * lib/selinux-at.h: Add documentation.
26804         Reported by Bruno Haible in
26805         http://marc.info/?l=gnulib-bug&m=124958988300749
26806
26807 2009-08-07  Bruno Haible  <bruno@clisp.org>
26808
26809         Avoid link error on MacOS X 10.3 and 10.4.
26810         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
26811         on non-ELF systems.
26812         * lib/argp-pv.c (argp_program_version): Likewise.
26813         Reported by Simon Josefsson.
26814
26815 2009-08-07  Simon Josefsson  <simon@josefsson.org>
26816
26817         * tests/test-version-etc.sh: Use $EXEEXT.
26818
26819 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
26820
26821         update-copyright: update documentation to point to maint.mk
26822         * build-aux/update-copyright: Here.
26823
26824 2009-08-06  Jim Meyering  <meyering@redhat.com>
26825
26826         maint.mk: support update-copyright-local
26827         * top/maint.mk (update-copyright-local): Define place-holder.
26828         (update-copyright): Depend on $(update-copyright-local).
26829
26830 2009-08-06  Jim Meyering  <meyering@redhat.com>
26831
26832         selinux-at: new module
26833         Initially written for coreutils, this module will soon be
26834         used by findutils, too.
26835         * MODULES.html.sh [Misc]: Add selinux-at.
26836         * lib/selinux-at.h: New file, from coreutils.
26837         * lib/selinux-at.c: Likewise.
26838         * modules/selinux-at: Likewise.
26839         (License): Change from LGPL to GPL, since it depends
26840         on the GPL'd openat module.
26841
26842         doc: update README
26843         * README: Remove references to cogito.
26844         Remove cvs-repo-updating instructions from 2007.
26845         Don't imply that CVS is better if you have limited disk space.
26846
26847 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26848
26849         update-copyright: support C-style comments
26850         * build-aux/update-copyright: Implement and document.
26851         * tests/test-update-copyright.sh: Test.
26852
26853 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26854
26855         update-copyright: support omitted "(C)"
26856         * build-aux/update-copyright: Implement and document.  Also,
26857         allow variable whitespace before "(C)".
26858         * tests/test-update-copyright.sh: Test.
26859
26860 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26861
26862         update-copyright: don't trip on non-FSF copyright statements
26863         * build-aux/update-copyright: Fix so that the first correctly
26864         formatted FSF copyright statement is recognized no matter what
26865         appears before it.  Update documentation.
26866         * tests/test-update-copyright.sh: Test that.
26867
26868 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26869
26870         update-copyright: clean up code a little
26871         * build-aux/update-copyright: Append "_re" to the name of any
26872         variable holding a regular expression.
26873         Replace "old" and "new" with "stmt" in variable names.
26874         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
26875         handled correctly.
26876         Format code more consistently.
26877
26878 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26879
26880         update-copyright-tests: improve portability
26881         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
26882         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
26883
26884 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26885
26886         update-copyright: support @copyright{} and &copy;
26887         * build-aux/update-copyright: Implement and document.
26888         * tests/test-update-copyright.sh: Test.
26889
26890 2009-08-04  Jim Meyering  <meyering@redhat.com>
26891
26892         update-copyright-tests: correctly test EOL=\r\n handling
26893         * tests/test-update-copyright.sh: Put \r at the end of some lines
26894         for the dos-eol tests.  Based on a patch by Joel E. Denny.
26895
26896         maint.mk: make update-copyright exclusion list more configurable
26897         * top/maint.mk (update-copyright): Default to excluding COPYING,
26898         but allow an override, in case someone does want to update that file.
26899
26900         maint.mk: don't update copyright date in COPYING
26901         * top/maint.mk (update-copyright): Exclude COPYING.
26902
26903         maint.mk: add a copyright-updating rule
26904         * top/maint.mk (update-copyright): New rule.
26905         Derived from coreutils/Makefile.am.
26906
26907         update-copyright: rename some variables
26908         * build-aux/update-copyright: Rename a few variables for clarity.
26909         Tweak syntax.  List Joel E. Denny as coauthor.
26910
26911 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26912
26913         update-copyright: fix bug for 2-digit last year and add tests
26914         * build-aux/update-copyright: Fix bug.
26915         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
26916         specified.
26917         * modules/update-copyright-tests: New
26918         * tests/test-update-copyright.sh: New.
26919
26920 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26921
26922         update-copyright: handle leading tabs in line prefix
26923         * build-aux/update-copyright: Count leading tabs as 8 spaces
26924         when computing margin.  This helps with the formatting of
26925         ChangeLogs, for example.
26926         Fix documentation a little.
26927
26928 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26929
26930         update-copyright: support EOL=\r\n
26931         * build-aux/update-copyright: Implement that.
26932
26933 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26934
26935         update-copyright: automatically format copyright statements
26936         * build-aux/update-copyright: Implement that.
26937         Also, be a little more predictable and safer by always failing
26938         when the full copyright format is not perfectly recognized as an
26939         unbroken whole.  Discussed at
26940         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
26941         Rewrite documentation.
26942
26943 2009-08-03  Bruno Haible  <bruno@clisp.org>
26944
26945         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
26946
26947 2009-08-02  Bruno Haible  <bruno@clisp.org>
26948
26949         Tests for module 'uname'.
26950         * modules/uname-tests: New file.
26951         * tests/test-uname.c: New file.
26952
26953         New module 'uname'.
26954         * lib/uname.c: New file.
26955         * m4/uname.m4: New file.
26956         * modules/uname: New file.
26957         * doc/posix-functions/uname.texi: Mention the new module.
26958
26959 2009-08-02  Bruno Haible  <bruno@clisp.org>
26960
26961         Tests for module 'sys_utsname'.
26962         * modules/sys_utsname-tests: New file.
26963         * tests/test-sys_utsname.c: New file.
26964
26965         New module 'sys_utsname'.
26966         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
26967         * m4/sys_utsname_h.m4: New file.
26968         * modules/sys_utsname: New file.
26969         * doc/posix-headers/sys_utsname.texi: Mention the new module.
26970
26971 2009-08-02  Bruno Haible  <bruno@clisp.org>
26972
26973         Implicitly initialize the sockets library.
26974         * lib/gethostname.c: Include sockets.h.
26975         (rpl_gethostname): Invoke gl_sockets_startup.
26976         * lib/socket.c: Include sockets.h.
26977         (rpl_socket): Invoke gl_sockets_startup.
26978         * modules/gethostname (Depends-on): Add sockets.
26979         * modules/socket (Depends-on): Likewise.
26980         * tests/test-poll.c: Don't include sockets.h.
26981         (main): Don't invoke gl_sockets_startup.
26982         * tests/test-select.c: Don't include sockets.h.
26983         (main): Don't invoke gl_sockets_startup.
26984
26985 2009-08-02  Bruno Haible  <bruno@clisp.org>
26986
26987         Allow multiple calls to gl_sockets_startup.
26988         * lib/sockets.c (initialized_sockets_version): New variable.
26989         (gl_sockets_startup): Do nothing if already called for this or a higher
26990         version.
26991         (gl_sockets_cleanup): Reset initialized_sockets_version.
26992
26993 2009-08-03  Simon Josefsson  <simon@josefsson.org>
26994
26995         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
26996         different project/version.
26997
26998 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
26999             Bruno Haible  <bruno@clisp.org>
27000
27001         Tests for module 'pipe-filter-gi'.
27002         * modules/pipe-filter-gi-tests: New file.
27003         * tests/test-pipe-filter-gi1.sh: New file.
27004         * tests/test-pipe-filter-gi1.c: New file.
27005         * tests/test-pipe-filter-gi2.sh: New file.
27006         * tests/test-pipe-filter-gi2-main.c: New file.
27007         * tests/test-pipe-filter-gi2-child.c: New file.
27008
27009         New module 'pipe-filter-gi'.
27010         * lib/pipe-filter-gi.c: New file.
27011         * modules/pipe-filter-gi: New file.
27012
27013 2009-08-02  Bruno Haible  <bruno@clisp.org>
27014             Paolo Bonzini  <bonzini@gnu.org>
27015
27016         Tests for module 'pipe-filter-ii'.
27017         * modules/pipe-filter-ii-tests: New file.
27018         * tests/test-pipe-filter-ii1.sh: New file.
27019         * tests/test-pipe-filter-ii1.c: New file.
27020         * tests/test-pipe-filter-ii2.sh: New file.
27021         * tests/test-pipe-filter-ii2-main.c: New file.
27022         * tests/test-pipe-filter-ii2-child.c: New file.
27023
27024         New module 'pipe-filter-ii'.
27025         * lib/pipe-filter.h: New file.
27026         * lib/pipe-filter-ii.c: New file.
27027         * lib/pipe-filter-aux.h: New file.
27028         * modules/pipe-filter-ii: New file.
27029
27030 2009-08-02  Simon Josefsson  <simon@josefsson.org>
27031
27032         * lib/gc-libgcrypt.c: Change copyright to FSF.
27033         * lib/gc-gnulib.c: Likewise.
27034
27035 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
27036
27037         * lib/gethostname.c: Include limits.h.
27038
27039 2009-08-02  Simon Josefsson  <simon@josefsson.org>
27040             Bruno Haible  <bruno@clisp.org>
27041
27042         Ensure HOST_NAME_MAX as part of the gethostname module.
27043         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
27044         define also HOST_NAME_MAX.
27045         * tests/test-gethostname.c: Include <limits.h>.
27046         (main): Check also HOST_NAME_MAX.
27047         * doc/posix-headers/limits.texi: Document the mingw problem.
27048
27049 2009-08-02  Bruno Haible  <bruno@clisp.org>
27050
27051         * lib/gethostname.c (gethostname): Fix handling of large len argument.
27052         Add comments.
27053
27054 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27055
27056         * lib/gethostname.c: Add Windows wrapper.
27057         * m4/gethostname.m4: Look for gethostname in -lws2_32.
27058         * modules/gethostname: Depend on sys_socket & errno, for also
27059         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
27060         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
27061
27062 2009-07-31  Jim Meyering  <meyering@redhat.com>
27063
27064         getloadavg: fix symbol name in comment
27065         * lib/getloadavg.c: Correct a typo I introduced when adding
27066         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
27067         Matt Kraai spotted the problem.
27068
27069 2009-07-29  Matt Kraai  <mkraai@beckman.com>
27070
27071         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
27072         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
27073         code also if ! defined N_NAME_POINTER.
27074         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
27075         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
27076         but the n_name member is a 12-byte array.
27077
27078 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
27079
27080         update-copyright: generalize comment handling
27081         * build-aux/update-copyright: Handle copyright statements
27082         within more comment styles.
27083         Document usage.
27084         Report any file with an external copyright holder or parse failure.
27085
27086 2009-07-29  Jim Meyering  <meyering@redhat.com>
27087
27088         mktime: correct setting of REPLACE_MKTIME
27089         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
27090
27091         update-copyright: new module
27092         * modules/update-copyright: New file.
27093         * build-aux/update-copyright: New file.
27094         * MODULES.html.sh (maint+release support): Add update-copyright.
27095
27096 2009-07-27  Bruno Haible  <bruno@clisp.org>
27097
27098         Fix compilation error when <ctime> is used and mktime is replaced.
27099         * lib/time.in.h (mktime): New declaration.
27100         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
27101         REPLACE_MKTIME instead of defining mktime in config.h.
27102         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
27103         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
27104         Reported by Ross McFarland <rwmcfa1@neces.com>.
27105
27106 2009-07-27  Bruno Haible  <bruno@clisp.org>
27107
27108         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
27109         Reported by Matt Kraai <mkraai@beckman.com>.
27110
27111 2009-07-25  Jim Meyering  <meyering@redhat.com>
27112
27113         maint.mk: avoid warnings about missing files
27114         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
27115         diagnostic when .prev-version does not exist.
27116         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
27117         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
27118         nonexistent cfg.mk.
27119         Suggestions from Simon Josefsson.
27120
27121 2009-07-25  Bruno Haible  <bruno@clisp.org>
27122
27123         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
27124         defined as macros. Needed on QNX 6.4.1.
27125         Reported by Matt Kraai <mkraai@beckman.com>.
27126
27127 2009-07-23  Jim Meyering  <meyering@redhat.com>
27128
27129         maint.mk: invoke "make dist" with a working value of XZ_OPT
27130         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
27131
27132 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
27133
27134         Make fseeko.c compile on QNX.
27135         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
27136
27137 2009-07-22  Peter Simons  <simons@cryp.to>
27138
27139         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
27140         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
27141         * lib/md4.h: Likewise.
27142         * lib/md5.h: Likewise.
27143         * lib/sha1.h: Likewise.
27144         * lib/sha256.h: Likewise.
27145         * lib/sha512.h: Likewise.
27146
27147         tests-sha1: don't assign literal string to 'char *' variable
27148         * tests/test-sha1.c (main): Declare locals with "const" to match
27149         attributes of the right hand side.
27150
27151 2009-07-21  Eric Blake  <ebb9@byu.net>
27152
27153         dup2: fix more mingw problems
27154         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
27155         fd to itself.
27156         * doc/posix-functions/dup2.texi (dup2): Document the bug.
27157         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
27158         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
27159         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
27160         care of mingw bugs.
27161
27162 2009-07-21  Jim Meyering  <meyering@redhat.com>
27163
27164         vc-list-files: avoid failure when /bin/sh is dash
27165         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
27166         On some Debian based systems, /bin/sh is a symlink to dash, and running
27167         this command would omit the "/" following each 'tests' prefix:
27168           dash -x build-aux/vc-list-files -C . tests
27169         That is because bash and dash work differently:
27170           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
27171           bash ok
27172           dash odd
27173
27174 2009-07-21  Eric Blake  <ebb9@byu.net>
27175
27176         dup2-tests: test previous patch
27177         * modules/dup2-tests: New file.
27178         * tests/test-dup2.c: Likewise.
27179         * tests/test-open.c (main): Avoid unspecified behavior.
27180         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
27181         test.
27182
27183         dup2: work around mingw and cygwin 1.5 bug
27184         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
27185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27186         * modules/unistd (Makefile.am): Substitute it.
27187         * lib/unistd.in.h (dup2): Declare the replacement.
27188         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
27189         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
27190         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
27191         * modules/execute (Depends-on): Add dup2.
27192         * modules/fseterr (Depends-on): Likewise.
27193         * modules/pipe (Depends-on): Likewise.
27194         * modules/posix_spawn-internal (Depends-on): Likewise.
27195
27196 2009-07-21  Bruno Haible  <bruno@clisp.org>
27197
27198         * modules/.gitattributes: New file.
27199
27200 2009-07-20  Bruno Haible  <bruno@clisp.org>
27201
27202         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
27203         (main): Use it.
27204
27205 2009-07-20  Eric Blake  <ebb9@byu.net>
27206
27207         test-pipe: make a bit more robust.
27208         * tests/test-pipe.c (myerr): Allow error messages regardless of
27209         what we do to stderr.
27210         (test_pipe): Rearrange to avoid deadlock.
27211         (child_main): Try a larger read, to ensure we avoided deadlock.
27212         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
27213         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
27214         if misused.
27215
27216 2009-07-19  Jim Meyering  <meyering@redhat.com>
27217
27218         fts: avoid false-positive cycle-detection
27219         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
27220         for each new command line argument.
27221
27222 2009-07-19  Bruno Haible  <bruno@clisp.org>
27223
27224         Fix build error on mingw with the modules sys_select and unistd.
27225         * modules/acl-tests (Depends-on): Add close.
27226         * modules/binary-io-tests (Depends-on): Likewise.
27227         * modules/closein-tests (Depends-on): Likewise.
27228         * modules/flock-tests (Depends-on): Likewise.
27229         * modules/fsync-tests (Depends-on): Likewise.
27230         * modules/lseek-tests (Depends-on): Likewise.
27231         * modules/pipe-tests (Depends-on): Likewise.
27232         * modules/posix_spawn-tests (Depends-on): Likewise.
27233         * modules/posix_spawnp-tests (Depends-on): Likewise.
27234         * modules/stat-time-tests (Depends-on): Likewise.
27235         * modules/yesno-tests (Depends-on): Likewise.
27236
27237 2009-07-19  Bruno Haible  <bruno@clisp.org>
27238
27239         Unify conditionals.
27240         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
27241         macros, not at the compiler macros.
27242         * lib/pipe.c: Likewise.
27243         * lib/execute.c: Likewise.
27244         * lib/spawni.c: Likewise.
27245
27246 2009-07-19  Bruno Haible  <bruno@clisp.org>
27247
27248         Fix handling of closed stdin/stdout/stderr on mingw.
27249         * lib/w32spawn.h: Include unistd.h.
27250         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
27251         file descriptor with O_NOINHERIT flag.
27252         (fd_safer_noinherit): New function, based on fd-safer.c.
27253         (dup_safer_noinherit): New function, based on dup-safer.c.
27254         (undup_safer_noinherit): New function.
27255         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
27256         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
27257         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
27258         instead of fd_safer.
27259         * tests/test-pipe.c: Include <windows.h>.
27260         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
27261
27262         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
27263         from main.
27264         (test_pipe): Pass an extra argument for disambiguation.
27265         (main): Invoke parent_main or child_main.
27266
27267         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
27268         consistently.
27269
27270 2009-07-18  Eric Blake  <ebb9@byu.net>
27271
27272         test-pipe: fix mingw build
27273         * tests/test-pipe.c (main): Avoid fcntl on mingw.
27274
27275 2009-07-18  Bruno Haible  <bruno@clisp.org>
27276
27277         * modules/pipe-tests (Makefile.am): Fix typo.
27278
27279 2009-07-18  Eric Blake  <ebb9@byu.net>
27280
27281         error: fix mingw build
27282         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
27283         Reported by Bruno Haible.
27284
27285         error: avoid undefined use of stdout
27286         * lib/error.c (error, error_at_line): Check that fd 1 is open
27287         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
27288         is handling faults and the close_stdout module wants to report the
27289         detection of closed stdout as an error.
27290
27291 2009-07-17  Eric Blake  <ebb9@byu.net>
27292
27293         pipe: be robust in face of closed fds
27294         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
27295         should cause child to misbehave.
27296         * modules/pipe-tests: New module.
27297         * tests/test-pipe.c: New file.
27298         * tests/test-pipe.sh: New file.
27299         Reported by Akim Demaille.
27300
27301 2009-07-14  Bruno Haible  <bruno@clisp.org>
27302
27303         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
27304         Reported by anonymous kc.
27305
27306 2009-07-07  Jim Meyering  <meyering@redhat.com>
27307
27308         maint.mk: don't look for translatable strings in *.m4 or *.mk
27309         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
27310         when searching for translatable strings.
27311
27312 2009-07-05  Jim Meyering  <meyering@redhat.com>
27313
27314         remove superfluous parentheses in STREQ definition
27315         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
27316         * lib/getugroups.c (STREQ): Likewise.
27317         * lib/fnmatch.c (STREQ): Likewise.
27318         Spotted by Bruno Haible.
27319
27320 2009-07-04  Jim Meyering  <meyering@redhat.com>
27321
27322         argv-iter: new module
27323         * MODULES.html.sh: Add argv-iter.
27324         * lib/argv-iter.c, lib/argv-iter.h: New files.
27325         * modules/argv-iter: New file.
27326         * modules/argv-iter-tests: New file.
27327         * tests/test-argv-iter.c: Test it.
27328
27329 2009-07-04  Bruno Haible  <bruno@clisp.org>
27330
27331         Fix assertion.
27332         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
27333         contains more exact copies of a given entry than file2, leave the extra
27334         copies unpaired rather than aborting.
27335         Reported by Eric Blake.
27336
27337 2009-07-02  Bruno Haible  <bruno@clisp.org>
27338
27339         Speedup git-merge-changelog for git cherry-pick.
27340         * lib/git-merge-changelog.c (struct entries_mapping): New type.
27341         (entries_mapping_get): New function, extracted from compute_mapping.
27342         (entries_mapping_reverse_get): New function.
27343         (compute_mapping): Add a 'full' argument. Return the result in a
27344         'struct entries_mapping'.
27345         (main): Update. Access the mappings through entries_mapping_get.
27346         Reported by Eric Blake.
27347
27348 2009-07-02  Bruno Haible  <bruno@clisp.org>
27349
27350         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
27351         best_i.
27352
27353 2009-07-02  Bruno Haible  <bruno@clisp.org>
27354
27355         Speed up approximate search for matching ChangeLog entries.
27356         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
27357         argument. Call fstrcmp_bounded instead of fstrcmp.
27358         (compute_mapping, try_split_merged_entry, main): Update callers.
27359
27360 2009-07-02  Bruno Haible  <bruno@clisp.org>
27361
27362         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
27363
27364 2009-06-30  Bruno Haible  <bruno@clisp.org>
27365
27366         Reduce the number of uc_is_cased calls.
27367         * lib/unicase.h (casing_suffix_context_t): Add
27368         'first_char_except_ignorable' field.
27369         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
27370         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
27371         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
27372         Update initializer.
27373         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
27374         case-ignorable characters.
27375         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
27376         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
27377         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
27378         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
27379         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
27380
27381 2009-06-30  Bruno Haible  <bruno@clisp.org>
27382
27383         Tests for module 'unicase/ignorable'.
27384         * modules/unicase/ignorable-tests: New file.
27385         * tests/unicase/test-ignorable.c: New file, generated by
27386         gen-uni-tables.
27387
27388         Tests for module 'unicase/cased'.
27389         * modules/unicase/cased-tests: New file.
27390         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
27391         * tests/unicase/test-predicate-part1.h: New file, derived from
27392         tests/unictype/test-predicate-part1.h.
27393         * tests/unicase/test-predicate-part2.h: New file, same as
27394         tests/unictype/test-predicate-part2.h.
27395
27396         Fix evaluation of "Before C" condition of FINAL_SIGMA.
27397         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
27398         (output_casing_properties): New function.
27399         (main): Call it.
27400         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
27401         * lib/unicase/cased.c: Include unictype/bitmap.h.
27402         (uc_is_cased): Define through a bitmap lookup.
27403         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
27404         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
27405         (uc_is_case_ignorable): Define through a bitmap lookup.
27406         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
27407         lib/unictype/bitmap.h.
27408         (Depends-on): Add inline. Clean up.
27409         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
27410         lib/unictype/bitmap.h.
27411         (Depends-on): Add inline. Clean up.
27412         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
27413         recognition.
27414         * tests/unicase/test-u16-tolower.c (main): Likewise.
27415         * tests/unicase/test-u32-tolower.c (main): Likewise.
27416
27417 2009-06-30  Bruno Haible  <bruno@clisp.org>
27418
27419         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
27420         * lib/unicase/u16-casemap.c: Likewise.
27421         * lib/unicase/u32-casemap.c: Likewise.
27422
27423 2009-06-29  Bruno Haible  <bruno@clisp.org>
27424
27425         Define u32_casefold as a wrapper around u32_ct_casefold.
27426         * lib/unicase/u32-casefold.c: Update.
27427         * modules/unicase/u32-casefold (Depends-on): Add
27428         unicase/u32-ct-casefold, unicase/empty-prefix-context,
27429         unicase/empty-suffix-context. Clean up.
27430
27431         Define u16_casefold as a wrapper around u16_ct_casefold.
27432         * lib/unicase/u16-casefold.c: Update.
27433         * modules/unicase/u16-casefold (Depends-on): Add
27434         unicase/u16-ct-casefold, unicase/empty-prefix-context,
27435         unicase/empty-suffix-context. Clean up.
27436
27437         Define u8_casefold as a wrapper around u8_ct_casefold.
27438         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
27439         * lib/unicase/u8-casefold.c: Update.
27440         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
27441         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27442
27443         Define u32_totitle as a wrapper around u32_ct_totitle.
27444         * lib/unicase/u32-totitle.c: Update.
27445         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
27446         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27447
27448         Define u16_totitle as a wrapper around u16_ct_totitle.
27449         * lib/unicase/u16-totitle.c: Update.
27450         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
27451         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27452
27453         Define u8_totitle as a wrapper around u8_ct_totitle.
27454         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
27455         functions.
27456         (FUNC): Delegate to U_CT_TOTITLE.
27457         * lib/unicase/u8-totitle.c: Update.
27458         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
27459         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27460
27461         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
27462         invocation.
27463         * modules/unicase/u32-tolower (Depends-on): Add
27464         unicase/empty-prefix-context, unicase/empty-suffix-context.
27465
27466         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
27467         invocation.
27468         * modules/unicase/u16-tolower (Depends-on): Add
27469         unicase/empty-prefix-context, unicase/empty-suffix-context.
27470
27471         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
27472         * modules/unicase/u8-tolower (Depends-on): Add
27473         unicase/empty-prefix-context, unicase/empty-suffix-context.
27474
27475         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
27476         invocation.
27477         * modules/unicase/u32-toupper (Depends-on): Add
27478         unicase/empty-prefix-context, unicase/empty-suffix-context.
27479
27480         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
27481         invocation.
27482         * modules/unicase/u16-toupper (Depends-on): Add
27483         unicase/empty-prefix-context, unicase/empty-suffix-context.
27484
27485         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
27486         * modules/unicase/u8-toupper (Depends-on): Add
27487         unicase/empty-prefix-context, unicase/empty-suffix-context.
27488
27489         New module 'unicase/u32-ct-casefold'.
27490         * lib/unicase/u32-ct-casefold.c: New file.
27491         * modules/unicase/u32-ct-casefold: New file.
27492
27493         New module 'unicase/u16-ct-casefold'.
27494         * lib/unicase/u16-ct-casefold.c: New file.
27495         * modules/unicase/u16-ct-casefold: New file.
27496
27497         New module 'unicase/u8-ct-casefold'.
27498         * lib/unicase/u8-ct-casefold.c: New file.
27499         * lib/unicase/u-ct-casefold.h: New file, derived from
27500         lib/unicase/u-casefold.h.
27501         * modules/unicase/u8-ct-casefold: New file.
27502
27503         New module 'unicase/u32-ct-totitle'.
27504         * lib/unicase/u32-ct-totitle.c: New file.
27505         * modules/unicase/u32-ct-totitle: New file.
27506
27507         New module 'unicase/u16-ct-totitle'.
27508         * lib/unicase/u16-ct-totitle.c: New file.
27509         * modules/unicase/u16-ct-totitle: New file.
27510
27511         New module 'unicase/u8-ct-totitle'.
27512         * lib/unicase/u8-ct-totitle.c: New file.
27513         * lib/unicase/u-ct-totitle.h: New file, derived from
27514         lib/unicase/u-totitle.h.
27515         * modules/unicase/u8-ct-totitle: New file.
27516
27517         New module 'unicase/u32-ct-tolower'.
27518         * lib/unicase/u32-ct-tolower.c: New file.
27519         * modules/unicase/u32-ct-tolower: New file.
27520
27521         New module 'unicase/u16-ct-tolower'.
27522         * lib/unicase/u16-ct-tolower.c: New file.
27523         * modules/unicase/u16-ct-tolower: New file.
27524
27525         New module 'unicase/u8-ct-tolower'.
27526         * lib/unicase/u8-ct-tolower.c: New file.
27527         * modules/unicase/u8-ct-tolower: New file.
27528
27529         New module 'unicase/u32-ct-toupper'.
27530         * lib/unicase/u32-ct-toupper.c: New file.
27531         * modules/unicase/u32-ct-toupper: New file.
27532
27533         New module 'unicase/u16-ct-toupper'.
27534         * lib/unicase/u16-ct-toupper.c: New file.
27535         * modules/unicase/u16-ct-toupper: New file.
27536
27537         New module 'unicase/u8-ct-toupper'.
27538         * lib/unicase/u8-ct-toupper.c: New file.
27539         * modules/unicase/u8-ct-toupper: New file.
27540
27541         Add context arguments to u*_casemap functions.
27542         * lib/unicase/unicasemap.h: Include unicase.h.
27543         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
27544         suffix_context arguments.
27545         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
27546         functions.
27547         (FUNC): Add prefix_context and suffix_context arguments. Use
27548         uc_is_cased and uc_is_case_ignorable.
27549         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
27550         * lib/unicase/u16-casemap.c: Likewise.
27551         * lib/unicase/u32-casemap.c: Likewise.
27552         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
27553         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27554         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
27555         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27556         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
27557         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27558
27559         New module 'unicase/u32-suffix-context'.
27560         * lib/unicase/u32-suffix-context.c: New file.
27561         * modules/unicase/u32-suffix-context: New file.
27562
27563         New module 'unicase/u16-suffix-context'.
27564         * lib/unicase/u16-suffix-context.c: New file.
27565         * modules/unicase/u16-suffix-context: New file.
27566
27567         New module 'unicase/u8-suffix-context'.
27568         * lib/unicase/u8-suffix-context.c: New file.
27569         * lib/unicase/u-suffix-context.h: New file.
27570         * modules/unicase/u8-suffix-context: New file.
27571
27572         New module 'unicase/empty-suffix-context'.
27573         * lib/unicase/empty-suffix-context.c: New file.
27574         * modules/unicase/empty-suffix-context: New file.
27575
27576         New module 'unicase/u32-prefix-context'.
27577         * lib/unicase/u32-prefix-context.c: New file.
27578         * modules/unicase/u32-prefix-context: New file.
27579
27580         New module 'unicase/u16-prefix-context'.
27581         * lib/unicase/u16-prefix-context.c: New file.
27582         * modules/unicase/u16-prefix-context: New file.
27583
27584         New module 'unicase/u8-prefix-context'.
27585         * lib/unicase/u8-prefix-context.c: New file.
27586         * lib/unicase/u-prefix-context.h: New file.
27587         * lib/unicase/context.h: New file.
27588         * modules/unicase/u8-prefix-context: New file.
27589
27590         New module 'unicase/empty-prefix-context'.
27591         * lib/unicase/empty-prefix-context.c: New file.
27592         * modules/unicase/empty-prefix-context: New file.
27593
27594         New module 'unicase/ignorable'.
27595         * lib/unicase/ignorable.c: New file.
27596         * modules/unicase/ignorable: New file.
27597
27598         New module 'unicase/cased'.
27599         * lib/unicase/caseprop.h: New file.
27600         * lib/unicase/cased.c: New file.
27601         * modules/unicase/cased: New file.
27602
27603         New functions for case mapping of substrings.
27604         * lib/unicase.h (casing_prefix_context_t): New type.
27605         (unicase_empty_prefix_context): New variable.
27606         (u8_casing_prefix_context, u16_casing_prefix_context,
27607         u32_casing_prefix_context, u8_casing_prefixes_context,
27608         u16_casing_prefixes_context, u32_casing_prefixes_context): New
27609         declarations.
27610         (casing_suffix_context_t): New type.
27611         (unicase_empty_suffix_context): New variable.
27612         (u8_casing_suffix_context, u16_casing_suffix_context,
27613         u32_casing_suffix_context, u8_casing_suffixes_context,
27614         u16_casing_suffixes_context, u32_casing_suffixes_context,
27615         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
27616         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
27617         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
27618         declarations.
27619
27620 2009-06-28  Jim Meyering  <meyering@redhat.com>
27621
27622         boostrap: indent only with spaces
27623         * build-aux/bootstrap: Indent only with spaces, never TABs.
27624
27625         bootstrap: split long lines
27626         * build-aux/bootstrap: Keep line length < 80.
27627
27628         bootstrap: sync from coreutils
27629         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
27630         just as autoreconf does.  Verify a list of prerequisite
27631         package-name,version-number pairs if defined in bootstrap.conf.
27632         Refer to README-prereq, if prerequisites are not satisfied.
27633
27634 2009-06-27  Eric Blake  <ebb9@byu.net>
27635
27636         tests: add test for bogus NULL definition
27637         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
27638         * tests/test-stdlib.c: Likewise.
27639         * tests/test-string.c: Likewise.
27640         * tests/test-locale.c: Likewise.
27641         * tests/test-unistd.c: Likewise.
27642         * modules/stdio-tests (Depends-on): Add verify.
27643         * modules/stdlib-tests (Depends-on): Likewise.
27644         * modules/string-tests (Depends-on): Likewise.
27645         * modules/locale-tests (Depends-on): Likewise.
27646         * modules/unistd-tests (Depends-on): Likewise.
27647
27648 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
27649
27650         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
27651         self-explaining comment.
27652         * m4/selinux-selinux-h: Update serial.
27653         (gl_LIBSELINUX): New macro, adding a warning for missing development
27654         packages to code extracted from...
27655         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
27656         Add warning for missing development packages here, too.
27657
27658 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
27659
27660         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
27661
27662 2009-06-25  Eric Blake  <ebb9@byu.net>
27663
27664         version-etc: fix regression
27665         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
27666         gcc.
27667         (version_etc): Use it, to catch bugs with trailing NULL.
27668         * lib/version-etc.c (version_etc_arn): Delete unused argument.
27669         (version_etc_va): Fix logic bug.
27670         * modules/version-etc-tests: Add test.
27671         * tests/test-version-etc.c: New file.
27672         * tests/test-version-etc.sh: Likewise.
27673
27674 2009-06-25  Sam Steingold  <sds@gnu.org>
27675
27676         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
27677         mbtowc declaration.
27678
27679 2009-06-25  Eric Blake  <ebb9@byu.net>
27680
27681         fpurge: migrate into <stdio.h>
27682         * lib/fpurge.h: Delete...
27683         * lib/stdio.in.h (fpurge): ...and declare here, instead.
27684         * lib/fpurge.c (fpurge): Change declaring header.
27685         * modules/fpurge (Files): Drop deleted file.
27686         (Depends-on): Add stdio.
27687         (configure.ac): Set witness.
27688         * modules/stdio (Makefile.am): Support fpurge macros.
27689         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27690         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
27691         * lib/fflush.c: Update client.
27692         * tests/test-fpurge.c: Likewise.
27693         * NEWS: Mention the change.
27694
27695 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27696
27697         * lib/argp-version-etc.c (program_authors): Add const
27698         qualifier.
27699         * lib/version-etc.c: Fix typos in the comments.
27700         * modules/argp-version-etc: Depends on version-etc.
27701
27702 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27703
27704         argp-version-etc: new module.
27705
27706         * lib/argp-version-etc.c: New file.
27707         * lib/argp-version-etc.h: New file.
27708         * modules/argp-version-etc: New file.
27709         * modules/argp-version-etc-tests: New file.
27710         * tests/test-argp-version-etc.c: New test.
27711         * tests/test-argp-version-etc-1.sh: New test.
27712
27713 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27714
27715         Provide additional interfaces and documentation for version-etc
27716         module.
27717
27718         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
27719         interfaces.
27720         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
27721         prototypes.
27722
27723 2009-06-24  Bruno Haible  <bruno@clisp.org>
27724
27725         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
27726         HAVE_LIB${NAME} macro.
27727         Reported by Sam Steingold <sds@gnu.org>.
27728
27729 2009-06-23  Simon Josefsson  <simon@josefsson.org>
27730
27731         * modules/hash-tests (test_hash_LDADD): Link to libintl when
27732         needed.
27733
27734 2009-06-21  Bruno Haible  <bruno@clisp.org>
27735
27736         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
27737         work.
27738         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
27739         together with LIB${NAME}, LTLIB${NAME}.
27740         Reported by Sam Steingold <sds@gnu.org>.
27741
27742 2009-06-20  Jim Meyering  <meyering@redhat.com>
27743
27744         tests: make sc_require_test_exit_idiom more generic
27745         * top/maint.mk (Exit_witness_file): New overridable variable.
27746         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
27747         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
27748
27749 2009-06-19  Jim Meyering  <meyering@redhat.com>
27750
27751         hash: reverse order of src/dst parameters in an internal interface
27752         * lib/hash.c (transfer_entries): Reverse order of parameters to
27753         put DST before SRC.  Adjust callers.
27754
27755         tests: test-hash: avoid wholesale duplication
27756         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
27757         Instead, use a loop and add a single conditional.
27758
27759         tests: test-hash: allow seed selection via a command line argument
27760         * tests/test-hash.c (get_seed): New function.
27761         (main): Use it.
27762
27763 2009-06-19  Eric Blake  <ebb9@byu.net>
27764
27765         hash: avoid memory leak on allocation failure
27766         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
27767         failure.  Factor repeated algorithm...
27768         (transfer_entries): ...into new helper routine.
27769         (hash_delete): React to hash_rehash return value.
27770
27771         hash: reduce memory pressure in hash_rehash no-op case
27772         * lib/hash.c (next_prime): Avoid overflow.
27773         (hash_initialize): Factor bucket size computation...
27774         (compute_bucket_size): ...into new helper function.
27775         (hash_rehash): Use new function and open coding to reduce memory
27776         pressure, and avoid a memory leak in USE_OBSTACK code.
27777         Reported by Jim Meyering.
27778
27779 2009-06-18  Eric Blake  <ebb9@byu.net>
27780
27781         hash: make rotation more obvious
27782         * modules/hash (Depends-on): Add bitrotate and stdint.
27783         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
27784         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
27785         (SIZE_MAX): Rely on headers for definition.
27786         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
27787         (raw_hasher): Use rotr_sz.
27788         Suggested by Jim Meyering.
27789
27790         hash: fix memory leak in last patch
27791         * lib/hash.c (hash_rehash): Avoid memory leak.
27792
27793         hash: avoid no-op rehashing
27794         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
27795
27796         hash: provide default callback functions
27797         * lib/hash.c (raw_hasher, raw_comparator): New functions.
27798         (hash_initialize): Use them as defaults.
27799         * tests/test-hash.c (main): Test this.
27800
27801         hash: minor optimization
27802         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
27803         when possible.
27804         (hash_initialize): Document this promise.
27805         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
27806         * tests/test-hash.c (hash_compare_strings): Test this.
27807
27808 2009-06-18  Bruno Haible  <bruno@clisp.org>
27809
27810         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
27811         going to be replaced anyway.
27812
27813 2009-06-18  Bruno Haible  <bruno@clisp.org>
27814
27815         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
27816         in one place.
27817         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
27818         be replaced anyway.
27819
27820 2009-06-18  Eric Blake  <ebb9@byu.net>
27821
27822         hash: check for resize before insertion
27823         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
27824         threshold before insertion, so that a pathological hash_rehash
27825         that fills every bucket can still trigger another rehash.
27826
27827 2009-06-18  Jim Meyering  <meyering@redhat.com>
27828
27829         hash-tests: add a loop around the small tests
27830         * tests/test-hash.c (main): Repeat small tests with selected
27831         small initial table sizes.
27832
27833 2009-06-17  Eric Blake  <ebb9@byu.net>
27834
27835         hash: minor cleanups
27836         * lib/hash.h (hash_entry): Make opaque, by moving...
27837         * lib/hash.c (hash_entry): ...here.
27838         (hash_insert): Clarify restrictions on what can be inserted.
27839         (hash_get_next): Clarify when it is safe to remove an element
27840         during traversal.
27841         (check_tuning): Skip verification when tuning is known safe.
27842         (hash_initialize): Clarify restrictions on tuning.
27843
27844 2009-06-17  Jim Meyering  <jim@meyering.net>
27845         and Eric Blake  <ebb9@byu.net>
27846
27847         hash-tests: new module
27848         * modules/hash-tests: New file.
27849         * tests/test-hash.c: New file.
27850
27851 2009-06-17  Eric Blake  <ebb9@byu.net>
27852
27853         strstr-simple: document new module
27854         * MODULES.html.sh: Document new module.
27855
27856         strstr, strcasestr: replace on platforms with broken memchr
27857         * modules/strstr: Split into...
27858         * modules/strstr-simple: ...new module that does not care about
27859         performance, but does care about glibc bug.
27860         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
27861         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
27862         if platform memchr is broken, per Debian bug 521737.
27863         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
27864         memchr.
27865         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
27866         * doc/posix-functions/strstr.texi (strstr): Document the fix.
27867         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27868         * modules/mountlist (Depends-on): Add strstr-simple.
27869         * modules/gen-uni-tables (Depends-on): Likewise.
27870         * modules/argz (Depends-on): Add strstr.
27871
27872 2009-06-17  Bruno Haible  <bruno@clisp.org>
27873
27874         * modules/posix_spawn-internal (Depends-on): Add errno.
27875
27876 2009-06-17  Bruno Haible  <bruno@clisp.org>
27877
27878         Define missing ESTALE on Interix 3.5.
27879         * lib/errno.in.h (ESTALE): Assign a value if missing.
27880         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
27881         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
27882         missing.
27883         * doc/posix-headers/errno.texi: Mention the Interix bug.
27884         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
27885
27886 2009-06-15  Eric Blake  <ebb9@byu.net>
27887
27888         memchr, memchr2: add valgrind exception
27889         * lib/memchr.valgrind: New file.
27890         * lib/memchr2.valgrind: New file.
27891         * modules/memchr (Files): Distribute valgrind file.
27892         * modules/memchr2 (Files): Likewise.
27893
27894         docs: memchr is no longer obsolete
27895         * MODULES.html.sh: Move memchr from obsolete to string.h section.
27896         * lib/string.in.h (memchr): Simplify logic.
27897
27898 2009-06-14  Jim Meyering  <meyering@redhat.com>
27899
27900         link-follow: fix the "checking..." message to not mention trailing slash
27901         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
27902         never considered trailing slashes.
27903
27904 2009-06-14  Bruno Haible  <bruno@clisp.org>
27905
27906         * m4/memchr.m4: Mention also the bug on IA-64.
27907         * doc/posix-functions/memchr.texi: Likewise.
27908
27909 2009-06-12  Eric Blake  <ebb9@byu.net>
27910
27911         memchr: detect broken x86_64 and alpha implementations
27912         * modules/memchr-tests (Depends-on): Move mmap detection...
27913         * modules/memchr (Depends-on): ...here.
27914         (configure.ac): Set indicator.
27915         * lib/string.in.h (memchr): Declare replacement.
27916         * modules/string (Makefile.am): Trigger replacement.
27917         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
27918         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
27919         bugs.
27920         * doc/posix-functions/memchr.texi (memchr): Document the bug.
27921         * modules/getpagesize (License): Relax license.
27922
27923 2009-06-11  Bruno Haible  <bruno@clisp.org>
27924
27925         * lib/idpriv.h: Add more references.
27926
27927 2009-06-08  Bruno Haible  <bruno@clisp.org>
27928
27929         Tests for module 'idpriv-droptemp'.
27930         * modules/idpriv-droptemp-tests: New file.
27931         * tests/test-idpriv-droptemp.sh: New file.
27932         * tests/test-idpriv-droptemp.su.sh: New file.
27933         * tests/test-idpriv-droptemp.c: New file.
27934
27935         New module 'idpriv-droptemp'.
27936         * lib/idpriv-droptemp.c: New file.
27937         * modules/idpriv-droptemp: New file.
27938
27939 2009-06-08  Bruno Haible  <bruno@clisp.org>
27940
27941         Tests for module 'idpriv-drop'.
27942         * modules/idpriv-drop-tests: New file.
27943         * tests/test-idpriv-drop.sh: New file.
27944         * tests/test-idpriv-drop.su.sh: New file.
27945         * tests/test-idpriv-drop.c: New file.
27946
27947         New module 'idpriv-drop'.
27948         * lib/idpriv.h: New file.
27949         * lib-idpriv-drop.c: New file.
27950         * m4/idpriv.m4: New file.
27951         * modules/idpriv-drop: New file.
27952
27953 2009-06-08  Bruno Haible  <bruno@clisp.org>
27954
27955         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
27956         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27957         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27958         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27959         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27960         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27961         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27962
27963 2009-06-08  Eric Blake  <ebb9@byu.net>
27964
27965         test-strstr: use memory fence, when possible
27966         * tests/test-strstr.c (main): Use memory fence, in order to be
27967         more likely to trigger Debian bug 521737.
27968         * modules/strstr-tests (Files): Pull in additional files.
27969
27970         memchr: no longer obsolete, for wider field testing
27971         * modules/memchr (Status, Notice): Delete, this module is no
27972         longer obsolete.
27973         * modules/vasnprintf (Depends-on): Add memchr.
27974
27975 2009-06-07  Jim Meyering  <meyering@redhat.com>
27976
27977         hash: declare some functions with the warn_unused_result attribute
27978         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
27979
27980 2009-06-07  Bruno Haible  <bruno@clisp.org>
27981
27982         * tests/test-alignof.c: Don't test int64_t if it does not exist.
27983         Reported by Eric Blake.
27984
27985 2009-06-06  Eric Blake  <ebb9@byu.net>
27986
27987         test-alignof: fix typo with long double
27988         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
27989         compiler error.
27990
27991 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
27992
27993         Escape non-texinfo { and }s.
27994         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
27995         markup error.
27996
27997 2009-06-04  Jim Meyering  <meyering@redhat.com>
27998
27999         gitlog-to-changelog: don't infloop on an empty commit log
28000         * build-aux/gitlog-to-changelog: Warn about an empty log message.
28001         Reported by Boris Petersen <transacid@centerim.org>.
28002
28003 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
28004
28005         version-etc: extend for packagers
28006         Add three new configure options, intended for packagers:
28007           --with-packager="packager name"
28008           --with-packager-version="packager-specific version"
28009           --with-packager-bug-reports="packager bug reporting"
28010         An example with coreutils:
28011           $ ./configure \
28012             --with-packager=Gentoo \
28013             --with-packager-bug-report=http://bugs.gentoo.org/ \
28014             --with-packager-version="patchset 1.6"
28015           $ ./src/ls --version | head -n2
28016           ls (GNU coreutils) 7.1-dirty
28017           Packaged by Gentoo (patchset 1.6)
28018         Note that the bug reporting info via --help doesn't show up because
28019         coreutils uses its own custom emit_bug_reporting_address() implementation
28020         in src/system.h.  If it didn't, it'd look like:
28021           $ ./src/ls --help | tail -n4
28022           Report bugs to <bug-coreutils@gnu.org>.
28023           Report Gentoo bugs to <http://bugs.gentoo.org/>.
28024           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
28025           General help using GNU software: <http://www.gnu.org/gethelp/>.
28026         * lib/version-etc.c: Print new information, if provided.
28027         * m4/version-etc.m4: New file.
28028         * modules/version-etc (Files): Add m4/version-etc.m4.
28029         (configure.ac): Add gl_VERSION_ETC.
28030
28031 2009-05-31  Bruno Haible  <bruno@clisp.org>
28032
28033         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
28034         and 'int64_t'.
28035         * modules/alignof-tests (Dependencies): Add stdint.
28036         Reported by Eric Blake.
28037
28038 2009-05-31  Bruno Haible  <bruno@clisp.org>
28039
28040         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
28041         restriction due to compiler bugs.
28042         Reported by Eric Blake.
28043
28044 2009-05-31  Simon Josefsson  <simon@josefsson.org>
28045             Bruno Haible  <bruno@clisp.org>
28046
28047         Fix test-alignof failure.
28048         * lib/alignof.h (alignof_slot): New macro.
28049         (alignof_type): New macro, with the same semantics as the previous
28050         'alignof'.
28051         (alignof): Alias to alignof_slot.
28052         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
28053         check that the results are usable as constant expressions.
28054
28055 2009-05-31  Bruno Haible  <bruno@clisp.org>
28056
28057         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
28058         * tests/test-memchr.c (main): Check that memchr does not read past the
28059         first occurrence of the byte.
28060         * tests/test-strstr.c (main): Update comment.
28061         Suggested by Eric Blake.
28062
28063 2009-05-30  Bruno Haible  <bruno@clisp.org>
28064
28065         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
28066         detail how to use dumpbin.
28067         Reported by David Byron <dbyron@dbyron.com>.
28068
28069 2009-06-02  Simon Josefsson  <simon@josefsson.org>
28070
28071         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
28072
28073 2009-06-02  Simon Josefsson  <simon@josefsson.org>
28074
28075         * m4/manywarnings.m4: Add GCC 4.4 warnings.
28076
28077 2009-05-28  Bruno Haible  <bruno@clisp.org>
28078
28079         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
28080         build-aux/ files.
28081
28082 2009-05-28  Simon Josefsson  <simon@josefsson.org>
28083
28084         * gnulib-tool (func_import): Transform license on build-aux/ files too.
28085
28086 2009-05-27  Simon Josefsson  <simon@josefsson.org>
28087
28088         * gnulib-tool (sed_transform_main_lib_file)
28089         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
28090         regexps.
28091
28092 2009-05-26  Simon Josefsson  <simon@josefsson.org>
28093
28094         * tests/test-strstr.c: Add another self-test.
28095         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
28096         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
28097
28098 2009-05-23  Bruno Haible  <bruno@clisp.org>
28099
28100         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
28101         change.
28102
28103 2009-05-21  Bruno Haible  <bruno@clisp.org>
28104
28105         Simplify use of mode_t varargs.
28106         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
28107         uses 'mode_t' or 'int'.
28108         * lib/openat.c (openat): Likewise.
28109         * lib/open-safer.c (open_safer): Likewise.
28110         * m4/mode_t.m4: New file.
28111         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
28112         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
28113         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
28114         * modules/open (Files): Add m4/mode_t.m4.
28115         * modules/openat (Files): Likewise.
28116         * modules/fcntl-safer (Files): Likewise.
28117         Suggested by Eric Blake.
28118
28119 2009-05-21  Pádraig Brady  <P@draigbrady.com>
28120
28121         * doc/glibc-functions/fallocate.texi: New file.
28122         * doc/gnulib.texi: Include it.
28123
28124 2009-05-21  Eric Blake  <ebb9@byu.net>
28125             Bruno Haible  <bruno@clisp.org>
28126
28127         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
28128         invocations.
28129         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28130
28131 2009-05-21  Eric Blake  <ebb9@byu.net>
28132             Bruno Haible  <bruno@clisp.org>
28133
28134         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
28135         include_next. Fix of 2008-11-20 commit.
28136         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
28137         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
28138         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
28139         NEXT_MATH_H.
28140         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
28141         instead of NEXT_MATH_H.
28142
28143 2009-05-21  Bruno Haible  <bruno@clisp.org>
28144
28145         Avoid redefinition warnings for SIZE_MAX.
28146         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
28147         Reported by Simon Josefsson.
28148
28149 2009-05-21  Bruno Haible  <bruno@clisp.org>
28150
28151         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
28152         AC_CACHE_VAL.
28153
28154 2009-05-20  Bruno Haible  <bruno@clisp.org>
28155
28156         Make zeroptr.h work on mingw.
28157         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
28158         mprotect.
28159         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
28160         * modules/memchr2-tests (configure.ac): Likewise.
28161         * modules/memcmp-tests (configure.ac): Likewise.
28162         * modules/memmem-tests (configure.ac): Likewise.
28163         * modules/memrchr-tests (configure.ac): Likewise.
28164         Reported by Simon Josefsson.
28165
28166 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28167
28168         * tests/test-glob.c: Include string.h for strcmp prototype.
28169
28170 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28171
28172         * modules/getdelim (Depends-on): Add explicit stdint, although it
28173         was implicitly already pulled in via realloc-posix.
28174         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
28175
28176 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28177
28178         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
28179         G. Christensen" <tgc@jupiterrise.com>.
28180         * m4/sys_socket_h.m4: Check for sa_family_t.
28181         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
28182         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
28183         * tests/test-sys_socket.c: Check that sa_family_t works.
28184
28185 2009-05-18  Eric Blake  <ebb9@byu.net>
28186
28187         maint.mk: allow gnulib_dir in VPATH build
28188         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
28189
28190 2009-05-15  Jim Meyering  <meyering@redhat.com>
28191
28192         maint.mk: Give gnulib_dir a default definition.
28193         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
28194         Thus, most packages no longer need to specify this variable in cfg.mk
28195
28196 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
28197
28198         rename.m4: fix typos that would make non-mingw cross-configure fail
28199         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
28200
28201 2009-05-13  Eric Blake  <ebb9@byu.net>
28202
28203         mmap-anon: avoid out-of-order autoconf expansion
28204         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
28205         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
28206         * modules/memchr-tests (Depends-on): Add extensions.
28207         * modules/memchr2-tests (Depends-on): Add extensions.
28208         * modules/memcmp-tests (Depends-on): Add extensions.
28209         * modules/memmem-tests (Depends-on): Add extensions.
28210         * modules/memrchr-tests (Depends-on): Add extensions.
28211
28212 2009-05-13  Bruno Haible  <bruno@clisp.org>
28213
28214         Make some tests ISO C 99 compliant.
28215         * tests/zerosize-ptr.h: New file.
28216         * tests/test-memchr.c: Include zerosize-ptr.h.
28217         (main): Use a zero-size object pointer instead of NULL.
28218         * tests/test-memchr2.c: Include zerosize-ptr.h.
28219         (main): Use a zero-size object pointer instead of NULL.
28220         * tests/test-memcmp.c: Include zerosize-ptr.h.
28221         (main): Use a zero-size object pointer instead of NULL.
28222         * tests/test-memmem.c: Include zerosize-ptr.h.
28223         (main): Use a zero-size object pointer instead of NULL.
28224         * tests/test-memrchr.c: Include zerosize-ptr.h.
28225         (main): Use a zero-size object pointer instead of NULL.
28226         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
28227         m4/mmap-anon.m4.
28228         (Depends-on): Add getpagesize.
28229         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28230         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
28231         m4/mmap-anon.m4.
28232         (Depends-on): Add getpagesize.
28233         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28234         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
28235         m4/mmap-anon.m4.
28236         (Depends-on): Add getpagesize.
28237         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28238         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
28239         m4/mmap-anon.m4.
28240         (Depends-on): Add getpagesize.
28241         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28242         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
28243         m4/mmap-anon.m4.
28244         (Depends-on): Add getpagesize.
28245         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28246
28247 2009-05-12  Bruno Haible  <bruno@clisp.org>
28248
28249         Tests for module 'alignof'.
28250         * modules/alignof-tests: New file.
28251         * tests/test-alignof.c: New file.
28252
28253 2009-05-12  Bruno Haible  <bruno@clisp.org>
28254
28255         Fix alignof macro.
28256         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
28257         vendor compilers that are always correct.
28258
28259 2009-05-12  Bruno Haible  <bruno@clisp.org>
28260
28261         Make the MAP_ANONYMOUS detection work on HP-UX 11.
28262         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
28263         not whether its fully works.
28264
28265 2009-05-12  Bruno Haible  <bruno@clisp.org>
28266
28267         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
28268
28269 2009-05-12  Jim Meyering  <meyering@redhat.com>
28270
28271         * top/maint.mk: Adjust backslash alignment.
28272
28273 2009-05-11  Simon Josefsson  <simon@josefsson.org>
28274
28275         * top/maint.mk: Make $(srcdir)/build-aux configurable.
28276
28277 2009-05-11  Eric Blake  <ebb9@byu.net>
28278
28279         argp: avoid undefined behavior
28280         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
28281         macros.
28282
28283 2009-05-08  Simon Josefsson  <simon@josefsson.org>
28284
28285         * tests/test-vc-list-files-git.sh: Do git config of user.email and
28286         user.name to prevent git commit from complaining.
28287
28288 2009-05-10  Bruno Haible  <bruno@clisp.org>
28289
28290         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
28291         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
28292         it rewrites every file name only once.
28293         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
28294
28295 2009-05-08  Bruno Haible  <bruno@clisp.org>
28296
28297         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
28298         instead of 'max'.
28299
28300 2009-05-08  Simon Josefsson  <simon@josefsson.org>
28301
28302         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
28303         sockaddr_storage test.
28304
28305 2009-05-07  Simon Josefsson  <simon@josefsson.org>
28306
28307         * modules/sys_socket (Makefile.am): Substitute
28308         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
28309         * m4/sys_socket_h.m4: Check for sockaddr_storage.
28310         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
28311         * tests/test-sys_socket.c: Check sockaddr_storage.
28312
28313 2009-05-08  Bruno Haible  <bruno@clisp.org>
28314
28315         New module 'alignof'.
28316         * lib/alignof.h: New file.
28317         * modules/alignof: New file.
28318
28319 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28320             Bruno Haible  <bruno@clisp.org>
28321
28322         Fix test-file-has-acl on FreeBSD.
28323         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
28324         mask is implicitly added.
28325         * tests/test-file-has-acl.c: Include <signal.h>.
28326         (main): Terminate the test after 5 seconds.
28327         * modules/acl-tests (configure.ac): Check for alarm function.
28328
28329 2009-05-04  Bruno Haible  <bruno@clisp.org>
28330
28331         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
28332         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
28333         * modules/errno (configure.ac): Drop AC_REQUIRE.
28334         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
28335         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
28336
28337 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28338
28339         * modules/glob-tests: New module.
28340         * tests/test-glob.c: Add.
28341
28342 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28343
28344         * modules/fnmatch-tests: New module.
28345         * tests/test-fnmatch.c: Add.
28346
28347 2009-05-04  Eric Blake  <ebb9@byu.net>
28348
28349         maint: make the new no-submodule-changes rule VPATH-safe
28350         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
28351
28352 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28353             Bruno Haible  <bruno@clisp.org>
28354
28355         acl: Fix infinite loop on FreeBSD.
28356         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
28357         of return value from acl_get_entry.
28358         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
28359         Likewise.
28360
28361 2009-05-03  Bruno Haible  <bruno@clisp.org>
28362
28363         * lib/acl-internal.h (acl_entries): Clarify return value.
28364         * lib/acl_entries.c (acl_entries): Likewise.
28365
28366 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28367
28368         Bug fix in acl module.
28369         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
28370
28371 2009-05-03  Bruno Haible  <bruno@clisp.org>
28372
28373         Create gperf-generated file in the source dir, not in the build dir.
28374         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
28375         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
28376         * modules/unicase/locale-language (unicase/locale-languages.h):
28377         Likewise.
28378         * modules/unicase/special-casing (unicase/special-casing-table.h):
28379         Likewise.
28380         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
28381         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
28382         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
28383         Reported by Ralf Wildenhues.
28384
28385 2009-05-03  Bruno Haible  <bruno@clisp.org>
28386
28387         * modules/fnmatch (Description, configure.ac): Taken from
28388         fnmatch-posix.
28389         * modules/fnmatch-posix: Turn into a symbolic reference to the
28390         'fnmatch' module, and deprecate.
28391         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
28392
28393 2009-05-03  Bruno Haible  <bruno@clisp.org>
28394
28395         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
28396         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
28397         Reported by Ralf Wildenhues.
28398
28399 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28400
28401         * m4/fnmatch.m4: Fix fnmatch re-define.
28402
28403 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28404
28405         priv-set: new module and tests; adapt write-any-file
28406         * lib/priv-set.c: New file.
28407         * lib/priv-set.h: New file.
28408         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
28409         * lib/write-any-file.c: Simplify by using priv-set module.
28410         * m4/priv-set.m4: New file.
28411         * modules/priv-set: New file.
28412         * modules/unlinkdir: Add dependency on priv-set module.
28413         * modules/write-any-file: Likewise.
28414
28415         Tests for module 'priv-set'.
28416         * modules/priv-set-tests: New file.
28417         * tests/test-priv-set.c: New file.
28418
28419 2009-05-03  Jim Meyering  <meyering@redhat.com>
28420             Bruno Haible  <bruno@clisp.org>
28421
28422         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
28423         use the converted UTF-8 variant of the name instead.
28424
28425 2009-05-03  Jim Meyering  <meyering@redhat.com>
28426
28427         tests: tighten some getdate tests
28428         * tests/test-getdate.c (main): Tighten tests: require equality,
28429         not just greater than.  Set TZ envvar to UTC0.
28430
28431 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28432
28433         getdate: correctly interpret "next monday" when run on a Monday
28434         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
28435         that e.g., "next tues" (when run on a tuesday) results in a date
28436         that is one week in the future, and not today's date.
28437         I.e., add a week when the wday is the same as the current one.
28438         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
28439         and earlier by Martin Bernreuther and Jan Minář.
28440         * tests/test-getdate.c (main): Check that "next DAY" is always in
28441         the future and that "last DAY" is always in the past.
28442
28443 2009-05-02  Jim Meyering  <meyering@redhat.com>
28444
28445         build: ensure that a release build fails when a submodule is unclean
28446         * top/maint.mk (no-submodule-changes): New rule.
28447         (alpha beta major): Depend on it.
28448
28449 2009-05-02  Bruno Haible  <bruno@clisp.org>
28450
28451         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
28452         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
28453         shell variable gl_fnmatch_required to detect which variant is
28454         requested.
28455         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
28456         gl_FUNC_FNMATCH_POSIX.
28457         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
28458         exclude fnmatch-posix.
28459
28460 2009-05-02  Bruno Haible  <bruno@clisp.org>
28461
28462         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
28463         * modules/mbsrtowcs (License): Change to LGPLv2+.
28464         * modules/strnlen1 (License): Likewise.
28465         Reported by Simon Josefsson.
28466
28467 2009-05-02  Bruno Haible  <bruno@clisp.org>
28468
28469         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
28470         "cross".
28471         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
28472         gnulib-tool was called with option --source-base=lib.
28473
28474 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28475
28476         Use automake *-local hooks without commands, for extensibility.
28477         * modules/localcharset (Makefile.am): Rename install-exec-local
28478         rule to install-exec-localcharset, and make it a prerequisite of
28479         install-exec-local.  Likewise, rename the uninstall-local rule to
28480         uninstall-localcharset, and make it a prerequisite of the former.
28481
28482 2009-05-01  Bruno Haible  <bruno@clisp.org>
28483
28484         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
28485         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28486         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
28487         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
28488         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
28489         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28490         m4/locale-zh.m4, m4/codeset.m4.
28491
28492         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28493         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
28494         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28495         m4/locale-zh.m4.
28496
28497         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
28498         REPLACE_WCRTOMB if mbstate_t must be replaced.
28499         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
28500         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
28501
28502 2009-05-01  Bruno Haible  <bruno@clisp.org>
28503
28504         Avoid compiler warnings when redefining macros defined by <libintl.h>.
28505         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
28506         dngettext, dcngettext, textdomain, bindtextdomain,
28507         bind_textdomain_codeset): Undefine before redefining.
28508
28509 2009-04-30  Bruno Haible  <bruno@clisp.org>
28510
28511         Fix bug introduced on 2009-04-25.
28512         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
28513         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
28514         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
28515         is defined.
28516         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
28517         is defined.
28518         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
28519         is defined.
28520         Reported by Elbert_Pol <elbert.pol@gmail.com>.
28521
28522 2009-04-28  Bruno Haible  <bruno@clisp.org>
28523
28524         Comment tweaks.
28525         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
28526         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
28527         * lib/unicase.h (u*_casexfrm): Likewise.
28528         Reported by Paolo Bonzini.
28529
28530 2009-04-28  Bruno Haible  <bruno@clisp.org>
28531
28532         Fix a compilation error.
28533         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
28534         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
28535         Reported by Jim Meyering.
28536
28537 2009-04-27  Bruno Haible  <bruno@clisp.org>
28538
28539         New module 'libunistring'.
28540         * modules/libunistring: New file.
28541         * m4/libunistring.m4: New file.
28542         * MODULES.html.sh (Unicode string functions): Add it.
28543
28544 2009-04-27  Eric Blake  <ebb9@byu.net>
28545
28546         maint.mk: allow package-specific header to provide <config.h>
28547         * top/maint.mk (sc_require_config_h): New variable.
28548         (sc_require_config_h, sc_require_config_h_first): Use it.
28549
28550 2009-04-27  Simon Josefsson  <simon@josefsson.org>
28551
28552         * top/maint.mk (sc_avoid_if_before_free): Except
28553         useless-if-before-free script.
28554
28555 2009-04-27  Eric Blake  <ebb9@byu.net>
28556
28557         maintainer-makefile: depend on all required helper scripts
28558         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
28559         useless-if-before-free.
28560         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
28561         version, rather than assuming gnulib checkout is available.
28562         Reported by Simen Josefsson.
28563
28564 2009-04-26  Bruno Haible  <bruno@clisp.org>
28565
28566         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
28567         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
28568         "../" or "..".
28569
28570 2009-04-26  Bruno Haible  <bruno@clisp.org>
28571
28572         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
28573         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
28574         AC_LIB_HAVE_LINKFLAGS.
28575
28576 2009-04-26  Bruno Haible  <bruno@clisp.org>
28577
28578         Simplify calling convention of u*_conv_from_encoding.
28579         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
28580         u32_conv_from_encoding): Expect a resultbuf argument and return the
28581         result directly as a pointer.
28582         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
28583         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
28584         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
28585         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
28586         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
28587         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28588         Update.
28589         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
28590         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
28591         * lib/vasnprintf.c (VASNPRINTF): Update.
28592         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
28593         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
28594         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
28595         * NEWS: Mention the change.
28596
28597 2009-04-26  Bruno Haible  <bruno@clisp.org>
28598
28599         Simplify calling convention of u*_conv_to_encoding.
28600         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
28601         u32_conv_to_encoding): Expect a resultbuf argument and return the
28602         result directly as a pointer.
28603         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28604         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
28605         freeing scaled_offsets if mem_iconveha failed.
28606         * lib/unicase/u-casexfrm.h (FUNC): Update.
28607         * lib/uninorm/u-normxfrm.h (FUNC): Update.
28608         * lib/vasnprintf.c (VASNPRINTF): Update.
28609         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
28610         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
28611         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
28612         * NEWS: Mention the change.
28613
28614 2009-04-26  Bruno Haible  <bruno@clisp.org>
28615
28616         Avoid test failures on AIX and OSF/1.
28617         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
28618         malloc(0).
28619         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28620         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28621         Likewise.
28622         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
28623         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
28624         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
28625         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
28626         * doc/posix-functions/malloc.texi: Document the portability problem
28627         related to malloc(0).
28628
28629 2009-04-26  Bruno Haible  <bruno@clisp.org>
28630
28631         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
28632         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
28633         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
28634
28635 2009-04-25  Bruno Haible  <bruno@clisp.org>
28636
28637         Avoid link error when creating a namespace clean library.
28638         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
28639         as macro with arguments if already defined as an alias.
28640         * lib/signbitf.c (gl_signbitf): Don't undefine.
28641         * lib/signbitd.c (gl_signbitd): Don't undefine.
28642         * lib/signbitl.c (gl_signbitl): Don't undefine.
28643
28644 2009-04-25  Jim Meyering  <meyering@redhat.com>
28645
28646         vc-list-files: fix another quoting bug
28647         * build-aux/vc-list-files: Avoid sed backslash expansion
28648         of pathological directory names.
28649
28650 2009-04-25  Eric Blake  <ebb9@byu.net>
28651
28652         vc-list-files: fix shell quoting error
28653         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
28654         timestamp.
28655
28656 2009-04-25  Jim Meyering  <meyering@redhat.com>
28657
28658         vc-list-files: restore lost functionality with subdir argument
28659         * build-aux/vc-list-files: When given a non-"." sub-directory
28660         argument, substitute the $dir/ prefix back onto each resulting name.
28661         Otherwise, coreutils' root_tests check would fail.
28662
28663 2009-04-24  Eric Blake  <ebb9@byu.net>
28664
28665         vc-list-files: ignore git symlinks
28666         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
28667         than ls-files, to ignore git symlinks.
28668
28669         maint.mk: import improvements from m4
28670         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
28671         (move_if_change): Delete unused macro.
28672         (news-date-check, vc-diff-check): Support VPATH builds.
28673         (announcement): Likewise.  Split --bootstrap-tools list...
28674         (boostrap-tools): ...into separate list, which can be overridden
28675         in cfg.mk.
28676         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
28677         requiring dependency on useless-if-before-free module.
28678         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
28679         Support VPATH builds.
28680
28681 2009-04-24  Jim Meyering  <meyering@redhat.com>
28682
28683         maint.mk: remove coreutils-specific rules and variables
28684         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
28685         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
28686         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
28687
28688         maint.mk: remove obsolete rule
28689         * top/maint.mk (rel-check): Remove rule.
28690         (WGET, WGETFLAGS): Remove now-unused variables.
28691
28692 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28693
28694         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
28695         consistency.
28696
28697         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
28698         '$(PATH_SEPARATOR)' instead of ':'.
28699
28700 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28701
28702         * lib/getopt1.c (main): Use 'const' for static array.
28703
28704 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28705
28706         * top/maint.mk: Sync with coreutils.
28707         * NEWS: Explain incompatibilities.
28708
28709 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28710             Bruno Haible  <bruno@clisp.org>
28711
28712         Fix cross-compilation results.
28713         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
28714         statement, as third argument of AC_TRY_RUN.
28715         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28716         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28717         Likewise.
28718         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28719         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
28720         Likewise.
28721         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28722         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
28723         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
28724
28725 2009-04-20  Bruno Haible  <bruno@clisp.org>
28726
28727         Avoid test failure on mingw.
28728         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
28729
28730 2009-04-20  Bruno Haible  <bruno@clisp.org>
28731
28732         Avoid compilation error on mingw.
28733         * modules/localename-tests (Depends-on): Add locale.
28734
28735 2009-04-19  Bruno Haible  <bruno@clisp.org>
28736
28737         Support for building a shared library on Windows platforms.
28738         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
28739         (main): Test the presence of UNINORM_NFC here.
28740         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
28741         (main): Test the presence of UNINORM_NFD here.
28742         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
28743         (main): Test the presence of UNINORM_NFKC here.
28744         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
28745         (main): Test the presence of UNINORM_NFKD here.
28746
28747 2009-04-19  Bruno Haible  <bruno@clisp.org>
28748
28749         Avoid a compiler warning.
28750         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
28751         Change type of variable 'sequence'.
28752
28753 2009-04-19  Bruno Haible  <bruno@clisp.org>
28754
28755         * modules/configmake (Makefile.am): When the contents of configmake.h
28756         does not change, arrange to preserve its modification time.
28757
28758 2009-04-17  Simon Josefsson  <simon@josefsson.org>
28759
28760         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
28761         gettext domain.
28762
28763 2009-04-16  Jim Meyering  <meyering@redhat.com>
28764
28765         useless-if-before-free: improve conversion code
28766         * build-aux/useless-if-before-free: Adjust code-in-comment to match
28767         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
28768
28769 2009-04-14  Bruno Haible  <bruno@clisp.org>
28770
28771         * modules/fcntl (Depends-on): Add extensions.
28772         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
28773
28774 2009-04-12  Ben Pfaff  <blp@gnu.org>
28775
28776         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
28777         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
28778
28779 2009-03-20  Ben Pfaff  <blp@gnu.org>
28780
28781         Make rename replace existing destinations on Windows.
28782         * m4/rename.m4: Add test for Mingw.
28783         * lib/rename.c: Add rename replacement that uses MoveFileEx with
28784         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
28785         * doc/posix-functions/rename.texi: Document.
28786
28787 2009-04-10  Bruno Haible  <bruno@clisp.org>
28788
28789         New include file "iconveh.h".
28790         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
28791         * lib/striconveh.h: Include it.
28792         (enum iconv_ilseq_handler): Remove definition.
28793         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
28794         striconveh.h.
28795         * lib/striconveha.c: Include striconveh.h.
28796         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
28797         * modules/striconveh (Files): Add lib/iconveh.h.
28798         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
28799         lib/striconveh.h.
28800
28801 2009-04-10  Bruno Haible  <bruno@clisp.org>
28802
28803         * lib/uniconv.h: Update comment.
28804
28805 2009-04-10  Bruno Haible  <bruno@clisp.org>
28806
28807         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
28808         always.
28809         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
28810         * lib/unistr/u16-mbtouc-aux.c: Likewise.
28811         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
28812         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
28813         "unistring-notinline.h", so that the function gets defined always.
28814         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
28815         * lib/unistr/u8-uctomb.c: Likewise.
28816         * lib/unistr/u16-mbtouc.c: Likewise.
28817         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
28818         * lib/unistr/u16-uctomb.c: Likewise.
28819         * lib/unistr/u32-mbtouc.c: Likewise.
28820         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
28821         * lib/unistr/u32-uctomb.c: Likewise.
28822
28823 2009-04-10  Bruno Haible  <bruno@clisp.org>
28824
28825         Mark 'utime' obsolete.
28826         * modules/utime (Status, Notice): New sections.
28827         Suggested by Jim Meyering.
28828
28829         Fix cross-compile guess for utime test.
28830         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
28831         autoconf.
28832         * doc/posix-functions/utime.texi: Give more precisions.
28833         Reported by Jan <ipif@ymail.com>.
28834
28835 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
28836
28837         filevercmp: correct today's change
28838         * lib/filevercmp.c: Also handle coreutils' test inputs.
28839         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
28840
28841         Fix regression in 'filevercmp' module. Thanks Sven Joachim
28842         for reporting it.
28843         * lib/filevercmp.c: Special handle for "", "." and "..".
28844         * tests/test-filevercmp.c: Enlarge the set suite.
28845
28846 2009-04-07  Jim Meyering  <meyering@redhat.com>
28847
28848         useless-if-before-free: show how to remove braced useless free, too
28849         * build-aux/useless-if-before-free: still only in a comment, though.
28850
28851 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
28852
28853         maint.mk: import changes to syntax-check macros from coreutils
28854         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
28855         Use them in the relevant macros.
28856
28857 2009-04-06  Bruno Haible  <bruno@clisp.org>
28858
28859         Fix unportable use of bit-fields.
28860         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
28861         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
28862         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
28863
28864 2009-04-06  Bruno Haible  <bruno@clisp.org>
28865
28866         Avoid test failures on AIX and OSF/1.
28867         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
28868         that malloc(0) = NULL.
28869         * tests/unicase/test-u8-tolower.c (check): Likewise.
28870         * tests/unicase/test-u8-totitle.c (check): Likewise.
28871         * tests/unicase/test-u8-toupper.c (check): Likewise.
28872         * tests/unicase/test-u16-casefold.c (check): Likewise.
28873         * tests/unicase/test-u16-tolower.c (check): Likewise.
28874         * tests/unicase/test-u16-totitle.c (check): Likewise.
28875         * tests/unicase/test-u16-toupper.c (check): Likewise.
28876         * tests/unicase/test-u32-casefold.c (check): Likewise.
28877         * tests/unicase/test-u32-tolower.c (check): Likewise.
28878         * tests/unicase/test-u32-totitle.c (check): Likewise.
28879         * tests/unicase/test-u32-toupper.c (check): Likewise.
28880         * tests/uninorm/test-u8-nfc.c (check): Likewise.
28881         * tests/uninorm/test-u8-nfd.c (check): Likewise.
28882         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
28883         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
28884         * tests/uninorm/test-u16-nfc.c (check): Likewise.
28885         * tests/uninorm/test-u16-nfd.c (check): Likewise.
28886         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
28887         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
28888         * tests/uninorm/test-u32-nfc.c (check): Likewise.
28889         * tests/uninorm/test-u32-nfd.c (check): Likewise.
28890         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
28891         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
28892
28893 2009-04-05  Bruno Haible  <bruno@clisp.org>
28894
28895         Work around an autoconf limitation.
28896         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
28897         comment line if it would be longer than 3 KB.
28898
28899 2009-04-05  Bruno Haible  <bruno@clisp.org>
28900
28901         Avoid test failure with libiconv-1.13.
28902         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
28903         of the expected test results.
28904
28905 2009-04-05  Bruno Haible  <bruno@clisp.org>
28906
28907         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
28908         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
28909         that it should be installed.
28910
28911 2009-04-05  Bruno Haible  <bruno@clisp.org>
28912
28913         * gnulib-tool: New option --copy-file.
28914         (func_usage): Document it.
28915         (func_dest_tmpfilename): Moved out of func_import.
28916         (func_add_file, func_update_file): New functions, extracted from
28917         func_import.
28918         (func_import): Update.
28919
28920 2009-04-05  Karl Berry  <karl@gnu.org>
28921
28922         * README: prominently mention gnulib-tool.
28923         Rearrange sections so getting the code is near the top.
28924
28925 2009-04-05  Bruno Haible  <bruno@clisp.org>
28926
28927         * lib/unicase.h: Mention u*_cmp2.
28928         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28929         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
28930         * lib/unicase/ulc-casecmp.c: Likewise.
28931         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
28932         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
28933         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
28934         unistr/u8-cmp.
28935         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
28936         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
28937         unistr/u16-cmp.
28938         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
28939         unistr/u32-cmp.
28940
28941         * lib/uninorm.h: Mention u*_cmp2.
28942         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28943         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
28944         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
28945         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
28946         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
28947         unistr/u8-cmp.
28948         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
28949         unistr/u16-cmp.
28950         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
28951         unistr/u32-cmp.
28952
28953         New module 'unistr/u32-cmp2'.
28954         * lib/unistr/u32-cmp2.c: New file.
28955         * modules/unistr/u32-cmp2: New file.
28956
28957         New module 'unistr/u16-cmp2'.
28958         * lib/unistr/u16-cmp2.c: New file.
28959         * modules/unistr/u16-cmp2: New file.
28960
28961         New module 'unistr/u8-cmp2'.
28962         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
28963         * lib/unistr/u8-cmp2.c: New file.
28964         * lib/unistr/u-cmp2.h: New file.
28965         * modules/unistr/u8-cmp2: New file.
28966
28967 2009-04-05  Bruno Haible  <bruno@clisp.org>
28968
28969         * lib/unictype.h (uc_property_is_valid): New macro.
28970         * tests/unictype/test-pr_byname.c (main): Use it.
28971
28972         * lib/unistr.h: Doc fixes.
28973         * lib/uniconv.h: Doc fixes.
28974         * lib/unictype.h: Doc fixes.
28975
28976 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
28977
28978         Port coreutils 7.2 to Solaris 8.
28979
28980         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
28981         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
28982         for Solaris 8.  This is a bit of a hack, as it means it's the
28983         caller's responsibility to add -lnsl if needed, but most likely it
28984         won't be needed since only getaddrinfo uses this and getaddrinfo
28985         isn't needed on Solaris 8.
28986
28987         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
28988         problem to Solaris 8 encountered with coreutils 7.2, which
28989         resulted in a message "fnmatch.c:292: warning: passing argument 4
28990         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
28991         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
28992
28993 2009-04-03  Simon Josefsson  <simon@josefsson.org>
28994
28995         * m4/ld-version-script.m4: Add FIXME comment.
28996
28997 2009-04-02  Simon Josefsson  <simon@josefsson.org>
28998
28999         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
29000         SOVERSION variable.
29001
29002 2009-04-02  Bruno Haible  <bruno@clisp.org>
29003
29004         * Makefile (info, html, dvi, pdf): Combine the rules.
29005         Suggested by Jim Meyering.
29006
29007 2009-04-01  Bruno Haible  <bruno@clisp.org>
29008
29009         * Makefile (info, html, dvi, pdf): New targets.
29010         Reported by Reuben Thomas <rrt@sc3d.org>.
29011
29012 2009-04-01  Bruno Haible  <bruno@clisp.org>
29013
29014         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
29015         can be put into PATH.
29016         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
29017
29018 2009-04-01  Bruno Haible  <bruno@clisp.org>
29019
29020         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
29021
29022 2009-04-01  Bruno Haible  <bruno@clisp.org>
29023
29024         Rename module 'visibility'.
29025         * modules/lib-symbol-visibility: Renamed from modules/visibility.
29026         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
29027         * doc/gnulib.texi: Update.
29028         * MODULES.html.sh (Misc): Update.
29029         * NEWS: Mention the change.
29030
29031 2009-04-01  Simon Josefsson  <simon@josefsson.org>
29032
29033         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
29034         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
29035         Eric Blake <ebb9@byu.net> for review.
29036         * MODULES.html.sh: Add lib-msvc-compat.
29037         * doc/gnulib.texi: Link to new section.
29038         * m4/ld-output-def.m4: New file.
29039         * doc/ld-output-def.texi: New file.
29040
29041 2009-04-01  Simon Josefsson  <simon@josefsson.org>
29042
29043         Rename ld-version-script to lib-symbol-versions.  Suggested by
29044         Bruno Haible <bruno@clisp.org>.
29045         * modules/ld-version-script: Renamed to lib-symbol-versions.
29046         * doc/ld-version-script.texi: Fix module name.
29047         * MODULES.html.sh: Add lib-symbol-versions.
29048
29049 2009-03-31  Simon Josefsson  <simon@josefsson.org>
29050
29051         * modules/u64-tests: New file.
29052         * tests/test-u64.c: New file.
29053
29054 2009-03-04  Simon Josefsson  <simon@josefsson.org>
29055
29056         * MODULES.html.sh: Mention u64.
29057         * modules/u64: New module.
29058         * modules/crypto/sha512: Depend on u64 module instead of providing
29059         u64.h.
29060
29061 2009-03-27  Eric Blake  <ebb9@byu.net>
29062
29063         test-strerror: make debugging EAI_SYSTEM easier
29064         * modules/getaddrinfo-tests (Depends-on): Add strerror.
29065         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
29066         failure was EAI_SYSTEM.
29067
29068 2009-03-25  Bruno Haible  <bruno@clisp.org>
29069
29070         Fix a problem with --enable-relocatable on Solaris 7.
29071         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
29072         since 2008-02-24.
29073
29074 2009-03-25  Eric Blake  <ebb9@byu.net>
29075
29076         test-sockets: avoid gcc warning
29077         * tests/test-sockets.c (main): Silence compiler warning.
29078
29079 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
29080
29081         New modules nproc, pthread, contributed by Glen Lenker.
29082
29083         * MODULES.html.sh: Add pthread, nproc.
29084         * lib/nproc.c: New file.
29085         * lib/nproc.h: New file.
29086         * lib/pthread.in.h: New file.
29087         * m4/pthread.m4: New file.
29088         * modules/nproc: New file.
29089         * modules/pthread: New file.
29090
29091 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29092
29093         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
29094         New variable.
29095
29096 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
29097
29098         filevercmp: handle simple~ and numbered.~3~ backup suffixes
29099         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
29100         * tests/test-filevercmp.c: Add tests for backup suffixes.
29101
29102 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29103
29104         * modules/stdlib (Depends-on): Add stdint, needed when defining
29105         struct random_data on, for example, HP-UX 10.20.  Reported by
29106         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29107
29108 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29109
29110         * lib/readline.c (readline): Call fflush on stdout after printing
29111         prompt.
29112
29113 2009-03-20  Bruno Haible  <bruno@clisp.org>
29114
29115         Remove dependency from 'close' module to -lws2_32 on native Windows.
29116         * lib/close-hook.h: New file.
29117         * lib/close-hook.c: New file.
29118         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
29119         w32sock.h.
29120         (_gl_close_fd_maybe_socket): Remove function.
29121         (rpl_close): Invoke execute_all_close_hooks instead of
29122         _gl_close_fd_maybe_socket.
29123         * lib/sockets.c: Include close-hook.h, w32sock.h.
29124         (close_fd_maybe_socket): New function, essentially from lib/close.c.
29125         (close_sockets_hook): New variable.
29126         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
29127         (gl_sockets_cleanup): Unregister it.
29128         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
29129         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
29130         * modules/close-hook: New file.
29131         * modules/close (Files): Remove lib/w32sock.h.
29132         (Depends-on): Add close-hook.
29133         (Link): Remove section.
29134         * modules/sockets (Files): Add lib/w32sock.h.
29135         (Depends-on): Add close-hook.
29136         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
29137         invocation.
29138         * NEWS: Mention that LIB_CLOSE is gone.
29139
29140 2009-03-23  Eric Blake  <ebb9@byu.net>
29141
29142         signal-tests: test previous patch
29143         * tests/test-signal.c: New file.
29144         * modules/signal-tests: Likewise.
29145
29146         signal.h: always support 'volatile sig_atomic_t'
29147         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
29148         (gl_SIGNAL_H_DEFAULTS): Add a default.
29149         * modules/signal (Makefile.am): Substitute if needed.
29150         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
29151         users can blindly add volatile.
29152         * doc/posix-headers/signal.texi (signal.h): Document it.
29153         Reported by Matthew Woehlke.
29154
29155 2009-03-23  Jim Meyering  <meyering@redhat.com>
29156
29157         pathmax: PATH_MAX: use pathconf only when available
29158         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
29159         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
29160         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
29161         This avoids a link failure in a PSP cross-compilation environment
29162         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
29163
29164         * lib/vasnprintf.c (divide): Fix typo in comment.
29165
29166 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29167
29168         * gnulib-tool (func_filter_filelist): Fix comment.
29169
29170 2009-03-20  Bruno Haible  <bruno@clisp.org>
29171
29172         Make sockets.h self-contained.
29173         * lib/sockets.c: Include sockets.h first.
29174         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
29175
29176 2009-03-19  Eric Blake  <ebb9@byu.net>
29177
29178         doc: mention more functions added in cygwin 1.7.0
29179         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
29180         addition.
29181         * doc/posix-functions/log2f.texi: Likewise.
29182
29183 2009-03-19  Jim Meyering  <meyering@redhat.com>
29184
29185         fsusage: avoid syntax error due to statement-before-declaration
29186         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
29187         after all declarations.  Reported by Matthew Woehlke in
29188         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
29189
29190 2009-03-18  Eric Blake  <ebb9@byu.net>
29191
29192         build-aux/compile: sync from automake
29193         * build-aux/compile: New file, from automake.
29194         * config/srclist.txt: Mention build-aux/compile.
29195
29196 2009-03-17  Bruno Haible  <bruno@clisp.org>
29197
29198         * lib/git-merge-changelog.c: Fix typo in comment.
29199         Reported by Reuben Thomas <rrt@sc3d.org>.
29200
29201 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
29202
29203         * m4/regex.m4: update and improve help for
29204         --without-included-regex.
29205
29206 2009-03-17  Simon Josefsson  <simon@josefsson.org>
29207
29208         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
29209         failure on missing include files.
29210
29211 2009-03-17  Eric Blake  <ebb9@byu.net>
29212
29213         doc: mention more functions added in cygwin 1.7.0
29214         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
29215         addition.
29216         * doc/posix-functions/fwscanf.texi: Likewise.
29217         * doc/posix-functions/swprintf.texi: Likewise.
29218         * doc/posix-functions/swscanf.texi: Likewise.
29219         * doc/posix-functions/vfwprintf.texi: Likewise.
29220         * doc/posix-functions/vfwscanf.texi: Likewise.
29221         * doc/posix-functions/vswprintf.texi: Likewise.
29222         * doc/posix-functions/vswscanf.texi: Likewise.
29223         * doc/posix-functions/vwprintf.texi: Likewise.
29224         * doc/posix-functions/vwscanf.texi: Likewise.
29225         * doc/posix-functions/wcscasecmp.texi: Likewise.
29226         * doc/posix-functions/wcsdup.texi: Likewise.
29227         * doc/posix-functions/wcsftime.texi: Likewise.
29228         * doc/posix-functions/wcsncasecmp.texi: Likewise.
29229         * doc/posix-functions/wprintf.texi: Likewise.
29230         * doc/posix-functions/wscanf.texi: Likewise.
29231         * doc/glibc-functions/gethostbyname2.texi: Likewise.
29232
29233 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29234
29235         maint.mk: really add $(AM_MAKEFLAGS)
29236         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
29237         was inadvertently omitted in the last commit.
29238         Spotted by Bruno Haible.
29239
29240         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
29241         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
29242         $(AM_MAKEFLAGS)' rather than plain `make'.
29243
29244         gnulib-tool: execute $MAKE not make
29245         * gnulib-tool: Default $MAKE to 'make'.
29246         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
29247         than make.  Initialize $MAKE in the do-autobuild script.
29248
29249         gnulib-tool: use $MAKE not make in generated files
29250         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
29251         make, in generated files.  Initialize $MAKE in the do-autobuild
29252         script.
29253
29254         * top/GNUmakefile (_have-git-version-gen): Fix typo.
29255
29256         GNUmakefile: disable parallelism only for multiple, recursive targets
29257         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
29258         additions in the Makefile.
29259         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
29260         by Automake.
29261         (.NOTPARALLEL): Only disable parallel builds if multiple targets
29262         are listed on the command line and at least one of them is
29263         listed in $(ALL_RECURSIVE_TARGETS).
29264
29265 2009-03-14  Bruno Haible  <bruno@clisp.org>
29266
29267         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
29268         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
29269         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
29270         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
29271         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
29272         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
29273         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
29274         unistr/u8-uctomb.
29275         * modules/unistr/u8-strchr (Depends-on): Likewise.
29276         * modules/unistr/u8-strrchr (Depends-on): Likewise.
29277         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
29278         unistr/u16-uctomb.
29279         * modules/unistr/u16-strchr (Depends-on): Likewise.
29280         * modules/unistr/u16-strrchr (Depends-on): Likewise.
29281
29282 2009-03-12  Bruno Haible  <bruno@clisp.org>
29283
29284         Work around select() bug on Interix 3.5.
29285         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
29286         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
29287         * m4/select.m4: New file.
29288         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
29289         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
29290         * modules/select (Files): Add m4/select.m4.
29291         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
29292         * modules/nanosleep (Depends-on): Add select.
29293         * modules/poll (Depends-on): Likewise.
29294         * doc/posix-functions/select.texi: Mention the Interix bug.
29295         Reported by Markus Duft <mduft@gentoo.org>.
29296
29297         * lib/select.c: Renamed from lib/winsock-select.c.
29298         * modules/select (Files): Add lib/select.c, remove
29299         lib/winsock-select.c.
29300         (configure.ac): Update.
29301
29302 2009-03-12  Jim Meyering  <meyering@redhat.com>
29303
29304         avoid gcc warnings about unused macro definitions
29305         * lib/readtokens.c (STREQ): Remove unused definition.
29306         * lib/xmalloc.c (SIZE_MAX): Likewise.
29307         * lib/openat-die.c (N_): Likewise.
29308         * lib/mountlist.c (SIZE_MAX): Remove definition.
29309         Instead, include <stdint.h>.
29310         * lib/readutmp.c: Likewise.
29311         * modules/readutmp (Depends-on): Add stdint.
29312         * modules/mountlist (Depends-on): Add stdint.
29313         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
29314
29315 2009-03-10  Bruno Haible  <bruno@clisp.org>
29316
29317         Tests for module 'mbmemcasecoll'.
29318         * modules/mbmemcasecoll-tests: New file.
29319         * tests/test-mbmemcasecoll1.sh: New file.
29320         * tests/test-mbmemcasecoll2.sh: New file.
29321         * tests/test-mbmemcasecoll3.sh: New file.
29322         * tests/test-mbmemcasecoll.c: New file.
29323
29324         New module 'mbmemcasecoll'.
29325         * lib/mbmemcasecoll.h: New file.
29326         * lib/mbmemcasecoll.c: New file.
29327         * modules/mbmemcasecoll: New file.
29328
29329         * tests/test-mbmemcasecmp.h: New file, extracted from
29330         tests/test-mbmemcasecmp.c.
29331         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
29332         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
29333         (main): Update.
29334         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
29335
29336 2009-03-09  Bruno Haible  <bruno@clisp.org>
29337
29338         Tests for module 'mbmemcasecmp'.
29339         * modules/mbmemcasecmp-tests: New file.
29340         * tests/test-mbmemcasecmp1.sh: New file.
29341         * tests/test-mbmemcasecmp2.sh: New file.
29342         * tests/test-mbmemcasecmp3.sh: New file.
29343         * tests/test-mbmemcasecmp.c: New file.
29344
29345         New module 'mbmemcasecmp'.
29346         * lib/mbmemcasecmp.h: New file.
29347         * lib/mbmemcasecmp.c: New file.
29348         * modules/mbmemcasecmp: New file.
29349
29350 2009-03-09  Bruno Haible  <bruno@clisp.org>
29351
29352         Tests for module 'unicase/ulc-casecoll'.
29353         * modules/unicase/ulc-casecoll-tests: New file.
29354         * tests/unicase/test-ulc-casecoll1.sh: New file.
29355         * tests/unicase/test-ulc-casecoll2.sh: New file.
29356         * tests/unicase/test-ulc-casecoll.c: New file.
29357
29358         New module 'unicase/ulc-casecoll'.
29359         * lib/unicase.h (ulc_casecoll): New declaration.
29360         * lib/unicase/ulc-casecoll.c: New file.
29361         * modules/unicase/ulc-casecoll: New file.
29362
29363         New module 'unicase/ulc-casexfrm'.
29364         * lib/unicase.h (ulc_casexfrm): New declaration.
29365         * lib/unicase/ulc-casexfrm.c: New file.
29366         * modules/unicase/ulc-casexfrm: New file.
29367
29368 2009-03-09  Bruno Haible  <bruno@clisp.org>
29369
29370         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
29371         invocations.
29372
29373         * m4/mbscasecmp.m4: Remove file.
29374         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
29375         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
29376
29377         * m4/mbscasestr.m4: Remove file.
29378         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
29379         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
29380
29381         * m4/mbschr.m4: Remove file.
29382         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
29383         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
29384
29385         * m4/mbscspn.m4: Remove file.
29386         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
29387         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
29388
29389         * m4/mbslen.m4: Remove file.
29390         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
29391         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
29392
29393         * m4/mbsncasecmp.m4: Remove file.
29394         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
29395         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
29396
29397         * m4/mbsnlen.m4: Remove file.
29398         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
29399         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
29400
29401         * m4/mbspbrk.m4: Remove file.
29402         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
29403         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
29404
29405         * m4/mbspcasecmp.m4: Remove file.
29406         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
29407         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
29408
29409         * m4/mbsrchr.m4: Remove file.
29410         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
29411         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
29412
29413         * m4/mbssep.m4: Remove file.
29414         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
29415         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
29416
29417         * m4/mbsspn.m4: Remove file.
29418         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
29419         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
29420
29421         * m4/mbsstr.m4: Remove file.
29422         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
29423         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
29424
29425         * m4/mbstok_r.m4: Remove file.
29426         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
29427         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
29428
29429         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
29430
29431         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
29432         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
29433
29434         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
29435
29436 2009-03-08  Bruno Haible  <bruno@clisp.org>
29437
29438         Tests for module 'unicase/ulc-casecmp'.
29439         * modules/unicase/ulc-casecmp-tests: New file.
29440         * tests/unicase/test-ulc-casecmp1.sh: New file.
29441         * tests/unicase/test-ulc-casecmp2.sh: New file.
29442         * tests/unicase/test-ulc-casecmp.c: New file.
29443
29444         New module 'unicase/ulc-casecmp'.
29445         * lib/unicase.h (ulc_casecmp): New declaration.
29446         * lib/unicase/ulc-casecmp.c: New file.
29447         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
29448         'const SRC_UNIT *'.
29449         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
29450         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
29451         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
29452         * modules/unicase/ulc-casecmp: New file.
29453
29454         Tests for module 'unicase/u32-is-cased'.
29455         * modules/unicase/u32-is-cased-tests: New file.
29456         * tests/unicase/test-u32-is-cased.c: New file.
29457
29458         Tests for module 'unicase/u16-is-cased'.
29459         * modules/unicase/u16-is-cased-tests: New file.
29460         * tests/unicase/test-u16-is-cased.c: New file.
29461
29462         Tests for module 'unicase/u8-is-cased'.
29463         * modules/unicase/u8-is-cased-tests: New file.
29464         * tests/unicase/test-u8-is-cased.c: New file.
29465         * tests/unicase/test-is-cased.h: New file.
29466
29467         New module 'unicase/u32-is-cased'.
29468         * lib/unicase/u32-is-cased.c: New file.
29469         * modules/unicase/u32-is-cased: New file.
29470
29471         New module 'unicase/u16-is-cased'.
29472         * lib/unicase/u16-is-cased.c: New file.
29473         * modules/unicase/u16-is-cased: New file.
29474
29475         New module 'unicase/u8-is-cased'.
29476         * lib/unicase/u8-is-cased.c: New file.
29477         * lib/unicase/u-is-cased.h: New file.
29478         * modules/unicase/u8-is-cased: New file.
29479
29480         Tests for module 'unicase/u32-is-casefolded'.
29481         * modules/unicase/u32-is-casefolded-tests: New file.
29482         * tests/unicase/test-u32-is-casefolded.c: New file.
29483
29484         Tests for module 'unicase/u16-is-casefolded'.
29485         * modules/unicase/u16-is-casefolded-tests: New file.
29486         * tests/unicase/test-u16-is-casefolded.c: New file.
29487
29488         Tests for module 'unicase/u8-is-casefolded'.
29489         * modules/unicase/u8-is-casefolded-tests: New file.
29490         * tests/unicase/test-u8-is-casefolded.c: New file.
29491         * tests/unicase/test-is-casefolded.h: New file.
29492
29493         New module 'unicase/u32-is-casefolded'.
29494         * lib/unicase/u32-is-casefolded.c: New file.
29495         * modules/unicase/u32-is-casefolded: New file.
29496
29497         New module 'unicase/u16-is-casefolded'.
29498         * lib/unicase/u16-is-casefolded.c: New file.
29499         * modules/unicase/u16-is-casefolded: New file.
29500
29501         New module 'unicase/u8-is-casefolded'.
29502         * lib/unicase/u8-is-casefolded.c: New file.
29503         * modules/unicase/u8-is-casefolded: New file.
29504
29505         Tests for module 'unicase/u32-is-titlecase'.
29506         * modules/unicase/u32-is-titlecase-tests: New file.
29507         * tests/unicase/test-u32-is-titlecase.c: New file.
29508
29509         Tests for module 'unicase/u16-is-titlecase'.
29510         * modules/unicase/u16-is-titlecase-tests: New file.
29511         * tests/unicase/test-u16-is-titlecase.c: New file.
29512
29513         Tests for module 'unicase/u8-is-titlecase'.
29514         * modules/unicase/u8-is-titlecase-tests: New file.
29515         * tests/unicase/test-u8-is-titlecase.c: New file.
29516         * tests/unicase/test-is-titlecase.h: New file.
29517
29518         New module 'unicase/u32-is-titlecase'.
29519         * lib/unicase/u32-is-titlecase.c: New file.
29520         * modules/unicase/u32-is-titlecase: New file.
29521
29522         New module 'unicase/u16-is-titlecase'.
29523         * lib/unicase/u16-is-titlecase.c: New file.
29524         * modules/unicase/u16-is-titlecase: New file.
29525
29526         New module 'unicase/u8-is-titlecase'.
29527         * lib/unicase/u8-is-titlecase.c: New file.
29528         * modules/unicase/u8-is-titlecase: New file.
29529
29530         Tests for module 'unicase/u32-is-lowercase'.
29531         * modules/unicase/u32-is-lowercase-tests: New file.
29532         * tests/unicase/test-u32-is-lowercase.c: New file.
29533
29534         Tests for module 'unicase/u16-is-lowercase'.
29535         * modules/unicase/u16-is-lowercase-tests: New file.
29536         * tests/unicase/test-u16-is-lowercase.c: New file.
29537
29538         Tests for module 'unicase/u8-is-lowercase'.
29539         * modules/unicase/u8-is-lowercase-tests: New file.
29540         * tests/unicase/test-u8-is-lowercase.c: New file.
29541         * tests/unicase/test-is-lowercase.h: New file.
29542
29543         New module 'unicase/u32-is-lowercase'.
29544         * lib/unicase/u32-is-lowercase.c: New file.
29545         * modules/unicase/u32-is-lowercase: New file.
29546
29547         New module 'unicase/u16-is-lowercase'.
29548         * lib/unicase/u16-is-lowercase.c: New file.
29549         * modules/unicase/u16-is-lowercase: New file.
29550
29551         New module 'unicase/u8-is-lowercase'.
29552         * lib/unicase/u8-is-lowercase.c: New file.
29553         * modules/unicase/u8-is-lowercase: New file.
29554
29555         Tests for module 'unicase/u32-is-uppercase'.
29556         * modules/unicase/u32-is-uppercase-tests: New file.
29557         * tests/unicase/test-u32-is-uppercase.c: New file.
29558
29559         Tests for module 'unicase/u16-is-uppercase'.
29560         * modules/unicase/u16-is-uppercase-tests: New file.
29561         * tests/unicase/test-u16-is-uppercase.c: New file.
29562
29563         Tests for module 'unicase/u8-is-uppercase'.
29564         * modules/unicase/u8-is-uppercase-tests: New file.
29565         * tests/unicase/test-u8-is-uppercase.c: New file.
29566         * tests/unicase/test-is-uppercase.h: New file.
29567
29568         New module 'unicase/u32-is-uppercase'.
29569         * lib/unicase/u32-is-uppercase.c: New file.
29570         * modules/unicase/u32-is-uppercase: New file.
29571
29572         New module 'unicase/u16-is-uppercase'.
29573         * lib/unicase/u16-is-uppercase.c: New file.
29574         * modules/unicase/u16-is-uppercase: New file.
29575
29576         New module 'unicase/u8-is-uppercase'.
29577         * lib/unicase/u8-is-uppercase.c: New file.
29578         * modules/unicase/u8-is-uppercase: New file.
29579
29580         New module 'unicase/u32-is-invariant'.
29581         * lib/unicase/u32-is-invariant.c: New file.
29582         * modules/unicase/u32-is-invariant: New file.
29583
29584         New module 'unicase/u16-is-invariant'.
29585         * lib/unicase/u16-is-invariant.c: New file.
29586         * modules/unicase/u16-is-invariant: New file.
29587
29588         New module 'unicase/u8-is-invariant'.
29589         * lib/unicase/u8-is-invariant.c: New file.
29590         * lib/unicase/invariant.h: New file.
29591         * lib/unicase/u-is-invariant.h: New file.
29592         * modules/unicase/u8-is-invariant: New file.
29593
29594         Tests for module 'unicase/u32-casecoll'.
29595         * modules/unicase/u32-casecoll-tests: New file.
29596         * tests/unicase/test-u32-casecoll.c: New file.
29597
29598         Tests for module 'unicase/u16-casecoll'.
29599         * modules/unicase/u16-casecoll-tests: New file.
29600         * tests/unicase/test-u16-casecoll.c: New file.
29601
29602         Tests for module 'unicase/u8-casecoll'.
29603         * modules/unicase/u8-casecoll-tests: New file.
29604         * tests/unicase/test-u8-casecoll.c: New file.
29605
29606         New module 'unicase/u32-casecoll'.
29607         * lib/unicase/u32-casecoll.c: New file.
29608         * modules/unicase/u32-casecoll: New file.
29609
29610         New module 'unicase/u16-casecoll'.
29611         * lib/unicase/u16-casecoll.c: New file.
29612         * modules/unicase/u16-casecoll: New file.
29613
29614         New module 'unicase/u8-casecoll'.
29615         * lib/unicase/u8-casecoll.c: New file.
29616         * lib/unicase/u-casecoll.h: New file.
29617         * modules/unicase/u8-casecoll: New file.
29618
29619         New module 'unicase/u32-casexfrm'.
29620         * lib/unicase/u32-casexfrm.c: New file.
29621         * modules/unicase/u32-casexfrm: New file.
29622
29623         New module 'unicase/u16-casexfrm'.
29624         * lib/unicase/u16-casexfrm.c: New file.
29625         * modules/unicase/u16-casexfrm: New file.
29626
29627         New module 'unicase/u8-casexfrm'.
29628         * lib/unicase/u8-casexfrm.c: New file.
29629         * lib/unicase/u-casexfrm.h: New file.
29630         * modules/unicase/u8-casexfrm: New file.
29631
29632         Tests for module 'unicase/u32-casecmp'.
29633         * modules/unicase/u32-casecmp-tests: New file.
29634         * tests/unicase/test-u32-casecmp.c: New file.
29635
29636         Tests for module 'unicase/u16-casecmp'.
29637         * modules/unicase/u16-casecmp-tests: New file.
29638         * tests/unicase/test-u16-casecmp.c: New file.
29639
29640         Tests for module 'unicase/u8-casecmp'.
29641         * modules/unicase/u8-casecmp-tests: New file.
29642         * tests/unicase/test-u8-casecmp.c: New file.
29643         * tests/unicase/test-casecmp.h: New file.
29644
29645         New module 'unicase/u32-casecmp'.
29646         * lib/unicase/u32-casecmp.c: New file.
29647         * modules/unicase/u32-casecmp: New file.
29648
29649         New module 'unicase/u16-casecmp'.
29650         * lib/unicase/u16-casecmp.c: New file.
29651         * modules/unicase/u16-casecmp: New file.
29652
29653         New module 'unicase/u8-casecmp'.
29654         * lib/unicase/u8-casecmp.c: New file.
29655         * lib/unicase/u-casecmp.h: New file.
29656         * modules/unicase/u8-casecmp: New file.
29657
29658         Tests for module 'unicase/u32-casefold'.
29659         * modules/unicase/u32-casefold-tests: New file.
29660         * tests/unicase/test-u32-casefold.c: New file.
29661
29662         Tests for module 'unicase/u16-casefold'.
29663         * modules/unicase/u16-casefold-tests: New file.
29664         * tests/unicase/test-u16-casefold.c: New file.
29665
29666         Tests for module 'unicase/u8-casefold'.
29667         * modules/unicase/u8-casefold-tests: New file.
29668         * tests/unicase/test-u8-casefold.c: New file.
29669
29670         New module 'unicase/u32-casefold'.
29671         * lib/unicase/u32-casefold.c: New file.
29672         * modules/unicase/u32-casefold: New file.
29673
29674         New module 'unicase/u16-casefold'.
29675         * lib/unicase/u16-casefold.c: New file.
29676         * modules/unicase/u16-casefold: New file.
29677
29678         New module 'unicase/u8-casefold'.
29679         * lib/unicase/u8-casefold.c: New file.
29680         * lib/unicase/u-casefold.h: New file.
29681         * modules/unicase/u8-casefold: New file.
29682
29683         New module 'unicase/tocasefold'.
29684         * lib/unicase/casefold.h: New file.
29685         * lib/unicase/tocasefold.c: New file.
29686         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
29687         * modules/unicase/tocasefold: New file.
29688
29689         Tests for module 'unicase/u32-totitle'.
29690         * modules/unicase/u32-totitle-tests: New file.
29691         * tests/unicase/test-u32-totitle.c: New file.
29692
29693         Tests for module 'unicase/u16-totitle'.
29694         * modules/unicase/u16-totitle-tests: New file.
29695         * tests/unicase/test-u16-totitle.c: New file.
29696
29697         Tests for module 'unicase/u8-totitle'.
29698         * modules/unicase/u8-totitle-tests: New file.
29699         * tests/unicase/test-u8-totitle.c: New file.
29700
29701         New module 'unicase/u32-totitle'.
29702         * lib/unicase/u32-totitle.c: New file.
29703         * modules/unicase/u32-totitle: New file.
29704
29705         New module 'unicase/u16-totitle'.
29706         * lib/unicase/u16-totitle.c: New file.
29707         * modules/unicase/u16-totitle: New file.
29708
29709         New module 'unicase/u8-totitle'.
29710         * lib/unicase/u8-totitle.c: New file.
29711         * lib/unicase/u-totitle.h: New file.
29712         * modules/unicase/u8-totitle: New file.
29713
29714         Tests for module 'unicase/u32-tolower'.
29715         * modules/unicase/u32-tolower-tests: New file.
29716         * tests/unicase/test-u32-tolower.c: New file.
29717
29718         Tests for module 'unicase/u16-tolower'.
29719         * modules/unicase/u16-tolower-tests: New file.
29720         * tests/unicase/test-u16-tolower.c: New file.
29721
29722         Tests for module 'unicase/u8-tolower'.
29723         * modules/unicase/u8-tolower-tests: New file.
29724         * tests/unicase/test-u8-tolower.c: New file.
29725
29726         New module 'unicase/u32-tolower'.
29727         * lib/unicase/u32-tolower.c: New file.
29728         * modules/unicase/u32-tolower: New file.
29729
29730         New module 'unicase/u16-tolower'.
29731         * lib/unicase/u16-tolower.c: New file.
29732         * modules/unicase/u16-tolower: New file.
29733
29734         New module 'unicase/u8-tolower'.
29735         * lib/unicase/u8-tolower.c: New file.
29736         * modules/unicase/u8-tolower: New file.
29737
29738         Tests for module 'unicase/u32-toupper'.
29739         * modules/unicase/u32-toupper-tests: New file.
29740         * tests/unicase/test-u32-toupper.c: New file.
29741
29742         Tests for module 'unicase/u16-toupper'.
29743         * modules/unicase/u16-toupper-tests: New file.
29744         * tests/unicase/test-u16-toupper.c: New file.
29745
29746         Tests for module 'unicase/u8-toupper'.
29747         * modules/unicase/u8-toupper-tests: New file.
29748         * tests/unicase/test-u8-toupper.c: New file.
29749
29750         New module 'unicase/u32-toupper'.
29751         * lib/unicase/u32-toupper.c: New file.
29752         * modules/unicase/u32-toupper: New file.
29753
29754         New module 'unicase/u16-toupper'.
29755         * lib/unicase/u16-toupper.c: New file.
29756         * modules/unicase/u16-toupper: New file.
29757
29758         New module 'unicase/u8-toupper'.
29759         * lib/unicase/u8-toupper.c: New file.
29760         * modules/unicase/u8-toupper: New file.
29761
29762         New module 'unicase/u32-casemap'.
29763         * lib/unicase/u32-casemap.c: New file.
29764         * modules/unicase/u32-casemap: New file.
29765
29766         New module 'unicase/u16-casemap'.
29767         * lib/unicase/u16-casemap.c: New file.
29768         * modules/unicase/u16-casemap: New file.
29769
29770         New module 'unicase/u8-casemap'.
29771         * lib/unicase/unicasemap.h: New file.
29772         * lib/unicase/u8-casemap.c: New file.
29773         * lib/unicase/u-casemap.h: New file.
29774         * modules/unicase/u8-casemap: New file.
29775
29776         New module 'unicase/special-casing'.
29777         * lib/unicase/special-casing.h: New file.
29778         * lib/unicase/special-casing.c: New file.
29779         * lib/unicase/special-casing-table.gperf: New file, generated by
29780         gen-uni-tables.c.
29781         * modules/unicase/special-casing: New file.
29782
29783         Tests for module 'unicase/locale-language'.
29784         * modules/unicase/locale-language-tests: New file.
29785         * tests/unicase/test-locale-language.sh: New file.
29786         * tests/unicase/test-locale-language.c: New file.
29787
29788         New module 'unicase/locale-language'.
29789         * lib/unicase/locale-language.c: New file.
29790         * lib/unicase/locale-languages.gperf: New file.
29791         * modules/unicase/locale-language: New file.
29792
29793         Generate more tables for case conversion and case folding.
29794         * lib/gen-uni-tables.c (SCC_*): New enum items.
29795         (struct special_casing_rule): New type.
29796         (casing_rules, num_casing_rules, allocated_casing_rules): New
29797         variables.
29798         (add_casing_rule, fill_casing_rules): New functions.
29799         (struct casefold_rule): New type.
29800         (casefolding_rules, num_casefolding_rules,
29801         allocated_casefolding_rules): New variables.
29802         (fill_casefolding_rules): New function.
29803         (unicode_casefold): New variable.
29804         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
29805         sort_casing_rules, output_casing_rules): New functions.
29806         (main): Accept to more arguments: SpecialCasing.txt and
29807         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
29808         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
29809         Output mapping for casefolding.
29810
29811         * lib/unicase.h: Include stdbool.h, uninorm.h.
29812         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
29813         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
29814         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
29815         arguments.
29816         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
29817         resultp arguments.
29818         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
29819         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
29820         resultp arguments.
29821         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
29822         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
29823         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
29824         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
29825         declarations.
29826         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
29827
29828 2009-03-08  Bruno Haible  <bruno@clisp.org>
29829
29830         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29831         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
29832         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
29833         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29834
29835 2009-03-07  Bruno Haible  <bruno@clisp.org>
29836
29837         Adjust u*_normcmp, u*_normcoll API.
29838         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29839         u16_normcoll, u32_normcoll): Change failure conventions.
29840         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
29841         errno and return -1.
29842         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29843
29844 2009-03-07  Bruno Haible  <bruno@clisp.org>
29845
29846         Tests for module 'uninorm/u32-normcoll'.
29847         * modules/uninorm/u32-normcoll-tests: New file.
29848         * tests/uninorm/test-u32-normcoll.c: New file.
29849
29850         Tests for module 'uninorm/u16-normcoll'.
29851         * modules/uninorm/u16-normcoll-tests: New file.
29852         * tests/uninorm/test-u16-normcoll.c: New file.
29853
29854         Tests for module 'uninorm/u8-normcoll'.
29855         * modules/uninorm/u8-normcoll-tests: New file.
29856         * tests/uninorm/test-u8-normcoll.c: New file.
29857
29858 2009-03-07  Bruno Haible  <bruno@clisp.org>
29859
29860         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
29861         tests/uninorm/test-u32-normcmp.c.
29862         * tests/uninorm/test-u32-normcmp.c: Include it.
29863         (test_nonascii): New function, extracted from main. Add some more
29864         tests.
29865         (main): Invoke test_ascii and test_nonascii.
29866         * modules/uninorm/u32-normcmp-tests (Files): Add
29867         tests/uninorm/test-u32-normcmp.h.
29868         (Depends-on): Remove uninorm/u32-normcmp.
29869
29870         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
29871         tests/uninorm/test-u16-normcmp.c.
29872         * tests/uninorm/test-u16-normcmp.c: Include it.
29873         (test_nonascii): New function, extracted from main. Add some more
29874         tests.
29875         (main): Invoke test_ascii and test_nonascii.
29876         * modules/uninorm/u16-normcmp-tests (Files): Add
29877         tests/uninorm/test-u16-normcmp.h.
29878         (Depends-on): Remove uninorm/u16-normcmp.
29879
29880         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
29881         tests/uninorm/test-u8-normcmp.c.
29882         * tests/uninorm/test-u8-normcmp.c: Include it.
29883         (test_nonascii): New function, extracted from main. Add some more
29884         tests.
29885         (main): Invoke test_ascii and test_nonascii.
29886         * modules/uninorm/u8-normcmp-tests (Files): Add
29887         tests/uninorm/test-u8-normcmp.h.
29888         (Depends-on): Remove uninorm/u8-normcmp.
29889
29890 2009-03-07  Bruno Haible  <bruno@clisp.org>
29891
29892         New module 'uninorm/u32-normcoll'.
29893         * lib/uninorm/u32-normcoll.c: New file.
29894         * modules/uninorm/u32-normcoll: New file.
29895
29896         New module 'uninorm/u16-normcoll'.
29897         * lib/uninorm/u16-normcoll.c: New file.
29898         * modules/uninorm/u16-normcoll: New file.
29899
29900         New module 'uninorm/u8-normcoll'.
29901         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
29902         declarations.
29903         * lib/uninorm/u8-normcoll.c: New file.
29904         * lib/uninorm/u-normcoll.h: New file.
29905         * modules/uninorm/u8-normcoll: New file.
29906
29907         New module 'uninorm/u32-normxfrm'.
29908         * lib/uninorm/u32-normxfrm.c: New file.
29909         * modules/uninorm/u32-normxfrm: New file.
29910
29911         New module 'uninorm/u16-normxfrm'.
29912         * lib/uninorm/u16-normxfrm.c: New file.
29913         * modules/uninorm/u16-normxfrm: New file.
29914
29915         New module 'uninorm/u8-normxfrm'.
29916         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
29917         declarations.
29918         * lib/uninorm/u8-normxfrm.c: New file.
29919         * lib/uninorm/u-normxfrm.h: New file.
29920         * modules/uninorm/u8-normxfrm: New file.
29921
29922 2009-03-07  Bruno Haible  <bruno@clisp.org>
29923
29924         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
29925         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
29926         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
29927
29928 2009-03-07  Bruno Haible  <bruno@clisp.org>
29929
29930         New module 'memxfrm'.
29931         * lib/memxfrm.h: New file.
29932         * lib/memxfrm.c: New file.
29933         * modules/memxfrm: New file.
29934
29935 2009-03-07  Bruno Haible  <bruno@clisp.org>
29936
29937         New module 'memcmp2'.
29938         * lib/memcmp2.h: New file.
29939         * lib/memcmp2.c: New file.
29940         * modules/memcmp2: New file.
29941
29942 2009-03-07  Bruno Haible  <bruno@clisp.org>
29943
29944         Tests for module 'uninorm/decomposing-form'.
29945         * modules/uninorm/decomposing-form-tests: New file.
29946         * tests/uninorm/test-decomposing-form.c: New file.
29947
29948         New module 'uninorm/decomposing-form'.
29949         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
29950         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
29951         Add 'decomposing_variant' field.
29952         * lib/uninorm/decomposing-form.c: New file.
29953         * lib/uninorm/nfc.c (uninorm_nfc): Update.
29954         * lib/uninorm/nfd.c (uninorm_nfd): Update.
29955         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
29956         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
29957         * modules/uninorm/decomposing-form: New file.
29958         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
29959         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
29960
29961 2009-03-07  Bruno Haible  <bruno@clisp.org>
29962
29963         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
29964         strings.
29965
29966 2009-03-06  Bruno Haible  <bruno@clisp.org>
29967
29968         Tests for module 'uninorm/u32-normcmp'.
29969         * tests/uninorm/test-u32-normcmp.c: New file.
29970         * modules/uninorm/u32-normcmp-tests: New file.
29971
29972         Tests for module 'uninorm/u16-normcmp'.
29973         * tests/uninorm/test-u16-normcmp.c: New file.
29974         * modules/uninorm/u16-normcmp-tests: New file.
29975
29976         Tests for module 'uninorm/u8-normcmp'.
29977         * tests/uninorm/test-u8-normcmp.c: New file.
29978         * modules/uninorm/u8-normcmp-tests: New file.
29979
29980         New module 'uninorm/u32-normcmp'.
29981         * lib/uninorm/u32-normcmp.c: New file.
29982         * modules/uninorm/u32-normcmp: New file.
29983
29984         New module 'uninorm/u16-normcmp'.
29985         * lib/uninorm/u16-normcmp.c: New file.
29986         * modules/uninorm/u16-normcmp: New file.
29987
29988         New module 'uninorm/u8-normcmp'.
29989         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
29990         declarations.
29991         * lib/uninorm/u8-normcmp.c: New file.
29992         * lib/uninorm/u-normcmp.h: New file.
29993         * modules/uninorm/u8-normcmp: New file.
29994
29995 2009-03-06  Bruno Haible  <bruno@clisp.org>
29996
29997         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
29998         Reported by Eric Blake.
29999
30000 2009-03-06  Eric Blake  <ebb9@byu.net>
30001             Bruno Haible  <bruno@clisp.org>
30002
30003         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
30004         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
30005         condition.
30006         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
30007         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
30008         condition.
30009         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
30010
30011 2009-03-06  Eric Blake  <ebb9@byu.net>
30012
30013         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
30014         to avoid compiler warnings.
30015         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
30016
30017 2009-03-05  Bruno Haible  <bruno@clisp.org>
30018
30019         * tests/test-ftell.c (main): Disable test beyond end of file on
30020         FreeMiNT.
30021         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
30022
30023 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
30024
30025         * lib/filevercmp.c: Move hidden files up in ordering.
30026         * tests/test-filevercmp.c: Add tests for hidden files.
30027
30028 2009-03-04  Bruno Haible  <bruno@clisp.org>
30029
30030         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
30031         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
30032         AM_CFLAGS.
30033         Reported by Simon Josefsson.
30034
30035 2009-03-03  Bruno Haible  <bruno@clisp.org>
30036
30037         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
30038         Reported by Simon Josefsson.
30039
30040         * doc/ld-version-script.texi: Update node reference.
30041
30042 2009-03-03  Bruno Haible  <bruno@clisp.org>
30043
30044         * modules/visibility (License): Change to 'unlimited'.
30045         Suggested by Simon Josefsson.
30046
30047 2009-03-03  Jim Meyering  <meyering@redhat.com>
30048
30049         unlinkdir: cannot_unlink_dir may modify process state
30050         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
30051         it's neither thread-safe nor appropriate for use in a library.
30052
30053 2009-03-03  Eric Blake  <ebb9@byu.net>
30054
30055         test-closein: silence test under Darwin
30056         * tests/test-closein.sh: Ignore stderr from cat, since we don't
30057         care if it dies from EPIPE or EBADF.
30058
30059 2009-03-03  Bruno Haible  <bruno@clisp.org>
30060
30061         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
30062         earlier.
30063         * doc/visibility.texi: Fix @node and @section.
30064
30065 2009-03-03  Simon Josefsson  <simon@josefsson.org>
30066
30067         * doc/gnulib.texi: Link to sections for ld version script and
30068         visibility.
30069         * doc/visibility.texi: Add @node and @section.
30070         * modules/ld-version-script: New module.
30071         * m4/ld-version-script.m4: New file.
30072         * doc/ld-version-script.texi: New file.
30073
30074 2009-03-02  David Lutterkort  <lutter@redhat.com>
30075
30076         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
30077         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30078
30079 2009-03-02  Bruno Haible  <bruno@clisp.org>
30080
30081         * doc/visibility.texi: Mention libtool's -export-symbols option.
30082
30083 2009-03-02  Jim Meyering  <meyering@redhat.com>
30084
30085         announce-gen: new option: --no-print-checksums
30086         * build-aux/announce-gen (usage): Describe it.
30087         (print_checksums): Print a newline here, not in the [*] footnote.
30088         (main): Honor it.
30089
30090 2009-03-01  Bruno Haible  <bruno@clisp.org>
30091
30092         Use socklen_t in the native Windows replacements prototypes.
30093         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
30094         instead of 'int'.
30095         * lib/getsockopt.c (rpl_getsockopt): Likewise.
30096         * lib/setsockopt.c (rpl_setsockopt): Likewise.
30097         * modules/getsockopt (Depends-on): Add socklen.
30098         * modules/setsockopt (Depends-on): Add socklen.
30099
30100 2009-03-01  Bruno Haible  <bruno@clisp.org>
30101
30102         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
30103         least 4.2.
30104
30105 2009-03-01  Eric Blake  <ebb9@byu.net>
30106             Bruno Haible  <bruno@clisp.org>
30107
30108         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
30109         error messages.
30110         * lib/wait-process.c (wait_subprocess): Omit error message about
30111         deadly signal sent to the child of termsigp != NULL.
30112
30113 2009-03-01  Eric Blake  <ebb9@byu.net>
30114
30115         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
30116
30117 2009-03-01  Bruno Haible  <bruno@clisp.org>
30118
30119         Avoid a gcc warning.
30120         * tests/test-sched.c (b): Make global.
30121         Reported by Eric Blake.
30122
30123 2009-01-19  Martin Lambers  <marlam@marlam.de>
30124
30125         Provide POSIX semantics for socket timeout options on W32.
30126         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
30127         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
30128         * modules/setsockopt: Depend on sys_time module for struct timeval.
30129         * modules/getsockopt: Depend on sys_time module for struct timeval.
30130
30131 2009-03-01  Simon Josefsson  <simon@josefsson.org>
30132
30133         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
30134         __USE_GNU, for consistency with netdb.in.h.
30135         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30136
30137 2009-03-01  Bruno Haible  <bruno@clisp.org>
30138
30139         More support for FreeMiNT.
30140         * lib/fseeko.c (rpl_fseeko): Complete last commit.
30141         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30142
30143 2009-03-01  Bruno Haible  <bruno@clisp.org>
30144
30145         More support for FreeMiNT.
30146         * lib/fpurge.c (fpurge): Correct last commit.
30147         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30148
30149 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30150
30151         Fix unportable awk script in vc-list-files.
30152         * build-aux/vc-list-files: In the replacement awk script, use
30153         substr with a second argument of 1, not zero.
30154         Report by Simon Josefsson.
30155
30156 2009-02-28  Bruno Haible  <bruno@clisp.org>
30157
30158         More support for FreeMiNT.
30159         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
30160         to FreeMiNT today.
30161         * lib/fwriting.c (fwriting): Likewise.
30162         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
30163
30164 2009-02-28  Bruno Haible  <bruno@clisp.org>
30165
30166         * tests/test-freadseek.c (main): Disable test beyond end of file on
30167         FreeMiNT.
30168         * tests/test-ftello.c (main): Likewise.
30169         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
30170
30171 2009-02-28  Bruno Haible  <bruno@clisp.org>
30172
30173         Add tentative support for FreeMiNT.
30174         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
30175         * lib/fpurge.c (fpurge): Likewise.
30176         * lib/freadable.c (freadable): Likewise.
30177         * lib/freading.c (freading): Likewise.
30178         * lib/freadptr.c (freadptr): Likewise.
30179         * lib/freadseek.c (freadptrinc): Likewise.
30180         * lib/fseeko.c (rpl_fseeko): Likewise.
30181         * lib/fseterr.c (fseterr): Likewise.
30182         * lib/fwritable.c (fwritable): Likewise.
30183         * lib/fwriting.c (fwriting): Likewise.
30184         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
30185         Hourihane.
30186         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30187
30188 2009-02-28  Bruno Haible  <bruno@clisp.org>
30189
30190         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
30191         SIGCHLD.
30192         Reported by Jim Meyering.
30193
30194 2009-02-28  Bruno Haible  <bruno@clisp.org>
30195
30196         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
30197         Mention the results of these tests on various platforms.
30198         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
30199         order.
30200         * doc/posix-functions/printf.texi: Likewise.
30201         * doc/posix-functions/snprintf.texi: Likewise.
30202         * doc/posix-functions/sprintf.texi: Likewise.
30203         * doc/posix-functions/vfprintf.texi: Likewise.
30204         * doc/posix-functions/vprintf.texi: Likewise.
30205         * doc/posix-functions/vsnprintf.texi: Likewise.
30206         * doc/posix-functions/vsprintf.texi: Likewise.
30207         * doc/glibc-functions/obstack_printf.texi: Likewise.
30208         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
30209
30210 2009-02-28  Bruno Haible  <bruno@clisp.org>
30211
30212         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
30213         Reported by Loïc Minier <lool@dooz.org>.
30214
30215 2009-02-27  Bruno Haible  <bruno@clisp.org>
30216
30217         * gnulib-tool (func_import): Make the sed expression used to create the
30218         sed script for updating the .gitignore file POSIX compliant.
30219         Reported by Eric Blake.
30220
30221 2009-02-27  Bruno Haible  <bruno@clisp.org>
30222
30223         * gnulib-tool (sed): Don't alias as "sed --posix".
30224         Reported by Eric Blake.
30225
30226 2009-02-27  Bruno Haible  <bruno@clisp.org>
30227
30228         Avoid test link errors.
30229         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
30230         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
30231         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
30232         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
30233         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30234
30235 2009-02-27  Bruno Haible  <bruno@clisp.org>
30236
30237         Avoid spurious "(cached)" in configure output.
30238         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
30239         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
30240         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30241         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30242         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30243         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30244         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30245         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30246         Reported by Eric Blake.
30247
30248 2009-02-27  Eric Blake  <ebb9@byu.net>
30249
30250         printf: fix regression in previous patch
30251         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
30252
30253 2009-02-27  Bruno Haible  <bruno@clisp.org>
30254
30255         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
30256         value.
30257         * lib/stdint.in.h: Likewise.
30258         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
30259
30260 2009-02-27  Eric Blake  <ebb9@byu.net>
30261
30262         doc: mention more functions added in cygwin 1.7.0
30263         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
30264         addition.
30265         * doc/posix-functions/open_wmemstream.texi: Likewise.
30266         * doc/posix-functions/wcsnlen.texi: Likewise.
30267         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30268         * doc/posix-functions/wcstod.texi: Likewise.
30269         * doc/posix-functions/wcstof.texi: Likewise.
30270         * doc/posix-functions/wcstoimax.texi: Likewise.
30271         * doc/posix-functions/wcstok.texi: Likewise.
30272         * doc/posix-functions/wcstoumax.texi: Likewise.
30273
30274         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
30275         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
30276         * doc/posix-functions/fprintf.texi: Update.
30277         * doc/posix-functions/printf.texi: Update.
30278         * doc/posix-functions/snprintf.texi: Update.
30279         * doc/posix-functions/sprintf.texi: Update.
30280         * doc/posix-functions/vfprintf.texi: Update.
30281         * doc/posix-functions/vprintf.texi: Update.
30282         * doc/posix-functions/vsnprintf.texi: Update.
30283         * doc/posix-functions/vsprintf.texi: Update.
30284         * doc/glibc-functions/obstack_printf.texi: Update.
30285         * doc/glibc-functions/obstack_vprintf.texi: Update.
30286
30287 2009-02-26  Eric Blake  <ebb9@byu.net>
30288
30289         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
30290         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
30291         compilation bug by using runtime conversion.
30292         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30293         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
30294         * modules/ceill-tests (Files): Use nan.h.
30295         * modules/floorl-tests (Files): Likewise.
30296         * modules/frexpl-tests (Files): Likewise.
30297         * modules/isnanl-tests (Files): Likewise.
30298         * modules/ldexpl-tests (Files): Likewise.
30299         * modules/roundl-tests (Files): Likewise.
30300         * modules/truncl-tests (Files): Likewise.
30301         * tests/test-ceill.c (main): Use a working NaN.
30302         * tests/test-floorl.c (main): Likewise.
30303         * tests/test-frexpl.c (main): Likewise.
30304         * tests/test-isnan.c (test_long_double): Likewise.
30305         * tests/test-isnanl.h (main): Likewise.
30306         * tests/test-ldexpl.h (main): Likewise.
30307         * tests/test-roundl.h (main): Likewise.
30308         * tests/test-truncl.h (main): Likewise.
30309         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
30310
30311 2009-02-26  Eric Blake  <ebb9@byu.net>
30312             Bruno Haible  <bruno@clisp.org>
30313
30314         Work around a *printf bug with %ls on Solaris.
30315         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
30316         precision is specified, sprintf stops converting the wide string
30317         argument when the number of bytes that have been produced by this
30318         conversion equals or exceeds the precision.
30319         * doc/posix-functions/fprintf.texi: Update.
30320         * doc/posix-functions/printf.texi: Update.
30321         * doc/posix-functions/snprintf.texi: Update.
30322         * doc/posix-functions/sprintf.texi: Update.
30323         * doc/posix-functions/vfprintf.texi: Update.
30324         * doc/posix-functions/vprintf.texi: Update.
30325         * doc/posix-functions/vsnprintf.texi: Update.
30326         * doc/posix-functions/vsprintf.texi: Update.
30327         * doc/glibc-functions/obstack_printf.texi: Update.
30328         * doc/glibc-functions/obstack_vprintf.texi: Update.
30329
30330 2009-02-26  Eric Blake  <ebb9@byu.net>
30331
30332         stdlib: favor compiler check of random.h
30333         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
30334         to avoid an ObjC random.h installed by Swarm.
30335
30336 2009-02-26  Bruno Haible  <bruno@clisp.org>
30337
30338         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
30339         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
30340         Reported by Gary V. Vaughan <gary@gnu.org>.
30341
30342 2009-02-26  Bruno Haible  <bruno@clisp.org>
30343
30344         Fix *printf behaviour regarding the %ls directive.
30345         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
30346         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
30347         NEED_PRINTF_DIRECTIVE_LS.
30348         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
30349         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30350         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30351         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
30352         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
30353         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
30354         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
30355         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30356         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30357         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30358         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30359         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
30360         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30361         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30362         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30363         * doc/posix-functions/fprintf.texi: Update.
30364         * doc/posix-functions/printf.texi: Update.
30365         * doc/posix-functions/snprintf.texi: Update.
30366         * doc/posix-functions/sprintf.texi: Update.
30367         * doc/posix-functions/vfprintf.texi: Update.
30368         * doc/posix-functions/vprintf.texi: Update.
30369         * doc/posix-functions/vsnprintf.texi: Update.
30370         * doc/posix-functions/vsprintf.texi: Update.
30371         * doc/glibc-functions/obstack_printf.texi: Update.
30372         * doc/glibc-functions/obstack_vprintf.texi: Update.
30373         Reported by Eric Blake.
30374
30375 2009-02-25  Bruno Haible  <bruno@clisp.org>
30376
30377         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
30378         with known value.
30379         Reported by Gary V. Vaughan <gary@gnu.org>.
30380
30381 2009-02-25  Bruno Haible  <bruno@clisp.org>
30382
30383         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
30384         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
30385         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
30386         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
30387         Reported by Gary V. Vaughan <gary@gnu.org>.
30388
30389 2009-02-25  Bruno Haible  <bruno@clisp.org>
30390
30391         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
30392         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
30393         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
30394         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
30395         Reported by Gary V. Vaughan <gary@gnu.org>.
30396
30397 2009-02-25  Eric Blake  <ebb9@byu.net>
30398
30399         tests: skip fseek/ftell tests if ungetc is broken
30400         * m4/ungetc.m4: New file.
30401         * modules/fseek-tests: Split test, so ungetc dependency is
30402         separate from rest of test.
30403         * modules/fseeko-tests: Likewise.
30404         * modules/ftell-tests: Likewise.
30405         * modules/ftello-tests: Likewise.
30406         * tests/test-fseek.c (main): Isolate ungetc dependency.
30407         * tests/test-fseeko.c (main): Likewise.
30408         * tests/test-ftell.c (main): Likewise.
30409         * tests/test-ftello.c (main): Likewise.
30410         * tests/test-fseek2.sh: New file.
30411         * tests/test-fseeko2.sh: Likewise.
30412         * tests/test-ftell2.sh: Likewise.
30413         * tests/test-ftello2.sh: Likewise.
30414
30415 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
30416
30417         test-getaddrinfo: fix usage of skip return code 77
30418         * tests/test-gettaddrinfo.c: Return skip code 77 only
30419         for first occurance of skip (4x77 is not 77)
30420
30421 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
30422
30423         strtod: avoid C99 decl-after-statement
30424         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
30425
30426 2009-02-24  Eric Blake  <ebb9@byu.net>
30427
30428         strtod: detect HP-UX 11.31 bug
30429         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
30430         Reported by Gary V. Vaughan.
30431
30432 2009-02-23  Bruno Haible  <bruno@clisp.org>
30433
30434         Fix invalid read past end of memory block.
30435         * lib/vasnprintf.c (DCHAR_SET): Define.
30436         (local_wcslen): Define only when needed.
30437         (local_strnlen, local_wcsnlen): New functions.
30438         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
30439         directives that involve a conversion ourselves.
30440         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
30441         wcsnlen, mbrtowc, wcrtomb.
30442         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
30443         * tests/test-vasprintf-posix.c (test_function): Likewise.
30444         * tests/test-snprintf-posix.h (test_function): Likewise.
30445         * tests/test-sprintf-posix.h (test_function): Likewise.
30446         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30447
30448 2009-02-22  Bruno Haible  <bruno@clisp.org>
30449
30450         Implement new clarified decomposition of Hangul syllables.
30451         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
30452         of type LTV, return only a pairwise decomposition.
30453         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
30454         Likewise.
30455         * tests/uninorm/test-decomposition.c (main): Updated expected result.
30456         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
30457         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
30458
30459 2009-02-22  Bruno Haible  <bruno@clisp.org>
30460
30461         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
30462         zero-length results and shrink excess allocated memory.
30463         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
30464         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
30465         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
30466         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
30467         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
30468         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
30469         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
30470         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
30471         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
30472         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
30473         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
30474         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
30475
30476 2009-02-21  Bruno Haible  <bruno@clisp.org>
30477
30478         * doc/gnulib.texi: Include safe-alloc.texi earlier.
30479         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
30480         spaces after a period. Put a space between a macro name and its
30481         argument list. Trivial rewordings.
30482         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
30483         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
30484         (main): Return 0 explicitly.
30485
30486 2009-02-21  Bruno Haible  <bruno@clisp.org>
30487
30488         Tests for module 'uninorm/filter'.
30489         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
30490         * modules/uninorm/filter-tests: New file.
30491
30492         New module 'uninorm/filter'.
30493         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
30494         uninorm_filter_flush, uninorm_filter_free): New declarations.
30495         * lib/uninorm/uninorm-filter.c: New file.
30496         * modules/uninorm/filter: New file.
30497
30498 2009-02-21  Bruno Haible  <bruno@clisp.org>
30499
30500         Tests for module 'uninorm/nfkc'.
30501         * tests/uninorm/test-nfkc.c: New file.
30502         * tests/uninorm/test-u8-nfkc.c: New file.
30503         * tests/uninorm/test-u16-nfkc.c: New file.
30504         * tests/uninorm/test-u32-nfkc.c: New file.
30505         * tests/uninorm/test-u32-nfkc-big.sh: New file.
30506         * tests/uninorm/test-u32-nfkc-big.c: New file.
30507         * modules/uninorm/nfkc-tests: New file.
30508
30509         New module 'uninorm/nfkc'.
30510         * lib/uninorm/nfkc.c: New file.
30511         * modules/uninorm/nfkc: New file.
30512
30513         Tests for module 'uninorm/nfkd'.
30514         * tests/uninorm/test-nfkd.c: New file.
30515         * tests/uninorm/test-u8-nfkd.c: New file.
30516         * tests/uninorm/test-u16-nfkd.c: New file.
30517         * tests/uninorm/test-u32-nfkd.c: New file.
30518         * tests/uninorm/test-u32-nfkd-big.sh: New file.
30519         * tests/uninorm/test-u32-nfkd-big.c: New file.
30520         * modules/uninorm/nfkd-tests: New file.
30521
30522         New module 'uninorm/nfkd'.
30523         * lib/uninorm/nfkd.c: New file.
30524         * modules/uninorm/nfkd: New file.
30525
30526         Tests for module 'uninorm/nfc'.
30527         * tests/uninorm/test-nfc.c: New file.
30528         * tests/uninorm/test-u8-nfc.c: New file.
30529         * tests/uninorm/test-u16-nfc.c: New file.
30530         * tests/uninorm/test-u32-nfc.c: New file.
30531         * tests/uninorm/test-u32-nfc-big.sh: New file.
30532         * tests/uninorm/test-u32-nfc-big.c: New file.
30533         * modules/uninorm/nfc-tests: New file.
30534
30535         New module 'uninorm/nfc'.
30536         * lib/uninorm/nfc.c: New file.
30537         * modules/uninorm/nfc: New file.
30538
30539         Tests for module 'uninorm/nfd'.
30540         * tests/uninorm/test-nfd.c: New file.
30541         * tests/uninorm/test-u8-nfd.c: New file.
30542         * tests/uninorm/test-u16-nfd.c: New file.
30543         * tests/uninorm/test-u32-nfd.c: New file.
30544         * tests/uninorm/test-u32-nfd-big.sh: New file.
30545         * tests/uninorm/test-u32-nfd-big.c: New file.
30546         * tests/uninorm/test-u32-normalize-big.h: New file.
30547         * tests/uninorm/test-u32-normalize-big.c: New file.
30548         * tests/uninorm/NormalizationTest.txt: New file, created from
30549         Unicode 5.1.0 NormalizationTest.txt.
30550         * modules/uninorm/nfd-tests: New file.
30551
30552         New module 'uninorm/nfd'.
30553         * lib/uninorm/nfd.c: New file.
30554         * modules/uninorm/nfd: New file.
30555
30556         New module 'uninorm/u32-normalize'.
30557         * lib/uninorm/u32-normalize.c: New file.
30558         * modules/uninorm/u32-normalize: New file.
30559
30560         New module 'uninorm/u16-normalize'.
30561         * lib/uninorm/u16-normalize.c: New file.
30562         * modules/uninorm/u16-normalize: New file.
30563
30564         New module 'uninorm/u8-normalize'.
30565         * lib/uninorm/u8-normalize.c: New file.
30566         * lib/uninorm/normalize-internal.h: New file.
30567         * lib/uninorm/u-normalize-internal.h: New file.
30568         * modules/uninorm/u8-normalize: New file.
30569
30570         New module 'uninorm/decompose-internal'.
30571         * lib/uninorm/decompose-internal.c: New file.
30572         * modules/uninorm/decompose-internal: New file.
30573
30574         Tests for module 'uninorm/composition'.
30575         * tests/uninorm/test-composition.c: New file.
30576         * modules/uninorm/composition-tests: New file.
30577
30578         New module 'uninorm/composition'.
30579         * lib/uninorm/composition.c: New file.
30580         * lib/uninorm/composition-table.gperf: New file, generated by
30581         gen-uni-tables.
30582         * modules/uninorm/composition: New file.
30583
30584         Tests for module 'uninorm/compat-decomposition'.
30585         * tests/uninorm/test-compat-decomposition.c: New file.
30586         * modules/uninorm/compat-decomposition-tests: New file.
30587
30588         New module 'uninorm/compat-decomposition'.
30589         * lib/uninorm/decompose-internal.h: New file.
30590         * lib/uninorm/compat-decomposition.c: New file.
30591         * modules/uninorm/compat-decomposition: New file.
30592
30593         Tests for module 'uninorm/canonical-decomposition'.
30594         * tests/uninorm/test-canonical-decomposition.c: New file.
30595         * modules/uninorm/canonical-decomposition-tests: New file.
30596
30597         New module 'uninorm/canonical-decomposition'.
30598         * lib/uninorm/canonical-decomposition.c: New file.
30599         * modules/uninorm/canonical-decomposition: New file.
30600
30601         Tests for module 'uninorm/decomposition'.
30602         * tests/uninorm/test-decomposition.c: New file.
30603         * modules/uninorm/decomposition-tests: New file.
30604
30605         New module 'uninorm/decomposition'.
30606         * lib/uninorm/decomposition.c: New file.
30607         * modules/uninorm/decomposition: New file.
30608
30609         New module 'uninorm/decomposition-table'.
30610         * lib/uninorm/decomposition-table.h: New file.
30611         * lib/uninorm/decomposition-table.c: New file.
30612         * lib/uninorm/decomposition-table1.h: New file, generated by
30613         gen-uni-tables.
30614         * lib/uninorm/decomposition-table2.h: New file, generated by
30615         gen-uni-tables.
30616         * modules/uninorm/decomposition-table: New file.
30617
30618         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
30619         (UC_DECOMP_*): New enumeration items.
30620         (get_decomposition): New function.
30621         (struct decomp_table): New type.
30622         (output_decomposition, output_decomposition_tables): New functions.
30623         (unicode_composition_exclusions): New variable.
30624         (fill_composition_exclusions, debug_output_composition_tables): New
30625         functions.
30626         (main): Accept one more argument. Invoke fill_composition_exclusions.
30627         Output decomposition and composition tables.
30628
30629         New module 'uninorm/base'.
30630         * lib/uninorm.h: New file.
30631         * lib/unictype.h: Update comment.
30632         * modules/uninorm/base: New file.
30633
30634 2009-02-21  David Lutterkort  <lutter@redhat.com>
30635
30636         Tests for module 'safe-alloc'.
30637         * tests/test-safe-alloc.c: New file.
30638         * modules/safe-alloc-tests: New file.
30639
30640         New module 'safe-alloc'.
30641         * lib/safe-alloc.h: New file.
30642         * lib/safe-alloc.c: New file.
30643         * m4/safe-alloc.m4: New file.
30644         * modules/safe-alloc: New file.
30645         * doc/safe-alloc.texi: New file.
30646         * doc/gnulib.texi: Include it.
30647         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30648         safe-alloc.
30649
30650 2009-02-18  Bruno Haible  <bruno@clisp.org>
30651
30652         Fix link error on non-glibc systems.
30653         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
30654         variable.
30655         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30656
30657 2009-02-18  Jim Meyering  <meyering@redhat.com>
30658
30659         fts: avoid used-uninitialized error due to recent change
30660         * lib/fts.c (fts_read): Guard uses of the new member,
30661         parent->fts_n_dirs_remaining, since it's not relevant for
30662         the parent of a directory specified on the command-line.
30663
30664 2009-02-17  James Youngman  <jay@gnu.org>
30665             Bruno Haible  <bruno@clisp.org>
30666
30667         * m4/include_next.m4: Reformulate comment.
30668
30669 2009-02-16  Jim Meyering  <meyering@redhat.com>
30670
30671         fts: add #if guards so that the fts_lgpl module still builds
30672         * lib/fts.c: Guard just-added hash-table-using parts with
30673         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
30674         Reported by Simon Josefsson.
30675
30676 2009-02-15  Bruno Haible  <bruno@clisp.org>
30677
30678         * modules/array-mergesort-tests: New file.
30679         * tests/test-array-mergesort.c: New file.
30680
30681         New module 'array-mergesort'.
30682         * modules/array-mergesort: New file.
30683         * lib/array-mergesort.h: New file.
30684
30685 2009-02-15  Bruno Haible  <bruno@clisp.org>
30686
30687         Fix 2009-02-07 commit.
30688         * lib/gen-uni-tables.c (output_predicate, output_category,
30689         output_combclass, output_bidi_category, output_decimal_digit,
30690         output_digit, output_numeric, output_mirror, output_scripts,
30691         output_ident_category, output_simple_mapping): Fix format directives.
30692         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
30693
30694 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
30695
30696         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
30697         fixes are available from IBM.
30698
30699 2009-02-13  Jim Meyering  <meyering@redhat.com>
30700
30701         fts: arrange not to stat non-directories in more cases
30702         This makes GNU find (when it doesn't need to stat each file)
30703         *much* more efficient at traversing reiserfs file systems.
30704         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
30705         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
30706         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
30707         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
30708         (leaf_optimization_applies): New function.
30709         (LCO_hash, LCO_compare): New helper functions.
30710         (link_count_optimize_ok): New function.
30711         (fts_stat): Initialize new member (if dir).
30712         (fts_read): Decrement parent's fts_n_dirs_remaining count if
30713         we've just stat'ed a directory.  Skip the stat call when possible.
30714         ---
30715         Note this AFS-related exchange:
30716         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
30717         and note find's pioctl call in find/fstype.c.
30718         But that is necessary only if you want to enable the
30719         optimization for AFS, and for now, I don't.
30720
30721         fts: move a function definition "up" (no semantic change)
30722         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
30723         "up" to precede upcoming use of a related function.
30724
30725 2009-02-11  Jim Meyering  <meyering@redhat.com>
30726
30727         fts: correct internal computation of nlinks (optimization-related)
30728         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
30729         whether the current entry is a directory, so don't test it.
30730
30731 2009-02-10  Bruno Haible  <bruno@clisp.org>
30732
30733         Tests for module 'uniwbrk/ulc-wordbreaks'.
30734         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
30735         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
30736         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
30737
30738         Tests for module 'uniwbrk/u32-wordbreaks'.
30739         * modules/uniwbrk/u32-wordbreaks-tests: New file.
30740         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
30741
30742         Tests for module 'uniwbrk/u16-wordbreaks'.
30743         * modules/uniwbrk/u16-wordbreaks-tests: New file.
30744         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
30745
30746         Tests for module 'uniwbrk/u8-wordbreaks'.
30747         * modules/uniwbrk/u8-wordbreaks-tests: New file.
30748         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
30749
30750 2009-02-10  Bruno Haible  <bruno@clisp.org>
30751
30752         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
30753         property.
30754         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
30755         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
30756         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
30757
30758 2009-02-10  Simon Josefsson  <simon@josefsson.org>
30759
30760         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
30761         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
30762
30763 2009-02-10  Bruno Haible  <bruno@clisp.org>
30764
30765         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
30766         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
30767         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
30768         * lib/unilbrk/u8-possible-linebreaks.c: Update.
30769         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
30770         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
30771
30772 2009-02-09  Simon Josefsson  <simon@josefsson.org>
30773
30774         * lib/sockets.h (gl_fd_to_handle): New function.
30775
30776         * tests/test-sockets.c: Call gl_fd_to_handle.
30777
30778 2009-02-09  Bruno Haible  <bruno@clisp.org>
30779
30780         * doc/havelib.texi: Document the conventions on bi-arch systems.
30781
30782 2009-02-08  Bruno Haible  <bruno@clisp.org>
30783
30784         Document the AC_LIB_LINKFLAGS macro.
30785         * doc/havelib.texi: New file, mostly written on 2005-05-24.
30786         * doc/gnulib.texi: Include it.
30787
30788 2009-02-08  Bruno Haible  <bruno@clisp.org>
30789
30790         Fix wrong order of sections, compared to TOC.
30791         * doc/gnulib.texi: Include relocatable-maint.texi after the
30792         "Regular expressions" node, not before.
30793
30794 2009-02-08  Bruno Haible  <bruno@clisp.org>
30795
30796         Tests for module 'unicase/totitle'.
30797         * modules/unicase/totitle-tests: New file.
30798
30799         Tests for module 'unicase/tolower'.
30800         * modules/unicase/tolower-tests: New file.
30801
30802         Tests for module 'unicase/toupper'.
30803         * modules/unicase/toupper-tests: New file.
30804         * tests/unicase/test-mapping-part1.h: New file.
30805         * tests/unicase/test-mapping-part2.h: New file.
30806
30807         New module 'unicase/totitle'.
30808         * modules/unicase/totitle: New file.
30809         * lib/unicase/totitle.c: New file.
30810
30811         New module 'unicase/tolower'.
30812         * modules/unicase/tolower: New file.
30813         * lib/unicase/tolower.c: New file.
30814
30815         New module 'unicase/toupper'.
30816         * modules/unicase/toupper: New file.
30817         * lib/unicase/toupper.c: New file.
30818         * lib/unicase/simple-mapping.h: New file.
30819
30820         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
30821         (mapping_table): New structure.
30822         (output_simple_mapping): New function.
30823         (main): Invoke output_simple_mapping_test and output_simple_mapping.
30824         * modules/gen-uni-tables (Description): Update.
30825         * lib/unicase/toupper.h: New file, automatically generated by
30826         gen-uni-tables.
30827         * lib/unicase/tolower.h: New file, automatically generated by
30828         gen-uni-tables.
30829         * lib/unicase/totitle.h: New file, automatically generated by
30830         gen-uni-tables.
30831         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
30832         gen-uni-tables.
30833         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
30834         gen-uni-tables.
30835         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
30836         gen-uni-tables.
30837
30838         New module 'unicase/base'.
30839         * modules/unicase/base: New file.
30840         * lib/unicase.h: New file.
30841
30842 2009-02-08  Bruno Haible  <bruno@clisp.org>
30843
30844         New module 'uniwbrk/ulc-wordbreaks'.
30845         * modules/uniwbrk/ulc-wordbreaks: New file.
30846         * lib/uniwbrk/ulc-wordbreaks.c: New file.
30847
30848         New module 'uniwbrk/u32-wordbreaks'.
30849         * modules/uniwbrk/u32-wordbreaks: New file.
30850         * lib/uniwbrk/u32-wordbreaks.c: New file.
30851
30852         New module 'uniwbrk/u16-wordbreaks'.
30853         * modules/uniwbrk/u16-wordbreaks: New file.
30854         * lib/uniwbrk/u16-wordbreaks.c: New file.
30855
30856         New module 'uniwbrk/u8-wordbreaks'.
30857         * modules/uniwbrk/u8-wordbreaks: New file.
30858         * lib/uniwbrk/u8-wordbreaks.c: New file.
30859         * lib/uniwbrk/u-wordbreaks.h: New file.
30860
30861         New module 'uniwbrk/table'.
30862         * modules/uniwbrk/table: New file.
30863         * lib/uniwbrk/wbrktable.h: New file.
30864         * lib/uniwbrk/wbrktable.c: New file.
30865
30866         New module 'uniwbrk/wordbreak-property'.
30867         * modules/uniwbrk/wordbreak-property: New file.
30868         * lib/uniwbrk/wordbreak-property.c: New file.
30869
30870         * lib/gen-uni-tables.c (WBP_*): New enum items.
30871         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
30872         (unicode_org_wbp): New variable.
30873         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
30874         New functions.
30875         (wbp_table): New structure.
30876         (output_wbp, output_wbrk_tables): New functions.
30877         (main): Accept additional argument. Invoke fill_org_wbp,
30878         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
30879         output_wbrk_tables.
30880         * modules/gen-uni-tables (Description): Update.
30881         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
30882         gen-uni-tables.
30883
30884         New module 'uniwbrk/base'.
30885         * modules/uniwbrk/base: New file.
30886         * lib/uniwbrk.h: New file.
30887
30888 2009-02-08  Bruno Haible  <bruno@clisp.org>
30889
30890         Update to Unicode 5.1.0.
30891         * lib/gen-uni-tables.c (is_property_alphabetic): Include
30892         U+2185..U+2188.
30893         (is_property_default_ignorable_code_point): Don't include characters
30894         of category Cc or Cs and not-a-characters.
30895         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
30896         U+0D79, U+109E, U+109F, U+A60C.
30897         * lib/unictype/bidi_of.h: Regenerated.
30898         * lib/unictype/blocks.h: Regenerated.
30899         * lib/unictype/categ_C.h: Regenerated.
30900         * lib/unictype/categ_Cf.h: Regenerated.
30901         * lib/unictype/categ_Cn.h: Regenerated.
30902         * lib/unictype/categ_L.h: Regenerated.
30903         * lib/unictype/categ_Ll.h: Regenerated.
30904         * lib/unictype/categ_Lm.h: Regenerated.
30905         * lib/unictype/categ_Lo.h: Regenerated.
30906         * lib/unictype/categ_Lu.h: Regenerated.
30907         * lib/unictype/categ_M.h: Regenerated.
30908         * lib/unictype/categ_Mc.h: Regenerated.
30909         * lib/unictype/categ_Me.h: Regenerated.
30910         * lib/unictype/categ_Mn.h: Regenerated.
30911         * lib/unictype/categ_N.h: Regenerated.
30912         * lib/unictype/categ_Nd.h: Regenerated.
30913         * lib/unictype/categ_Nl.h: Regenerated.
30914         * lib/unictype/categ_No.h: Regenerated.
30915         * lib/unictype/categ_P.h: Regenerated.
30916         * lib/unictype/categ_Pd.h: Regenerated.
30917         * lib/unictype/categ_Pe.h: Regenerated.
30918         * lib/unictype/categ_Pf.h: Regenerated.
30919         * lib/unictype/categ_Pi.h: Regenerated.
30920         * lib/unictype/categ_Po.h: Regenerated.
30921         * lib/unictype/categ_Ps.h: Regenerated.
30922         * lib/unictype/categ_S.h: Regenerated.
30923         * lib/unictype/categ_Sk.h: Regenerated.
30924         * lib/unictype/categ_Sm.h: Regenerated.
30925         * lib/unictype/categ_So.h: Regenerated.
30926         * lib/unictype/categ_of.h: Regenerated.
30927         * lib/unictype/combining.h: Regenerated.
30928         * lib/unictype/ctype_alnum.h: Regenerated.
30929         * lib/unictype/ctype_alpha.h: Regenerated.
30930         * lib/unictype/ctype_graph.h: Regenerated.
30931         * lib/unictype/ctype_lower.h: Regenerated.
30932         * lib/unictype/ctype_print.h: Regenerated.
30933         * lib/unictype/ctype_punct.h: Regenerated.
30934         * lib/unictype/ctype_upper.h: Regenerated.
30935         * lib/unictype/decdigit.h: Regenerated.
30936         * lib/unictype/digit.h: Regenerated.
30937         * lib/unictype/mirror.h: Regenerated.
30938         * lib/unictype/numeric.h: Regenerated.
30939         * lib/unictype/pr_alphabetic.h: Regenerated.
30940         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
30941         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
30942         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
30943         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
30944         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
30945         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
30946         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
30947         * lib/unictype/pr_combining.h: Regenerated.
30948         * lib/unictype/pr_dash.h: Regenerated.
30949         * lib/unictype/pr_decimal_digit.h: Regenerated.
30950         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
30951         * lib/unictype/pr_deprecated.h: Regenerated.
30952         * lib/unictype/pr_diacritic.h: Regenerated.
30953         * lib/unictype/pr_extender.h: Regenerated.
30954         * lib/unictype/pr_format_control.h: Regenerated.
30955         * lib/unictype/pr_grapheme_base.h: Regenerated.
30956         * lib/unictype/pr_grapheme_extend.h: Regenerated.
30957         * lib/unictype/pr_grapheme_link.h: Regenerated.
30958         * lib/unictype/pr_id_continue.h: Regenerated.
30959         * lib/unictype/pr_id_start.h: Regenerated.
30960         * lib/unictype/pr_ideographic.h: Regenerated.
30961         * lib/unictype/pr_ignorable_control.h: Regenerated.
30962         * lib/unictype/pr_lowercase.h: Regenerated.
30963         * lib/unictype/pr_math.h: Regenerated.
30964         * lib/unictype/pr_numeric.h: Regenerated.
30965         * lib/unictype/pr_other_alphabetic.h: Regenerated.
30966         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
30967         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
30968         * lib/unictype/pr_other_id_continue.h: Regenerated.
30969         * lib/unictype/pr_other_lowercase.h: Regenerated.
30970         * lib/unictype/pr_other_math.h: Regenerated.
30971         * lib/unictype/pr_punctuation.h: Regenerated.
30972         * lib/unictype/pr_sentence_terminal.h: Regenerated.
30973         * lib/unictype/pr_soft_dotted.h: Regenerated.
30974         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
30975         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
30976         * lib/unictype/pr_unified_ideograph.h: Regenerated.
30977         * lib/unictype/pr_uppercase.h: Regenerated.
30978         * lib/unictype/pr_xid_continue.h: Regenerated.
30979         * lib/unictype/pr_xid_start.h: Regenerated.
30980         * lib/unictype/pr_zero_width.h: Regenerated.
30981         * lib/unictype/scripts.h: Regenerated.
30982         * lib/unictype/scripts_byname.gperf: Regenerated.
30983         * lib/unictype/sy_java_ident.h: Regenerated.
30984         * lib/unilbrk/lbrkprop1.h: Regenerated.
30985         * lib/unilbrk/lbrkprop2.h: Regenerated.
30986         * tests/unictype/test-categ_C.c: Regenerated.
30987         * tests/unictype/test-categ_Cf.c: Regenerated.
30988         * tests/unictype/test-categ_Cn.c: Regenerated.
30989         * tests/unictype/test-categ_L.c: Regenerated.
30990         * tests/unictype/test-categ_Ll.c: Regenerated.
30991         * tests/unictype/test-categ_Lm.c: Regenerated.
30992         * tests/unictype/test-categ_Lo.c: Regenerated.
30993         * tests/unictype/test-categ_Lu.c: Regenerated.
30994         * tests/unictype/test-categ_M.c: Regenerated.
30995         * tests/unictype/test-categ_Mc.c: Regenerated.
30996         * tests/unictype/test-categ_Me.c: Regenerated.
30997         * tests/unictype/test-categ_Mn.c: Regenerated.
30998         * tests/unictype/test-categ_N.c: Regenerated.
30999         * tests/unictype/test-categ_Nd.c: Regenerated.
31000         * tests/unictype/test-categ_Nl.c: Regenerated.
31001         * tests/unictype/test-categ_No.c: Regenerated.
31002         * tests/unictype/test-categ_P.c: Regenerated.
31003         * tests/unictype/test-categ_Pd.c: Regenerated.
31004         * tests/unictype/test-categ_Pe.c: Regenerated.
31005         * tests/unictype/test-categ_Pf.c: Regenerated.
31006         * tests/unictype/test-categ_Pi.c: Regenerated.
31007         * tests/unictype/test-categ_Po.c: Regenerated.
31008         * tests/unictype/test-categ_Ps.c: Regenerated.
31009         * tests/unictype/test-categ_S.c: Regenerated.
31010         * tests/unictype/test-categ_Sk.c: Regenerated.
31011         * tests/unictype/test-categ_Sm.c: Regenerated.
31012         * tests/unictype/test-categ_So.c: Regenerated.
31013         * tests/unictype/test-ctype_alnum.c: Regenerated.
31014         * tests/unictype/test-ctype_alpha.c: Regenerated.
31015         * tests/unictype/test-ctype_graph.c: Regenerated.
31016         * tests/unictype/test-ctype_lower.c: Regenerated.
31017         * tests/unictype/test-ctype_print.c: Regenerated.
31018         * tests/unictype/test-ctype_punct.c: Regenerated.
31019         * tests/unictype/test-ctype_upper.c: Regenerated.
31020         * tests/unictype/test-decdigit.h: Regenerated.
31021         * tests/unictype/test-digit.h: Regenerated.
31022         * tests/unictype/test-numeric.h: Regenerated.
31023         * tests/unictype/test-pr_alphabetic.c: Regenerated.
31024         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
31025         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
31026         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
31027         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
31028         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
31029         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
31030         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
31031         * tests/unictype/test-pr_combining.c: Regenerated.
31032         * tests/unictype/test-pr_dash.c: Regenerated.
31033         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
31034         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
31035         * tests/unictype/test-pr_deprecated.c: Regenerated.
31036         * tests/unictype/test-pr_diacritic.c: Regenerated.
31037         * tests/unictype/test-pr_extender.c: Regenerated.
31038         * tests/unictype/test-pr_format_control.c: Regenerated.
31039         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
31040         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
31041         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
31042         * tests/unictype/test-pr_id_continue.c: Regenerated.
31043         * tests/unictype/test-pr_id_start.c: Regenerated.
31044         * tests/unictype/test-pr_ideographic.c: Regenerated.
31045         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
31046         * tests/unictype/test-pr_lowercase.c: Regenerated.
31047         * tests/unictype/test-pr_math.c: Regenerated.
31048         * tests/unictype/test-pr_numeric.c: Regenerated.
31049         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
31050         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
31051         Regenerated.
31052         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
31053         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
31054         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
31055         * tests/unictype/test-pr_other_math.c: Regenerated.
31056         * tests/unictype/test-pr_punctuation.c: Regenerated.
31057         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
31058         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
31059         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
31060         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
31061         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
31062         * tests/unictype/test-pr_uppercase.c: Regenerated.
31063         * tests/unictype/test-pr_xid_continue.c: Regenerated.
31064         * tests/unictype/test-pr_xid_start.c: Regenerated.
31065         * tests/unictype/test-pr_zero_width.c: Regenerated.
31066
31067         Update to Unicode 5.1.0.
31068         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
31069         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
31070         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
31071         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
31072         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
31073         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
31074         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
31075         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
31076         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
31077         (nonspacing_table_ind): Update.
31078         * tests/uniwidth/test-uc_width2.sh: Update expected result.
31079
31080         Update to Unicode 5.1.0.
31081         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
31082         code transform.
31083         * lib/uniname/uniname.c (unicode_character_name,
31084         unicode_name_character): Add the range 0x1Fxxx to the code transform.
31085         * lib/uniname/uninames.h: Regenerated.
31086         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
31087
31088 2009-02-07  Bruno Haible  <bruno@clisp.org>
31089
31090         Merge gen-ctype and gen-lbrk into a single program.
31091         * lib/gen-uni-tables.c: New file, incorporating
31092         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
31093         Add directory prefixes to the names of the generated files.
31094         * lib/unictype/gen-ctype.c: Remove file.
31095         * lib/unilbrk/gen-lbrk.c: Remove file.
31096         * modules/gen-uni-tables: New file.
31097         * modules/unictype/gen-ctype: Remove file.
31098         * modules/unilbrk/gen-lbrk: Remove file.
31099
31100 2009-02-07  Bruno Haible  <bruno@clisp.org>
31101
31102         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
31103
31104         New module 'unistr/u32-strcoll'.
31105         * modules/unistr/u32-strcoll: New file.
31106         * lib/unistr/u32-strcoll.c: New file.
31107
31108         New module 'unistr/u16-strcoll'.
31109         * modules/unistr/u16-strcoll: New file.
31110         * lib/unistr/u16-strcoll.c: New file.
31111
31112         New module 'unistr/u8-strcoll'.
31113         * modules/unistr/u8-strcoll: New file.
31114         * lib/unistr/u8-strcoll.c: New file.
31115         * lib/unistr/u-strcoll.h: New file.
31116
31117 2009-02-07  Bruno Haible  <bruno@clisp.org>
31118
31119         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
31120         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
31121         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
31122         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
31123         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
31124         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
31125
31126 2009-02-07  Bruno Haible  <bruno@clisp.org>
31127
31128         Make 64-bit clean.
31129         * lib/unictype/gen-ctype.c (output_predicate, output_category,
31130         output_combclass, output_bidi_category, output_decimal_digit,
31131         output_digit, output_numeric, output_mirror, output_scripts,
31132         output_ident_category): Use proper width specifier in format strings.
31133
31134 2009-02-07  Bruno Haible  <bruno@clisp.org>
31135
31136         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
31137         failure behaviour.
31138
31139 2009-02-07  Jim Meyering  <meyering@redhat.com>
31140
31141         regex: avoid compilation failure with upcoming gcc-4.4
31142         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
31143         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
31144         "... error: integer overflow in preprocessor expression".
31145
31146 2009-02-05  Ben Pfaff  <blp@gnu.org>
31147
31148         Fix link errors on Windows when close module is used.
31149         * modules/close: Add $(LIB_CLOSE) to Link section.
31150         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
31151         $(LIB_CLOSE) on Windows.
31152
31153 2009-02-05  Jim Meyering  <meyering@redhat.com>
31154
31155         still avoid unused-parameter warnings, but do it cleanly
31156         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
31157         (get_fs_usage): Cast to void instead.
31158         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
31159         (dev_from_mount_options, read_file_system_list): Cast to void.
31160         Prompted by Bruno Haible.
31161
31162 2009-02-04  Jim Meyering  <meyering@redhat.com>
31163
31164         fsusage.c: correct copyright year
31165         * lib/fsusage.c: Reflect year in which the change is pushed into
31166
31167         avoid misc. warnings
31168         * lib/fsusage.c (UNUSED_PARAM): Define.
31169         (get_fs_usage): Mark parameter "disk" as unused.
31170         * lib/getugroups.c (getgrent): Use "void" in prototype.
31171         * lib/mountlist.c: Mark unused parameters.
31172         (read_file_system_list): Declare a local with "const".
31173         * lib/nanosleep.c (getnow): Declare static.
31174         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
31175
31176         dirfd: set errno upon failure
31177         * lib/dirfd.c: Include <errno.h>.
31178         Set errno to ENOTSUP when returning -1.
31179         * modules/dirfd (Depends-on): Add errno.
31180         Suggested by John Kodis <kodis@comcast.net>.
31181
31182 2009-02-01  Bruno Haible  <bruno@clisp.org>
31183
31184         Don't assume sizeof (long) >= sizeof (void *).
31185         * lib/memcmp.c: Include stdint.h.
31186         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
31187         srcp2 to 'const byte *'.
31188         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
31189         types to uintptr_t.
31190         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
31191         * modules/memcmp (Depends-on): Add stdint.
31192         Reported by Ozkan Sezer <sezeroz@gmail.com>.
31193
31194 2009-01-30  Eric Blake  <ebb9@byu.net>
31195
31196         fix more require-before-expand issues
31197         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
31198         expand, AC_PROG_AWK.
31199         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
31200
31201 2009-01-28  Eric Blake  <ebb9@byu.net>
31202
31203         version-etc: use consistent URL formatting
31204         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
31205         Improve formatting.  Use fputs for string without %.
31206
31207 2009-01-28  Jim Meyering  <meyering@redhat.com>
31208
31209         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
31210         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
31211         "underquoted definition of NAME" from autoconf-2.59.
31212
31213 2009-01-28  Bruno Haible  <bruno@clisp.org>
31214
31215         * doc/gnulib.texi: Add "Obsolete modules" to index.
31216
31217 2009-01-28  Jim Meyering  <meyering@redhat.com>
31218
31219         useless-if-before-free: recognize more variants
31220         * build-aux/useless-if-before-free: Also recognize e.g.,
31221         if (NULL != p) free (p);
31222
31223 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
31224
31225         test-getaddrinfo: skip (don't fail) this test when there's no network
31226         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
31227         on the presumption that it means you lack network access.
31228
31229 2009-01-26  Jim Meyering  <meyering@redhat.com>
31230
31231         fflush: avoid warnings on modern systems
31232         * lib/fflush.c (rpl_fflush): Move declarations of locals,
31233         pos and result, into scopes where they're used.
31234
31235 2009-01-26  Eric Blake  <ebb9@byu.net>
31236
31237         Silence warning reintroduced by recent extensions patch.
31238         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
31239         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
31240         autoconf.
31241
31242         Backport improved autoconf semantics of AC_DEFUN_ONCE.
31243         * m4/00gnulib.m4: New file.
31244         * gnulib-tool (func_get_filelist): Always use it.
31245         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
31246         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
31247
31248 2009-01-25  Bruno Haible  <bruno@clisp.org>
31249
31250         Make test-quotearg work on MacOS X and AIX.
31251         * tests/test-quotearg.sh: New file.
31252         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
31253         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
31254         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
31255         include <libintl.h>.
31256         (fake_locale): Remove variable.
31257         (gettext, dgettext, dcgettext): Remove functions.
31258         (main): Instead of setting a fake locale, set a real locale. Call
31259         textdomain and bindtextdomain.
31260         * modules/quotearg-tests (Files): Add the new files.
31261         (Depends-on): Add gettext, setenv, unsetenv.
31262         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
31263         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
31264         Augment TESTS_ENVIRONMENT.
31265
31266 2009-01-25  Bruno Haible  <bruno@clisp.org>
31267
31268         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
31269         fr_FR.ISO8859-1 locale on MacOS X.
31270         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
31271         ja_JP.eucJP locale on MacOS X.
31272         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
31273         zh_CN.GB18030 locale on MacOS X.
31274
31275 2009-01-25  Bruno Haible  <bruno@clisp.org>
31276
31277         Avoid link errors on MacOS X 10.3.
31278         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
31279         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
31280
31281 2009-01-25  Bruno Haible  <bruno@clisp.org>
31282
31283         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
31284         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
31285         * modules/pipe (Files): Remove m4/posix_spawn.m4.
31286         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
31287         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
31288         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
31289         posix_spawnattr_init, posix_spawnattr_setsigmask,
31290         posix_spawnattr_setflags, posix_spawnattr_destroy.
31291
31292         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
31293         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
31294         * modules/execute (Files): Remove m4/posix_spawn.m4.
31295         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
31296         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
31297         posix_spawnattr_init, posix_spawnattr_setsigmask,
31298         posix_spawnattr_setflags, posix_spawnattr_destroy.
31299
31300 2009-01-25  Bruno Haible  <bruno@clisp.org>
31301
31302         * lib/glthread/threadlib.c: Include <stdlib.h>.
31303
31304 2009-01-25  Bruno Haible  <bruno@clisp.org>
31305
31306         * lib/glthread/threadlib.c (dummy): New declaration.
31307
31308 2009-01-25  Bruno Haible  <bruno@clisp.org>
31309
31310         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
31311         multibyte characters also for the GB18030 encoding. Don't crash when
31312         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
31313
31314 2009-01-25  Bruno Haible  <bruno@clisp.org>
31315
31316         Avoid redefining 'struct random_data' on OSF/1 5.1.
31317         * lib/stdlib.in.h: Include <random.h> if it exists.
31318         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
31319         HAVE_RANDOM_H. Include <random.h> when testing whether
31320         'struct random_data' exists.
31321         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
31322
31323 2009-01-25  Bruno Haible  <bruno@clisp.org>
31324
31325         Don't install charset.alias on MacOS X >= 10.3.
31326         * lib/localcharset.c (DARWIN7): New macro.
31327         (get_charset_aliases): Hardcode the result for Darwin7.
31328         * modules/localcharset (install-exec-local): Don't install
31329         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
31330
31331 2009-01-25  Bruno Haible  <bruno@clisp.org>
31332
31333         Don't install charset.alias on mingw and Cygwin.
31334         * modules/localcharset (install-exec-local): Don't install
31335         charset.alias on mingw and Cygwin, if the file does not yet exist.
31336         The result for these platforms is hardcoded in localcharset.c.
31337
31338 2009-01-25  Bruno Haible  <bruno@clisp.org>
31339
31340         Make it possible again to use AC_GNU_SOURCE together with gnulib.
31341         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
31342         before requiring AC_USE_SYSTEM_EXTENSIONS.
31343
31344 2009-01-25  Jim Meyering  <meyering@redhat.com>
31345
31346         c-strtod: avoid warnings
31347         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
31348         "assignment discards qualifiers from pointer target type" warnings.
31349
31350 2009-01-24  Bruno Haible  <bruno@clisp.org>
31351
31352         Add support for non-UTF-8 locales on MacOS X.
31353         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
31354         canonical encodings. For Darwin 7 and newer, don't map traditional
31355         encodings to UTF-8.
31356         Reported by Vincent Lefevre <vincent@vinc17.org>
31357         at <http://savannah.gnu.org/bugs/?25235>.
31358
31359 2009-01-24  Bruno Haible  <bruno@clisp.org>
31360
31361         * doc/gnulib.texi (Obsolete modules): New section.
31362         Reported by Mike Frysinger <vapier@gentoo.org>.
31363
31364 2009-01-24  Bruno Haible  <bruno@clisp.org>
31365
31366         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
31367         (%.dvi): New rule.
31368
31369 2009-01-24  Bruno Haible  <bruno@clisp.org>
31370
31371         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
31372         Reported by Eric Blake.
31373
31374 2009-01-24  Bruno Haible  <bruno@clisp.org>
31375
31376         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
31377         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
31378         Reported by Gary V. Vaughan <gary@gnu.org>.
31379
31380 2009-01-24  Bruno Haible  <bruno@clisp.org>
31381
31382         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
31383
31384 2009-01-23  Bruno Haible  <bruno@clisp.org>
31385
31386         Make c-strtod, c-strtold usable in libraries.
31387         * lib/c-strtod.c: Include string.h instead of xalloc.h.
31388         (C_STRTOD): Call strdup instead of xstrdup.
31389         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
31390         * modules/c-strtold (Depends-on): Likewise.
31391         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
31392         * NEWS: Mention the change.
31393         Reported by Michael Gold <mgold@ncf.ca>.
31394
31395 2009-01-23  Jim Meyering  <meyering@redhat.com>
31396
31397         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
31398         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
31399         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
31400
31401 2009-01-23  Simon Josefsson  <simon@josefsson.org>
31402
31403         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
31404         GNU CoreUtils.
31405         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
31406         * modules/version-etc (Description): Update.
31407
31408 2009-01-22  Bruno Haible  <bruno@clisp.org>
31409
31410         Cache the C locale object.
31411         * lib/c-strtod.c (c_locale_cache): New variable.
31412         (c_locale): New function.
31413         (C_STRTOD): Use it, and don't call freelocale.
31414         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
31415         Suggested by Paolo Bonzini.
31416
31417 2009-01-21  Bruno Haible  <bruno@clisp.org>
31418
31419         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
31420         conditions other than overflow.
31421
31422 2009-01-21  Bruno Haible  <bruno@clisp.org>
31423
31424         * lib/c-strtod.c: Include errno.h.
31425         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
31426         value from STRTOD_L and STRTOD.
31427
31428 2009-01-21  Bruno Haible  <bruno@clisp.org>
31429         and Jim Meyering  <meyering@redhat.com>
31430
31431         nanosleep: skip configure test (fail it) for apple universal builds
31432         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
31433         universal builds, assume that nanosleep does not work.
31434         * modules/nanosleep (Depends-on): Add multiarch.
31435
31436         mktime: skip configure test (fail it) for apple universal builds
31437         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
31438         universal builds, assume that mktime does not work.
31439         * modules/mktime (Depends-on): Add multiarch.
31440
31441 2009-01-21  Eric Blake  <ebb9@byu.net>
31442
31443         multiarch: avoid expand-before-require warning
31444         * modules/multiarch (configure.ac): Require, rather than expand,
31445         gl_MULTIARCH.
31446         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
31447         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
31448         enforce that all clients require it.  Partial reversion of
31449         2008-12-29 patch.
31450
31451         error: avoid expand-before-require warning
31452         * modules/errno (configure.ac): Require, rather than expand,
31453         gl_HEADER_ERRNO_H.
31454         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
31455         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
31456         enforce that all clients require it.
31457
31458         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
31459         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
31460         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
31461         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
31462
31463 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
31464
31465         Revert:
31466         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31467
31468         regex: do not depend on obsolete modules.
31469         * modules/regex: Remove memcmp and memmove.
31470
31471 2009-01-20  Bruno Haible  <bruno@clisp.org>
31472
31473         Make the 'link' module link on Windows NT 4.
31474         * lib/link.c (_WIN32_WINNT): Don't define.
31475         (CreateHardLinkFuncType): New type.
31476         (CreateHardLinkFunc, initialized): New variables.
31477         (initialize): New function.
31478         (link): Invoke CreateHardLink indirectly through the function pointer.
31479
31480 2009-01-20  Bruno Haible  <bruno@clisp.org>
31481
31482         Fix compilation failure on mingw.
31483         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
31484
31485 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
31486
31487         * doc/c-strtod.texi: Mention a couple of restrictions.
31488
31489 2009-01-20  Jim Meyering  <meyering@redhat.com>
31490
31491         gettimeofday: move more declarations out of functions
31492         * lib/gettimeofday.c: Move extern declarations of tzset and
31493         gmtime out of containing functions.  Prompted by Bruno Haible.
31494
31495 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31496
31497         regex: do not depend on obsolete modules.
31498         * modules/regex: Remove memcmp and memmove.
31499
31500 2009-01-19  Bruno Haible  <bruno@clisp.org>
31501
31502         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31503         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
31504         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31505         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
31506         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
31507
31508 2009-01-19  Bruno Haible  <bruno@clisp.org>
31509
31510         * tests/test-link.c: Include <errno.h>.
31511         (main): Exit with code 77 when a hard link cannot be created due to
31512         the file system.
31513         * tests/test-link.sh: Skip test when a hard link cannot be created due
31514         to the file system.
31515         Suggested by Eric Blake.
31516
31517 2009-01-19  Martin Lambers  <marlam@marlam.de>
31518
31519         * modules/link-tests: New file.
31520         * tests/test-link.sh: New file.
31521         * tests/test-link.c: New file.
31522
31523 2009-01-19  Eric Blake  <ebb9@byu.net>
31524
31525         doc: mention another function added in cygwin 1.7.0
31526         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
31527         Another new function in cygwin 1.7.
31528
31529 2009-01-19  Bruno Haible  <bruno@clisp.org>
31530
31531         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31532         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
31533         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
31534         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31535         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
31536         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31537         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31538         * m4/md4.m4 (gl_MD4): Likewise.
31539         * m4/md5.m4 (gl_MD5): Likewise.
31540         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
31541         * m4/sha1.m4 (gl_SHA1): Likewise.
31542         * m4/sha256.m4 (gl_SHA256): Likewise.
31543         * m4/sha512.m4 (gl_SHA512): Likewise.
31544
31545 2009-01-19  Bruno Haible  <bruno@clisp.org>
31546
31547         * modules/uniname/uniname-tests (Depends-on): Add progname.
31548         * tests/uniname/test-uninames.c: Include progname.h.
31549         (main): Call set_program_name.
31550
31551         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
31552         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
31553         (main): Call set_program_name.
31554
31555         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
31556         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
31557         (main): Call set_program_name.
31558
31559         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
31560         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
31561         (main): Call set_program_name.
31562
31563         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
31564         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
31565         (main): Call set_program_name.
31566
31567         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
31568         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
31569         (main): Call set_program_name.
31570
31571         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
31572         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
31573         (main): Call set_program_name.
31574
31575         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
31576         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
31577         (main): Call set_program_name.
31578
31579         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
31580         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
31581         (main): Call set_program_name.
31582
31583 2009-01-19  Eric Blake  <ebb9@byu.net>
31584
31585         test-unistd: test previous patch
31586         * tests/test-unistd.c: Test *_FILENO macros.
31587
31588         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
31589         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31590         Guarantee a definition.
31591         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
31592         * modules/unistd-safer (Depends-on): Add dependency on unistd.
31593         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
31594         * lib/dup-safer.c (STDERR_FILENO): Likewise.
31595         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31596         Likewise.
31597         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
31598         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
31599         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31600         Likewise.
31601         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
31602         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
31603         (STDERR_FILENO): Likewise.
31604         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
31605         (STDERR_FILENO): Likewise.
31606         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
31607         (STDERR_FILENO): Likewise.
31608         Reported by Elbert Pol.
31609
31610 2009-01-19  Eric Blake  <ebb9@byu.net>
31611
31612         doc: mention more functions added in cygwin 1.7.0
31613         * doc/posix-functions/abort.texi (abort): Update wording related
31614         to cygwin.
31615         * doc/posix-functions/daylight.texi (daylight): Likewise.
31616         * doc/posix-functions/optarg.texi (optarg): Likewise.
31617         * doc/posix-functions/optarg.texi (opterr): Likewise.
31618         * doc/posix-functions/optarg.texi (optind): Likewise.
31619         * doc/posix-functions/optarg.texi (optopt): Likewise.
31620         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
31621         worked in 1.5.x, and was withdrawn in 1.7.
31622         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
31623         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
31624         cygwin versions.
31625         * doc/posix-functions/perror.texi (perror): Likewise.
31626         * doc/posix-functions/printf.texi (printf): Likewise.
31627         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
31628         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
31629         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
31630         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
31631         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
31632         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
31633         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
31634         Likewise.
31635         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
31636         Likewise.
31637         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
31638         this function.
31639         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
31640         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
31641         Likewise.
31642         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
31643         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
31644         * doc/posix-functions/confstr.texi (confstr): Likewise.
31645         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
31646         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
31647         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
31648         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
31649         * doc/posix-functions/fputws.texi (fputws): Likewise.
31650         * doc/posix-functions/fwide.texi (fwide): Likewise.
31651         * doc/posix-functions/getwc.texi (getwc): Likewise.
31652         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
31653         * doc/posix-functions/putwc.texi (putwc): Likewise.
31654         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
31655         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
31656         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
31657         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
31658         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
31659         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
31660         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
31661         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
31662         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
31663         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
31664         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
31665
31666 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31667
31668         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
31669         * lib/ioctl.c: Include <sys/ioctl.h>.
31670
31671 2009-01-19  Simon Josefsson  <simon@josefsson.org>
31672
31673         * modules/getdate-tests (Depends-on): Add progname.
31674         * tests/test-getdate.c: Use progname module, to avoid link errors
31675         on non-glibc systems.
31676
31677 2009-01-18  Simon Josefsson  <simon@josefsson.org>
31678
31679         * modules/filenamecat-tests (Depends-on): Add progname.
31680         * modules/fstrcmp-tests (Depends-on): Likewise.
31681
31682         * tests/test-filenamecat.c: Use progname module, to avoid link
31683         errors on non-glibc systems.
31684         * tests/test-fstrcmp.c: Likewise.
31685
31686 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31687
31688         gettimeofday: avoid warning: nested extern declaration of 'localtime'
31689         * lib/gettimeofday.c: Move extern declaration out of function.
31690
31691 2009-01-18  Bruno Haible  <bruno@clisp.org>
31692
31693         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
31694         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
31695         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
31696
31697 2009-01-18  Bruno Haible  <bruno@clisp.org>
31698
31699         * lib/strftime.c (MEMPCPY): Remove unused macro.
31700         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
31701
31702 2009-01-18  Martin Lambers  <marlam@marlam.de>
31703
31704         New module 'link'.
31705         * lib/unistd.in.h (link): New declaration.
31706         * lib/link.c: New file.
31707         * m4/link.m4: New file.
31708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
31709         HAVE_LINK.
31710         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
31711         * modules/link: New file.
31712         * doc/posix-functions/link.texi: Mention the new module.
31713
31714 2009-01-18  Bruno Haible  <bruno@clisp.org>
31715
31716         * tests/test-avltree_list.c (main): Call set_program_name.
31717         * tests/test-avltree_oset.c (main): Likewise.
31718         * tests/test-obstack-printf.c: Include progname.h.
31719         (main): Call set_program_name.
31720         * tests/test-quotearg.c: Include progname.h.
31721         (main): Call set_program_name.
31722         * tests/test-xmemdup0.c: Include progname.h.
31723         (main): Call set_program_name.
31724
31725 2009-01-18  Bruno Haible  <bruno@clisp.org>
31726
31727         New module 'alphasort'.
31728         * lib/dirent.in.h (alphasort): New declaration.
31729         * lib/alphasort.c: New file, from glibc with modifications.
31730         * m4/alphasort.m4: New file.
31731         * modules/alphasort: New file.
31732         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
31733         HAVE_ALPHASORT.
31734         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
31735         HAVE_ALPHASORT.
31736         * doc/posix-functions/alphasort.texi: Mention the new module and the
31737         portability problems.
31738
31739 2009-01-18  Bruno Haible  <bruno@clisp.org>
31740
31741         New module 'scandir'.
31742         * lib/dirent.in.h (scandir): New declaration.
31743         * lib/scandir.c: New file, from glibc with modifications.
31744         * m4/scandir.m4: New file.
31745         * modules/scandir: New file.
31746         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
31747         HAVE_SCANDIR.
31748         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
31749         HAVE_SCANDIR.
31750         * doc/posix-functions/scandir.texi: Mention the new module and the
31751         portability problems.
31752
31753 2009-01-17  Bruno Haible  <bruno@clisp.org>
31754
31755         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
31756         Update documentation.
31757         (func_remove_suffix): Escape all dots in the suffix. Update
31758         documentation.
31759         (func_filter_filelist): Update documentation.
31760         Reported by Ralf Wildenhues.
31761
31762 2009-01-17  Bruno Haible  <bruno@clisp.org>
31763
31764         * modules/dprintf-posix-tests: New file.
31765         * tests/test-dprintf-posix.sh: New file.
31766         * tests/test-dprintf-posix.c: New file.
31767
31768         New modules 'dprintf', 'dprintf-posix'.
31769         * lib/stdio.in.h (dprintf): New declaration.
31770         * lib/dprintf.c: New file.
31771         * m4/dprintf.m4: New file.
31772         * m4/dprintf-posix.m4: New file.
31773         * modules/dprintf: New file.
31774         * modules/dprintf-posix: New file.
31775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
31776         HAVE_DPRINTF, REPLACE_DPRINTF.
31777         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
31778         HAVE_DPRINTF, REPLACE_DPRINTF.
31779         * doc/posix-functions/dprintf.texi: Mention the new modules.
31780
31781 2009-01-17  Bruno Haible  <bruno@clisp.org>
31782
31783         * modules/vdprintf-posix-tests: New file.
31784         * tests/test-vdprintf-posix.sh: New file.
31785         * tests/test-vdprintf-posix.c: New file.
31786
31787         New modules 'vdprintf', 'vdprintf-posix'.
31788         * lib/stdio.in.h (vdprintf): New declaration.
31789         * lib/vdprintf.c: New file.
31790         * m4/vdprintf.m4: New file.
31791         * m4/vdprintf-posix.m4: New file.
31792         * modules/vdprintf: New file.
31793         * modules/vdprintf-posix: New file.
31794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
31795         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31796         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
31797         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31798         * doc/posix-functions/vdprintf.texi: Mention the new modules.
31799
31800 2009-01-17  Bruno Haible  <bruno@clisp.org>
31801
31802         Fix replacement of fopen on mingw.
31803         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
31804         mingw.
31805
31806 2009-01-17  Bruno Haible  <bruno@clisp.org>
31807
31808         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
31809         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
31810
31811 2009-01-17  Bruno Haible  <bruno@clisp.org>
31812
31813         Avoid test-fflush2.sh failure on mingw.
31814         * tests/test-fflush2.c: Include binary-io.h.
31815         (main): Put standard input into binary mode.
31816         * modules/fflush-tests (Depends-on): Add binary-io.
31817
31818 2009-01-17  Bruno Haible  <bruno@clisp.org>
31819
31820         * lib/wchar.in.h: In another particular situation, include only the
31821         system's <wchar.h> file.
31822         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
31823         Reported by Albert Chin-A-Young <china@thewrittenword.com>
31824         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
31825
31826 2009-01-17  Bruno Haible  <bruno@clisp.org>
31827
31828         Support for stripping executables in --enable-relocatable.
31829         * build-aux/install-reloc: Expect one more argument, or an environment
31830         variable RELOC_STRIP_PROG. If set, strip the destination program and
31831         its wrapper.
31832         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
31833         RELOC_STRIP_PROG.
31834         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
31835         to set RELOCATABLE_STRIP.
31836         * NEWS: Mention the new Makefile requirement.
31837
31838 2009-01-17  Bruno Haible  <bruno@clisp.org>
31839
31840         * build-aux/install-reloc: Remove debugging information left over by
31841         C compiler on MacOS X.
31842
31843 2009-01-17  Bruno Haible  <bruno@clisp.org>
31844
31845         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
31846         * lib/progreloc.c (find_executable): Fix type of pointer passed to
31847         _NSGetExecutablePath.
31848
31849 2009-01-16  Jim Meyering  <meyering@redhat.com>
31850
31851         strerror: avoid warnings about discarding "const"
31852         * lib/strerror.c (rpl_strerror): Instead of returning a const
31853         string from each and every "case", use a variable, and add a single
31854         cast after the switch.
31855
31856 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
31857
31858         * lib/arpa_inet.in.h: Add extern "C" block for C++.
31859
31860 2009-01-16  Bruno Haible  <bruno@clisp.org>
31861
31862         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
31863         array initializer syntax that also works in C++ mode.
31864         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31865
31866 2009-01-16  Jim Meyering  <meyering@redhat.com>
31867
31868         poll: suppress a warning
31869         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
31870         to ignore "...unsigned expression < 0 is always false" warnings.
31871
31872 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
31873
31874         poll: remove declarations of unused variables
31875         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
31876         sockbuf and optlen.
31877
31878 2009-01-15  Bruno Haible  <bruno@clisp.org>
31879
31880         Make fflush-after-ungetc POSIX compliant on BSD systems.
31881         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
31882         (clear_ungetc_buffer): Implement also for other systems.
31883         (rpl_fflush): On glibc systems, invoke
31884         clear_ungetc_buffer_preserving_position. Otherwise, invoke
31885         clear_ungetc_buffer after fetching the stream's position, not before.
31886
31887 2009-01-15  Bruno Haible  <bruno@clisp.org>
31888
31889         Make fflush-after-ungetc POSIX compliant on glibc systems.
31890         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
31891         after ungetc.
31892         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
31893         (rpl_fflush): On glibc systems, simply call the system's fflush
31894         function after clearing the ungetc buffer.
31895         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
31896         Instead, lseek only to the end of file, then use the system's fseeko
31897         for the rest. On glibc systems, reset the EOF indicator bit.
31898
31899 2009-01-15  Jim Meyering  <meyering@redhat.com>
31900
31901         openmp.m4: revert quote-adding change, for portability to older autoconf
31902         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
31903         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
31904         Simon Josefsson noticed the problem when using autoconf-2.61.
31905
31906 2009-01-15  Bruno Haible  <bruno@clisp.org>
31907
31908         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
31909         * tests/test-fflush2.c (ASSERT): Always fail.
31910         (main): Add two tests for fflush() after ungetc(), taking into account
31911         the Austin Group's clarification.
31912         Suggested by Eric Blake.
31913
31914 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
31915
31916         mktime.m4: remove K&R-style function prototypes
31917         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
31918         for the Sun C++ compiler.
31919
31920 2009-01-14  Bruno Haible  <bruno@clisp.org>
31921
31922         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
31923         while including <wchar.h>.
31924         * lib/wchar.in.h: In two particular situations on HP-UX, include only
31925         the system's <wchar.h> file.
31926         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31927
31928 2009-01-14  Bruno Haible  <bruno@clisp.org>
31929
31930         * m4/csharp.m4: Don't mention gettext on the serial number line.
31931         * m4/csharpexec.m4: Likewise.
31932         * m4/eaccess.m4: Likewise.
31933         * m4/javaexec.m4: Likewise.
31934         * m4/sig_atomic_t.m4: Likewise.
31935         * m4/tmpdir.m4: Likewise.
31936         * m4/intldir.m4: Bump gettext version.
31937         * m4/lib-ld.m4: Likewise.
31938
31939 2009-01-14  Bruno Haible  <bruno@clisp.org>
31940
31941         * lib/progname.c (set_program_name): Add more comments.
31942         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
31943
31944 2009-01-14  Simon Josefsson  <simon@josefsson.org>
31945
31946         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
31947         were sys/stat.h does not define it.
31948
31949 2009-01-14  Jim Meyering  <meyering@redhat.com>
31950
31951         many *.m4 files: improve m4 quoting
31952         99% of this change was performed by running the following commands:
31953         git ls-files | grep '\.m4$' | xargs perl -pi \
31954           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
31955           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
31956           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
31957           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
31958         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
31959         The remainder were to add Copyright dates, increment serial numbers,
31960         undo some changes in comments, exclude m4/intl.m4, and add quotes
31961         around the "1" in ",1" where the unusual spacing prohibited the
31962         above regexps from doing the job.  For more details, see
31963         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
31964         * m4/acl.m4: Modified.
31965         * m4/afs.m4: Likewise.
31966         * m4/alloca.m4: Likewise.
31967         * m4/argp.m4: Likewise.
31968         * m4/argz.m4: Likewise.
31969         * m4/atexit.m4: Likewise.
31970         * m4/bison-i18n.m4: Likewise.
31971         * m4/bison.m4: Likewise.
31972         * m4/byteswap.m4: Likewise.
31973         * m4/c-stack.m4: Likewise.
31974         * m4/c-strtod.m4: Likewise.
31975         * m4/calloc.m4: Likewise.
31976         * m4/canonicalize-lgpl.m4: Likewise.
31977         * m4/chown.m4: Likewise.
31978         * m4/clock_time.m4: Likewise.
31979         * m4/codeset.m4: Likewise.
31980         * m4/copy-file.m4: Likewise.
31981         * m4/csharp.m4: Likewise.
31982         * m4/csharpcomp.m4: Likewise.
31983         * m4/csharpexec.m4: Likewise.
31984         * m4/d-ino.m4: Likewise.
31985         * m4/d-type.m4: Likewise.
31986         * m4/dirfd.m4: Likewise.
31987         * m4/double-slash-root.m4: Likewise.
31988         * m4/eaccess.m4: Likewise.
31989         * m4/eealloc.m4: Likewise.
31990         * m4/environ.m4: Likewise.
31991         * m4/errno_h.m4: Likewise.
31992         * m4/euidaccess.m4: Likewise.
31993         * m4/execute.m4: Likewise.
31994         * m4/fatal-signal.m4: Likewise.
31995         * m4/fchdir.m4: Likewise.
31996         * m4/fcntl_h.m4: Likewise.
31997         * m4/fileblocks.m4: Likewise.
31998         * m4/filenamecat.m4: Likewise.
31999         * m4/findprog.m4: Likewise.
32000         * m4/flexmember.m4: Likewise.
32001         * m4/fnmatch.m4: Likewise.
32002         * m4/fopen.m4: Likewise.
32003         * m4/fpending.m4: Likewise.
32004         * m4/fprintf-posix.m4: Likewise.
32005         * m4/free.m4: Likewise.
32006         * m4/frexp.m4: Likewise.
32007         * m4/frexpl.m4: Likewise.
32008         * m4/fsusage.m4: Likewise.
32009         * m4/ftruncate.m4: Likewise.
32010         * m4/gc-camellia.m4: Likewise.
32011         * m4/gc-random.m4: Likewise.
32012         * m4/gc.m4: Likewise.
32013         * m4/getaddrinfo.m4: Likewise.
32014         * m4/getcwd-abort-bug.m4: Likewise.
32015         * m4/getcwd-path-max.m4: Likewise.
32016         * m4/getdate.m4: Likewise.
32017         * m4/getdomainname.m4: Likewise.
32018         * m4/getgroups.m4: Likewise.
32019         * m4/gethostname.m4: Likewise.
32020         * m4/gethrxtime.m4: Likewise.
32021         * m4/getline.m4: Likewise.
32022         * m4/getloadavg.m4: Likewise.
32023         * m4/getndelim2.m4: Likewise.
32024         * m4/getpass.m4: Likewise.
32025         * m4/gettext.m4: Likewise.
32026         * m4/gettime.m4: Likewise.
32027         * m4/gettimeofday.m4: Likewise.
32028         * m4/gnulib-common.m4: Likewise.
32029         * m4/group-member.m4: Likewise.
32030         * m4/host-os.m4: Likewise.
32031         * m4/iconv.m4: Likewise.
32032         * m4/iconv_open.m4: Likewise.
32033         * m4/inet_ntop.m4: Likewise.
32034         * m4/inet_pton.m4: Likewise.
32035         * m4/inline.m4: Likewise.
32036         * m4/intldir.m4: Likewise.
32037         * m4/intlmacosx.m4: Likewise.
32038         * m4/intmax.m4: Likewise.
32039         * m4/intmax_t.m4: Likewise.
32040         * m4/inttypes.m4: Likewise.
32041         * m4/inttypes_h.m4: Likewise.
32042         * m4/inttypes-pri.m4: Likewise.
32043         * m4/isapipe.m4: Likewise.
32044         * m4/isnand.m4: Likewise.
32045         * m4/isnanf.m4: Likewise.
32046         * m4/isnanl.m4: Likewise.
32047         * m4/javacomp.m4: Likewise.
32048         * m4/javaexec.m4: Likewise.
32049         * m4/jm-winsz1.m4: Likewise.
32050         * m4/jm-winsz2.m4: Likewise.
32051         * m4/lchown.m4: Likewise.
32052         * m4/lcmessage.m4: Likewise.
32053         * m4/ldexpl.m4: Likewise.
32054         * m4/lib-ld.m4: Likewise.
32055         * m4/lib-link.m4: Likewise.
32056         * m4/libsigsegv.m4: Likewise.
32057         * m4/link-follow.m4: Likewise.
32058         * m4/localcharset.m4: Likewise.
32059         * m4/locale-fr.m4: Likewise.
32060         * m4/locale-ja.m4: Likewise.
32061         * m4/locale-tr.m4: Likewise.
32062         * m4/locale-zh.m4: Likewise.
32063         * m4/lock.m4: Likewise.
32064         * m4/longlong.m4: Likewise.
32065         * m4/ls-mntd-fs.m4: Likewise.
32066         * m4/lstat.m4: Likewise.
32067         * m4/malloc.m4: Likewise.
32068         * m4/mathl.m4: Likewise.
32069         * m4/mbrtowc.m4: Likewise.
32070         * m4/mbstate_t.m4: Likewise.
32071         * m4/mbswidth.m4: Likewise.
32072         * m4/memchr.m4: Likewise.
32073         * m4/memcmp.m4: Likewise.
32074         * m4/memcpy.m4: Likewise.
32075         * m4/memmem.m4: Likewise.
32076         * m4/memmove.m4: Likewise.
32077         * m4/mempcpy.m4: Likewise.
32078         * m4/memrchr.m4: Likewise.
32079         * m4/memset.m4: Likewise.
32080         * m4/minmax.m4: Likewise.
32081         * m4/mkdir-slash.m4: Likewise.
32082         * m4/mkdtemp.m4: Likewise.
32083         * m4/mktime.m4: Likewise.
32084         * m4/mmap-anon.m4: Likewise.
32085         * m4/mountlist.m4: Likewise.
32086         * m4/nanosleep.m4: Likewise.
32087         * m4/nls.m4: Likewise.
32088         * m4/nocrash.m4: Likewise.
32089         * m4/open.m4: Likewise.
32090         * m4/openat.m4: Likewise.
32091         * m4/openmp.m4: Likewise.
32092         * m4/pathmax.m4: Likewise.
32093         * m4/perl.m4: Likewise.
32094         * m4/physmem.m4: Likewise.
32095         * m4/pipe.m4: Likewise.
32096         * m4/po.m4: Likewise.
32097         * m4/poll.m4: Likewise.
32098         * m4/posixtm.m4: Likewise.
32099         * m4/posixver.m4: Likewise.
32100         * m4/printf-frexp.m4: Likewise.
32101         * m4/printf-frexpl.m4: Likewise.
32102         * m4/printf-posix.m4: Likewise.
32103         * m4/printf-posix-rpl.m4: Likewise.
32104         * m4/printf.m4: Likewise.
32105         * m4/progtest.m4: Likewise.
32106         * m4/putenv.m4: Likewise.
32107         * m4/readline.m4: Likewise.
32108         * m4/readlink.m4: Likewise.
32109         * m4/readutmp.m4: Likewise.
32110         * m4/realloc.m4: Likewise.
32111         * m4/regex.m4: Likewise.
32112         * m4/relocatable.m4: Likewise.
32113         * m4/relocatable-lib.m4: Likewise.
32114         * m4/rename-dest-slash.m4: Likewise.
32115         * m4/rename.m4: Likewise.
32116         * m4/rmdir-errno.m4: Likewise.
32117         * m4/rmdir.m4: Likewise.
32118         * m4/roundf.m4: Likewise.
32119         * m4/roundl.m4: Likewise.
32120         * m4/rpmatch.m4: Likewise.
32121         * m4/save-cwd.m4: Likewise.
32122         * m4/selinux-selinux-h.m4: Likewise.
32123         * m4/setenv.m4: Likewise.
32124         * m4/settime.m4: Likewise.
32125         * m4/sig2str.m4: Likewise.
32126         * m4/sig_atomic_t.m4: Likewise.
32127         * m4/signalblocking.m4: Likewise.
32128         * m4/signbit.m4: Likewise.
32129         * m4/sigpipe.m4: Likewise.
32130         * m4/sockets.m4: Likewise.
32131         * m4/sockpfaf.m4: Likewise.
32132         * m4/st_dm_mode.m4: Likewise.
32133         * m4/stat-time.m4: Likewise.
32134         * m4/stdbool.m4: Likewise.
32135         * m4/stdint.m4: Likewise.
32136         * m4/stdint_h.m4: Likewise.
32137         * m4/stpcpy.m4: Likewise.
32138         * m4/stpncpy.m4: Likewise.
32139         * m4/strcase.m4: Likewise.
32140         * m4/strchrnul.m4: Likewise.
32141         * m4/strcspn.m4: Likewise.
32142         * m4/strdup.m4: Likewise.
32143         * m4/strftime.m4: Likewise.
32144         * m4/strndup.m4: Likewise.
32145         * m4/strnlen.m4: Likewise.
32146         * m4/strpbrk.m4: Likewise.
32147         * m4/strptime.m4: Likewise.
32148         * m4/strsep.m4: Likewise.
32149         * m4/strtod.m4: Likewise.
32150         * m4/strtoimax.m4: Likewise.
32151         * m4/strtok_r.m4: Likewise.
32152         * m4/strtol.m4: Likewise.
32153         * m4/strtoll.m4: Likewise.
32154         * m4/strtoul.m4: Likewise.
32155         * m4/strtoull.m4: Likewise.
32156         * m4/strtoumax.m4: Likewise.
32157         * m4/strverscmp.m4: Likewise.
32158         * m4/threadlib.m4: Likewise.
32159         * m4/timegm.m4: Likewise.
32160         * m4/tm_gmtoff.m4: Likewise.
32161         * m4/tmpdir.m4: Likewise.
32162         * m4/tmpfile.m4: Likewise.
32163         * m4/tzset.m4: Likewise.
32164         * m4/uintmax_t.m4: Likewise.
32165         * m4/unlinkdir.m4: Likewise.
32166         * m4/unlocked-io.m4: Likewise.
32167         * m4/uptime.m4: Likewise.
32168         * m4/userspec.m4: Likewise.
32169         * m4/utimbuf.m4: Likewise.
32170         * m4/utime.m4: Likewise.
32171         * m4/utimes-null.m4: Likewise.
32172         * m4/utimes.m4: Likewise.
32173         * m4/vararrays.m4: Likewise.
32174         * m4/vasnprintf.m4: Likewise.
32175         * m4/vfprintf-posix.m4: Likewise.
32176         * m4/vprintf-posix.m4: Likewise.
32177         * m4/wait-process.m4: Likewise.
32178         * m4/wchar_t.m4: Likewise.
32179         * m4/wint_t.m4: Likewise.
32180         * m4/write-any-file.m4: Likewise.
32181         * m4/yield.m4: Likewise.
32182
32183 2009-01-13  Bruno Haible  <bruno@clisp.org>
32184
32185         Avoid test-copy-file.sh failures when ACL support insufficient.
32186         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
32187         TESTS_ENVIRONMENT.
32188         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
32189         Reported by Jim Meyering.
32190
32191 2009-01-13  Bruno Haible  <bruno@clisp.org>
32192
32193         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
32194         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
32195         * modules/unistdio/u8-printf-parse (Files): Likewise.
32196         * modules/unistdio/u32-printf-parse (Files): Likewise.
32197         * modules/unistdio/ulc-printf-parse (Files): Likewise.
32198
32199 2009-01-13  Simon Josefsson  <simon@josefsson.org>
32200
32201         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
32202         and m4/inttypes_h.m4 too.
32203
32204 2009-01-12  Eric Blake  <ebb9@byu.net>
32205
32206         tests: IRIX 6.2 cc can't compile -0.0 into .data
32207         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
32208         rather than at compile-time.
32209         * tests/test-floorl.c (minus_zero): Likewise.
32210         * tests/test-frexpl.c (minus_zero): Likewise.
32211         * tests/test-isnan.c (minus_zerol): Likewise.
32212         * tests/test-isnanl.h (minus_zero): Likewise.
32213         * tests/test-ldexpl.c (minus_zero): Likewise.
32214         * tests/test-roundl.c (minus_zero): Likewise.
32215         * tests/test-signbit.c (minus_zerol): Likewise.
32216         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
32217         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
32218         * tests/test-truncl.c (minus_zero): Likewise.
32219         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
32220         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
32221         Reported by Tom G. Christensen and Nelson H. F. Beebe.
32222
32223 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32224
32225         regex: fix glibc bug 9697
32226         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
32227         handling.
32228
32229 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32230
32231         regex: fix glibc bug 697
32232         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
32233         being NULL also if there are no backreferences.
32234
32235 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32236
32237         regex: merge glibc changes
32238         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
32239         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
32240         re_string_skip_chars, re_string_reconstruct): Likewise.
32241         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
32242
32243 2009-01-07  Jim Meyering  <meyering@redhat.com>
32244
32245         poll: filter through cppi
32246         * lib/poll.c: Indent cpp directives to reflect nesting.
32247
32248 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
32249
32250         poll: don't return uninitialized
32251         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
32252
32253 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
32254
32255         avoid compile failure on AIX 6.1
32256         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
32257         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
32258
32259 2009-01-04  Jim Meyering  <meyering@redhat.com>
32260
32261         remove duplicate inclusion of <stdio.h>
32262         * tests/test-fprintf-posix.c: Likewise.
32263         * tests/test-printf-posix.c: Likewise.
32264         * tests/test-snprintf-posix.c: Likewise.
32265         * tests/test-sprintf-posix.c: Likewise.
32266         * tests/test-vasprintf-posix.c: Likewise.
32267         * tests/test-vfprintf-posix.c: Likewise.
32268         * tests/test-vprintf-posix.c: Likewise.
32269         * tests/test-vsnprintf-posix.c: Likewise.
32270         * tests/test-vsprintf-posix.c: Likewise.
32271
32272 2009-01-03  Jim Meyering  <meyering@redhat.com>
32273
32274         gnulib-tool: fix sed-based filtering
32275         * gnulib-tool (func_filter_filelist): Remove extra backslash
32276         in sed_fff_filter definition.
32277
32278 2009-01-02  Jim Meyering  <meyering@redhat.com>
32279
32280         strftime: avoid compilation failure on Solaris 2.6
32281         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
32282         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
32283         Don't #define mbrlen or mbsinit, since now they're guaranteed to
32284         be available.  Reported by Tom G. Christensen.  Details in
32285         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
32286
32287 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32288             Bruno Haible  <bruno@clisp.org>
32289
32290         Speed up gnulib-tool by doing more string processing through shell
32291         built-ins.
32292         * gnulib-tool (fast_func_append): New variable.
32293         (func_remove_prefix, func_remove_suffix): New functions.
32294         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
32295         (func_filter_filelist): New function.
32296         (func_get_dependencies): Use func_remove_suffix instead of sed.
32297         (func_get_automake_snippet): Use func_filter_filelist instead of a
32298         subshell and sed invocation.
32299
32300 2009-01-01  Bruno Haible  <bruno@clisp.org>
32301
32302         Fix a security bug.
32303         * gnulib-tool (func_import, import, update): Don't allow the characters
32304         '"', '$', '`', '\' in macro arguments that become part of commands that
32305         are evaluated.
32306
32307 2009-01-01  Bruno Haible  <bruno@clisp.org>
32308
32309         * gnulib-tool (func_reset_sigpipe): Add more comments.
32310
32311 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32312
32313         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
32314         func_emit_tests_Makefile_am, func_import): Abort loops early if we
32315         already know the answer.
32316
32317 2009-01-01  Jim Meyering  <meyering@redhat.com>
32318
32319         * lib/version-etc.c (version_etc_va): Update copyright year.
32320
32321 2008-12-30  Bruno Haible  <bruno@clisp.org>
32322
32323         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
32324         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
32325         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
32326
32327 2008-12-29  Eric Blake  <ebb9@byu.net>
32328
32329         multiarch: avoid autoconf AC_REQUIRE bug
32330         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
32331         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
32332         2.63 and older.
32333         Reported by Bruno Haible, and analyzed in
32334         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
32335
32336 2008-12-29  Bruno Haible  <bruno@clisp.org>
32337
32338         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
32339         files in subdirectories correctly.
32340         Reported by Ralf Wildenhues.
32341
32342 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32343
32344         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
32345         rather than 'join FILE -', for Solaris join.
32346
32347 2008-12-29  Bruno Haible  <bruno@clisp.org>
32348
32349         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
32350         quoting.
32351         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
32352         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
32353         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
32354         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
32355         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
32356         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
32357         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
32358         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
32359         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
32360         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
32361         * m4/nls.m4 (AM_NLS): Likewise.
32362         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
32363         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
32364         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
32365         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
32366         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
32367         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
32368         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
32369         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
32370         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
32371         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
32372         * m4/xsize.m4 (gl_XSIZE): Likewise.
32373         Suggested by Jim Meyering.
32374
32375 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32376
32377         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
32378         * lib/parse-duration.c: use a switch instead of cascading if's.
32379
32380 2008-12-29  Eric Blake  <ebb9@byu.net>
32381
32382         wchar.h: supply WEOF on Irix 5.3
32383         * lib/wchar.in.h (wint_t): Also supply WEOF.
32384         * lib/wctype.in.h (wint_t): Likewise.
32385         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
32386         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
32387         Reported by Tom G. Christensen.
32388
32389 2008-12-26  Bruno Haible  <bruno@clisp.org>
32390
32391         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
32392         i486, i586, i686.
32393
32394 2008-12-26  Bruno Haible  <bruno@clisp.org>
32395
32396         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
32397
32398 2008-12-26  Bruno Haible  <bruno@clisp.org>
32399
32400         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
32401         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
32402         not __STDC_CONSTANT_MACROS.
32403         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
32404
32405 2008-12-25  Bruno Haible  <bruno@clisp.org>
32406
32407         Add support for universal builds to vasnprintf.
32408         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
32409         universal builds, guess no.
32410         * modules/vasnprintf-posix (Depends-on): Add multiarch.
32411         * modules/vasprintf-posix (Depends-on): Likewise.
32412         * modules/fprintf-posix (Depends-on): Likewise.
32413         * modules/vfprintf-posix (Depends-on): Likewise.
32414         * modules/snprintf-posix (Depends-on): Likewise.
32415         * modules/vsnprintf-posix (Depends-on): Likewise.
32416         * modules/sprintf-posix (Depends-on): Likewise.
32417         * modules/vsprintf-posix (Depends-on): Likewise.
32418         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32419         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32420         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32421         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32422         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32423         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32424         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32425
32426         Add support for universal builds to <inttypes.h>.
32427         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
32428         _SCNu64_PREFIX): In Apple
32429         universal builds, define directly, using _LP64.
32430         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
32431         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
32432         * modules/inttypes (Depends-on): Add multiarch.
32433         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32434
32435         Add support for universal builds to <stdint.h>.
32436         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
32437         universal builds, define directly, using _LP64.
32438         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
32439         Apple universal builds, don't test for the size and suffix of ptrdiff_t
32440         and size_t.
32441         * modules/stdint (Depends-on): Add multiarch.
32442         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32443
32444         New module 'multiarch'.
32445         * modules/multiarch: New file.
32446         * m4/multiarch.m4: New file.
32447
32448 2008-12-25  Bruno Haible  <bruno@clisp.org>
32449
32450         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
32451
32452 2008-12-25  Bruno Haible  <bruno@clisp.org>
32453
32454         * modules/btowc (License): Relicense under LGPLv2+.
32455         * modules/mbsinit (License): Likewise.
32456         * modules/mbrtowc (License): Likewise.
32457         * modules/wcrtomb (License): Likewise.
32458         * modules/streq (License): Likewise.
32459         Reported by David Lutterkort <lutter@redhat.com>.
32460
32461 2008-12-23  Bruno Haible  <bruno@clisp.org>
32462
32463         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
32464
32465 2008-12-23  Bruno Haible  <bruno@clisp.org>
32466
32467         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
32468         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
32469         GETADDRINFO_LIB, not in LIBS.
32470         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
32471         * modules/canon-host (Link): Likewise.
32472         * NEWS: Mention the change.
32473         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
32474         GETADDRINFO_LIB.
32475
32476 2008-12-22  Bruno Haible  <bruno@clisp.org>
32477
32478         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
32479         * doc/posix-functions/iswalpha_l.texi: Likewise.
32480         * doc/posix-functions/iswblank_l.texi: Likewise.
32481         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32482         * doc/posix-functions/iswctype_l.texi: Likewise.
32483         * doc/posix-functions/iswdigit_l.texi: Likewise.
32484         * doc/posix-functions/iswgraph_l.texi: Likewise.
32485         * doc/posix-functions/iswlower_l.texi: Likewise.
32486         * doc/posix-functions/iswprint_l.texi: Likewise.
32487         * doc/posix-functions/iswpunct_l.texi: Likewise.
32488         * doc/posix-functions/iswspace_l.texi: Likewise.
32489         * doc/posix-functions/iswupper_l.texi: Likewise.
32490         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32491         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
32492         * doc/posix-functions/open_wmemstream.texi: Likewise.
32493         * doc/posix-functions/swscanf.texi: Likewise.
32494         * doc/posix-functions/towctrans_l.texi: Likewise.
32495         * doc/posix-functions/towlower.texi: Likewise.
32496         * doc/posix-functions/towlower_l.texi: Likewise.
32497         * doc/posix-functions/towupper.texi: Likewise.
32498         * doc/posix-functions/towupper_l.texi: Likewise.
32499         * doc/posix-functions/vfwprintf.texi: Likewise.
32500         * doc/posix-functions/vfwscanf.texi: Likewise.
32501         * doc/posix-functions/vswscanf.texi: Likewise.
32502         * doc/posix-functions/vwprintf.texi: Likewise.
32503         * doc/posix-functions/vwscanf.texi: Likewise.
32504         * doc/posix-functions/wcpcpy.texi: Likewise.
32505         * doc/posix-functions/wcpncpy.texi: Likewise.
32506         * doc/posix-functions/wcscasecmp.texi: Likewise.
32507         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
32508         * doc/posix-functions/wcscoll_l.texi: Likewise.
32509         * doc/posix-functions/wcsdup.texi: Likewise.
32510         * doc/posix-functions/wcsncasecmp.texi: Likewise.
32511         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
32512         * doc/posix-functions/wcsnlen.texi: Likewise.
32513         * doc/posix-functions/wcsnrtombs.texi: Likewise.
32514         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32515         * doc/posix-functions/wctrans_l.texi: Likewise.
32516         * doc/posix-functions/wctype_l.texi: Likewise.
32517         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
32518         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
32519         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
32520         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
32521         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
32522         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
32523         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
32524         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
32525         * doc/glibc-functions/wcschrnul.texi: Likewise.
32526         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32527         * doc/glibc-functions/wcstod_l.texi: Likewise.
32528         * doc/glibc-functions/wcstof_l.texi: Likewise.
32529         * doc/glibc-functions/wcstol_l.texi: Likewise.
32530         * doc/glibc-functions/wcstold_l.texi: Likewise.
32531         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32532         * doc/glibc-functions/wcstoq.texi: Likewise.
32533         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32534         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32535         * doc/glibc-functions/wcstouq.texi: Likewise.
32536         * doc/glibc-functions/wmempcpy.texi: Likewise.
32537
32538 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
32539             Eric Blake  <ebb9@byu.net>
32540             Paolo Bonzini  <bonzini@gnu.org>
32541             Bruno Haible  <bruno@clisp.org>
32542
32543         Make c-stack work on Haiku.
32544         * lib/c-stack.c (SA_ONSTACK): Define fallback.
32545         (c_stack_action): Use SA_ONSTACK flag.
32546
32547 2008-12-22  Bruno Haible  <bruno@clisp.org>
32548
32549         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
32550
32551 2008-12-22  Bruno Haible  <bruno@clisp.org>
32552
32553         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
32554         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
32555         being overridden.
32556         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
32557         New macros.
32558         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
32559         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
32560         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
32561         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
32562
32563 2008-12-22  Bruno Haible  <bruno@clisp.org>
32564
32565         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
32566         from test code.
32567
32568 2008-12-22  Eric Blake  <ebb9@byu.net>
32569
32570         Avoid gcc warnings on cygwin.
32571         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
32572         Avoid unused variable.
32573         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
32574         Likewise.
32575
32576 2008-12-22  Bruno Haible  <bruno@clisp.org>
32577
32578         Remove HAVE_MBRTOWC conditionals.
32579         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
32580         (mbscasecmp): Assume mbrtowc function.
32581         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
32582         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
32583         * lib/mbschr.c: Include mbuiter.h unconditionally.
32584         (mbschr): Assume mbrtowc function.
32585         * lib/mbscspn.c: Include mbuiter.h unconditionally.
32586         (mbscspn): Assume mbrtowc function.
32587         * lib/mbslen.c: Include mbuiter.h unconditionally.
32588         (mbslen): Assume mbrtowc function.
32589         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
32590         (mbsncasecmp): Assume mbrtowc function.
32591         * lib/mbsnlen.c: Include mbiter.h unconditionally.
32592         (mbsnlen): Assume mbrtowc function.
32593         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
32594         (mbspbrk): Assume mbrtowc function.
32595         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
32596         (mbspcasecmp): Assume mbrtowc function.
32597         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
32598         (mbsrchr): Assume mbrtowc function.
32599         * lib/mbssep.c: Include mbuiter.h unconditionally.
32600         (mbssep): Assume mbrtowc function.
32601         * lib/mbsspn.c: Include mbuiter.h unconditionally.
32602         (mbsspn): Assume mbrtowc function.
32603         * lib/mbsstr.c: Include mbuiter.h unconditionally.
32604         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
32605         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
32606         (mbstok_r): Assume mbrtowc function.
32607         * lib/propername.c: Include mbuiter.h unconditionally.
32608         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
32609         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
32610         (trim2): Assume mbrtowc function.
32611         * lib/mbswidth.c (mbsinit): Remove fallback definition.
32612         (mbsnwidth): Assume mbrtowc function.
32613         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
32614         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
32615         fallback definitions.
32616         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
32617
32618 2008-12-22  Bruno Haible  <bruno@clisp.org>
32619
32620         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
32621
32622 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
32623
32624         * modules/regex: Request emulations for the mb*/wc* functions we need.
32625         * m4/regex.m4: Don't look for those functions here.
32626         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
32627
32628 2008-12-22  Bruno Haible  <bruno@clisp.org>
32629
32630         * modules/fnmatch (Depends-on): Remove duplicated dependency.
32631
32632 2008-12-21  Bruno Haible  <bruno@clisp.org>
32633
32634         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
32635         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
32636         (Include): Remove conditionalization.
32637         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
32638         (Include): Remove conditionalization.
32639         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
32640         (Include): Remove conditionalization.
32641         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
32642         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32643         * NEWS: Mention the change.
32644         Reported by Alan Hourihane <alanh@fairlite.co.uk>
32645         via Sergey Poznyakoff <gray@gnu.org.ua>.
32646
32647 2008-12-21  Bruno Haible  <bruno@clisp.org>
32648
32649         * MODULES.html.sh (Extended multibyte and wide character utilities
32650         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
32651         wcrtomb, wcsrtombs.
32652         (Support for systems lacking POSIX:2008): Add accept, bind, close,
32653         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
32654         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
32655         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
32656
32657 2008-12-21  Bruno Haible  <bruno@clisp.org>
32658
32659         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
32660
32661 2008-12-21  Bruno Haible  <bruno@clisp.org>
32662
32663         * modules/wcsnrtombs-tests: New file.
32664         * tests/test-wcsnrtombs1.sh: New file.
32665         * tests/test-wcsnrtombs2.sh: New file.
32666         * tests/test-wcsnrtombs3.sh: New file.
32667         * tests/test-wcsnrtombs4.sh: New file.
32668         * tests/test-wcsnrtombs.c: New file.
32669
32670         New module 'wcsnrtombs'.
32671         * lib/wchar.in.h (wcsnrtombs): New declaration.
32672         * lib/wcsnrtombs.c: New file.
32673         * lib/wcsrtombs-state.c: New file.
32674         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
32675         (internal_state): Remove variable.
32676         * m4/wcsnrtombs.m4: New file.
32677         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
32678         compilation units.
32679         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
32680         HAVE_WCSNRTOMBS.
32681         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
32682         HAVE_WCSNRTOMBS.
32683         * modules/wcsnrtombs: New file.
32684         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
32685         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
32686
32687 2008-12-21  Bruno Haible  <bruno@clisp.org>
32688
32689         * modules/wcsrtombs-tests: New file.
32690         * tests/test-wcsrtombs1.sh: New file.
32691         * tests/test-wcsrtombs2.sh: New file.
32692         * tests/test-wcsrtombs3.sh: New file.
32693         * tests/test-wcsrtombs4.sh: New file.
32694         * tests/test-wcsrtombs.c: New file.
32695
32696         New module 'wcsrtombs'.
32697         * lib/wchar.in.h (wcsrtombs): New declaration.
32698         * lib/wcsrtombs.c: New file.
32699         * m4/wcsrtombs.m4: New file.
32700         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
32701         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32702         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
32703         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32704         * modules/wcsrtombs: New file.
32705         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
32706         bugs.
32707
32708 2008-12-21  Bruno Haible  <bruno@clisp.org>
32709
32710         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
32711         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
32712         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
32713         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
32714         if not correct.
32715         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
32716         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
32717         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32718         m4/locale-zh.m4, m4/codeset.m4.
32719         * doc/posix-functions/wcrtomb.texi: Document the bug.
32720
32721 2008-12-21  Bruno Haible  <bruno@clisp.org>
32722
32723         Work around a btowc() bug on IRIX 6.5.
32724         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
32725         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
32726         REPLACE_WTOBC if not.
32727         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
32728         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
32729         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
32730
32731 2008-12-21  Bruno Haible  <bruno@clisp.org>
32732
32733         * modules/wcrtomb-tests: New file.
32734         * tests/test-wcrtomb.sh: New file.
32735         * tests/test-wcrtomb.c: New file.
32736
32737         New module 'wcrtomb'.
32738         * lib/wchar.in.h (wcrtomb): New declaration.
32739         * lib/wcrtomb.c: New file.
32740         * m4/wcrtomb.m4: New file.
32741         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
32742         HAVE_WCRTOMB.
32743         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
32744         HAVE_WCRTOMB.
32745         * modules/wcrtomb: New file.
32746         * doc/posix-functions/wcrtomb.texi: Mention the new module.
32747
32748 2008-12-21  Bruno Haible  <bruno@clisp.org>
32749
32750         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
32751         * modules/mbsrtowcs (Files): Likewise.
32752         * modules/wctob (Files): Likewise.
32753         * modules/c-strcase-tests (Files): Likewise.
32754         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
32755         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
32756         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32757         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32758         * modules/vasnprintf-posix-tests (Files): Likewise.
32759
32760 2008-12-21  William Pursell  <bill.pursell@gmail.com>
32761
32762         gitlog-to-changelog: pass all command-line arguments to git-log
32763         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
32764         it is sometimes convenient to filter the commits in various ways.
32765         gitlog-to-changelog only allows --since to specify a start date,
32766         but git-log itself supports many other filtering mechanisms.
32767         At the moment, I want to filter by branch name.  Rather than
32768         adding a --branch option to gitlog-to-changelog, it seems more
32769         flexible to simply pass all options directly to git-log and let
32770         git do the work.  Notice that this effectively makes --since a
32771         redundant option for gitlog-to-changelog, but removing it would
32772         require current usage to change since calls would then require
32773         an additional '--'.
32774
32775 2008-12-21  Bruno Haible  <bruno@clisp.org>
32776
32777         * modules/mbsnrtowcs-tests: New file.
32778         * tests/test-mbsnrtowcs1.sh: New file.
32779         * tests/test-mbsnrtowcs2.sh: New file.
32780         * tests/test-mbsnrtowcs3.sh: New file.
32781         * tests/test-mbsnrtowcs4.sh: New file.
32782         * tests/test-mbsnrtowcs.c: New file.
32783
32784         New module 'mbsnrtowcs'.
32785         * lib/wchar.in.h (mbsnrtowcs): New declaration.
32786         * lib/mbsnrtowcs.c: New file.
32787         * lib/mbsrtowcs-state.c: New file.
32788         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
32789         (internal_state): Remove variable.
32790         * m4/mbsnrtowcs.m4: New file.
32791         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
32792         compilation units.
32793         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
32794         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32795         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
32796         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32797         * modules/mbsnrtowcs: New file.
32798         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
32799         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
32800         portability problem.
32801
32802 2008-12-21  Bruno Haible  <bruno@clisp.org>
32803
32804         Work around mbsrtowcs bug.
32805         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
32806         (gl_FUNC_MBSRTOWCS): Invoke it.
32807         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32808         m4/locale-zh.m4.
32809         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
32810
32811 2008-12-21  Bruno Haible  <bruno@clisp.org>
32812
32813         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
32814
32815 2008-12-21  Bruno Haible  <bruno@clisp.org>
32816
32817         Update doc for AIX.
32818         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
32819         16-bit wchar_t type.
32820         * doc/posix-functions/btowc.texi: Likewise.
32821         * doc/posix-functions/fgetwc.texi: Likewise.
32822         * doc/posix-functions/fgetws.texi: Likewise.
32823         * doc/posix-functions/fputwc.texi: Likewise.
32824         * doc/posix-functions/fputws.texi: Likewise.
32825         * doc/posix-functions/fwide.texi: Likewise.
32826         * doc/posix-functions/fwprintf.texi: Likewise.
32827         * doc/posix-functions/fwscanf.texi: Likewise.
32828         * doc/posix-functions/getwchar.texi: Likewise.
32829         * doc/posix-functions/getwc.texi: Likewise.
32830         * doc/posix-functions/iswalnum.texi: Likewise.
32831         * doc/posix-functions/iswalpha.texi: Likewise.
32832         * doc/posix-functions/iswblank.texi: Likewise.
32833         * doc/posix-functions/iswcntrl.texi: Likewise.
32834         * doc/posix-functions/iswctype.texi: Likewise.
32835         * doc/posix-functions/iswdigit.texi: Likewise.
32836         * doc/posix-functions/iswgraph.texi: Likewise.
32837         * doc/posix-functions/iswlower.texi: Likewise.
32838         * doc/posix-functions/iswprint.texi: Likewise.
32839         * doc/posix-functions/iswpunct.texi: Likewise.
32840         * doc/posix-functions/iswspace.texi: Likewise.
32841         * doc/posix-functions/iswupper.texi: Likewise.
32842         * doc/posix-functions/iswxdigit.texi: Likewise.
32843         * doc/posix-functions/mbrtowc.texi: Likewise.
32844         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32845         * doc/posix-functions/mbstowcs.texi: Likewise.
32846         * doc/posix-functions/mbtowc.texi: Likewise.
32847         * doc/posix-functions/putwchar.texi: Likewise.
32848         * doc/posix-functions/putwc.texi: Likewise.
32849         * doc/posix-functions/swprintf.texi: Likewise.
32850         * doc/posix-functions/tolower.texi: Likewise.
32851         * doc/posix-functions/toupper.texi: Likewise.
32852         * doc/posix-functions/towctrans.texi: Likewise.
32853         * doc/posix-functions/ungetwc.texi: Likewise.
32854         * doc/posix-functions/vswprintf.texi: Likewise.
32855         * doc/posix-functions/wcrtomb.texi: Likewise.
32856         * doc/posix-functions/wcscat.texi: Likewise.
32857         * doc/posix-functions/wcschr.texi: Likewise.
32858         * doc/posix-functions/wcscmp.texi: Likewise.
32859         * doc/posix-functions/wcscoll.texi: Likewise.
32860         * doc/posix-functions/wcscpy.texi: Likewise.
32861         * doc/posix-functions/wcscspn.texi: Likewise.
32862         * doc/posix-functions/wcsftime.texi: Likewise.
32863         * doc/posix-functions/wcslen.texi: Likewise.
32864         * doc/posix-functions/wcsncat.texi: Likewise.
32865         * doc/posix-functions/wcsncmp.texi: Likewise.
32866         * doc/posix-functions/wcsncpy.texi: Likewise.
32867         * doc/posix-functions/wcspbrk.texi: Likewise.
32868         * doc/posix-functions/wcsrchr.texi: Likewise.
32869         * doc/posix-functions/wcsrtombs.texi: Likewise.
32870         * doc/posix-functions/wcsspn.texi: Likewise.
32871         * doc/posix-functions/wcsstr.texi: Likewise.
32872         * doc/posix-functions/wcstod.texi: Likewise.
32873         * doc/posix-functions/wcstof.texi: Likewise.
32874         * doc/posix-functions/wcstoimax.texi: Likewise.
32875         * doc/posix-functions/wcstok.texi: Likewise.
32876         * doc/posix-functions/wcstold.texi: Likewise.
32877         * doc/posix-functions/wcstoll.texi: Likewise.
32878         * doc/posix-functions/wcstol.texi: Likewise.
32879         * doc/posix-functions/wcstombs.texi: Likewise.
32880         * doc/posix-functions/wcstoull.texi: Likewise.
32881         * doc/posix-functions/wcstoul.texi: Likewise.
32882         * doc/posix-functions/wcstoumax.texi: Likewise.
32883         * doc/posix-functions/wcswidth.texi: Likewise.
32884         * doc/posix-functions/wcsxfrm.texi: Likewise.
32885         * doc/posix-functions/wctob.texi: Likewise.
32886         * doc/posix-functions/wctomb.texi: Likewise.
32887         * doc/posix-functions/wctrans.texi: Likewise.
32888         * doc/posix-functions/wctype.texi: Likewise.
32889         * doc/posix-functions/wcwidth.texi: Likewise.
32890         * doc/posix-functions/wmemchr.texi: Likewise.
32891         * doc/posix-functions/wmemcmp.texi: Likewise.
32892         * doc/posix-functions/wmemcpy.texi: Likewise.
32893         * doc/posix-functions/wmemmove.texi: Likewise.
32894         * doc/posix-functions/wmemset.texi: Likewise.
32895         * doc/posix-functions/wprintf.texi: Likewise.
32896         * doc/posix-functions/wscanf.texi: Likewise.
32897
32898 2008-12-21  Bruno Haible  <bruno@clisp.org>
32899
32900         Update doc for HP-UX 11.11.
32901         * doc/posix-functions/btowc.texi: Clarify that the function is missing
32902         in HP-UX version 11.00, not in all versions of HP-UX 11.
32903         * doc/posix-functions/fwide.texi: Likewise.
32904         * doc/posix-functions/fwprintf.texi: Likewise.
32905         * doc/posix-functions/fwscanf.texi: Likewise.
32906         * doc/posix-functions/inet_ntop.texi: Likewise.
32907         * doc/posix-functions/inet_pton.texi: Likewise.
32908         * doc/posix-functions/mbrlen.texi: Likewise.
32909         * doc/posix-functions/mbrtowc.texi: Likewise.
32910         * doc/posix-functions/mbsinit.texi: Likewise.
32911         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32912         * doc/posix-functions/swprintf.texi: Likewise.
32913         * doc/posix-functions/swscanf.texi: Likewise.
32914         * doc/posix-functions/towctrans.texi: Likewise.
32915         * doc/posix-functions/vfwprintf.texi: Likewise.
32916         * doc/posix-functions/vswprintf.texi: Likewise.
32917         * doc/posix-functions/vwprintf.texi: Likewise.
32918         * doc/posix-functions/wcrtomb.texi: Likewise.
32919         * doc/posix-functions/wcsrtombs.texi: Likewise.
32920         * doc/posix-functions/wcsstr.texi: Likewise.
32921         * doc/posix-functions/wctob.texi: Likewise.
32922         * doc/posix-functions/wctrans.texi: Likewise.
32923         * doc/posix-functions/wmemchr.texi: Likewise.
32924         * doc/posix-functions/wmemcmp.texi: Likewise.
32925         * doc/posix-functions/wmemcpy.texi: Likewise.
32926         * doc/posix-functions/wmemmove.texi: Likewise.
32927         * doc/posix-functions/wmemset.texi: Likewise.
32928         * doc/posix-functions/wprintf.texi: Likewise.
32929         * doc/posix-functions/wscanf.texi: Likewise.
32930
32931 2008-12-21  Bruno Haible  <bruno@clisp.org>
32932
32933         Work around a portability problem.
32934         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
32935         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
32936
32937 2008-12-20  Bruno Haible  <bruno@clisp.org>
32938
32939         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
32940         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
32941         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
32942         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
32943         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
32944
32945         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
32946         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
32947         set.
32948         (GNULIB_defined_mbstate_t): New macro.
32949         (mbsinit): Redefine if REPLACE_MBSINIT is set.
32950         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
32951         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
32952         reuses the system's mbrtowc function but works around the bugs.
32953         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
32954         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
32955         macros.
32956         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
32957         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
32958         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
32959         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
32960         REPLACE_MBSINIT if mbsinit needs to be overridden.
32961         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
32962         REPLACE_MBSINIT, REPLACE_MBRTOWC.
32963         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
32964         REPLACE_MBSINIT, REPLACE_MBRTOWC.
32965         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32966         m4/locale-zh.m4.
32967         (Depends): Add mbsinit.
32968         * modules/mbsinit (Depends): Add mbrtowc.
32969         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
32970
32971 2008-12-20  Bruno Haible  <bruno@clisp.org>
32972
32973         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
32974         so that there are no conversion errors on AIX.
32975         * tests/test-mbsrtowcs.c (main): LIkewise.
32976
32977 2008-12-20  Bruno Haible  <bruno@clisp.org>
32978
32979         Work around wctob bug on Solaris <= 9.
32980         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
32981         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
32982         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
32983         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
32984         * modules/wctob (Files): Add m4/locale-fr.m4.
32985         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
32986
32987 2008-12-20  Bruno Haible  <bruno@clisp.org>
32988
32989         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
32990         /dev/null.
32991         * tests/test-select-in.sh: Likewise.
32992         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32993
32994 2008-12-20  Bruno Haible  <bruno@clisp.org>
32995
32996         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
32997         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
32998         Cygwin 1.5.x.
32999
33000 2008-12-20  Bruno Haible  <bruno@clisp.org>
33001
33002         Ensure mbstate_t is defined on HP-UX 11.11.
33003         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
33004         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
33005         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
33006         AC_USE_SYSTEM_EXTENSIONS.
33007         * modules/fnmatch (Depends-on): Add extensions.
33008         * modules/mbrlen (Depends-on): Likewise.
33009         * modules/mbrtowc (Depends-on): Likewise.
33010         * modules/mbsinit (Depends-on): Likewise.
33011         * modules/mbsrtowcs (Depends-on): Likewise.
33012         * modules/mbswidth (Depends-on): Likewise.
33013         * modules/quotearg (Depends-on): Likewise.
33014         * modules/strftime (Depends-on): Likewise.
33015
33016 2008-12-20  Bruno Haible  <bruno@clisp.org>
33017
33018         Ensure wctob is declared on IRIX 6.5.
33019         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
33020         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
33021         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
33022         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
33023         of HAVE_WCTOB.
33024         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
33025         HAVE_WCTOB.
33026         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
33027
33028 2008-12-19  Bruno Haible  <bruno@clisp.org>
33029
33030         * modules/mbsrtowcs-tests: New file.
33031         * tests/test-mbsrtowcs1.sh: New file.
33032         * tests/test-mbsrtowcs2.sh: New file.
33033         * tests/test-mbsrtowcs3.sh: New file.
33034         * tests/test-mbsrtowcs4.sh: New file.
33035         * tests/test-mbsrtowcs.c: New file.
33036
33037         New module 'mbsrtowcs'.
33038         * lib/wchar.in.h (mbsrtowcs): New declaration.
33039         * lib/mbsrtowcs.c: New file.
33040         * m4/mbsrtowcs.m4: New file.
33041         * modules/mbsrtowcs: New file.
33042         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
33043         HAVE_MBSRTOWCS.
33044         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
33045         HAVE_MBSRTOWCS.
33046         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
33047
33048 2008-12-19  Bruno Haible  <bruno@clisp.org>
33049
33050         New module 'mbrlen'.
33051         * lib/wchar.in.h (mbrlen): New declaration.
33052         * lib/mbrlen.c: New file.
33053         * m4/mbrlen.m4: New file.
33054         * modules/mbrlen: New file.
33055         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
33056         HAVE_MBRLEN.
33057         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
33058         HAVE_MBRLEN.
33059         * doc/posix-functions/mbrlen.texi: Document the new module.
33060
33061 2008-12-19  Bruno Haible  <bruno@clisp.org>
33062
33063         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
33064         * modules/mbrtowc (Depends-on): Add verify.
33065         Suggested by Paul Eggert.
33066
33067 2008-12-18  Bruno Haible  <bruno@clisp.org>
33068
33069         * modules/mbsinit-tests: New file.
33070         * tests/test-mbsinit.sh: New file.
33071         * tests/test-mbsinit.c: New file.
33072
33073 2008-12-18  Bruno Haible  <bruno@clisp.org>
33074
33075         * modules/mbrtowc-tests: New file.
33076         * tests/test-mbrtowc1.sh: New file.
33077         * tests/test-mbrtowc2.sh: New file.
33078         * tests/test-mbrtowc3.sh: New file.
33079         * tests/test-mbrtowc4.sh: New file.
33080         * tests/test-mbrtowc.c: New file.
33081
33082         New module 'mbrtowc'.
33083         * lib/wchar.in.h (mbstate_t): Override when the system does not have
33084         mbsinit and mbrtowc.
33085         (mbrtowc): New declaration.
33086         * lib/mbrtowc.c: New file.
33087         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
33088         * modules/mbrtowc: New file.
33089         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
33090         HAVE_MBRTOWC.
33091         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
33092         HAVE_MBRTOWC.
33093         * doc/posix-functions/mbrtowc.texi: Document the new module.
33094
33095 2008-12-18  Bruno Haible  <bruno@clisp.org>
33096
33097         New module 'wctob'.
33098         * lib/wchar.in.h (wctob): New declaration.
33099         * lib/wctob.c: New file.
33100         * m4/wctob.m4: New file.
33101         * modules/wctob: New file.
33102         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
33103         HAVE_WCTOB.
33104         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
33105         * doc/posix-functions/wctob.texi: Document the new module.
33106
33107 2008-12-18  Bruno Haible  <bruno@clisp.org>
33108
33109         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
33110         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
33111
33112 2008-12-18  Simon Josefsson  <simon@josefsson.org>
33113
33114         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
33115         G. Christensen" <tgc@jupiterrise.com>.
33116
33117         * lib/flock.c: Need to include errno.h.  Reported by "Tom
33118         G. Christensen" <tgc@jupiterrise.com>.
33119
33120         * lib/flock.c: Need to include string.h.  Reported by "Tom
33121         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
33122         <ebb9@byu.net>.
33123
33124 2008-12-18  Bruno Haible  <bruno@clisp.org>
33125
33126         * m4/locale-ja.m4: New file, from GNU gettext.
33127
33128 2008-12-17  Bruno Haible  <bruno@clisp.org>
33129
33130         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
33131         Suggested by Eric Blake.
33132
33133 2008-12-17  Bruno Haible  <bruno@clisp.org>
33134
33135         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
33136
33137 2008-12-17  Bruno Haible  <bruno@clisp.org>
33138
33139         * lib/mbsinit.c: Include verify.h. Verify an assumption.
33140         * modules/mbsinit (Depends-on): Add verify.
33141         Suggested by Paul Eggert.
33142
33143 2008-12-17  Bruno Haible  <bruno@clisp.org>
33144
33145         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
33146         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
33147         gl_FUNC_MBRTOWC.
33148         * m4/mbiter.m4 (gl_MBITER): LIkewise.
33149         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
33150         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
33151         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
33152         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
33153         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
33154         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
33155         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
33156         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
33157         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
33158         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
33159         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
33160         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
33161         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
33162         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
33163         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
33164         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
33165         * modules/trim (configure.ac): Likewise.
33166
33167 2008-12-17  Bruno Haible  <bruno@clisp.org>
33168
33169         * modules/btowc-tests: New file.
33170         * tests/test-btowc1.sh: New file.
33171         * tests/test-btowc2.sh: New file.
33172         * tests/test-btowc.c: New file.
33173
33174         New module 'btowc'.
33175         * lib/wchar.in.h (btowc): New declaration.
33176         * lib/btowc.c: New file.
33177         * m4/btowc.m4: New file.
33178         * modules/btowc: New file.
33179         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
33180         HAVE_BTOWC.
33181         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
33182         * doc/posix-functions/btowc.texi: Document the new module.
33183
33184 2008-12-17  Bruno Haible  <bruno@clisp.org>
33185
33186         New module 'mbsinit'.
33187         * lib/wchar.in.h (mbsinit): New declaration.
33188         * lib/mbsinit.c: New file.
33189         * m4/mbsinit.m4: New file.
33190         * modules/mbsinit: New file.
33191         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
33192         HAVE_MBSINIT.
33193         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
33194         HAVE_MBSINIT.
33195         * doc/posix-functions/mbsinit.texi: Document the new module.
33196
33197 2008-12-16  Bruno Haible  <bruno@clisp.org>
33198
33199         * lib/unistd.in.h: Add comment.
33200         * tests/test-environ.c: Don't include <stdlib.h>.
33201
33202 2008-12-16  Bruno Haible  <bruno@clisp.org>
33203
33204         * lib/parse-duration.h (parse_duration): Document return value
33205         convention.
33206         * lib/parse-duration.c: Include specification header first. Add
33207         comments.
33208         (_): Remove macro.
33209         (parse_year_month_day, parse_hour_minute_second): Move side effects
33210         outside of strchr call.
33211         (parse_non_iso8601): Move side effects outside of isspace call.
33212         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
33213         call.
33214
33215 2008-12-16  Bruno Haible  <bruno@clisp.org>
33216
33217         * tests/test-parse-duration.sh: Produce no output when the test
33218         succeeds.
33219
33220 2008-12-16  Bruno Haible  <bruno@clisp.org>
33221
33222         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
33223         expressions.
33224
33225 2008-12-15  Bruno Haible  <bruno@clisp.org>
33226
33227         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
33228         * doc/glibc-functions/flistxattr.texi: Likewise.
33229         * doc/glibc-functions/fopencookie.texi: Likewise.
33230         * doc/glibc-functions/fremovexattr.texi: Likewise.
33231         * doc/glibc-functions/fsetxattr.texi: Likewise.
33232         * doc/glibc-functions/getxattr.texi: Likewise.
33233         * doc/glibc-functions/lgetxattr.texi: Likewise.
33234         * doc/glibc-functions/listxattr.texi: Likewise.
33235         * doc/glibc-functions/llistxattr.texi: Likewise.
33236         * doc/glibc-functions/lremovexattr.texi: Likewise.
33237         * doc/glibc-functions/lsetxattr.texi: Likewise.
33238         * doc/glibc-functions/removexattr.texi: Likewise.
33239         * doc/glibc-functions/setxattr.texi: Likewise.
33240         * doc/posix-functions/open_memstream.texi: Likewise.
33241
33242 2008-12-15  Eric Blake  <ebb9@byu.net>
33243
33244         Update doc for cygwin 1.7.
33245         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
33246         functions.
33247         * doc/posix-functions/fchmodat.texi: Likewise.
33248         * doc/posix-functions/fchownat.texi: Likewise.
33249         * doc/posix-functions/fdopendir.texi: Likewise.
33250         * doc/posix-functions/fmemopen.texi: Likewise.
33251         * doc/posix-functions/freeaddrinfo.texi: Likewise.
33252         * doc/posix-functions/fstatat.texi: Likewise.
33253         * doc/posix-functions/futimens.texi: Likewise.
33254         * doc/posix-functions/gai_strerror.texi: Likewise.
33255         * doc/posix-functions/getaddrinfo.texi: Likewise.
33256         * doc/posix-functions/getnameinfo.texi: Likewise.
33257         * doc/posix-functions/if_freenameindex.texi: Likewise.
33258         * doc/posix-functions/if_indextoname.texi: Likewise.
33259         * doc/posix-functions/if_nameindex.texi: Likewise.
33260         * doc/posix-functions/if_nametoindex.texi: Likewise.
33261         * doc/posix-functions/insque.texi: Likewise.
33262         * doc/posix-functions/linkat.texi: Likewise.
33263         * doc/posix-functions/llrint.texi: Likewise.
33264         * doc/posix-functions/llrintf.texi: Likewise.
33265         * doc/posix-functions/llrintl.texi: Likewise.
33266         * doc/posix-functions/lockf.texi: Likewise.
33267         * doc/posix-functions/lrintl.texi: Likewise.
33268         * doc/posix-functions/mkdirat.texi: Likewise.
33269         * doc/posix-functions/mkfifoat.texi: Likewise.
33270         * doc/posix-functions/mknodat.texi: Likewise.
33271         * doc/posix-functions/mq_close.texi: Likewise.
33272         * doc/posix-functions/mq_getattr.texi: Likewise.
33273         * doc/posix-functions/mq_notify.texi: Likewise.
33274         * doc/posix-functions/mq_open.texi: Likewise.
33275         * doc/posix-functions/mq_receive.texi: Likewise.
33276         * doc/posix-functions/mq_send.texi: Likewise.
33277         * doc/posix-functions/mq_setattr.texi: Likewise.
33278         * doc/posix-functions/mq_timedreceive.texi: Likewise.
33279         * doc/posix-functions/mq_timedsend.texi: Likewise.
33280         * doc/posix-functions/mq_unlink.texi: Likewise.
33281         * doc/posix-functions/open_memstream.texi: Likewise.
33282         * doc/posix-functions/openat.texi: Likewise.
33283         * doc/posix-functions/posix_fadvise.texi: Likewise.
33284         * doc/posix-functions/posix_fallocate.texi: Likewise.
33285         * doc/posix-functions/posix_madvise.texi: Likewise.
33286         * doc/posix-functions/posix_memalign.texi: Likewise.
33287         * doc/posix-functions/posix_openpt.texi: Likewise.
33288         * doc/posix-functions/readlinkat.texi: Likewise.
33289         * doc/posix-functions/remque.texi: Likewise.
33290         * doc/posix-functions/renameat.texi: Likewise.
33291         * doc/posix-functions/rintl.texi: Likewise.
33292         * doc/posix-functions/sem_unlink.texi: Likewise.
33293         * doc/posix-functions/shm_open.texi: Likewise.
33294         * doc/posix-functions/shm_unlink.texi: Likewise.
33295         * doc/posix-functions/signgam.texi: Likewise.
33296         * doc/posix-functions/sigset.texi: Likewise.
33297         * doc/posix-functions/stpcpy.texi: Likewise.
33298         * doc/posix-functions/stpncpy.texi: Likewise.
33299         * doc/posix-functions/strerror.texi: Likewise.
33300         * doc/posix-functions/strtod.texi: Likewise.
33301         * doc/posix-functions/symlinkat.texi: Likewise.
33302         * doc/posix-functions/unlinkat.texi: Likewise.
33303         * doc/posix-functions/utimensat.texi: Likewise.
33304         * doc/glibc-functions/bindresvport.texi: Likewise.
33305         * doc/glibc-functions/dn_expand.texi: Likewise.
33306         * doc/glibc-functions/exp10.texi: Likewise.
33307         * doc/glibc-functions/exp10f.texi: Likewise.
33308         * doc/glibc-functions/fgetxattr.texi: Likewise.
33309         * doc/glibc-functions/flistxattr.texi: Likewise.
33310         * doc/glibc-functions/fopencookie.texi: Likewise.
33311         * doc/glibc-functions/freeifaddrs.texi: Likewise.
33312         * doc/glibc-functions/fremovexattr.texi: Likewise.
33313         * doc/glibc-functions/fsetxattr.texi: Likewise.
33314         * doc/glibc-functions/getifaddrs.texi: Likewise.
33315         * doc/glibc-functions/getxattr.texi: Likewise.
33316         * doc/glibc-functions/lgetxattr.texi: Likewise.
33317         * doc/glibc-functions/listxattr.texi: Likewise.
33318         * doc/glibc-functions/llistxattr.texi: Likewise.
33319         * doc/glibc-functions/lremovexattr.texi: Likewise.
33320         * doc/glibc-functions/lsetxattr.texi: Likewise.
33321         * doc/glibc-functions/pow10.texi: Likewise.
33322         * doc/glibc-functions/pow10f.texi: Likewise.
33323         * doc/glibc-functions/rcmd_af.texi: Likewise.
33324         * doc/glibc-functions/removexattr.texi: Likewise.
33325         * doc/glibc-functions/res_init.texi: Likewise.
33326         * doc/glibc-functions/res_mkquery.texi: Likewise.
33327         * doc/glibc-functions/res_query.texi: Likewise.
33328         * doc/glibc-functions/res_querydomain.texi: Likewise.
33329         * doc/glibc-functions/res_send.texi: Likewise.
33330         * doc/glibc-functions/rresvport_af.texi: Likewise.
33331         * doc/glibc-functions/setxattr.texi: Likewise.
33332         * doc/glibc-functions/strcasestr.texi: Likewise.
33333
33334 2008-12-15  Bruno Haible  <bruno@clisp.org>
33335
33336         Fix compilation error on OSF/1 4.0.
33337         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
33338         <sys/time.h>, simply delegate to the system header.
33339         Reported by Daniel Richard G. <oss@teragram.com>.
33340
33341 2008-12-15  Bruno Haible  <bruno@clisp.org>
33342
33343         * doc/posix-functions/openat.texi: Mention the 'openat' module.
33344         * doc/posix-functions/fchmodat.texi: Likewise.
33345         * doc/posix-functions/fchownat.texi: Likewise.
33346         * doc/posix-functions/fdopendir.texi: Likewise.
33347         * doc/posix-functions/fstatat.texi: Likewise.
33348         * doc/posix-functions/mkdirat.texi: Likewise.
33349         * doc/posix-functions/unlinkat.texi: Likewise.
33350
33351 2008-12-14  Bruno Haible  <bruno@clisp.org>
33352
33353         Update doc for POSIX:2008.
33354         * doc/posix-functions/faccessat.texi: New file.
33355         * doc/posix-functions/fchmodat.texi: New file.
33356         * doc/posix-functions/fchownat.texi: New file.
33357         * doc/posix-functions/fdopendir.texi: New file.
33358         * doc/posix-functions/fstatat.texi: New file.
33359         * doc/posix-functions/futimens.texi: New file.
33360         * doc/posix-functions/linkat.texi: New file.
33361         * doc/posix-functions/mkdirat.texi: New file.
33362         * doc/posix-functions/mkfifoat.texi: New file.
33363         * doc/posix-functions/mknodat.texi: New file.
33364         * doc/posix-functions/open_wmemstream.texi: New file.
33365         * doc/posix-functions/openat.texi: New file.
33366         * doc/posix-functions/psiginfo.texi: New file.
33367         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
33368         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
33369         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
33370         * doc/posix-functions/readlinkat.texi: New file.
33371         * doc/posix-functions/renameat.texi: New file.
33372         * doc/posix-functions/strerror_l.texi: New file.
33373         * doc/posix-functions/symlinkat.texi: New file.
33374         * doc/posix-functions/unlinkat.texi: New file.
33375         * doc/posix-functions/utimensat.texi: New file.
33376         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33377
33378 2008-12-14  Bruno Haible  <bruno@clisp.org>
33379
33380         Update doc for POSIX:2008.
33381         * doc/posix-functions/alphasort.texi: Renamed from
33382         doc/glibc-functions/alphasort.texi.
33383         * doc/posix-functions/dirfd.texi: Renamed from
33384         doc/glibc-functions/dirfd.texi.
33385         * doc/posix-functions/dprintf.texi: Renamed from
33386         doc/glibc-functions/dprintf.texi.
33387         * doc/posix-functions/duplocale.texi: Renamed from
33388         doc/glibc-functions/duplocale.texi.
33389         * doc/posix-functions/fexecve.texi: Renamed from
33390         doc/glibc-functions/fexecve.texi.
33391         * doc/posix-functions/fmemopen.texi: Renamed from
33392         doc/glibc-functions/fmemopen.texi.
33393         * doc/posix-functions/freelocale.texi: Renamed from
33394         doc/glibc-functions/freelocale.texi.
33395         * doc/posix-functions/getdate_err.texi: Renamed from
33396         doc/glibc-functions/getdate_err.texi.
33397         * doc/posix-functions/isalnum_l.texi: Renamed from
33398         doc/glibc-functions/isalnum_l.texi.
33399         * doc/posix-functions/isalpha_l.texi: Renamed from
33400         doc/glibc-functions/isalpha_l.texi.
33401         * doc/posix-functions/isblank_l.texi: Renamed from
33402         doc/glibc-functions/isblank_l.texi.
33403         * doc/posix-functions/iscntrl_l.texi: Renamed from
33404         doc/glibc-functions/iscntrl_l.texi.
33405         * doc/posix-functions/isdigit_l.texi: Renamed from
33406         doc/glibc-functions/isdigit_l.texi.
33407         * doc/posix-functions/isgraph_l.texi: Renamed from
33408         doc/glibc-functions/isgraph_l.texi.
33409         * doc/posix-functions/islower_l.texi: Renamed from
33410         doc/glibc-functions/islower_l.texi.
33411         * doc/posix-functions/isprint_l.texi: Renamed from
33412         doc/glibc-functions/isprint_l.texi.
33413         * doc/posix-functions/ispunct_l.texi: Renamed from
33414         doc/glibc-functions/ispunct_l.texi.
33415         * doc/posix-functions/isspace_l.texi: Renamed from
33416         doc/glibc-functions/isspace_l.texi.
33417         * doc/posix-functions/isupper_l.texi: Renamed from
33418         doc/glibc-functions/isupper_l.texi.
33419         * doc/posix-functions/iswalnum_l.texi: Renamed from
33420         doc/glibc-functions/iswalnum_l.texi.
33421         * doc/posix-functions/iswalpha_l.texi: Renamed from
33422         doc/glibc-functions/iswalpha_l.texi.
33423         * doc/posix-functions/iswblank_l.texi: Renamed from
33424         doc/glibc-functions/iswblank_l.texi.
33425         * doc/posix-functions/iswcntrl_l.texi: Renamed from
33426         doc/glibc-functions/iswcntrl_l.texi.
33427         * doc/posix-functions/iswctype_l.texi: Renamed from
33428         doc/glibc-functions/iswctype_l.texi.
33429         * doc/posix-functions/iswdigit_l.texi: Renamed from
33430         doc/glibc-functions/iswdigit_l.texi.
33431         * doc/posix-functions/iswgraph_l.texi: Renamed from
33432         doc/glibc-functions/iswgraph_l.texi.
33433         * doc/posix-functions/iswlower_l.texi: Renamed from
33434         doc/glibc-functions/iswlower_l.texi.
33435         * doc/posix-functions/iswprint_l.texi: Renamed from
33436         doc/glibc-functions/iswprint_l.texi.
33437         * doc/posix-functions/iswpunct_l.texi: Renamed from
33438         doc/glibc-functions/iswpunct_l.texi.
33439         * doc/posix-functions/iswspace_l.texi: Renamed from
33440         doc/glibc-functions/iswspace_l.texi.
33441         * doc/posix-functions/iswupper_l.texi: Renamed from
33442         doc/glibc-functions/iswupper_l.texi.
33443         * doc/posix-functions/iswxdigit_l.texi: Renamed from
33444         doc/glibc-functions/iswxdigit_l.texi.
33445         * doc/posix-functions/isxdigit_l.texi: Renamed from
33446         doc/glibc-functions/isxdigit_l.texi.
33447         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
33448         doc/glibc-functions/mbsnrtowcs.texi.
33449         * doc/posix-functions/mkdtemp.texi: Renamed from
33450         doc/glibc-functions/mkdtemp.texi.
33451         * doc/posix-functions/newlocale.texi: Renamed from
33452         doc/glibc-functions/newlocale.texi.
33453         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
33454         doc/glibc-functions/nl_langinfo_l.texi.
33455         * doc/posix-functions/open_memstream.texi: Renamed from
33456         doc/glibc-functions/open_memstream.texi.
33457         * doc/posix-functions/opterr.texi: Renamed from
33458         doc/glibc-functions/opterr.texi.
33459         * doc/posix-functions/optind.texi: Renamed from
33460         doc/glibc-functions/optind.texi.
33461         * doc/posix-functions/optopt.texi: Renamed from
33462         doc/glibc-functions/optopt.texi.
33463         * doc/posix-functions/psignal.texi: Renamed from
33464         doc/glibc-functions/psignal.texi.
33465         * doc/posix-functions/scandir.texi: Renamed from
33466         doc/glibc-functions/scandir.texi.
33467         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
33468         doc/glibc-functions/sched_get_priority_min.texi.
33469         * doc/posix-functions/signgam.texi: Renamed from
33470         doc/glibc-functions/signgam.texi.
33471         * doc/posix-functions/stpcpy.texi: Renamed from
33472         doc/glibc-functions/stpcpy.texi.
33473         * doc/posix-functions/stpncpy.texi: Renamed from
33474         doc/glibc-functions/stpncpy.texi.
33475         * doc/posix-functions/strcasecmp_l.texi: Renamed from
33476         doc/glibc-functions/strcasecmp_l.texi.
33477         * doc/posix-functions/strcoll_l.texi: Renamed from
33478         doc/glibc-functions/strcoll_l.texi.
33479         * doc/posix-functions/strfmon_l.texi: Renamed from
33480         doc/glibc-functions/strfmon_l.texi.
33481         * doc/posix-functions/strftime_l.texi: Renamed from
33482         doc/glibc-functions/strftime_l.texi.
33483         * doc/posix-functions/strncasecmp_l.texi: Renamed from
33484         doc/glibc-functions/strncasecmp_l.texi.
33485         * doc/posix-functions/strndup.texi: Renamed from
33486         doc/glibc-functions/strndup.texi.
33487         * doc/posix-functions/strnlen.texi: Renamed from
33488         doc/glibc-functions/strnlen.texi.
33489         * doc/posix-functions/strsignal.texi: Renamed from
33490         doc/glibc-functions/strsignal.texi.
33491         * doc/posix-functions/strxfrm_l.texi: Renamed from
33492         doc/glibc-functions/strxfrm_l.texi.
33493         * doc/posix-functions/timer_gettime.texi: Renamed from
33494         doc/glibc-functions/timer_gettime.texi.
33495         * doc/posix-functions/tolower_l.texi: Renamed from
33496         doc/glibc-functions/tolower_l.texi.
33497         * doc/posix-functions/toupper_l.texi: Renamed from
33498         doc/glibc-functions/toupper_l.texi.
33499         * doc/posix-functions/towctrans_l.texi: Renamed from
33500         doc/glibc-functions/towctrans_l.texi.
33501         * doc/posix-functions/towlower_l.texi: Renamed from
33502         doc/glibc-functions/towlower_l.texi.
33503         * doc/posix-functions/towupper_l.texi: Renamed from
33504         doc/glibc-functions/towupper_l.texi.
33505         * doc/posix-functions/uselocale.texi: Renamed from
33506         doc/glibc-functions/uselocale.texi.
33507         * doc/posix-functions/vdprintf.texi: Renamed from
33508         doc/glibc-functions/vdprintf.texi.
33509         * doc/posix-functions/wcpcpy.texi:
33510         Renamed from doc/glibc-functions/wcpcpy.texi.
33511         * doc/posix-functions/wcpncpy.texi: Renamed from
33512         doc/glibc-functions/wcpncpy.texi.
33513         * doc/posix-functions/wcscasecmp.texi: Renamed from
33514         doc/glibc-functions/wcscasecmp.texi.
33515         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
33516         doc/glibc-functions/wcscasecmp_l.texi.
33517         * doc/posix-functions/wcscoll_l.texi: Renamed from
33518         doc/glibc-functions/wcscoll_l.texi.
33519         * doc/posix-functions/wcsdup.texi: Renamed from
33520         doc/glibc-functions/wcsdup.texi.
33521         * doc/posix-functions/wcsncasecmp.texi: Renamed from
33522         doc/glibc-functions/wcsncasecmp.texi.
33523         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
33524         doc/glibc-functions/wcsncasecmp_l.texi.
33525         * doc/posix-functions/wcsnlen.texi: Renamed from
33526         doc/glibc-functions/wcsnlen.texi.
33527         * doc/posix-functions/wcsnrtombs.texi: Renamed from
33528         doc/glibc-functions/wcsnrtombs.texi.
33529         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
33530         doc/glibc-functions/wcsxfrm_l.texi.
33531         * doc/posix-functions/wctrans_l.texi: Renamed from
33532         doc/glibc-functions/wctrans_l.texi.
33533         * doc/posix-functions/wctype_l.texi: Renamed from
33534         doc/glibc-functions/wctype_l.texi.
33535         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33536         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
33537         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
33538         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
33539         these subsections.
33540         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
33541         Remove sections.
33542
33543 2008-12-14  Bruno Haible  <bruno@clisp.org>
33544
33545         Update doc for POSIX:2008.
33546         * doc/posix-functions/*.texi: Update URL of POSIX specification.
33547
33548 2008-12-14  Bruno Haible  <bruno@clisp.org>
33549
33550         Update doc for POSIX:2008.
33551         * doc/pastposix-functions/bcmp.texi: Renamed from
33552         doc/posix-functions/bcmp.texi.
33553         * doc/pastposix-functions/bcopy.texi: Renamed from
33554         doc/posix-functions/bcopy.texi.
33555         * doc/pastposix-functions/bsd_signal.texi: Renamed from
33556         doc/posix-functions/bsd_signal.texi.
33557         * doc/pastposix-functions/bzero.texi: Renamed from
33558         doc/posix-functions/bzero.texi.
33559         * doc/pastposix-functions/ecvt.texi: Renamed from
33560         doc/posix-functions/ecvt.texi.
33561         * doc/pastposix-functions/fcvt.texi: Renamed from
33562         doc/posix-functions/fcvt.texi.
33563         * doc/pastposix-functions/ftime.texi: Renamed from
33564         doc/posix-functions/ftime.texi.
33565         * doc/pastposix-functions/gcvt.texi: Renamed from
33566         doc/posix-functions/gcvt.texi.
33567         * doc/pastposix-functions/getcontext.texi: Renamed from
33568         doc/posix-functions/getcontext.texi.
33569         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
33570         doc/posix-functions/gethostbyaddr.texi.
33571         * doc/pastposix-functions/gethostbyname.texi: Renamed from
33572         doc/posix-functions/gethostbyname.texi.
33573         * doc/pastposix-functions/getwd.texi: Renamed from
33574         doc/posix-functions/getwd.texi.
33575         * doc/pastposix-functions/h_errno.texi: Renamed from
33576         doc/posix-functions/h_errno.texi.
33577         * doc/pastposix-functions/index.texi: Renamed from
33578         doc/posix-functions/index.texi.
33579         * doc/pastposix-functions/makecontext.texi: Renamed from
33580         doc/posix-functions/makecontext.texi.
33581         * doc/pastposix-functions/mktemp.texi: Renamed from
33582         doc/posix-functions/mktemp.texi.
33583         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
33584         doc/posix-functions/pthread_attr_getstackaddr.texi.
33585         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
33586         doc/posix-functions/pthread_attr_setstackaddr.texi.
33587         * doc/pastposix-functions/rindex.texi: Renamed from
33588         doc/posix-functions/rindex.texi.
33589         * doc/pastposix-functions/scalb.texi: Renamed from
33590         doc/posix-functions/scalb.texi.
33591         * doc/pastposix-functions/setcontext.texi: Renamed from
33592         doc/posix-functions/setcontext.texi.
33593         * doc/pastposix-functions/swapcontext.texi: Renamed from
33594         doc/posix-functions/swapcontext.texi.
33595         * doc/pastposix-functions/ualarm.texi: Renamed from
33596         doc/posix-functions/ualarm.texi.
33597         * doc/pastposix-functions/usleep.texi: Renamed from
33598         doc/posix-functions/usleep.texi.
33599         * doc/pastposix-functions/vfork.texi: Renamed from
33600         doc/posix-functions/vfork.texi.
33601         * doc/pastposix-functions/wcswcs.texi: Renamed from
33602         doc/posix-functions/wcswcs.texi.
33603         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
33604         (Function Substitutes): Update.
33605
33606 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33607
33608         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
33609         m4/strerror.m4.
33610
33611 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33612             Bruno Haible  <bruno@clisp.org>
33613
33614         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
33615
33616 2008-12-13  Bruno Haible  <bruno@clisp.org>
33617
33618         * modules/strtoull (Depends-on): Remove unistd.
33619
33620 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33621
33622         * modules/strtoull (Depends-on): Add stdlib.
33623
33624 2008-12-11  Simon Josefsson  <simon@josefsson.org>
33625
33626         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
33627
33628 2008-12-10  Jim Meyering  <meyering@redhat.com>
33629
33630         gl_ASSERT: don't say assertions are disabled when they're not
33631         * m4/assert.m4 (gl_ASSERT): Do not make configure report
33632         "checking whether to enable assertions... no", when they are in
33633         fact enabled.  This is solely a bug in the output of configure.
33634         In spite of saying "no", NDEBUG was not defined in that case.
33635         Also, as noted by Eric Blake, leave assertions enabled upon
33636         --enable-assert=INVALID.
33637
33638 2008-12-10  Bruno Haible  <bruno@clisp.org>
33639
33640         Change MODULES.html to refer to POSIX:2008 where possible.
33641         * MODULES.html.sh (POSIX2008_URL): New variable.
33642         (posix_headers): Remove sys/timeb, ucontext.
33643         (posix2001_headers): New variable.
33644         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
33645         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
33646         index, makecontext, mktemp, pthread_attr_getstackaddr,
33647         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
33648         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
33649         (posix2001_functions): New variable.
33650         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
33651         otherwise.
33652
33653 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33654
33655         add missing include to parse-duration.c
33656         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
33657         * modules/parse-duration (Depends-on): Add xalloc.
33658
33659         fix sed script reading maint.mk
33660         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
33661         (syntax-check-rules): Use it.
33662
33663 2008-12-09  Bruno Haible  <bruno@clisp.org>
33664
33665         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
33666         MacOS X 10.4/PowerPC.
33667         Reported by Simon Josefsson.
33668
33669 2008-12-08  Jim Meyering  <meyering@redhat.com>
33670
33671         work around mingw's lack of some S_IF definitions
33672         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
33673         Reported by Simon Josefsson.
33674
33675 2008-12-08  Bruno Haible  <bruno@clisp.org>
33676
33677         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
33678         applied to variables. Needed on MacOS X 10.4/PowerPC.
33679         Reported by Simon Josefsson.
33680
33681 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
33682         and Eric Blake  <ebb9@byu.net>
33683
33684         assert: honor --enable-assert
33685         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
33686         order to honor --enable-assert, rather than treating it as a
33687         synonym for --disable-assert.
33688
33689 2008-12-08  Jim Meyering  <meyering@redhat.com>
33690
33691         * lib/posixtm.c: Remove now-useless declaration of mktime.
33692
33693         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
33694
33695 2008-12-07  Bruno Haible  <bruno@clisp.org>
33696
33697         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
33698         test_once): Mark functions as static.
33699         * tests/test-tls.c (test_tls): Likewise.
33700
33701 2008-12-07  Bruno Haible  <bruno@clisp.org>
33702
33703         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
33704         iconv_register_autodetect.
33705
33706 2008-12-07  Jim Meyering  <meyering@redhat.com>
33707
33708         posixtm.c: avoid a warning
33709         * lib/posixtm.c (posixtime): Don't initialize tm0.
33710         It's no longer needed to placate gcc4's -Wuninitialized,
33711         and the attempt to placate would elicit a new warning.
33712
33713         unicodeio.c: mark unused parameters
33714         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33715         (fallback_failure_callback): Likewise.
33716
33717 2008-12-07  Bruno Haible  <bruno@clisp.org>
33718
33719         * gnulib-tool (func_create_testdir): When building the tests
33720         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
33721         Reported by Simon Josefsson.
33722
33723 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33724
33725         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
33726
33727 2008-12-06  Bruno Haible  <bruno@clisp.org>
33728
33729         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
33730         Suggested by Eric Blake.
33731
33732 2008-12-06  Bruno Haible  <bruno@clisp.org>
33733
33734         Fix a c-stack test failure on MacOS X.
33735         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
33736         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
33737         handler for SIGBUS as well.
33738         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
33739         install a signal handler for SIGBUS as well.
33740         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
33741
33742 2008-12-06  Bruno Haible  <bruno@clisp.org>
33743
33744         Advocacy documentation.
33745         * doc/gnulib-intro.texi (Benefits): New section.
33746         * doc/gnulib.texi: Update.
33747
33748 2008-12-06  Bruno Haible  <bruno@clisp.org>
33749
33750         Document the 'manywarnings' module.
33751         * doc/manywarnings.texi: New file.
33752         * doc/gnulib.texi: Include it.
33753
33754 2008-12-05  Eric Blake  <ebb9@byu.net>
33755
33756         tests: silence some gcc warnings
33757         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
33758         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
33759         type mismatches.
33760
33761 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33762             Bruno Haible  <bruno@clisp.org>
33763
33764         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
33765
33766 2008-11-29  Jim Meyering  <meyering@redhat.com>
33767
33768         unicodeio.c: mark unused parameters
33769         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33770         (fallback_failure_callback): Likewise.
33771
33772         fts: fix a thinko
33773         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
33774         (set_stat_type): Return S_IF*-valued "type" directly.
33775         Prompted by James Youngman's spotting a related bug.
33776         Confirmed by further testing through find.
33777
33778         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
33779         * lib/fts.c (D_TYPE): Define.
33780         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
33781         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
33782         (s_ifmt_shift_bits): New function.
33783         (set_stat_type): New function.
33784         (fts_build): When not calling fts_stat, call set_stat_type
33785         to propagate dirent.d_type info to fts_read caller.
33786         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
33787         fts_statp->st_mode type information may be valid.
33788
33789 2008-11-28  Simon Josefsson  <simon@josefsson.org>
33790
33791         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
33792         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
33793         <sds@gnu.org>.
33794
33795 2008-11-20  Bruno Haible  <bruno@clisp.org>
33796
33797         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
33798         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
33799         INCLUDE_NEXT.
33800         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
33801         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
33802         * modules/math (Makefile.am): Substitute
33803         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
33804         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33805
33806 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
33807             Bruno Haible  <bruno@clisp.org>
33808
33809         * lib/stdint.in.h: Define all type macros so that their expansion is
33810         a single typedef'ed token. Fixes a compilation failure in Boost which
33811         does "using ::int8_t;".
33812
33813 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33814
33815         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
33816         gl_MANYWARN_ALL_GCC.
33817         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
33818         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
33819         * modules/manywarnings: New file.
33820         * MODULES.html.sh: Mention manywarnings module.
33821
33822 2008-11-18  Bruno Haible  <bruno@clisp.org>
33823
33824         * doc/gnulib-tool.texi (Unit tests): New section.
33825
33826 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33827
33828         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
33829         paths like 'lib/po/foo.po'.
33830
33831 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33832
33833         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
33834         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
33835
33836 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33837
33838         * m4/warnings.m4: Use CPPFLAGS to really check whether the
33839         parameter works.
33840
33841 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33842
33843         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
33844
33845 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33846
33847         * modules/parse-duration-tests: New file.
33848         * tests/test-parse-duration.sh: New file.
33849         * tests/test-parse-duration.c: New file.
33850
33851         New module 'parse-duration'.
33852         * lib/parse-duration.h: New file.
33853         * lib/parse-duration.c: New file.
33854         * modules/parse-duration: New file.
33855
33856 2008-11-17  Bruno Haible  <bruno@clisp.org>
33857
33858         * tests/test-select-out.sh: Comment out the first pipe test.
33859         Reported by Simon Josefsson.
33860
33861 2008-11-17  Bruno Haible  <bruno@clisp.org>
33862
33863         * modules/getaddrinfo (Depends-on): Add servent, hostent.
33864         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
33865         gl_HOSTENT.
33866
33867 2008-11-17  Bruno Haible  <bruno@clisp.org>
33868
33869         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
33870         -lnetwork and -lnet. Needed for Haiku and BeOS.
33871
33872 2008-11-16  Bruno Haible  <bruno@clisp.org>
33873
33874         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
33875
33876 2008-11-16  Bruno Haible  <bruno@clisp.org>
33877
33878         Avoid test failure on Haiku.
33879         * tests/test-fsync.c: Include <errno.h>.
33880         (main): Don't require that fsync (0) fails.
33881
33882 2008-11-15  Bruno Haible  <bruno@clisp.org>
33883
33884         New module 'hostent'.
33885         * modules/hostent: New file.
33886         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
33887
33888 2008-11-15  Bruno Haible  <bruno@clisp.org>
33889
33890         New module 'servent'.
33891         * modules/servent: New file.
33892         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
33893
33894 2008-11-15  Bruno Haible  <bruno@clisp.org>
33895
33896         Avoid generating same test program with two different rules.
33897         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
33898         test-frexp to test-frexp-nolibm.
33899         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
33900         test-frexpl to test-frexpl-nolibm.
33901
33902 2008-11-15  Bruno Haible  <bruno@clisp.org>
33903
33904         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
33905         $(FREXPL_LIBM).
33906
33907 2008-11-15  Bruno Haible  <bruno@clisp.org>
33908
33909         * lib/netdb.in.h: Activate the definitions also when the system's
33910         <netdb.h> has 'struct addrinfo'.
33911         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
33912         EAI_OVERFLOW or AI_NUMERICSERV.
33913         * doc/posix-headers/netdb.texi: Document the problem.
33914
33915 2008-11-15  Bruno Haible  <bruno@clisp.org>
33916
33917         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
33918
33919         Make the 'sched' module work on platforms where <sched.h> exists but
33920         is incomplete (such as Haiku).
33921         * lib/sched.in.h; Include the system's <sched.h> if it exists.
33922         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
33923         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
33924         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
33925         HAVE_STRUCT_SCHED_PARAM.
33926         * modules/sched (Depends-on): Add include_next.
33927         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
33928         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
33929         * doc/posix-headers/sched.texi: Document the issue.
33930
33931 2008-11-13  Jim Meyering  <meyering@redhat.com>
33932
33933         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
33934         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
33935         test would fail due to the difference in the Report bugs to ...
33936         line.  The expected address is empty, "<>", while the actual
33937         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
33938
33939 2008-11-12  Bruno Haible  <bruno@clisp.org>
33940
33941         lstat: don't compile lstat.c on systems lacking lstat
33942         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
33943         which don't have lstat; this is handled by lib/sys_stat.in.h already.
33944         Reported by Daniel P. Berrange via Jim Meyering.
33945
33946 2008-11-12  Jim Meyering  <meyering@redhat.com>
33947
33948         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
33949
33950 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33951
33952         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
33953         instead.
33954
33955 2008-11-12  Bruno Haible  <bruno@clisp.org>
33956
33957         * lib/unicodeio.c: Include unistr.h.
33958         (utf8_wctomb): Remove function.
33959         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
33960
33961 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33962
33963         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
33964         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
33965         <bruno@clisp.org>.
33966         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
33967
33968 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33969
33970         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
33971         * doc/gnulib.texi: Add section for warnings.
33972
33973 2008-11-11  Bruno Haible  <bruno@clisp.org>
33974
33975         * lib/sockets.h: Add a comment.
33976
33977 2008-11-11  Karl Berry  <karl@gnu.org>
33978
33979         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
33980
33981 2008-11-11  Eric Blake  <ebb9@byu.net>
33982
33983         fdl.texi: avoid git symlinks
33984         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
33985
33986 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33987
33988         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
33989
33990 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33991
33992         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
33993         (gl_WARN_ADD): Substitute $2 if literal.
33994
33995 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33996
33997         * m4/warning.m4: Remove.
33998
33999 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34000
34001         * m4/warnings.m4: Almost complete rewrite. :-)
34002
34003 2008-11-10  Simon Josefsson  <simon@josefsson.org>
34004
34005         * modules/warnings: New module.
34006         * m4/warnings.m4: New file.
34007         * MODULES.html.sh: Mention warnings module.
34008         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
34009         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34010
34011 2008-11-10  Eric Blake  <ebb9@byu.net>
34012
34013         fdl.texi: make a symlink to the latest version
34014         * doc/standards.texi: Revert today's earlier change.
34015         * doc/fdl-1.2.texi: Rename from old fdl.texi...
34016         * doc/fdl.texi: ...and replace this with a symlink to the newer
34017         fdl-1.3.texi.
34018
34019 2008-11-10  Bruno Haible  <bruno@clisp.org>
34020
34021         * tests/test-select-fd.c (main): Accept the result file name as fourth
34022         argument.
34023         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
34024         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
34025
34026 2008-11-10  Bruno Haible  <bruno@clisp.org>
34027
34028         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
34029         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
34030         as autoconf-substituted macros.
34031         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
34032         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
34033         gl_NETDB_H_DEFAULTS. Set these variables.
34034         * modules/netdb (Makefile.am): Substitute these variables.
34035
34036 2008-11-10  Eric Blake  <ebb9@byu.net>
34037
34038         standards.texi: include correct file for FDL 1.3
34039         * doc/standards.texi (GNU Free Documentation License): Change
34040         include file to pull in FDL 1.3, not 1.2.
34041
34042         fdl.texi: revert accidental change to license
34043         * doc/fdl.texi: This is FDL 1.2, not 1.3.
34044
34045 2008-11-10  Bruno Haible  <bruno@clisp.org>
34046
34047         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
34048         cross-compiling guesses also when the native compile gives no result.
34049
34050 2008-11-10  Bruno Haible  <bruno@clisp.org>
34051
34052         * lib/spawni.c (__spawni): Force variable into the stack.
34053
34054 2008-11-10  Bruno Haible  <bruno@clisp.org>
34055
34056         Add support for Haiku.
34057         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
34058         glibc and BeOS, but also on Haiku.
34059         * lib/fpurge.c (fpurge): Likewise.
34060         * lib/freadable.c (freadable): Likewise.
34061         * lib/freadahead.c (freadahead): Likewise.
34062         * lib/freading.c (freading): Likewise.
34063         * lib/freadptr.c (freadptr): Likewise.
34064         * lib/freadseek.c (freadptrinc): Likewise.
34065         * lib/fseeko.c (rpl_fseeko): Likewise.
34066         * lib/fseterr.c (fseterr): Likewise.
34067         * lib/fwritable.c (fwritable): Likewise.
34068         * lib/fwriting.c (fwriting): Likewise.
34069         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
34070
34071 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
34072
34073         * lib/config.charset: Treat Haiku like BeOS.
34074
34075 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
34076
34077         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
34078         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
34079
34080 2008-11-08  Bruno Haible  <bruno@clisp.org>
34081
34082         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
34083         AC_CACHE_CHECK.
34084
34085 2008-11-08  Bruno Haible  <bruno@clisp.org>
34086
34087         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
34088
34089 2008-11-08  Bruno Haible  <bruno@clisp.org>
34090
34091         * tests/test-select-fd.c: New file.
34092         * tests/test-select-in.sh: New file.
34093         * tests/test-select-out.sh: New file.
34094         * tests/test-select-stdin.c: New file.
34095         * modules/select-tests (Files): Add the new files.
34096         (Depends-on): Add gettimeofday.
34097         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
34098         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
34099         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
34100
34101 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
34102             Bruno Haible  <bruno@clisp.org>
34103
34104         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
34105
34106 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
34107
34108         * build-aux/pmccabe2html: Added support for C++ source files.
34109
34110 2008-11-05  Ben Pfaff  <blp@gnu.org>
34111
34112         Fix lib/close.c build on Windows.
34113         * modules/close (Files): Add lib/w32sock.h.
34114
34115 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
34116
34117         Accept Bison's NEWS format.
34118         * build-aux/announce-gen (print_news_deltas): Tweak
34119         $re_prefix.
34120
34121 2008-11-04  Bruno Haible  <bruno@clisp.org>
34122
34123         * modules/random_r (Maintainer): Add glibc.
34124
34125 2008-11-04  Simon Josefsson  <simon@josefsson.org>
34126
34127         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
34128         by karl@freefriends.org (Karl Berry).
34129         * doc/alloca.texi: Likewise.
34130         * doc/c-ctype.texi: Likewise.
34131         * doc/c-strcase.texi: Likewise.
34132         * doc/c-strcaseeq.texi: Likewise.
34133         * doc/c-strcasestr.texi: Likewise.
34134         * doc/c-strstr.texi: Likewise.
34135         * doc/c-strtod.texi: Likewise.
34136         * doc/c-strtold.texi: Likewise.
34137         * doc/ctime.texi: Likewise.
34138         * doc/error.texi: Likewise.
34139         * doc/fdl.texi: Likewise.
34140         * doc/gcd.texi: Likewise.
34141         * doc/getdate.texi: Likewise.
34142         * doc/gnulib-intro.texi: Likewise.
34143         * doc/gnulib-tool.texi: Likewise.
34144         * doc/gnulib.texi: Likewise.
34145         * doc/inet_ntoa.texi: Likewise.
34146         * doc/maintain.texi: Likewise.
34147         * doc/make-stds.texi: Likewise.
34148         * doc/quote.texi: Likewise.
34149         * doc/regexprops-generic.texi: Likewise.
34150         * doc/standards.texi: Likewise.
34151         * doc/verify.texi: Likewise.
34152         * doc/visibility.texi: Likewise.
34153         * doc/gnulib.texi (GNU Free Documentation License): Include
34154         fdl-1.3.texi instead of fdl.texi.
34155
34156 2008-11-04  Simon Josefsson  <simon@josefsson.org>
34157
34158         * doc/fdl-1.3.texi: New file, from
34159         <http://www.gnu.org/licenses/fdl-1.3.texi>.
34160         * modules/fdl-1.3: Add.
34161         * MODULES.html.sh: Add fdl-1.3.
34162
34163 2008-11-03  Bruno Haible  <bruno@clisp.org>
34164
34165         Make determination of absolute name of header file work with AIX xlc.
34166         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
34167         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
34168         preprocessing.
34169         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
34170         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
34171
34172 2008-11-03  Simon Josefsson  <simon@josefsson.org>
34173
34174         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
34175         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
34176         <ludo@gnu.org>.
34177
34178 2008-11-02  Bruno Haible  <bruno@clisp.org>
34179
34180         Mark 'strpbrk' obsolete.
34181         * modules/strpbrk (Status, Notice): New sections.
34182         * modules/strtok_r (Depends-on): Add strpbrk.
34183
34184 2008-11-02  Bruno Haible  <bruno@clisp.org>
34185
34186         Mark 'strdup' obsolete.
34187         * modules/strdup (Status, Notice): New sections.
34188         * modules/findprog (Depends-on): Add strdup.
34189         * modules/getaddrinfo (Depends-on): Likewise.
34190         * modules/localename (Depends-on): Likewise.
34191         * modules/relocatable-lib (Depends-on): Likewise.
34192         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
34193         * modules/relocatable-prog (Depends-on): Likewise.
34194         * modules/trim (Depends-on): Likewise.
34195         * modules/unictype/gen-ctype (Depends-on): Likewise.
34196         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
34197
34198 2008-11-02  Bruno Haible  <bruno@clisp.org>
34199
34200         Mark 'strcspn' obsolete.
34201         * modules/strcspn (Status, Notice): New sections.
34202
34203 2008-11-02  Bruno Haible  <bruno@clisp.org>
34204
34205         Mark 'rmdir' obsolete.
34206         * modules/rmdir (Status, Notice): New sections.
34207         * modules/clean-temp (Depends-on): Add rmdir.
34208         * modules/openat (Depends-on): Likewise.
34209
34210 2008-11-02  Bruno Haible  <bruno@clisp.org>
34211
34212         Mark 'raise' obsolete.
34213         * modules/raise (Status, Notice): New sections.
34214         (Include): Specify <signal.h>.
34215         * modules/stdio (Depends-on): Add raise.
34216         * modules/write (Depends-on): Likewise.
34217
34218 2008-11-02  Bruno Haible  <bruno@clisp.org>
34219
34220         Mark 'memset' obsolete.
34221         * modules/memset (Status, Notice): New sections.
34222
34223 2008-11-02  Bruno Haible  <bruno@clisp.org>
34224
34225         Mark 'memmove' obsolete.
34226         * modules/memmove (Status, Notice): New sections.
34227         * modules/argp (Depends-on): Add memmove.
34228         * modules/argz (Depends-on): Likewise.
34229         * modules/canonicalize (Depends-on): Likewise.
34230         * modules/canonicalize-lgpl (Depends-on): Likewise.
34231         * modules/fts (Depends-on): Likewise.
34232         * modules/getcwd (Depends-on): Likewise.
34233         * modules/human (Depends-on): Likewise.
34234         * modules/regex (Depends-on): Likewise.
34235         * modules/striconveh (Depends-on): Likewise.
34236         * modules/trim (Depends-on): Likewise.
34237         * modules/unistr/u8-move (Depends-on): Likewise.
34238         * modules/unistr/u16-move (Depends-on): Likewise.
34239         * modules/unistr/u32-move (Depends-on): Likewise.
34240
34241 2008-11-02  Bruno Haible  <bruno@clisp.org>
34242
34243         Mark 'memcpy' obsolete.
34244         * modules/memcpy (Status, Notice): New sections.
34245
34246 2008-11-02  Bruno Haible  <bruno@clisp.org>
34247
34248         Mark 'memcmp' obsolete.
34249         * modules/memcmp (Status, Notice): New sections.
34250         * modules/argmatch (Depends-on): Add memchr.
34251         * modules/backupfile (Depends-on): Likewise.
34252         * modules/c-strcasestr (Depends-on): Likewise.
34253         * modules/crypto/des (Depends-on): Likewise.
34254         * modules/csharpcomp (Depends-on): Likewise.
34255         * modules/fnmatch (Depends-on): Likewise.
34256         * modules/git-merge-changelog (Depends-on): Likewise.
34257         * modules/isnand (Depends-on): Likewise.
34258         * modules/isnand-nolibm (Depends-on): Likewise.
34259         * modules/isnanf (Depends-on): Likewise.
34260         * modules/isnanf-nolibm (Depends-on): Likewise.
34261         * modules/isnanl (Depends-on): Likewise.
34262         * modules/isnanl-nolibm (Depends-on): Likewise.
34263         * modules/mbchar (Depends-on): Likewise.
34264         * modules/memcoll (Depends-on): Likewise.
34265         * modules/quotearg (Depends-on): Likewise.
34266         * modules/regex (Depends-on): Likewise.
34267         * modules/relocatable-prog (Depends-on): Likewise.
34268         * modules/same (Depends-on): Likewise.
34269         * modules/signbit (Depends-on): Likewise.
34270         * modules/strcasestr-simple (Depends-on): Likewise.
34271         * modules/unictype/gen-ctype (Depends-on): Likewise.
34272         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
34273         * modules/uniname/uniname (Depends-on): Likewise.
34274         * modules/unistr/u8-cmp (Depends-on): Likewise.
34275
34276 2008-11-02  Bruno Haible  <bruno@clisp.org>
34277
34278         Mark 'memchr' obsolete.
34279         * modules/memchr (Status, Notice): New sections.
34280         * modules/argp (Depends-on): Add memchr.
34281         * modules/base64 (Depends-on): Likewise.
34282         * modules/c-strcasestr (Depends-on): Likewise.
34283         * modules/chdir-long (Depends-on): Likewise.
34284         * modules/fnmatch (Depends-on): Likewise.
34285         * modules/getsubopt (Depends-on): Likewise.
34286         * modules/git-merge-changelog (Depends-on): Likewise.
34287         * modules/glob (Depends-on): Likewise.
34288         * modules/strcasestr-simple (Depends-on): Likewise.
34289         * modules/strnlen (Depends-on): Likewise.
34290
34291 2008-11-02  Bruno Haible  <bruno@clisp.org>
34292
34293         Mark 'atexit' obsolete.
34294         * modules/atexit (Status, Notice): New sections.
34295         * modules/chdir-long (Depends-on): Add atexit.
34296         * modules/wait-process (Depends-on): Likewise.
34297
34298 2008-11-02  Bruno Haible  <bruno@clisp.org>
34299
34300         * gnulib-tool: New option --with-obsolete.
34301         (func_usage): Document it.
34302         (func_modules_transitive_closure): Drop obsolete dependencies if
34303         incobsolete is not true.
34304         (func_import): Read and save the incobsolete variable to the cache.
34305
34306 2008-11-02  Bruno Haible  <bruno@clisp.org>
34307
34308         * modules/TEMPLATE-EXTENDED: New field 'Status'.
34309         * gnulib-tool: New option --extract-status.
34310         (func_usage): Document it.
34311         (sed_extract_prog): Recognize it.
34312         (func_get_status): New function.
34313
34314 2008-10-30  Simon Josefsson  <simon@josefsson.org>
34315
34316         * modules/sockets (License): Change from LGPL to LGPLv2+.
34317
34318 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34319
34320         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
34321
34322 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34323
34324         * MODULES.html.sh (Support for systems lacking POSIX:2001):
34325         Mention times and sys_times.
34326         * modules/sys_times, modules/sys_times-tests: New modules.
34327         * modules/times, modules/times-tests: Likewise
34328         * m4/sys_times_h.m4: New file.
34329         * lib/sys_times.in.h: Likewise
34330         * lib/times.c: Likewise.
34331         * tests/test-sys_times.c: Likewise.
34332         * tests/test-times.c: Likewise.
34333         * doc/posix-headers/sys_times.texi: Update.
34334         * doc/posix-functions/times.texi: Update.
34335
34336 2008-10-28  Jim Meyering  <meyering@redhat.com>
34337
34338         * modules/tempname (Depends-on): Add lstat.
34339
34340         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
34341
34342 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34343
34344         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
34345         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
34346         using idiom used elsewhere in gnulib.
34347
34348 2008-10-27  Jim Meyering  <meyering@redhat.com>
34349
34350         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
34351
34352 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34353
34354         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
34355         TESTS_ENVIRONMENT, for shell scripts that needs to call built
34356         programs.
34357         * tests/test-argp-2.sh: Use $EXEEXT when needed.
34358
34359 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34360
34361         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
34362
34363 2008-10-27  Bruno Haible  <bruno@clisp.org>
34364
34365         * tests/test-lstat.c: Include <stdio.h>.
34366
34367 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34368
34369         * modules/lstat-tests: New module.
34370         * tests/test-lstat.c: New file.
34371
34372 2008-10-26  Jim Meyering  <meyering@redhat.com>
34373
34374         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
34375
34376 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34377             Bruno Haible  <bruno@clisp.org>
34378
34379         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
34380         * modules/configmake (Include): Add a note that the include must come
34381         after all system headers.
34382         * lib/javaversion.c: Include configmake.h after all other includes.
34383
34384 2008-10-26  Bruno Haible  <bruno@clisp.org>
34385
34386         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
34387         HAVE_STRUCT_RANDOM_DATA to 1.
34388         (gl_STDLIB_H): Simplify.
34389
34390 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34391
34392         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
34393         substitute HAVE_STRUCT_RANDOM_DATA.
34394         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
34395         random_data.
34396         * modules/stdlib (Makefile.am): Substitute
34397         HAVE_STRUCT_RANDOM_DATA.
34398
34399 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34400
34401         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
34402         * doc/gnulib-intro.texi (Copyright): Likewise.
34403
34404 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34405
34406         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
34407         findings.
34408
34409 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
34410             Bruno Haible  <bruno@clisp.org>
34411
34412         * lib/unistd.in.h: Include <winsock2.h>.
34413         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
34414         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
34415         Provide dummy declarations.
34416         (gethostname): Override.
34417         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
34418         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
34419         gl_PREREQ_SYS_H_WINSOCK2.
34420         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
34421         * doc/posix-functions/gethostname.texi: More details.
34422
34423 2008-10-25  Bruno Haible  <bruno@clisp.org>
34424
34425         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34426         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
34427         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
34428
34429         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
34430         here ...
34431         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
34432         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
34433         gl_UNISTD_H_DEFAULTS.
34434
34435 2008-10-25  Eric Blake  <ebb9@byu.net>
34436
34437         signbit: avoid spurious compiler failure
34438         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
34439         declarations inside function.
34440
34441 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34442             Bruno Haible  <bruno@clisp.org>
34443
34444         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
34445         * modules/random_r (Depends-on): Add stdint.
34446
34447 2008-10-24  Bruno Haible  <bruno@clisp.org>
34448
34449         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
34450         Eggert.
34451         * modules/strerror (License): Likewise.
34452
34453 2008-10-24  Jim Meyering  <meyering@redhat.com>
34454
34455         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
34456         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
34457
34458 2008-10-24  Eric Blake  <ebb9@byu.net>
34459
34460         getgroups: fix compilation when getgroups is available
34461         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
34462         but with <config.h> override of getgroups disabled.
34463
34464 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34465
34466         * doc/gnulib.texi (Header files): Add note about C++ problems.
34467         Explained by Bruno Haible <bruno@clisp.org>.
34468
34469 2008-10-23  Bruno Haible  <bruno@clisp.org>
34470
34471         Define a dummy SA_NODEFER macro on Interix.
34472         * lib/signal.in.h (SA_NODEFER): Define fallback.
34473         Reported by Aleksey Cheusov <cheusov@tut.by> via
34474         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
34475
34476 2008-10-23  Bruno Haible  <bruno@clisp.org>
34477
34478         * modules/freadahead (License): Change to LGPLv2+.
34479         Suggested by Simon Josefsson.
34480
34481 2008-10-23  Jim Meyering  <meyering@redhat.com>
34482
34483         random_r: new module
34484         * modules/random_r: New file.
34485         * m4/random_r.m4: New file.
34486         * lib/random_r.c: New file, from glibc.
34487         * modules/random_r-tests: New file.
34488         * tests/test-random_r.c: New file.
34489         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
34490          Declare.
34491         (RAND_MAX): Define.
34492         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
34493         * modules/stdlib: Substitute them, too.
34494         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
34495         * doc/glibc-functions/initstate_r.texi: Mention the new module.
34496         * doc/glibc-functions/random_r.texi: Likewise.
34497         * doc/glibc-functions/setstate_r.texi: Likewise.
34498         * doc/glibc-functions/srandom_r.texi: Likewise.
34499         * config/srclist.txt: Mention it.
34500
34501 2008-10-23  David Lutterkort  <lutter@redhat.com>
34502
34503         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
34504         link requirement
34505
34506 2008-10-23  Jim Meyering  <meyering@redhat.com>
34507
34508         selinux-h: mark parameters of stub functions as intentionally unused
34509         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
34510         * lib/se-context.in.h: Likewise.
34511
34512 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34513
34514         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
34515
34516 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34517
34518         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
34519
34520 2008-10-22  Eric Blake  <ebb9@byu.net>
34521
34522         glthread/thread: avoid compiler warning
34523         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
34524         Add unreachable abort to silence compiler.
34525
34526 2008-10-22  Eric Blake  <ebb9@byu.net>
34527
34528         netdb: also supply struct addrinfo for cygwin 1.5.x
34529         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
34530         older cygwin.
34531         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
34532         cygwin.
34533         * doc/posix-headers/netdb.texi (netdb.h): Document this.
34534
34535 2008-10-22  Bruno Haible  <bruno@clisp.org>
34536
34537         * users.txt: Update entry about pspp.
34538
34539 2008-10-21  Bruno Haible  <bruno@clisp.org>
34540
34541         Simplification.
34542         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
34543         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
34544
34545         Simplification.
34546         * lib/ioctl.c (ioctl): Don't undefine.
34547         * lib/socket.c (socket): Don't undefine.
34548
34549         Remove unused module indicator macros.
34550         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
34551         GNULIB_$1 as a C macro.
34552
34553         * doc/posix-functions/close.texi: Undo last change.
34554         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
34555         Windows platforms.
34556
34557 2008-10-21  Bruno Haible  <bruno@clisp.org>
34558
34559         Add gethostname() declaration to <unistd.h>.
34560         * lib/unistd.in.h (gethostname): New declaration.
34561         * lib/gethostname.c: Include <unistd.h>.
34562         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
34563         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
34564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
34565         and HAVE_GETHOSTNAME.
34566         * modules/gethostname (Depends-on): Add unistd.
34567         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34568         (Include): Specify <unistd.h>.
34569         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
34570         HAVE_GETHOSTNAME.
34571         * tests/test-gethostname.c: Include <unistd.h> first.
34572
34573 2008-10-21  Bruno Haible  <bruno@clisp.org>
34574
34575         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
34576         * modules/select-tests (Depends-on): Likewise.
34577         Reported by Simon Josefsson.
34578
34579 2008-10-21  Simon Josefsson  <simon@josefsson.org>
34580
34581         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
34582         * lib/accept.c: New file, based on winsock.c.
34583         * lib/bind.c: New file, based on winsock.c.
34584         * lib/connect.c: New file, based on winsock.c.
34585         * lib/getpeername.c: New file, based on winsock.c.
34586         * lib/getsockname.c: New file, based on winsock.c.
34587         * lib/getsockopt.c: New file, based on winsock.c.
34588         * lib/ioctl.c: New file, based on winsock.c.
34589         * lib/listen.c: New file, based on winsock.c.
34590         * lib/recv.c: New file, based on winsock.c.
34591         * lib/recvfrom.c: New file, based on winsock.c.
34592         * lib/send.c: New file, based on winsock.c.
34593         * lib/sendto.c: New file, based on winsock.c.
34594         * lib/setsockopt.c: New file, based on winsock.c.
34595         * lib/shutdown.c: New file, based on winsock.c.
34596         * lib/socket.c: New file, based on winsock.c.
34597         * lib/w32sock.h: New file, based on winsock.c.
34598         * lib/winsock.c: Remove file.
34599         * modules/accept: Likewise.
34600         * modules/bind: Likewise.
34601         * modules/connect: Likewise.
34602         * modules/getpeername: Likewise.
34603         * modules/getsockname: Likewise.
34604         * modules/getsockopt: Likewise.
34605         * modules/ioctl: Likewise.
34606         * modules/listen: Likewise.
34607         * modules/recv: Likewise.
34608         * modules/recvfrom: Likewise.
34609         * modules/send: Likewise.
34610         * modules/sendto: Likewise.
34611         * modules/setsockopt: Likewise.
34612         * modules/shutdown: Likewise.
34613         * modules/socket: Use socket.c instead of winsock.c.
34614         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
34615         * doc/posix-functions/accept.texi: Doc fix.
34616         * doc/posix-functions/bind.texi: Doc fix.
34617         * doc/posix-functions/close.texi: Doc fix.
34618         * doc/posix-functions/connect.texi: Doc fix.
34619         * doc/posix-functions/getpeername.texi: Doc fix.
34620         * doc/posix-functions/getsockname.texi: Doc fix.
34621         * doc/posix-functions/getsockopt.texi: Doc fix.
34622         * doc/posix-functions/ioctl.texi: Doc fix.
34623         * doc/posix-functions/listen.texi: Doc fix.
34624         * doc/posix-functions/recv.texi: Doc fix.
34625         * doc/posix-functions/recvfrom.texi: Doc fix.
34626         * doc/posix-functions/send.texi: Doc fix.
34627         * doc/posix-functions/sendto.texi: Doc fix.
34628         * doc/posix-functions/setsockopt.texi: Doc fix.
34629         * doc/posix-functions/shutdown.texi: Doc fix.
34630         * doc/posix-functions/socket.texi: Doc fix.
34631
34632 2008-10-20  Bruno Haible  <bruno@clisp.org>
34633
34634         Take into account the role of SIGABRT_COMPAT on Windows 2008.
34635         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
34636         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
34637         as an alias for SIGABRT.
34638         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
34639         (sigaction): Map it to SIGABRT.
34640         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
34641
34642 2008-10-20  Bruno Haible  <bruno@clisp.org>
34643
34644         * lib/fts.c: Don't include lstat.h.
34645         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
34646
34647         Move the lstat() declaration to <sys/stat.h>.
34648         * lib/lstat.h: Remove file.
34649         * lib/sys_stat.in.h: Add special invocation convention.
34650         (lstat): New declaration.
34651         * lib/lstat.c (orig_lstat): New function.
34652         (rpl_lstat): Use orig_lstat instead of lstat.
34653         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
34654         AC_C_INLINE. Set REPLACE_LSTAT.
34655         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
34656         and REPLACE_LSTAT.
34657         * modules/lstat (Files): Remove lib/lstat.h.
34658         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34659         (Include): Specify <sys/stat.h> instead of lstat.h.
34660         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
34661         REPLACE_LSTAT.
34662         * NEWS: Mention the change.
34663
34664 2008-10-20  Bruno Haible  <bruno@clisp.org>
34665
34666         * modules/posix_spawn-tests: New file.
34667         * tests/test-posix_spawn3.c: New file.
34668
34669 2008-10-20  Bruno Haible  <bruno@clisp.org>
34670
34671         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
34672         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34673         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
34674         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34675         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
34676
34677 2008-10-20  Bruno Haible  <bruno@clisp.org>
34678
34679         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
34680         of posix_spawn on AIX 5.3.
34681
34682 2008-10-20  Bruno Haible  <bruno@clisp.org>
34683
34684         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
34685
34686 2008-10-20  Bruno Haible  <bruno@clisp.org>
34687
34688         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
34689         of AC_LANG_PROGRAM.
34690
34691 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34692
34693         * lib/netdb.in.h: Don't define GNU specific constants until they
34694         are supported or needed.  Reported by Bruno Haible
34695         <bruno@clisp.org>.
34696
34697 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34698
34699         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
34700
34701 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34702
34703         * lib/getaddrinfo.h: Remove file.
34704         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
34705         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
34706         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
34707         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
34708         * modules/netdb: Substitute GNULIB_GETADDRINFO.
34709         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
34710         * tests/test-getaddrinfo.c: Likewise.
34711         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
34712         * NEWS: Mention change.
34713
34714 2008-10-19  Bruno Haible  <bruno@clisp.org>
34715
34716         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
34717
34718 2008-10-19  Bruno Haible  <bruno@clisp.org>
34719
34720         * lib/wait-process.c: Include simply <sys/wait.h>.
34721         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
34722         WIFSTOPPED): Remove fallback definitions.
34723         * modules/wait-process (Depends-on): Add sys_wait.
34724
34725         New module 'sys_wait'.
34726         * modules/sys_wait: New file.
34727         * lib/sys_wait.in.h: New file, partially copied from
34728         lib/wait-process.c.
34729         * m4/sys_wait_h.m4: New file.
34730         * doc/posix-headers/sys_wait.texi: Mention the new module.
34731
34732 2008-10-19  Bruno Haible  <bruno@clisp.org>
34733
34734         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
34735
34736 2008-10-19  Bruno Haible  <bruno@clisp.org>
34737
34738         Assume that waitpid() fills an 'int' status, not a 'union wait'.
34739         * lib/wait-process.c (WAIT_T): Remove type.
34740         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
34741         (wait_subprocess): Update.
34742
34743 2008-10-19  Bruno Haible  <bruno@clisp.org>
34744
34745         New module 'atoll'.
34746         * modules/atoll: New file.
34747         * lib/stdlib.in.h (atoll): New declaration.
34748         * lib/atoll.c: New file, from glibc with modifications.
34749         * m4/atoll.m4: New file.
34750         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
34751         HAVE_ATOLL.
34752         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
34753         * doc/posix-functions/atoll.texi: Mention the new module.
34754
34755 2008-10-19  Bruno Haible  <bruno@clisp.org>
34756
34757         Add strtoull() declaration to <stdlib.h>.
34758         * lib/stdlib.in.h (strtoull): New declaration.
34759         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34760         Set HAVE_STRTOULL.
34761         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
34762         HAVE_STRTOULL.
34763         * modules/strtoull (Depends-on): Add stdlib.
34764         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34765         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
34766         HAVE_STRTOULL.
34767
34768 2008-10-19  Bruno Haible  <bruno@clisp.org>
34769
34770         Add strtoll() declaration to <stdlib.h>.
34771         * lib/stdlib.in.h (strtoll): New declaration.
34772         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34773         Set HAVE_STRTOLL.
34774         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
34775         HAVE_STRTOLL.
34776         * modules/strtoll (Depends-on): Add stdlib.
34777         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34778         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
34779
34780 2008-10-19  Bruno Haible  <bruno@clisp.org>
34781
34782         * modules/bcopy (Depends-on): Add strings.
34783         (Include): Specify <strings.h>.
34784
34785 2008-10-19  Bruno Haible  <bruno@clisp.org>
34786
34787         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
34788
34789 2008-10-19  Bruno Haible  <bruno@clisp.org>
34790
34791         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
34792         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
34793         mingw.
34794
34795 2008-10-19  Bruno Haible  <bruno@clisp.org>
34796
34797         * lib/atanl.c: Don't include isnanl.h.
34798         * lib/cosl.c: Likewise.
34799         * lib/ldexpl.c: Likewise.
34800         * lib/logl.c: Likewise.
34801         * lib/sinl.c: Likewise.
34802         * lib/sqrtl.c: Likewise.
34803         * lib/tanl.c: Likewise.
34804
34805         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
34806         * lib/isnanf.h: Remove file.
34807         * lib/isnand.h: Remove file.
34808         * lib/isnanl.h: Remove file.
34809         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
34810         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
34811         macros.
34812         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
34813         HAVE_ISNANF, don't define it as a C macro.
34814         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
34815         HAVE_ISNAND, don't define it as a C macro.
34816         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
34817         HAVE_ISNANL, don't define it as a C macro.
34818         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
34819         HAVE_ISNAN[FDL].
34820         * modules/isnanf (Files): Remove lib/isnanf.h.
34821         (Depends-on): Add math.
34822         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34823         (Include): Specify <math.h> instead of isnanf.h.
34824         * modules/isnand (Files): Remove lib/isnand.h.
34825         (Depends-on): Add math.
34826         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34827         (Include): Specify <math.h> instead of isnand.h.
34828         * modules/isnanl (Files): Remove lib/isnanl.h.
34829         (Depends-on): Add math.
34830         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34831         (Include): Specify <math.h> instead of isnanl.h.
34832         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
34833         HAVE_ISNAN[FDL].
34834         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
34835         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
34836         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
34837         * NEWS: Mention the change.
34838
34839 2008-10-18  Bruno Haible  <bruno@clisp.org>
34840
34841         Add getusershell(), setusershell(), endusershell() declarations to
34842         <unistd.h>.
34843         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
34844         declarations.
34845         * lib/getusershell.c: Include unistd.h.
34846         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
34847         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34848         HAVE_GETUSERSHELL.
34849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
34850         and HAVE_GETUSERSHELL.
34851         * modules/getusershell (Depends-on): Add unistd, extensions.
34852         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34853         (Include): Specify <unistd.h>.
34854         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
34855         HAVE_GETUSERSHELL.
34856
34857 2008-10-18  Bruno Haible  <bruno@clisp.org>
34858
34859         Add a getloadavg() declaration to <stdlib.h>.
34860         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
34861         getloadavg declaration.
34862         (getloadavg): New declaration.
34863         * lib/getloadavg.c: Include <stdlib.h> first.
34864         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
34865         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
34866         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
34867         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
34868         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34869         * modules/getloadavg (Depends-on): Add stdlib, extensions.
34870         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34871         (Include): Specify <stdlib.h>.
34872         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
34873         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34874
34875 2008-10-18  Bruno Haible  <bruno@clisp.org>
34876
34877         * lib/dirchownmod.c: Don't include lchmod.h.
34878
34879         Move the lchmod() declaration to <sys/stat.h>.
34880         * lib/lchmod.h: Remove file.
34881         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
34882         (lchmod): New declaration, moved here from lib/lchown.h.
34883         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
34884         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
34885         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
34886         and HAVE_LCHMOD.
34887         * modules/lchmod (Files): Remove lib/lchmod.h.
34888         (Depends-on): Add sys_stat, extensions.
34889         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34890         (Include): Specify <sys/stat.h> instead of lchmod.h.
34891         * modules/sys_stat (Depends-on): Add link-warning.
34892         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
34893         definition of GL_LINK_WARNING.
34894         * NEWS: Mention the change.
34895
34896 2008-10-18  Bruno Haible  <bruno@clisp.org>
34897
34898         * lib/fchdir.c: Don't include dirfd.h.
34899         * lib/fts.c: Likewise.
34900         * lib/getcwd.c: Likewise.
34901         * lib/glob.c: Likewise.
34902
34903         Move the dirfd() declaration to <dirent.h>.
34904         * lib/dirfd.h: Remove file.
34905         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
34906         (dirfd): New declaration.
34907         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
34908         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
34909         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
34910         HAVE_DECL_DIRFD.
34911         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
34912         HAVE_DECL_DIRFD.
34913         * modules/dirfd (Files): Remove lib/dirfd.h.
34914         (Depends-on): Add dirent, extensions.
34915         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
34916         (Include): Specify <dirent.h> instead of dirfd.h.
34917         * modules/dirent (Depends-on): Add link-warning.
34918         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
34919         definition of GL_LINK_WARNING.
34920         * NEWS: Mention the change.
34921
34922 2008-10-18  Bruno Haible  <bruno@clisp.org>
34923
34924         Move the euidaccess() declaration to <unistd.h>.
34925         * lib/euidaccess.h: Remove file.
34926         * lib/unistd.in.h (euidaccess): New declaration.
34927         * lib/euidaccess.c: Don't include euidaccess.h.
34928         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
34929         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
34930         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
34931         and HAVE_EUIDACCESS.
34932         * modules/euidaccess (Files): Remove lib/euidaccess.h.
34933         (Depends-on): Add unistd.
34934         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34935         (Include): Specify <unistd.h> instead of euidaccess.h.
34936         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
34937         HAVE_EUIDACCESS.
34938         * NEWS: Mention the change.
34939
34940 2008-10-18  Bruno Haible  <bruno@clisp.org>
34941
34942         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
34943
34944         Move the getdomainname() declaration to <unistd.h>.
34945         * lib/getdomainname.h: Remove file.
34946         * lib/unistd.in.h (getdomainname): New declaration.
34947         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
34948         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
34949         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34950         HAVE_GETDOMAINNAME.
34951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34952         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
34953         * modules/getdomainname (Files): Remove lib/getdomainname.h.
34954         (Depends-on): Add unistd, extensions.
34955         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34956         (Includes): Specify <unistd.h> instead of getdomainname.h.
34957         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
34958         HAVE_GETDOMAINNAME.
34959         * NEWS: Mention the change.
34960
34961 2008-10-18  Bruno Haible  <bruno@clisp.org>
34962
34963         * modules/dirent: New file.
34964         * m4/dirent_h.m4: New file.
34965         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
34966         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
34967         * modules/fchdir (Files): Remove lib/dirent.in.h.
34968         (Depends-on): Add dirent.
34969         (Makefile.am): Move rules to modules/dirent.
34970         * doc/posix-headers/dirent.texi: Mention the new module.
34971
34972 2008-10-18  Bruno Haible  <bruno@clisp.org>
34973
34974         Avoid -Wunused-parameter warnings in public gnulib header files.
34975         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
34976         macro.
34977         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
34978
34979 2008-10-18  Bruno Haible  <bruno@clisp.org>
34980
34981         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
34982         * doc/glibc-functions/error.texi: Mention the module 'error'.
34983         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
34984         * doc/glibc-functions/getdomainname.texi: Mention the module
34985         'getdomainname'.
34986         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
34987         * doc/glibc-functions/getpagesize.texi: Mention the module
34988         'getpagesize'.
34989         * doc/glibc-functions/getusershell.texi: Mention the module
34990         'getusershell'.
34991         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
34992         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
34993         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
34994         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
34995         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
34996         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
34997         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
34998         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
34999         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
35000         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
35001         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
35002         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
35003         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
35004         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
35005
35006 2008-10-17  Bruno Haible  <bruno@clisp.org>
35007
35008         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
35009         HP-UX and IRIX, use -0.0L.
35010         * tests/test-ceill.c (minus_zero): Likewise.
35011         * tests/test-floorl.c (minus_zero): Likewise.
35012         * tests/test-frexpl.c (minus_zero): Likewise.
35013         * tests/test-isnan.c (minus_zerol): Likewise.
35014         * tests/test-isnanl.h (minus_zero): Likewise.
35015         * tests/test-ldexpl.c (minus_zero): Likewise.
35016         * tests/test-roundl.c (minus_zero): Likewise.
35017         * tests/test-signbit.c (minus_zerol): Likewise.
35018         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
35019         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
35020         * tests/test-truncl.c (minus_zero): Likewise.
35021         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
35022         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
35023         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
35024         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
35025
35026 2008-10-17  Bruno Haible  <bruno@clisp.org>
35027
35028         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
35029         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
35030         that it gets activated only for gcc >= 3.0.
35031         * lib/dirent.in.h: Likewise.
35032         * lib/errno.in.h: Likewise.
35033         * lib/fcntl.in.h: Likewise.
35034         * lib/float.in.h: Likewise.
35035         * lib/iconv.in.h: Likewise.
35036         * lib/inttypes.in.h: Likewise.
35037         * lib/locale.in.h: Likewise.
35038         * lib/math.in.h: Likewise.
35039         * lib/netdb.in.h: Likewise.
35040         * lib/netinet_in.in.h: Likewise.
35041         * lib/search.in.h: Likewise.
35042         * lib/signal.in.h: Likewise.
35043         * lib/spawn.in.h: Likewise.
35044         * lib/stdarg.in.h: Likewise.
35045         * lib/stdint.in.h: Likewise.
35046         * lib/stdio.in.h: Likewise.
35047         * lib/stdlib.in.h: Likewise.
35048         * lib/string.in.h: Likewise.
35049         * lib/strings.in.h: Likewise.
35050         * lib/sys_file.in.h: Likewise.
35051         * lib/sys_ioctl.in.h: Likewise.
35052         * lib/sys_select.in.h: Likewise.
35053         * lib/sys_socket.in.h: Likewise.
35054         * lib/sys_stat.in.h: Likewise.
35055         * lib/sys_time.in.h: Likewise.
35056         * lib/sysexits.in.h: Likewise.
35057         * lib/time.in.h: Likewise.
35058         * lib/unistd.in.h: Likewise.
35059         * lib/wchar.in.h: Likewise.
35060         * lib/wctype.in.h: Likewise.
35061         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35062
35063 2008-10-17  Jim Meyering  <meyering@redhat.com>
35064
35065         ignore-value: don't depend on inline module
35066         * modules/ignore-value (Depends-on): Remove 'inline'.
35067         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
35068         Suggestion from Bruno Haible.
35069
35070 2008-10-17  Bruno Haible  <bruno@clisp.org>
35071
35072         New implementation of condition variables for Win32.
35073         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
35074         (gl_linked_waitqueue_t): New type.
35075         (gl_cond_t): Use it.
35076         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
35077         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
35078         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
35079         (glthread_cond_init_func, glthread_cond_wait_func,
35080         glthread_cond_timedwait_func, glthread_cond_signal_func,
35081         glthread_cond_broadcast_func, glthread_cond_destroy_func):
35082         Reimplemented on the basis of gl_linked_waitqueue_t.
35083         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
35084         gl_waitqueue_t.
35085         (gl_rwlock_t): Update.
35086         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
35087
35088 2008-10-17  Simon Josefsson  <simon@josefsson.org>
35089
35090         * modules/recvfrom (Depends-on): Add dependency on getpeername.
35091         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35092
35093 2008-10-17  Jim Meyering  <meyering@redhat.com>
35094
35095         ignore-value: new module
35096         * modules/ignore-value: New file.
35097         * lib/ignore-value.h: New file.
35098         * MODULES.html.sh (Compiler warning management): New section,
35099         just for this module.  More to come.
35100
35101 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35102
35103         open-safer.c: avoid 'signed and unsigned in conditional...' warning
35104         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
35105         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
35106
35107 2008-10-16  Jim Meyering  <meyering@redhat.com>
35108
35109         openat-die.c: avoid 'no previous prototype' warning
35110         * lib/openat-die.c: Include "openat.h".
35111         Reported by Reuben Thomas <rrt@sc3d.org>.
35112
35113 2008-10-16  Simon Josefsson  <simon@josefsson.org>
35114
35115         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
35116         * lib/netdb.in.h: Fix typo.
35117         Reported by Bruno Haible  <bruno@clisp.org>
35118
35119         * lib/netdb.in.h: Include sys/socket.h for platforms without
35120         netdb.h, to get structures like hostent on MinGW.
35121         * modules/netdb (Depends-on): Add sys_socket.
35122
35123 2008-10-15  Simon Josefsson  <simon@josefsson.org>
35124
35125         * modules/netdb, modules/netdb-tests: New file.
35126         * m4/netdb_h.m4: New file.
35127         * lib/netdb.in.h: Add, currently just an empty file pending
35128         definitions.
35129         * tests/test-netdb.c: New file.
35130         * doc/posix-headers/netdb.texi: Mention that we replace it if
35131         needed.
35132         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35133         netdb.
35134
35135 2008-10-15  Simon Josefsson  <simon@josefsson.org>
35136
35137         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
35138         with code.
35139
35140 2008-10-13  Bruno Haible  <bruno@clisp.org>
35141
35142         * lib/glthread/cond.c (glthread_cond_wait_func,
35143         glthread_cond_timedwait_func): Add a comment.
35144
35145 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35146
35147         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
35148         * tests/test-select.c: Likewise,
35149
35150 2008-10-13  Bruno Haible  <bruno@clisp.org>
35151
35152         * lib/glthread/cond.c (glthread_cond_wait_func,
35153         glthread_cond_timedwait_func): Fix variable name.
35154         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35155
35156 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
35157
35158         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
35159         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
35160         struct sockaddr.sa_len.
35161         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
35162
35163 2008-10-13  Simon Josefsson  <simon@josefsson.org>
35164
35165         * build-aux/pmccabe2html: Add css and css_url parameters.
35166
35167 2008-10-12  Bruno Haible  <bruno@clisp.org>
35168
35169         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
35170         calling aclx_get.
35171         Reported by Rainer Tammer <tammer@tammer.net>.
35172
35173 2008-10-12  Bruno Haible  <bruno@clisp.org>
35174
35175         Use msvcrt aware primitives for creation/termination of Win32 threads.
35176         * lib/glthread/thread.c: Include <process.h>.
35177         (glthread_create_func): Use _beginthreadex instead of CreateThread.
35178         (wrapper_func): Update signature.
35179         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
35180
35181 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35182             Bruno Haible  <bruno@clisp.org>
35183
35184         Provide a Win32 implementation of the 'cond' module.
35185         * lib/glthread/cond.h [USE_WIN32]: New implementation.
35186         * lib/glthread/cond.c (glthread_cond_init_func,
35187         glthread_cond_wait_func, glthread_cond_timedwait_func,
35188         glthread_cond_signal_func, glthread_cond_broadcast_func,
35189         glthread_cond_destroy_func) [USE_WIN32]: New functions.
35190         * modules/cond (Dependencies): Add gettimeofday.
35191
35192 2008-10-11  Bruno Haible  <bruno@clisp.org>
35193
35194         Make sleep work on older versions of mingw.
35195         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
35196         only whether it exists.
35197         * doc/posix-functions/sleep.texi: Mention the problem with older
35198         versions of mingw.
35199
35200 2008-10-11  Bruno Haible  <bruno@clisp.org>
35201
35202         New module 'shutdown'.
35203         * modules/shutdown: New file.
35204         * lib/sys_socket.in.h (shutdown): New declaration.
35205         * lib/winsock.c (shutdown): New function.
35206         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35207         GNULIB_SHUTDOWN.
35208         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
35209         * doc/posix-functions/shutdown.texi: Document the new module.
35210
35211 2008-10-11  Jim Meyering  <meyering@redhat.com>
35212
35213         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
35214
35215 2008-10-11  Bruno Haible  <bruno@clisp.org>
35216
35217         New module 'fclose'.
35218         * modules/fclose: New file.
35219         * lib/stdio.in.h (fclose): New declaration.
35220         * lib/fclose.c: New file.
35221         * m4/fclose.m4: New file.
35222         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
35223         REPLACE_FCLOSE.
35224         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
35225         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
35226         REPLACE_FCLOSE.
35227         * modules/close (Depends-on): fclose.
35228         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
35229
35230 2008-10-11  Bruno Haible  <bruno@clisp.org>
35231
35232         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
35233         set errno and don't call _close.
35234
35235 2008-10-10  Bruno Haible  <bruno@clisp.org>
35236
35237         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
35238         ACL, not afterwards. Fixes test failure on Cygwin.
35239
35240 2008-10-09  Ben Pfaff  <blp@gnu.org>
35241
35242         * build-aux/announce-gen: Fix gnulib version related part of usage
35243         message.  Die with a useful error message if no tarballs are
35244         found.
35245
35246 2008-10-10  Jim Meyering  <meyering@redhat.com>
35247
35248         bootstrap: use git's --depth=N option only if it's supported
35249         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
35250         recognize the --depth option.  Reported by Pádraig Brady.
35251
35252 2008-10-09  Bruno Haible  <bruno@clisp.org>
35253
35254         New module 'ioctl'.
35255         * modules/ioctl: New file.
35256         * lib/sys_socket.in.h (ioctl): Remove declaration.
35257         * lib/winsock.c: Include <sys/ioctl.h>.
35258         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
35259         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35260         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
35261         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
35262         * doc/posix-functions/ioctl.texi: Mention the new module.
35263
35264 2008-10-09  Bruno Haible  <bruno@clisp.org>
35265
35266         New module 'sys_ioctl'.
35267         * lib/sys_ioctl.in.h: New file.
35268         * m4/sys_ioctl_h.m4: New file.
35269         * modules/sys_ioctl: New file.
35270         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
35271
35272 2008-10-09  Bruno Haible  <bruno@clisp.org>
35273
35274         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
35275         * lib/winsock.c: Include <stdarg.h>.
35276         (rpl_ioctl): Change to second argument 'int' and then varargs.
35277
35278 2008-10-09  Bruno Haible  <bruno@clisp.org>
35279
35280         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
35281         when the sys_socket module is present and the system has <winsock2.h>.
35282
35283 2008-10-09  Bruno Haible  <bruno@clisp.org>
35284
35285         * doc/posix-functions/close.texi: Mention module 'close' instead of
35286         module 'sys_socket'.
35287
35288 2008-10-09  Bruno Haible  <bruno@clisp.org>
35289
35290         * doc/glibc-headers/sys_ioctl.texi: New file.
35291         * doc/gnulib.texi: Include it.
35292
35293 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35294             Bruno Haible  <bruno@clisp.org>
35295
35296         Combine the two replacements of 'close'.
35297         * lib/sys_socket.in.h (close): Define to a reminder to include
35298         <unistd.h>.
35299         (_gl_close_fd_maybe_socket): New declaration.
35300         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
35301         * lib/winsock.c (close): Remove undefinition.
35302         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
35303         needed for the gnulib module 'close'.
35304         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
35305         define to an error symbol or to a warning, if suitable.
35306         * lib/close.c: Include <sys/socket.h>.
35307         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
35308         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
35309         UNISTD_H_HAVE_WINSOCK2_H.
35310         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
35311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35312         UNISTD_H_HAVE_WINSOCK2_H.
35313         * modules/sys_socket (Files): Add m4/unistd_h.m4.
35314         (configure.ac): Set a module indicator.
35315         (Makefile.am): Substitute GNULIB_CLOSE.
35316         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
35317         * modules/poll-tests (Depends-on): Add close.
35318         * modules/select-tests (Depends-on): Likewise.
35319
35320 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35321             Bruno Haible  <bruno@clisp.org>
35322
35323         New module 'close'.
35324         * modules/close: New file.
35325         * lib/unistd.in.h (close): Move declaration out of the
35326         FCHDIR_REPLACEMENT scope.
35327         (_gl_unregister_fd): New declaration.
35328         * lib/close.c: New file.
35329         * lib/fchdir.c (rpl_close): Remove function.
35330         * m4/close.m4: New file.
35331         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35332         close.
35333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
35334         REPLACE_CLOSE.
35335         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
35336         REPLACE_CLOSE.
35337         * modules/fchdir (Depends-on): Add close.
35338
35339 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35340             Bruno Haible  <bruno@clisp.org>
35341
35342         * lib/fcntl.in.h (open): Simplify conditionals.
35343         (_gl_register_fd): New declaration.
35344         * lib/fchdir.c (rpl_open): Remove function.
35345         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
35346         also.
35347         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
35348         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35349         open.
35350
35351 2008-10-09  Jim Meyering  <meyering@redhat.com>
35352
35353         GNUmakefile: use the more name-space-friendly "_version"
35354         * top/GNUmakefile (_dummy): Update.
35355         (_version): Rename from "version".
35356
35357 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35358             Bruno Haible  <bruno@clisp.org>
35359
35360         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
35361         rpl_close.
35362         (_gl_register_fd): New function, extracted from rpl_open.
35363         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
35364         (rpl_open, rpl_opendir): Use _gl_register_fd.
35365
35366 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35367
35368         Fix organization of 'open' replacement.
35369         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
35370         (gl_FUNC_OPEN): Use it.
35371         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
35372
35373 2008-10-08  Bruno Haible  <bruno@clisp.org>
35374
35375         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
35376
35377 2008-10-08  Simon Josefsson  <simon@josefsson.org>
35378
35379         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
35380         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
35381         listen).
35382
35383 2008-10-08  Eric Blake  <ebb9@byu.net>
35384
35385         GNUmakefile: add 'make version' target
35386         * top/GNUmakefile (_curr-ver): Split version update rules...
35387         (version): ...into a target.
35388
35389 2008-10-07  Bruno Haible  <bruno@clisp.org>
35390
35391         Use a more portable replacement expression for -0.0L.
35392         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
35393         instead of -0.0L. Fix m4 quotation.
35394
35395         * tests/test-signbit.c: Include <float.h>.
35396         (minus_zero): New variable.
35397         (test_signbitl): Use minus_zero instead of -zero.
35398         * modules/signbit-tests (Depends-on): Add float.
35399
35400         * tests/test-ceill.c: Include <float.h>.
35401         (zero): Remove variable.
35402         (minus_zero): New variable.
35403         (main): Use minus_zero instead of -zero.
35404         * modules/ceill-tests (Depends-on): Add float.
35405
35406         * tests/test-floorl.c: Include <float.h>.
35407         (zero): Remove variable.
35408         (minus_zero): New variable.
35409         (main): Use minus_zero instead of -zero.
35410         * modules/floorl-tests (Depends-on): Add float.
35411
35412         * tests/test-roundl.c: Include <float.h>.
35413         (zero): Remove variable.
35414         (minus_zero): New variable.
35415         (main): Use minus_zero instead of -zero.
35416         * modules/roundl-tests (Depends-on): Add float.
35417
35418         * tests/test-truncl.c: Include <float.h>.
35419         (zero): Remove variable.
35420         (minus_zero): New variable.
35421         (main): Use minus_zero instead of -zero.
35422         * modules/truncl-tests (Depends-on): Add float.
35423
35424         * tests/test-frexpl.c (zero): Remove variable.
35425         (minus_zero): New variable.
35426         (main): Use minus_zero instead of -zero.
35427         * modules/frexpl-tests (Depends-on): Add float.
35428
35429         * tests/test-isnan.c (zerol): Remove variable.
35430         (minus_zerol): New variable.
35431         (test_long_double): Use minus_zerol instead of -zerol.
35432         * modules/isnan-tests (Depends-on): Add float.
35433
35434         * tests/test-isnanl.h (zero): Remove variable.
35435         (minus_zero): New variable.
35436         (main): Use minus_zero instead of -zero.
35437         * modules/isnanl-nolibm-tests (Depends-on): Add float.
35438         * modules/isnanl-tests (Depends-on): Add float.
35439
35440         * tests/test-ldexpl.c (zero): Remove variable.
35441         (minus_zero): New variable.
35442         (main): Use minus_zero instead of -zero.
35443         * modules/ldexpl-tests (Depends-on): Add float.
35444
35445         * tests/test-snprintf-posix.h (zerol): Remove variable.
35446         (minus_zerol): New variable.
35447         (test_function): Use minus_zerol instead of -zerol.
35448         * modules/snprintf-posix-tests (Depends-on): Add float.
35449         * modules/vsnprintf-posix-tests (Depends-on): Add float.
35450
35451         * tests/test-sprintf-posix.h (zerol): Remove variable.
35452         (minus_zerol): New variable.
35453         (test_function): Use minus_zerol instead of -zerol.
35454         * modules/sprintf-posix-tests (Depends-on): Add float.
35455         * modules/vsprintf-posix-tests (Depends-on): Add float.
35456
35457         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
35458         (minus_zerol): New variable.
35459         (test_function): Use minus_zerol instead of -zerol.
35460         * modules/vasnprintf-posix-tests (Depends-on): Add float.
35461
35462         * tests/test-vasprintf-posix.c (zerol): Remove variable.
35463         (minus_zerol): New variable.
35464         (test_function): Use minus_zerol instead of -zerol.
35465         * modules/vasprintf-posix-tests (Depends-on): Add float.
35466
35467 2008-10-07  Simon Josefsson  <simon@josefsson.org>
35468
35469         * MODULES.html.sh (Support for building documentation): Mention
35470         pmccabe2html.  Sort entries.
35471
35472         Add pmccabe2html module, from gnupdf.
35473         * build-aux/pmccabe.css: New file.
35474         * build-aux/pmccabe2html: New file.
35475         * m4/pmccabe2html.m4: New file.
35476         * modules/pmccabe2html: New file.
35477
35478 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
35479
35480         flock: new module
35481         * MODULES.html.sh: Add to list of modules.
35482         * lib/flock.c: flock implementation for Windows and Unix systems
35483         which have fcntl.
35484         * doc/glibc-functions/flock.texi: Update documentation.
35485         * lib/sys_file.in.h: <sys/file.h> header file.
35486         * m4/flock.m4: M4 macros.
35487         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
35488         * modules/flock: flock module.
35489         * modules/flock-tests: flock tests module.
35490         * modules/sys_file: sys/file.h module.
35491         * tests/test-flock.c: test suite for flock.
35492
35493 2008-10-06  Jim Meyering  <meyering@redhat.com>
35494
35495         bootstrap: check for LT_INIT more portably still ;-)
35496         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
35497         Spotted by Bruno Haible.
35498
35499 2008-10-06  Eric Blake  <ebb9@byu.net>
35500
35501         test-signbit: avoid tripping Irix cc bug on -0.0L
35502         * tests/test-signbit.c (minus_zerol): Delete, and replace with
35503         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
35504         entire testsuite consistent and avoids an Irix 6.2 bug.
35505
35506 2008-10-05  Bruno Haible  <bruno@clisp.org>
35507             Jim Meyering  <jim@meyering.net>
35508
35509         Add an option for ignoring EPIPE during close_stdout.
35510         * lib/closeout.h: Include <stdbool.h>.
35511         (close_stdout_set_ignore_EPIPE): New declaration.
35512         * lib/closeout.c: Include <stdbool.h>.
35513         (ignore_EPIPE): New variable.
35514         (close_stdout_set_ignore_EPIPE): New function.
35515         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
35516         * lib/close-stream.c (close_stream): Mention the possible EPIPE
35517         failure.
35518         * modules/closeout (Depends-on): Add stdbool.
35519
35520 2008-10-05  Bruno Haible  <bruno@clisp.org>
35521
35522         * modules/accept: New file.
35523         * modules/bind: New file.
35524         * modules/connect: New file.
35525         * modules/getpeername: New file.
35526         * modules/getsockname: New file.
35527         * modules/getsockopt: New file.
35528         * modules/listen: New file.
35529         * modules/recv: New file.
35530         * modules/recvfrom: New file.
35531         * modules/send: New file.
35532         * modules/sendto: New file.
35533         * modules/setsockopt: New file.
35534         * modules/socket: New file.
35535         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
35536         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35537         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
35538         the particular module is requested. Add a link warning when the
35539         particular module is not requested.
35540         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
35541         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
35542         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
35543         the particular module is requested.
35544         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
35545         gl_SYS_SOCKET_H_DEFAULTS): New macros.
35546         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
35547         * modules/sys_socket (Depends-on): Add link-warning.
35548         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
35549         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
35550         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
35551         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
35552         GL_LINK_WARNING.
35553         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
35554         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
35555         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
35556         * doc/posix-functions/getpeername.texi: Mention the new module
35557         'getpeername'.
35558         * doc/posix-functions/getsockname.texi: Mention the new module
35559         'getsockname'.
35560         * doc/posix-functions/getsockopt.texi: Mention the new module
35561         'getsockopt'.
35562         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
35563         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
35564         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
35565         * doc/posix-functions/send.texi: Mention the new module 'send'.
35566         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
35567         * doc/posix-functions/setsockopt.texi: Mention the new module
35568         'setsockopt'.
35569         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
35570         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
35571         listen, connect, accept.
35572         * modules/select-tests (Depends-on): Likewise.
35573
35574 2008-10-05  Bruno Haible  <bruno@clisp.org>
35575
35576         * lib/winsock.c (strerror): Remove unused #undef.
35577         (rpl_close): Remove unused local variable.
35578
35579         * modules/sys_socket (Depends-on); Add errno.
35580
35581 2008-10-05  Bruno Haible  <bruno@clisp.org>
35582
35583         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
35584         (select): Add a link warning when the 'select' module is not used.
35585         * modules/sys_select (Depends-on): Add link-warning.
35586         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
35587         Suggested by Paolo Bonzini.
35588
35589 2008-10-05  Jim Meyering  <meyering@redhat.com>
35590
35591         bootstrap: check for LT_INIT more portably
35592         * build-aux/bootstrap: Avoid using grep -E, since it's not
35593         portable enough.  Suggestion from Bruno Haible.
35594
35595 2008-10-05  Bruno Haible  <bruno@clisp.org>
35596
35597         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
35598         as being fixed by gnulib.
35599
35600 2008-10-05  Bruno Haible  <bruno@clisp.org>
35601
35602         * modules/select-tests: New file, mostly copied from
35603         modules/sys_select-tests.
35604         * tests/test-select.c: New file, mostly copied from
35605         tests/test-sys_select.c.
35606         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
35607         * modules/sys_select-tests (Depends-on): Remove all dependencies.
35608         (Makefile.am): Remove test_sys_select_LDADD.
35609
35610         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
35611         to an undefined symbol, for an error message.
35612         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
35613         (gl_SYS_SELECT_H_DEFAULTS): New macro.
35614         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
35615         winsock-select.c here.
35616         * modules/sys_select (Files): Remove lib/winsock-select.c.
35617         (Depends-on): Remove alloca.
35618         (Makefile.am): Substitute GNULIB_SELECT.
35619         * modules/select: New file.
35620         * doc/posix-functions/select.texi: Update.
35621
35622 2008-10-05  Bruno Haible  <bruno@clisp.org>
35623
35624         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
35625         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
35626         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
35627         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
35628         getdtablesize.
35629         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
35630         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
35631
35632 2008-10-05  Bruno Haible  <bruno@clisp.org>
35633
35634         * modules/getdtablesize-tests: New file.
35635         * tests/test-getdtablesize.c: New file.
35636
35637         New module 'getdtablesize'.
35638         * lib/unistd.in.h (getdtablesize): New declaration.
35639         * lib/getdtablesize.c: New file.
35640         * m4/getdtablesize.m4: New file.
35641         * modules/getdtablesize: New file.
35642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35643         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
35644         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
35645         HAVE_GETDTABLESIZE.
35646         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
35647
35648 2008-10-05  Bruno Haible  <bruno@clisp.org>
35649
35650         * modules/sched (Makefile.am): Fix typo.
35651         Reported by Simon Josefsson.
35652
35653 2008-10-05  Jim Meyering  <meyering@redhat.com>
35654
35655         bootstrap: check for LT_INIT, too
35656         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
35657         are deprecated.  Suggestion from Ralf Wildenhues.
35658
35659 2008-10-05  Bruno Haible  <bruno@clisp.org>
35660
35661         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
35662         overriding them by ours.
35663         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
35664
35665 2008-10-05  Jim Meyering  <meyering@redhat.com>
35666
35667         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
35668         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
35669         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
35670
35671 2008-10-04  Bruno Haible  <bruno@clisp.org>
35672
35673         * modules/dup2 (License): Change to LGPLv2+.
35674         * modules/sleep (License): Likewise.
35675         * modules/perror (License): Likewise.
35676         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
35677         Blake.
35678         * modules/signal (License): Likewise.
35679         * modules/sigprocmask (License): Likewise.
35680         * modules/raise (License): Change to LGPLv2+, with approval by Jim
35681         Meyering.
35682
35683 2008-10-04  Bruno Haible  <bruno@clisp.org>
35684
35685         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
35686         Reported by Rainer Tammer <tammer@tammer.net>.
35687
35688 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
35689             Bruno Haible  <bruno@clisp.org>
35690
35691         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
35692         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
35693         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
35694
35695 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
35696
35697         filevercmp: new module
35698         * lib/filevercmp.h: New function filevercmp comparing version strings.
35699         * lib/filevercmp.c: Implementation of filevercmp function.
35700         * modules/filevercmp: Module metadata.
35701         * tests/test-filevercmp.c: Unit test for new module.
35702         * modules/filevercmp-tests: Unit test metadata.
35703         * MODULES.html.sh: Add filevercmp module.
35704
35705 2008-10-03  Bruno Haible  <bruno@clisp.org>
35706
35707         * lib/c-ctype.h: Add comment.
35708         Reported by Jim Meyering.
35709
35710 2008-10-02  Bruno Haible  <bruno@clisp.org>
35711
35712         * modules/posix_spawn-internal (Depends-on): Add 'open'.
35713
35714 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35715
35716         * build-aux/bootstrap: Allow renaming bootstrap, and change the
35717         name of bootstrap.conf accordingly.
35718
35719 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35720
35721         * build-aux/bootstrap: Install git-merge-changelog configuration
35722         items into .gitconfig if needed.
35723
35724 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35725
35726         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
35727         git repository, and initialize/update it accordingly.
35728
35729 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
35730
35731         * modules/fsync-tests: New file.
35732         * tests/test-fsync.c: New file.
35733
35734         New module 'fsync'.
35735         * lib/fsync.c: New file.
35736         * m4/fsync.m4: New file.
35737         * modules/fsync: New file.
35738         * lib/unistd.in.h (fsync): New declaration.
35739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
35740         GNULIB_FSYNC and HAVE_FSYNC.
35741         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
35742         * MODULES.html.sh (posix_functions): Add fsync.
35743         * doc/posix-functions/fsync.texi: Mention the new module.
35744
35745 2008-10-02  Jim Meyering  <meyering@redhat.com>
35746
35747         fts.c: sync with similar code from coreutils' remove.c
35748         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
35749         Guard also with "#if defined __linux__", since for now at least,
35750         this code is Linux-kernel-specific.
35751
35752 2008-10-02  Jim Meyering  <meyering@redhat.com>
35753
35754         fts: bug fixes
35755         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
35756         Include <sys/vfs.h>, not <sys/statfs.h>.
35757
35758         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
35759         Include <sys/vfs.h>, not <sys/statfs.h>.
35760
35761 2008-10-01  Bruno Haible  <bruno@clisp.org>
35762
35763         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
35764         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
35765         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
35766         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
35767         * doc/posix-functions/posix_spawnp.texi: Likewise.
35768         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
35769         whether posix_spawn actually works.
35770         * m4/pipe.m4 (gl_PIPE): Likewise.
35771         * modules/execute (Files): Add m4/posix_spawn.m4.
35772         * modules/pipe (Files): Add m4/posix_spawn.m4.
35773         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
35774
35775 2008-10-01  Jim Meyering  <meyering@redhat.com>
35776
35777         remove trailing spaces
35778         * NEWS: Likewise.
35779         * lib/poll.c (poll): Likewise.
35780         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
35781         * lib/winsock.c (rpl_close): Likewise.
35782         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
35783         * modules/yield: Likewise.
35784         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
35785         * tests/test-sys_select.c (connect_to_socket): Likewise.
35786
35787         fts.c: adjust a new interface to be more generally useful
35788         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
35789         (fts_build): Adjust caller.
35790
35791 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35792
35793         * modules/cond-tests: New file.
35794         * tests/test-cond.c: New file.
35795
35796 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35797             Bruno Haible  <bruno@clisp.org>
35798
35799         * modules/cond (Dependencies): Add errno, time.
35800         * lib/glthread/cond.h: Include <time.h>.
35801         (gl_cond_define, gl_cond_define_initialized): Use the same definition
35802         across platforms.
35803
35804 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35805             Bruno Haible  <bruno@clisp.org>
35806
35807         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
35808
35809 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35810             Bruno Haible  <bruno@clisp.org>
35811
35812         * modules/tls-tests (Depends-on): Add thread, yield.
35813         (configure.ac): Remove all checks.
35814         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
35815         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35816         gl_thread_self): Remove definitions. Include glthread/thread.h and
35817         glthread/yield.h instead.
35818         (test_tls): Pass an additional NULL argument to gl_thread_join.
35819
35820 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35821             Bruno Haible  <bruno@clisp.org>
35822
35823         * modules/lock-tests (Depends-on): Add thread, yield.
35824         (configure.ac): Remove all checks.
35825         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
35826         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35827         gl_thread_self): Remove definitions. Include glthread/thread.h and
35828         glthread/yield.h instead.
35829         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
35830         additional NULL argument to gl_thread_join.
35831
35832 2008-09-30  Bruno Haible  <bruno@clisp.org>
35833
35834         Fix the Win32 implementation of the 'thread' module.
35835         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
35836         pointer type.
35837         (gl_thread_self): Invoke gl_thread_self_func.
35838         (gl_thread_self_func): New declaration.
35839         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
35840         (do_init_self_key, init_self_key): New functions.
35841         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
35842         Remove some fields.
35843         (running_threads, running_lock): Remove variables.
35844         (get_current_thread_handle): New function.
35845         (gl_thread_self_func, wrapper_func, glthread_create_func,
35846         glthread_join_func, gl_thread_exit_func): Largely rewritten and
35847         simplified.
35848
35849 2008-09-30  Bruno Haible  <bruno@clisp.org>
35850
35851         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
35852         files.
35853
35854 2008-09-30  Jim Meyering  <meyering@redhat.com>
35855
35856         fts.m4: correct the test for statfs.f_type
35857         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
35858         when checking for statfs.f_type.
35859
35860 2008-09-15  Simon Josefsson  <simon@josefsson.org>
35861
35862         tests: avoid some compiler warnings
35863         * tests/test-memchr.c (main): Pass NULL indirectly.
35864         * tests/test-getdate.c (main): Remove unused variable 'ret'.
35865
35866 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
35867
35868         getdate.y: disallow countable dayshifts like "4 yesterday ago"
35869         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
35870         exactly specified dayshifts.
35871         (dayshift): New rule.
35872         (rel): Add dayshift.
35873         (relative_time_table) [tomorrow, yesterday, today, now]:
35874         Use tDAY_SHIFT in place of tDAY_UNIT.
35875         * tests/test-getdate.c: Add tests for now-disallowed countable
35876         dayshifts, e.g., "4 yesterday ago".
35877
35878 2008-09-29  Bruno Haible  <bruno@clisp.org>
35879
35880         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
35881         * tests/test-posix_spawn1.in.sh: Renamed from
35882         tests/test-posix_spawn.in.sh.
35883         * tests/test-posix_spawn2.c: New file.
35884         * tests/test-posix_spawn2.in.sh: New file.
35885         * modules/posix_spawnp-tests (Files): Update.
35886         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
35887
35888 2008-09-29  Bruno Haible  <bruno@clisp.org>
35889
35890         Propagate effects of putenv/setenv/unsetenv to child processes.
35891         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
35892         * lib/pipe.c (create_pipe): Likewise.
35893
35894 2008-09-29  Bruno Haible  <bruno@clisp.org>
35895
35896         Enable use of shell scripts as executables in mingw.
35897         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
35898         run the program as a shell script.
35899         * lib/pipe.c (create_pipe): Likewise.
35900         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
35901         resulting array.
35902
35903 2008-09-29  Eric Blake  <ebb9@byu.net>
35904
35905         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
35906
35907 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
35908
35909         * doc/posix-functions/accept.texi: Update mingw problems.
35910         * doc/posix-functions/bind.texi: Update mingw problems.
35911         * doc/posix-functions/close.texi: Update mingw problems.
35912         * doc/posix-functions/connect.texi: Update mingw problems.
35913         * doc/posix-functions/getpeername.texi: Update mingw problems.
35914         * doc/posix-functions/getsockname.texi: Update mingw problems.
35915         * doc/posix-functions/getsockopt.texi: Update mingw problems.
35916         * doc/posix-functions/ioctl.texi: Update mingw problems.
35917         * doc/posix-functions/listen.texi: Update mingw problems.
35918         * doc/posix-functions/recv.texi: Update mingw problems.
35919         * doc/posix-functions/recvfrom.texi: Update mingw problems.
35920         * doc/posix-functions/select.texi: Update mingw problems.
35921         * doc/posix-functions/send.texi: Update mingw problems.
35922         * doc/posix-functions/sendto.texi: Update mingw problems.
35923         * doc/posix-functions/setsockopt.texi: Update mingw problems.
35924         * doc/posix-functions/socket.texi: Update mingw problems.
35925
35926 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
35927             Bruno Haible  <bruno@clisp.org>
35928
35929         * lib/sys_select.in.h: Include sys/time.h.
35930         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
35931         * modules/sys_select: Depend on sys_time.
35932         * tests/test-sys_select.c: Test that sys/select.h defines struct
35933         timeval fully.
35934
35935 2008-09-29  Bruno Haible  <bruno@clisp.org>
35936
35937         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
35938         * lib/sys_select.in.h: Likewise.
35939
35940 2008-09-29  Bruno Haible  <bruno@clisp.org>
35941
35942         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
35943
35944 2008-09-29  Bruno Haible  <bruno@clisp.org>
35945
35946         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
35947         Set LIBSOCKET instead of augmenting LIBS.
35948         * modules/sockets (Link): New section.
35949         * modules/sockets-tests (test_sockets_LDADD): New variable.
35950         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
35951         * modules/poll-tests (test_poll_LDADD): New variable.
35952         * NEWS: Document the change.
35953
35954 2008-09-29  Bruno Haible  <bruno@clisp.org>
35955
35956         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
35957         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
35958         ARPA_INET_H directly.
35959         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35960
35961 2008-09-28  Bruno Haible  <bruno@clisp.org>
35962
35963         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
35964         from gl_HEADER_SYS_SOCKET.
35965         (gl_HEADER_SYS_SOCKET): Invoke it.
35966         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35967
35968 2008-09-28  Bruno Haible  <bruno@clisp.org>
35969
35970         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
35971         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
35972         Needed on OSF/1 4.0.
35973
35974 2008-09-28  Bruno Haible  <bruno@clisp.org>
35975
35976         Override open more carefully.
35977         * lib/open.c (orig_open): New function.
35978         (rpl_open): Use orig_open instead of open.
35979         * lib/fcntl.in.h: Add special invocation convention.
35980         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
35981         (gl_FUNC_OPEN): Invoke it.
35982
35983         Override freopen more carefully.
35984         * lib/freopen.c (orig_freopen): New function.
35985         (rpl_freopen): Use orig_freopen instead of freopen.
35986         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
35987         (gl_FUNC_FREOPEN): Invoke it.
35988
35989         Override fopen more carefully.
35990         * lib/fopen.c (orig_fopen): New function.
35991         (rpl_fopen): Use orig_fopen instead of fopen.
35992         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
35993         (gl_FUNC_FOPEN): Invoke it.
35994         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
35995
35996 2008-09-28  Bruno Haible  <bruno@clisp.org>
35997
35998         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
35999         SIGPIPE.
36000
36001 2008-09-28  Bruno Haible  <bruno@clisp.org>
36002
36003         * tests/test-sigaction.c (handler, main): Disable the check whether
36004         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
36005         glibc systems with LinuxThreads.
36006
36007 2008-09-28  Bruno Haible  <bruno@clisp.org>
36008
36009         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
36010
36011         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
36012         with AIX xlc.
36013         * lib/fcntl.in.h (open): Likewise.
36014         Reported by Rainer Tammer <tammer@tammer.net>.
36015
36016 2008-09-28  Bruno Haible  <bruno@clisp.org>
36017
36018         * modules/posix_spawnp-tests: New file.
36019         * tests/test-posix_spawn.c: New file.
36020         * tests/test-posix_spawn.in.sh: New file.
36021
36022         New module 'posix_spawnp'.
36023         * modules/posix_spawnp: New file.
36024         * lib/spawnp.c: New file, from GNU libc with modifications.
36025         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
36026
36027         New module 'posix_spawn'.
36028         * modules/posix_spawn: New file.
36029         * lib/spawn.c: New file, from GNU libc with modifications.
36030         * doc/posix-functions/posix_spawn.texi: Mention the new module.
36031
36032         New module 'posix_spawnattr_destroy'.
36033         * modules/posix_spawnattr_destroy: New file.
36034         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
36035         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
36036         module.
36037
36038         New module 'posix_spawnattr_setsigmask'.
36039         * modules/posix_spawnattr_setsigmask: New file.
36040         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
36041         modifications.
36042         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
36043         new module.
36044
36045         New module 'posix_spawnattr_getsigmask'.
36046         * modules/posix_spawnattr_getsigmask: New file.
36047         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
36048         modifications.
36049         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
36050         new module.
36051
36052         New module 'posix_spawnattr_setsigdefault'.
36053         * modules/posix_spawnattr_setsigdefault: New file.
36054         * lib/spawnattr_setdefault.c: New file, from GNU libc with
36055         modifications.
36056         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
36057         new module.
36058
36059         New module 'posix_spawnattr_getsigdefault'.
36060         * modules/posix_spawnattr_getsigdefault: New file.
36061         * lib/spawnattr_getdefault.c: New file, from GNU libc with
36062         modifications.
36063         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
36064         new module.
36065
36066         New module 'posix_spawnattr_setschedpolicy'.
36067         * modules/posix_spawnattr_setschedpolicy: New file.
36068         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
36069         modifications.
36070         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
36071         new module.
36072
36073         New module 'posix_spawnattr_getschedpolicy'.
36074         * modules/posix_spawnattr_getschedpolicy: New file.
36075         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
36076         modifications.
36077         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
36078         new module.
36079
36080         New module 'posix_spawnattr_setschedparam'.
36081         * modules/posix_spawnattr_setschedparam: New file.
36082         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
36083         modifications.
36084         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
36085         new module.
36086
36087         New module 'posix_spawnattr_getschedparam'.
36088         * modules/posix_spawnattr_getschedparam: New file.
36089         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
36090         modifications.
36091         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
36092         new module.
36093
36094         New module 'posix_spawnattr_setpgroup'.
36095         * modules/posix_spawnattr_setpgroup: New file.
36096         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
36097         modifications.
36098         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
36099         module.
36100
36101         New module 'posix_spawnattr_getpgroup'.
36102         * modules/posix_spawnattr_getpgroup: New file.
36103         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
36104         modifications.
36105         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
36106         module.
36107
36108         New module 'posix_spawnattr_setflags'.
36109         * modules/posix_spawnattr_setflags: New file.
36110         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
36111         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
36112         module.
36113
36114         New module 'posix_spawnattr_getflags'.
36115         * modules/posix_spawnattr_getflags: New file.
36116         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
36117         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
36118         module.
36119
36120         New module 'posix_spawnattr_init'.
36121         * modules/posix_spawnattr_init: New file.
36122         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
36123         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
36124         module.
36125
36126         New module 'posix_spawn_file_actions_destroy'.
36127         * modules/posix_spawn_file_actions_destroy: New file.
36128         * lib/spawn_faction_destroy.c: New file, from GNU libc with
36129         modifications.
36130         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
36131         the new module.
36132
36133         New module 'posix_spawn_file_actions_addopen'.
36134         * modules/posix_spawn_file_actions_addopen: New file.
36135         * lib/spawn_faction_addopen.c: New file, from GNU libc with
36136         modifications.
36137         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
36138         the new module.
36139
36140         New module 'posix_spawn_file_actions_adddup2'.
36141         * modules/posix_spawn_file_actions_adddup2: New file.
36142         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
36143         modifications.
36144         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
36145         the new module.
36146
36147         New module 'posix_spawn_file_actions_addclose'.
36148         * modules/posix_spawn_file_actions_addclose: New file.
36149         * lib/spawn_faction_addclose.c: New file, from GNU libc with
36150         modifications.
36151         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
36152         the new module.
36153
36154         New module 'posix_spawn_file_actions_init'.
36155         * modules/posix_spawn_file_actions_init: New file.
36156         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
36157         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
36158         new module.
36159
36160         New module 'posix_spawn-internal'.
36161         * modules/posix_spawn-internal: New file.
36162         * lib/spawn_int.h: New file, from GNU libc with modifications.
36163         * lib/spawni.c: New file, from GNU libc with modifications.
36164         * m4/posix_spawn.m4: New file.
36165
36166         New module 'spawn'.
36167         * modules/spawn: New file.
36168         * lib/spawn.in.h: New file, from GNU libc with modifications.
36169         * m4/spawn_h.m4: New file.
36170         * doc/posix-headers/spawn.texi: Mention the new module.
36171
36172 2008-09-28  Bruno Haible  <bruno@clisp.org>
36173
36174         * modules/sched-tests: New file.
36175         * tests/test-sched.c: New file.
36176
36177         New module 'sched'.
36178         * modules/sched: New file.
36179         * lib/sched.in.h: New file.
36180         * m4/sched_h.m4: New file.
36181         * doc/posix-headers/sched.texi: Mention the new module.
36182
36183 2008-09-27  Eric Blake  <ebb9@byu.net>
36184
36185         Fix previous patch, and tweak references to $0.
36186         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
36187         (func_version, func_gnulib_dir): Don't call this program
36188         gnulib-tool.
36189         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
36190         with using $0 in function.
36191         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
36192         (func_fatal_error): Reuse the name the user invoked us with.
36193
36194 2008-09-27  Bruno Haible  <bruno@clisp.org>
36195
36196         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
36197         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
36198         (gl_ICONV_H): Not here.
36199         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36200         instead of assigning ICONV_H directly.
36201
36202         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
36203         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
36204         WCHAR_H directly.
36205
36206 2008-09-27  Bruno Haible  <bruno@clisp.org>
36207
36208         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
36209         * modules/arpa_inet (Depends-on): Add link-warning.
36210         (Makefile.am): Insert the definition of GL_LINK-WARNING.
36211         * modules/unistd (Makefile.am): Likewise.
36212
36213 2008-09-26  Bruno Haible  <bruno@clisp.org>
36214
36215         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
36216         variables.
36217         (func_version): Essentially copied from gnulib-tool.
36218         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
36219         func_readlink): Copied from gnulib-tool.
36220
36221 2008-09-26  Bruno Haible  <bruno@clisp.org>
36222
36223         * gnulib-tool (func_version): Change directory to $gnulib_dir before
36224         invoking git-version-gen.
36225
36226 2008-09-26  Bruno Haible  <bruno@clisp.org>
36227
36228         * posix-modules: Update to directory names changed on 2008-01-19.
36229         Remove commas in output before splitting into words. No more need to
36230         avoid 'ftruncate' since 2007-02-19.
36231
36232 2008-09-26  Bruno Haible  <bruno@clisp.org>
36233
36234         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
36235
36236 2008-09-26  Bruno Haible  <bruno@clisp.org>
36237
36238         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
36239         * modules/fwriteerror (Depends-on): Add errno.
36240
36241 2008-09-26  Bruno Haible  <bruno@clisp.org>
36242
36243         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
36244         * tests/test-vc-list-files-cvs.sh: Likewise.
36245
36246 2008-09-26  Bruno Haible  <bruno@clisp.org>
36247
36248         * doc/posix-headers/sys_resource.texi: Reorder items.
36249
36250 2008-09-26  Jim Meyering  <meyering@redhat.com>
36251
36252         fts: tweak inode comparison function
36253         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
36254         inode numbers, as documented.
36255
36256         fts: sort dirent entries on inode number before traversing
36257         This avoids a quadratic, seek-related performance penalty when
36258         operating on a directory containing many entries (measurable at 10k;
36259         3.5 hours at 2 million entries with a cold cache) on certain types
36260         of file systems, including ext3 and ext4, but not tmpfs.
36261         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
36262         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
36263         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
36264         (fs_handles_readdir_ordered_dirents_efficiently): New function.
36265         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
36266         (fts_build): Set the stat.st_ino member from D_INO.
36267         If it is likely to be useful, sort dirent entries on inode number.
36268
36269         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
36270         and the struct statfs.f_type member.
36271         * modules/fts (Depends-on): Add d-ino.
36272
36273 2008-09-26  Bruno Haible  <bruno@clisp.org>
36274
36275         * modules/sigpipe-die (Depends-on): Add sigpipe.
36276
36277         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
36278         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
36279         and GNULIB_STDIO_H_SIGPIPE are set.
36280         * lib/stdio-write.c: New file.
36281         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
36282         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36283         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36284         REPLACE_STDIO_WRITE_FUNCS.
36285         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
36286         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36287         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36288         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
36289         * modules/stdio (Files): Add lib/stdio-write.c.
36290         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
36291         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36292         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36293         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
36294         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
36295         REPLACE_FPRINTF_POSIX.
36296         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
36297         REPLACE_PRINTF_POSIX.
36298         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
36299         REPLACE_VFPRINTF_POSIX.
36300         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
36301         REPLACE_VPRINTF_POSIX.
36302         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
36303         SIGPIPE issue.
36304         * doc/posix-functions/fputc.texi: Likewise.
36305         * doc/posix-functions/fputs.texi: Likewise.
36306         * doc/posix-functions/fwrite.texi: Likewise.
36307         * doc/posix-functions/printf.texi: Likewise.
36308         * doc/posix-functions/putc.texi: Likewise.
36309         * doc/posix-functions/putchar.texi: Likewise.
36310         * doc/posix-functions/puts.texi: Likewise.
36311         * doc/posix-functions/vfprintf.texi: Likewise.
36312         * doc/posix-functions/vprintf.texi: Likewise.
36313
36314         * modules/safe-write (Depends-on): Add write.
36315
36316         * modules/sigpipe-tests: New file.
36317         * tests/test-sigpipe.c: New file.
36318         * tests/test-sigpipe.sh: New file.
36319
36320         * modules/write: New file.
36321         * lib/unistd.in.h: Include <sys/types.h>.
36322         (write): New declaration.
36323         * lib/write.c: New file.
36324         * m4/write.m4: New file.
36325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36326         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
36327         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
36328         GNULIB_WRITE, REPLACE_WRITE.
36329         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
36330         and the SIGPIPE issue.
36331
36332         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
36333         (raise): New declaration.
36334         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
36335         (ext_signal): New function.
36336         (rpl_raise): New function.
36337         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
36338         GNULIB_SIGNAL_H_SIGPIPE.
36339         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
36340         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
36341
36342         * modules/sigpipe: New file.
36343         * m4/sigpipe.m4: New file.
36344
36345 2008-09-25  Derek Price  <derek@ximbiot.com>
36346             Bruno Haible  <bruno@clisp.org>
36347
36348         * gnulib-tool (func_import): Report all license incompatibilities, not
36349         just the first one.
36350
36351 2008-09-25  Bruno Haible  <bruno@clisp.org>
36352
36353         * gnulib-tool (func_import): When computing the edits, consider not
36354         only the Makefile.ams that exist but also those that will be generated.
36355
36356 2008-09-25  Simon Josefsson  <simon@josefsson.org>
36357
36358         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
36359         fixes gnulib-tool --test warning about duplicate dependency.
36360
36361 2008-09-25  Bruno Haible  <bruno@clisp.org>
36362
36363         * gnulib-tool: Don't ask the user to perform edits in the generated
36364         Makefile.ams.
36365         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
36366         apply to the Makefile.am being generated.
36367         (func_emit_tests_Makefile_am): Execute edits that apply to the
36368         Makefile.am being generated.
36369         (func_import): Setup list of Makefile.am edits before emitting the
36370         Makefile.ams, not at the end.
36371         (func_create_testdir): Update.
36372         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36373
36374 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36375
36376         * gnulib-tool (func_import): Store the --tests-base option in the
36377         comment in gnulib-cache.m4.
36378
36379 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
36380
36381         * NEWS: Document increased portability that sys_select now provides.
36382
36383         * lib/sys_select.in.h: Install select wrapper.
36384         * lib/sys_socket.in.h: Use more descriptive name when there is no
36385         select wrapper.
36386         * lib/winsock-select.c: New.
36387         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
36388         Require gl_HEADER_SYS_SOCKET.
36389         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
36390         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
36391         * tests/test-sys_select.c: Add functional tests.
36392
36393 2008-09-24  Eric Blake  <ebb9@byu.net>
36394
36395         open, fopen: close fd leak in last patch
36396         * lib/open.c (rpl_open): Close fd before returning error.
36397         * lib/fopen.c (rpl_fopen): Close fd before returning error.
36398         * doc/posix-functions/open.texi (open): Document that Irix also
36399         has the bug.
36400         * doc/posix-functions/fopen.texi (fopen): Likewise.
36401         Reported by Paolo Bonzini.
36402
36403 2008-09-24  Bruno Haible  <bruno@clisp.org>
36404
36405         Ensure that a filename ending in a slash cannot be used to access a
36406         non-directory.
36407         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
36408         to check whether it's really a directory.
36409         * lib/fopen.c: Include fcntl.h, unistd.h.
36410         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
36411         and fdopen().
36412         * modules/fopen (Depends-on): Add unistd.
36413         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
36414         * tests/test-fopen.c (main): Likewise.
36415         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
36416         * doc/posix-functions/fopen.texi: Likewise.
36417         Reported by Eric Blake.
36418
36419 2008-09-23  Eric Blake  <ebb9@byu.net>
36420
36421         c-stack: avoid compiler optimizations when provoking overflow
36422         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
36423         recursion harder to optimize, to ensure a stack overflow occurs.
36424         * tests/test-c-stack.c (recurse): Likewise.
36425         Borrowed from libsigsegv.
36426
36427         c-stack: work around Irix sigaltstack bug
36428         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
36429         whether sigaltstack uses wrong end of stack_t (copied in part from
36430         libsigsegv).
36431         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
36432         Irix bug, without requiring an over-allocation.
36433         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
36434         bug.
36435
36436         fopen: document mingw bug on directories
36437         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
36438         not allowing a stream visiting a directory, even though reading
36439         from such a stream is not portable.
36440
36441 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36442
36443         * lib/poll.c: Rewrite.
36444         * modules/poll: Depend on alloca.
36445
36446 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36447
36448         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
36449         instead define prototypes for a full set of wrappers.  Ensure
36450         that Cygwin does not use the compatibility code, which is only
36451         for MinGW.
36452         * lib/winsock.c: New.
36453         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
36454         * modules/sys_socket: Add lib/winsock.c.
36455
36456         * modules/poll-tests: Add errno and perror.
36457         * tests/test-poll.c: Use ioctl, not ioctlsocket.
36458
36459 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36460
36461         * tests/test-poll.c: Downgrade minimum needed Winsock version.
36462
36463 2008-09-23  Bruno Haible  <bruno@clisp.org>
36464
36465         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
36466         * doc/glibc-functions/*: Likewise.
36467
36468 2008-09-23  Simon Josefsson  <simon@josefsson.org>
36469
36470         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
36471         success.
36472
36473 2008-09-22  Eric Blake  <ebb9@byu.net>
36474             Bruno Haible  <bruno@clisp.org>
36475
36476         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
36477         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
36478         supply %A but mishandle pseudo-NaN.
36479         Reported by Simon Josefsson.
36480
36481 2008-09-21  Bruno Haible  <bruno@clisp.org>
36482
36483         * tests/test-lock.c (main): Tweak skip message.
36484         * tests/test-tls.c (main): Likewise.
36485
36486 2008-09-21  Bruno Haible  <bruno@clisp.org>
36487
36488         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
36489         whether 'struct sigaction' has sa_sigaction here...
36490         (gl_PREREQ_SIG_HANDLER_H): ... not here.
36491         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
36492
36493 2008-09-21  Bruno Haible  <bruno@clisp.org>
36494
36495         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
36496         section.
36497         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
36498         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
36499         the new section.
36500         (Support for obsolete systems lacking POSIX:2001): New section.
36501         (String handling <string.h>): Move strdup to the new section.
36502         Suggested by Simon Josefsson and Paolo Bonzini.
36503
36504 2008-09-21  Bruno Haible  <bruno@clisp.org>
36505
36506         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
36507         exponents in %e and %g results on 'long double'. Needed for mingw's
36508         improved *printf functions.
36509         * tests/test-vasprintf-posix.c (test_function): Likewise.
36510         * tests/test-snprintf-posix.h (test_function): Likewise.
36511         * tests/test-sprintf-posix.h (test_function): Likewise.
36512         Reported by Eric Blake.
36513
36514 2008-09-21  Bruno Haible  <bruno@clisp.org>
36515
36516         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
36517         * tests/test-sprintf-posix.h (test_function): Likewise.
36518
36519 2008-09-21  Bruno Haible  <bruno@clisp.org>
36520
36521         * modules/getpass (Depends-on): Add strdup-posix.
36522
36523         New module 'strdup-posix'.
36524         * modules/strdup-posix: New file.
36525         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
36526         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
36527         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36528         REPLACE_STRDUP.
36529         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
36530         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
36531         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36532         strdup-posix.
36533
36534         * modules/strdup (Depends-on): Remove malloc-posix.
36535
36536 2008-09-20  Bruno Haible  <bruno@clisp.org>
36537
36538         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
36539         Wildenhues.
36540
36541 2008-09-20  Bruno Haible  <bruno@clisp.org>
36542
36543         Ensure that wint_t gets defined on IRIX 5.3.
36544         * lib/wchar.in.h (wint_t): Define if not defined by the system.
36545         * lib/wctype.in.h (wint_t): Likewise.
36546         (__wctype_wint_t): Remove type.
36547         (isw*): Use wint_t instead of __wctype_wint_t.
36548         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
36549         * modules/wchar (Files): Add m4/wint_t.m4.
36550         (Makefile.am): Substitute HAVE_WINT_T.
36551         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
36552         * tests/test-wctype.c: Check that wint_t is defined.
36553         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
36554         * doc/posix-headers/wctype.texi: Likewise.
36555         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36556
36557 2008-09-18  Bruno Haible  <bruno@clisp.org>
36558
36559         * gnulib-tool (func_exit): Update comment.
36560
36561 2008-09-18  Simon Josefsson  <simon@josefsson.org>
36562
36563         * modules/getaddrinfo (Depends-on): Remove strdup, this module
36564         assumes strdup exists and does not depend on strdup to return
36565         ENOMEM on out of memory conditions.
36566
36567 2008-09-18  Bruno Haible  <bruno@clisp.org>
36568
36569         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
36570         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
36571         digits for the exponent.
36572
36573 2008-09-18  Jim Meyering  <meyering@redhat.com>
36574             Bruno Haible  <bruno@clisp.org>
36575
36576         * lib/vasnprintf.c (decimal_point_char): Define also if
36577         NEED_PRINTF_INFINITE_LONG_DOUBLE.
36578
36579 2008-09-16  Bruno Haible  <bruno@clisp.org>
36580         and Eric Blake  <ebb9@byu.net>
36581
36582         vasnprintf: support Irix 5.3
36583         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
36584         that mishandle long double infinity.
36585         Reported by Tom G. Christensen.
36586
36587 2008-09-16  Bruno Haible  <bruno@clisp.org>
36588
36589         * doc/glibc-functions/scandir.texi: Mention the function is missing on
36590         Solaris 9.
36591         * doc/glibc-functions/alphasort.texi: Likewise.
36592         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
36593
36594 2008-09-16  Jim Meyering  <meyering@redhat.com>
36595
36596         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
36597         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
36598         a umask modification leak out of a subshell.  Otherwise, the
36599         opensolaris /bin/sh would be accepted and thus cause unwarranted
36600         failures in the coreutils test suite.
36601
36602 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
36603
36604         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
36605         to succeed.
36606
36607 2008-09-16  Jim Meyering  <meyering@redhat.com>
36608
36609         avoid spurious test failure when library is built without ACL support
36610         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
36611         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
36612         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
36613         * tests/test-copy-acl.sh: Likewise.
36614
36615 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36616
36617         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
36618         based on character occurrence counts.
36619
36620 2008-09-15  Eric Blake  <ebb9@byu.net>
36621
36622         tests: avoid some compiler warnings
36623         * tests/test-memchr.c (main): Pass NULL indirectly.
36624         * tests/test-closein.c (main): Avoid unused variable.
36625
36626 2008-09-15  Bruno Haible  <bruno@clisp.org>
36627
36628         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
36629         are missing on OpenBSD 4.0 individually.
36630         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36631
36632 2008-09-15  Bruno Haible  <bruno@clisp.org>
36633
36634         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
36635         * doc/posix-functions/strerror.texi: Mention also Cygwin.
36636         * doc/posix-functions/perror.texi: Likewise.
36637         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
36638         is missing.
36639         Reported by Eric Blake.
36640
36641         * lib/errno.in.h: Use replacement values >= 2000.
36642         Reported by Eric Blake.
36643
36644 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36645
36646         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
36647         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
36648         limit.
36649         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
36650         compareseq was aborted.
36651
36652 2008-09-14  Bruno Haible  <bruno@clisp.org>
36653
36654         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
36655         yvec_edit_count.
36656         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
36657         (fstrcmp_bounded): Simplify result computation accordingly.
36658
36659 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36660
36661         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
36662         (fstrcmp): Define in terms of fstrcmp_bounded.
36663         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
36664         lower_bound argument.
36665         Return quickly if the result is certainly < lower_bound.
36666         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
36667
36668 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36669
36670         * lib/diffseq.h (EARLY_ABORT): New macro.
36671         (compareseq): Change return type to bool. Return true when EARLY_ABORT
36672         evaluates to true.
36673
36674 2008-09-14  Bruno Haible  <bruno@clisp.org>
36675
36676         * modules/perror-tests: New file.
36677         * tests/test-perror.sh: New file.
36678         * tests/test-perror.c: New file.
36679
36680         New module 'perror'.
36681         * lib/stdio.in.h (perror): New declaration.
36682         * lib/perror.c: New file.
36683         * m4/perror.m4: New file.
36684         * modules/perror: New file.
36685         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
36686         * doc/posix-functions/perror.texi: Mention the perror module.
36687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
36688         REPLACE_PERROR.
36689         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
36690         REPLACE_PERROR.
36691
36692 2008-09-14  Bruno Haible  <bruno@clisp.org>
36693
36694         * modules/stdio (Makefile.am): Reorder to match the order in
36695         lib/stdio.in.h.
36696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36697
36698 2008-09-13  Bruno Haible  <bruno@clisp.org>
36699
36700         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
36701
36702 2008-09-13  Bruno Haible  <bruno@clisp.org>
36703
36704         Extend strerror to cover the added errno values.
36705         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
36706         (rpl_strerror): Provide error messages for the added errno values and
36707         for the WSA* values.
36708         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
36709         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
36710         strerror.
36711         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
36712         * modules/strerror (Depends-on): Add errno.
36713         * doc/posix-functions/strerror.texi: Document the change.
36714         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
36715         and EOVERFLOW.
36716
36717 2008-09-13  Bruno Haible  <bruno@clisp.org>
36718
36719         * modules/EOVERFLOW: Remove file.
36720         * m4/eoverflow.m4: Remove file.
36721         * modules/EOVERFLOW-tests: Remove file.
36722         * tests/test-EOVERFLOW.c: Remove file.
36723         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
36724         * modules/ftell (Depends-on): Likewise.
36725         * modules/getdelim (Depends-on): Likewise.
36726         * modules/getugroups (Depends-on): Likewise.
36727         * modules/poll (Depends-on): Likewise.
36728         * modules/snprintf (Depends-on): Likewise.
36729         * modules/sprintf-posix (Depends-on): Likewise.
36730         * modules/vasnprintf (Depends-on): Likewise.
36731         * modules/vasprintf (Depends-on): Likewise.
36732         * modules/vfprintf-posix (Depends-on): Likewise.
36733         * modules/vsnprintf (Depends-on): Likewise.
36734         * modules/vsprintf-posix (Depends-on): Likewise.
36735         * modules/xvasprintf (Depends-on): Likewise.
36736         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36737         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
36738         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
36739         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
36740         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36741         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
36742         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
36743         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
36744         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36745         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
36746         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
36747         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
36748         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36749         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
36750         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
36751         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
36752         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36753         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
36754         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
36755         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
36756         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36757         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
36758         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
36759         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
36760         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
36761         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36762         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
36763         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
36764         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
36765         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
36766         * MODULES.html.sh: Remove EOVERFLOW.
36767         * NEWS: Mention the change.
36768
36769 2008-09-13  Bruno Haible  <bruno@clisp.org>
36770
36771         * modules/errno-tests: New file.
36772         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
36773
36774         * lib/errno.in.h: New file.
36775         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
36776         * modules/errno: New file.
36777         * doc/posix-headers/errno.texi: Update documentation.
36778         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
36779
36780 2008-09-13  Bruno Haible  <bruno@clisp.org>
36781
36782         * tests/test-poll.c: Use #if for native Windows, rather than testing
36783         __MSVCRT__.
36784
36785 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36786             Bruno Haible  <bruno@clisp.org>
36787
36788         * lib/glob.c: Don't include <pwd.h> on native Windows.
36789         (WINDOWS32): New macro.
36790         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
36791
36792 2008-09-13  Bruno Haible  <bruno@clisp.org>
36793
36794         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
36795         (ETIMEDOUT): Remove macro.
36796         (glthread_cond_timedwait_multithreaded): New declaration.
36797         (glthread_cond_timedwait): Use it.
36798         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
36799         (glthread_cond_timedwait_multithreaded): New function.
36800
36801 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36802
36803         * modules/poll-tests: Do not check for io.h.
36804         * tests/test-poll.c: Check for __MSVCRT__ instead.
36805
36806 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36807
36808         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
36809         * modules/poll-tests: Add inet_pton, stdbool, sockets.
36810         * tests/test-poll.c: Use them.  Use _pipe on Windows.
36811
36812 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36813
36814         * modules/poll-tests: New.
36815         * tests/test-poll.c: New.
36816
36817 2008-09-12  Eric Blake  <ebb9@byu.net>
36818
36819         frexp: test for NetBSD failure on -0.0
36820         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
36821         not all, bugs from NetBSD 3.0 have been fixed.
36822         * doc/posix-functions/frexp.texi (frexp): Document bug.
36823         Reported by Thomas Klausner.
36824
36825         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
36826         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
36827         literal -0.0.
36828         Reported by Jonathan C. Patschke <jp@centtech.com>.
36829
36830 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36831
36832         * lib/glthread/cond.h: Use dummy implementation also if
36833         USE_WIN32_THREADS.
36834
36835 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36836
36837         * modules/fnmatch-posix (License): Change to LGPLv2+.
36838         * modules/fnmatch-gnu (License): Likewise.
36839
36840 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36841
36842         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
36843
36844 2008-09-11  Jim Meyering  <meyering@redhat.com>
36845
36846         * users.txt: Add gtk-vnc.
36847
36848 2008-09-08  Simon Josefsson  <simon@josefsson.org>
36849
36850         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
36851         rotate amounts.
36852
36853         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
36854         required for 16-bit and 8-bit rotates.
36855         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
36856         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
36857         UINT8_MAX instead of hard-coded constants.
36858         Suggested by Paul Eggert.
36859
36860 2008-09-07  Bruno Haible  <bruno@clisp.org>
36861
36862         * tests/test-striconveh.c (main): Check behaviour when converting from
36863         UTF-7.
36864
36865         Make striconveh work better with stateful encodings.
36866         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
36867         that iconv does not increment the inptr when returning -1/EINVAL.
36868
36869 2008-09-07  Bruno Haible  <bruno@clisp.org>
36870
36871         * build-aux/config.rpath: Update according to libtool-2.2.6.
36872         * build-aux/config.libpath: Likewise.
36873
36874 2008-09-06  Bruno Haible  <bruno@clisp.org>
36875
36876         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
36877         * lib/freadptr.c (freadptr): Likewise.
36878         * lib/freadseek.c (freadptrinc): Likewise.
36879         Reported by Simon Josefsson.
36880
36881 2008-09-06  Bruno Haible  <bruno@clisp.org>
36882
36883         * modules/freadptr (License): Change to LGPLv2+.
36884         * modules/freadseek (License): Likewise.
36885         Suggested by Eric Blake.
36886
36887         * modules/memchr2 (License): Change to LGPLv2+.
36888         Approved by Eric Blake.
36889
36890 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36891             Bruno Haible  <bruno@clisp.org>
36892
36893         Make gnulib-tool work with native 'sed' on AIX.
36894         * gnulib-tool (sed_noop): New variable.
36895         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
36896         func_add_or_update, func_create_testdir): Use it to initialize sed
36897         script variables.
36898         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36899
36900 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
36901             Bruno Haible  <bruno@clisp.org>
36902
36903         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
36904         also works after #include directives.
36905
36906 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
36907
36908         getdate.y: reject an out-of-range timezone value
36909         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
36910         the range [-24...+24].  When specified with only one or two digits,
36911         * tests/test-getdate.c: Tests for the fix.
36912         * doc/getdate.texi: Document this change.
36913
36914 2008-09-03  Bruno Haible  <bruno@clisp.org>
36915
36916         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
36917
36918 2008-09-02  Simon Josefsson  <simon@josefsson.org>
36919
36920         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
36921         <bruce.korb@gmail.com> with ideas from Ben Pfaff
36922         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
36923         Blake <ebb9@byu.net>.
36924
36925         * tests/test-bitrotate.c: Add more test vectors.
36926
36927 2008-09-02  Eric Blake  <ebb9@byu.net>
36928
36929         vasnprintf-posix: handle large precision via %.*d
36930         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
36931         when handling it ourselves.
36932         * tests/test-vasnprintf-posix.c (test_function): Add test.
36933         * tests/test-snprintf-posix.h (test_function): Likewise.
36934         * tests/test-sprintf-posix.h (test_function): Likewise.
36935         * tests/test-vasprintf-posix.c (test_function): Likewise.
36936         Reported by Alain Guibert.
36937
36938 2008-09-01  Eric Blake  <ebb9@byu.net>
36939
36940         c-stack: make configure-time check more robust
36941         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
36942         successful sigaction call.
36943         Reported by Tom G. Christensen.
36944
36945 2008-09-01  Bruno Haible  <bruno@clisp.org>
36946
36947         New module 'findprog-lgpl'.
36948         * modules/findprog-lgpl: New file.
36949         * lib/findprog-lgpl.c: New file.
36950         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
36951         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
36952         to decide whether to use strdup or xstrdup, concatenated_filename or
36953         xconcatenated_filename.
36954
36955 2008-09-01  Bruno Haible  <bruno@clisp.org>
36956
36957         Split module 'concat-filename' into 'concat-filename' (LGPL) and
36958         'xconcat-filename' (GPL).
36959         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
36960         (License): Change to LGPLv2+.
36961         * modules/xconcat-filename: New file.
36962         * lib/concat-filename.h (concatenated_filename): Change specification.
36963         (xconcatenated_filename): New declaration.
36964         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
36965         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
36966         memory situations.
36967         * lib/xconcat-filename.c: New file.
36968         * NEWS: Mention the change.
36969         * lib/findprog.c: Include concat-filename.h, not filename.h.
36970         (find_in_path): Use xconcatenated_filename instead of
36971         concatenated_filename.
36972         * lib/javacomp.c: Include concat-filename.h, not filename.h.
36973         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
36974         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
36975         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
36976         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
36977         instead of concatenated_filename.
36978         * lib/javaexec.c: Include concat-filename.h, not filename.h.
36979         (execute_java_class): Use xconcatenated_filename instead of
36980         concatenated_filename.
36981         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
36982         * modules/javacomp (Depends-on): Likewise.
36983         * modules/javaexec (Depends-on): Likewise.
36984
36985 2008-09-01  Bruno Haible  <bruno@clisp.org>
36986
36987         Split module 'filename' into 'filename' and 'concat-filename'.
36988         * modules/filename: Keep only lib/filename.h.
36989         (License): Change to LGPLv2+.
36990         * modules/concat-filename: New file, extracted from modules/filename.
36991         * lib/filename.h (concatenated_filename): Remove declaration.
36992         * lib/concat-filename.h: New file, extracted from lib/filename.h.
36993         * lib/concat-filename.c: Include concat-filename.h.
36994         * NEWS: Mention the change.
36995
36996 2008-09-01  Simon Josefsson  <simon@josefsson.org>
36997
36998         * lib/bitrotate.h (rotl8, rotr8): Add.
36999
37000         * modules/bitrotate (configure.ac): Need
37001         AC_REQUIRE([AC_C_INLINE]).
37002         (Description): Mention stdint.h.  Reported by Bruno Haible
37003         <bruno@clisp.org>.
37004
37005         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
37006         Paolo Bonzini <bonzini@gnu.org>.
37007
37008 2008-08-31  Bruno Haible  <bruno@clisp.org>
37009
37010         Assume Solaris specific bi-arch conventions on Solaris systems.
37011         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
37012         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
37013         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
37014         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
37015         like acl_libdirstem.
37016         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
37017         acl_libdirstem.
37018         * NEWS: Mention the change.
37019         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
37020
37021 2008-08-31  Jim Meyering  <meyering@redhat.com>
37022
37023         * lib/strftime.h: Add comments describing the two added arguments.
37024
37025         remove duplicate #include directives
37026         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
37027         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
37028
37029 2008-08-31  Bruno Haible  <bruno@clisp.org>
37030
37031         New module 'sigpipe-die'.
37032         * modules/sigpipe-die: New file.
37033         * lib/sigpipe-die.h: New file.
37034         * lib/sigpipe-die.c: New file.
37035         * MODULES.html.sh (Signal handling): Add sigpipe-die.
37036
37037 2008-08-31  Bruno Haible  <bruno@clisp.org>
37038
37039         Don't override previously installed signal handlers.
37040         * lib/fatal-signal.c (saved_sigactions): New variable.
37041         (uninstall_handlers): Reset the signal to the saved handler, not
37042         to SIG_DFL (except when ignored).
37043         (install_handlers): Save the previous handlers.
37044
37045 2008-08-30  Bruno Haible  <bruno@clisp.org>
37046
37047         * gnulib-tool (func_reset_sigpipe): New function.
37048         (func_get_automake_snippet, func_modules_transitive_closure,
37049         func_import): Invoke it before a join command that reads from stdin,
37050         to avoid "echo: write error: Broken pipe" error messages on stderr.
37051         Reported by Sam Steingold <sds@gnu.org>.
37052
37053 2008-08-30  Bruno Haible  <bruno@clisp.org>
37054
37055         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
37056         Code copied from m4/open.m4.
37057         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
37058         access and the filename ends in a slash. Code copied from lib/open.c.
37059         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
37060         * tests/test-fopen.c (main): Check against bug with trailing slash.
37061
37062 2008-08-29  Bruno Haible  <bruno@clisp.org>
37063
37064         Avoid some "gcc -pedantic" warnings.
37065         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
37066         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
37067         * lib/dirent.in.h: Likewise.
37068         * lib/fcntl.in.h: Likewise.
37069         * lib/float.in.h: Likewise.
37070         * lib/iconv.in.h: Likewise.
37071         * lib/inttypes.in.h: Likewise.
37072         * lib/locale.in.h: Likewise.
37073         * lib/math.in.h: Likewise.
37074         * lib/netinet_in.in.h: Likewise.
37075         * lib/search.in.h: Likewise.
37076         * lib/signal.in.h: Likewise.
37077         * lib/stdarg.in.h: Likewise.
37078         * lib/stdint.in.h: Likewise.
37079         * lib/stdio.in.h: Likewise.
37080         * lib/stdlib.in.h: Likewise.
37081         * lib/string.in.h: Likewise.
37082         * lib/strings.in.h: Likewise.
37083         * lib/sys_select.in.h: Likewise.
37084         * lib/sys_socket.in.h: Likewise.
37085         * lib/sys_stat.in.h: Likewise.
37086         * lib/sys_time.in.h: Likewise.
37087         * lib/sysexits.in.h: Likewise.
37088         * lib/time.in.h: Likewise.
37089         * lib/unistd.in.h: Likewise.
37090         * lib/wchar.in.h: Likewise.
37091         * lib/wctype.in.h: Likewise.
37092         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
37093         * modules/fchdir (Makefile.am): Likewise.
37094         * modules/fcntl (Makefile.am): Likewise.
37095         * modules/float (Makefile.am): Likewise.
37096         * modules/iconv_open (Makefile.am): Likewise.
37097         * modules/inttypes (Makefile.am): Likewise.
37098         * modules/locale (Makefile.am): Likewise.
37099         * modules/math (Makefile.am): Likewise.
37100         * modules/netinet_in (Makefile.am): Likewise.
37101         * modules/search (Makefile.am): Likewise.
37102         * modules/signal (Makefile.am): Likewise.
37103         * modules/stdarg (Makefile.am): Likewise.
37104         * modules/stdint (Makefile.am): Likewise.
37105         * modules/stdio (Makefile.am): Likewise.
37106         * modules/stdlib (Makefile.am): Likewise.
37107         * modules/string (Makefile.am): Likewise.
37108         * modules/strings (Makefile.am): Likewise.
37109         * modules/sys_select (Makefile.am): Likewise.
37110         * modules/sys_socket (Makefile.am): Likewise.
37111         * modules/sys_stat (Makefile.am): Likewise.
37112         * modules/sys_time (Makefile.am): Likewise.
37113         * modules/sysexits (Makefile.am): Likewise.
37114         * modules/time (Makefile.am): Likewise.
37115         * modules/unistd (Makefile.am): Likewise.
37116         * modules/wchar (Makefile.am): Likewise.
37117         * modules/wctype (Makefile.am): Likewise.
37118         Reported by Reuben Thomas <rrt@sc3d.org>.
37119
37120 2008-08-29  Bruno Haible  <bruno@clisp.org>
37121
37122         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
37123         any more.
37124
37125 2008-08-29  Simon Josefsson  <simon@josefsson.org>
37126
37127         * MODULES.html.sh (Misc): Add bitrotate.
37128
37129         * modules/bitrotate: New file.
37130
37131         * lib/bitrotate.h: New file.
37132
37133         * modules/bitrotate-tests: New file.
37134
37135         * tests/test-bitrotate.c: New file.
37136
37137         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
37138         on the bitrotate module.
37139
37140         * lib/arctwo.c: Use new bitrotate module.
37141
37142 2008-08-29  Jim Meyering  <meyering@redhat.com>
37143
37144         bootstrap: merge changes from coreutils
37145         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
37146         of copied files.  Remove a kludge, now that this is fixed.
37147         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
37148         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
37149         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
37150
37151 2008-08-29  Bruno Haible  <bruno@clisp.org>
37152
37153         * MODULES.html.sh: Remove --cvs-urls option.
37154
37155 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
37156
37157         maint.mk: adjust to file name change
37158         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
37159
37160 2008-08-28  Jim Meyering  <meyering@redhat.com>
37161
37162         * modules/getndelim2 (License): Relicense to LGPLv2+.
37163         Approved by Richard Stallman for the version of 1995, and by
37164         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
37165
37166 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
37167
37168         * lib/getdelim.c (flockfile, funlockfile): Make all of them
37169         dummy if one is not available.  Do not touch them if
37170         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
37171         (getc_maybe_unlocked): New.
37172         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
37173
37174 2008-08-26  Eric Blake  <ebb9@byu.net>
37175
37176         doc/INSTALL: resync from autoconf
37177         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
37178         (INSTALL_PRELUDE): Delete; this is done more efficiently by
37179         moving...
37180         * install.texi [!autoconf]: ...here.  Resync from autoconf.
37181         * INSTALL: Regenerate.
37182         * INSTALL.ISO: New file.
37183         * INSTALL.UTF-8: Likewise.
37184
37185 2008-08-26  Jim Meyering  <meyering@redhat.com>
37186
37187         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
37188         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
37189         these definitions conditional, so that they may be overridden, too.
37190
37191 2008-08-26  Bruno Haible  <bruno@clisp.org>
37192
37193         Generate INSTALL file variants with prettier quotes.
37194         * doc/Makefile (INSTALL_PRELUDE): New macro.
37195         (INSTALL): Use it.
37196         (INSTALL.ISO, INSTALL.UTF-8): New rules.
37197
37198 2008-08-26  Bruno Haible  <bruno@clisp.org>
37199
37200         Run makeinfo in an English locale.
37201         * doc/Makefile (MAKEINFO): New variable.
37202
37203 2008-08-26  Bruno Haible  <bruno@clisp.org>
37204
37205         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
37206         Suggested by Eric Blake.
37207
37208 2008-08-25  Bruno Haible  <bruno@clisp.org>
37209
37210         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
37211
37212 2008-08-25  Eric Blake  <ebb9@byu.net>
37213
37214         c-stack: test that stack overflow can be caught
37215         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
37216         that platform allows handling stack overflow; at least OS/2 EMX
37217         has sigaltstack, but crashes before transferring control to
37218         handler on stack overflow.
37219         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
37220         check for HAVE_STACK_OVERFLOW_HANDLING.
37221         Reported by Elbert Pol.
37222
37223 2008-08-25  Bruno Haible  <bruno@clisp.org>
37224
37225         * doc/posix-functions/strftime.texi: Fix description of strftime
37226         module.
37227
37228 2008-08-24  Bruno Haible  <bruno@clisp.org>
37229
37230         * tests/uniwidth/test-uc_width2.c: New file.
37231         * tests/uniwidth/test-uc_width2.sh: New file.
37232         * modules/uniwidth/width-tests (Files): Add the new files.
37233         (TESTS): Add uniwidth/test-uc_width2.sh.
37234         (TESTS_ENVIRONMENT): New variable.
37235         (check_PROGRAMS): Add test-uc_width2.
37236         (test_uc_width2_SOURCES): New variable.
37237
37238         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
37239         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
37240         not 0x00AB.
37241         Reported by Alexander V. Lukyanov <lav@netis.ru>.
37242
37243 2008-08-22  Eric Blake  <ebb9@byu.net>
37244
37245         test-lock, test-tls: mention why a test is skipped
37246         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
37247         skipped.
37248         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
37249
37250         count-one-bits: relax license
37251         * modules/count-one-bits (License): Relicense to LGPLv2+.
37252         Suggested by Ludovic Courtès, approved by Ben Pfaff.
37253
37254 2008-08-22  Andreas Schwab  <schwab@suse.de>
37255
37256         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37257         Remove spurious space in assignment.
37258
37259 2008-08-21  Simon Josefsson  <simon@josefsson.org>
37260
37261         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
37262         Paul Eggert <eggert@CS.UCLA.EDU>.
37263
37264 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
37265
37266         * modules/gettext: Add m4/threadlib.m4.
37267
37268 2008-08-19  Eric Blake  <ebb9@byu.net>
37269
37270         test-c-stack: fix compilation failure on FreeBSD 5.0
37271         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
37272         headers before <sys/resource.h>.
37273         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
37274         the bug.
37275         Reported by Nelson H. F. Beebe.
37276
37277         strverscmp: migrate from "strverscmp.h" to <string.h>
37278         * modules/string (Makefile.am): Add new hooks.
37279         * modules/strverscmp (Files): Remove strverscmp.h.
37280         (Depends-on): Add string.
37281         (configure.ac): Add indicator.
37282         (Include): Mention new header.
37283         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
37284         defaults.
37285         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
37286         results.
37287         * lib/strverscmp.h: Delete.
37288         * lib/string.in.h (strverscmp): Provide declaration, when needed.
37289         * tests/test-strverscmp.c (includes): Adjust client.
37290         * lib/check-version.c (includes): Likewise.
37291         * NEWS: Document the change.
37292
37293         strverscmp: add unit test
37294         * modules/strverscmp-tests: New file.
37295         * tests/test-strverscmp.c: Likewise.
37296
37297 2008-08-19  Simon Josefsson  <simon@josefsson.org>
37298
37299         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
37300         regarding Windows crypto stuff, from Mono.
37301
37302 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
37303
37304         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
37305         if present, for intel RND.  Return error on failures.
37306
37307 2008-08-18  Ben Pfaff  <blp@gnu.org>
37308
37309         gitlog-to-changelog: give better diagnostic for failed pipe-open
37310         * build-aux/gitlog-to-changelog: Improve error message: suggest
37311         that the version of Git may be too old.
37312
37313 2008-08-18  Simon Josefsson  <simon@josefsson.org>
37314
37315         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
37316         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
37317
37318 2008-08-18  Bruno Haible  <bruno@clisp.org>
37319
37320         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
37321         pthread_in_use().
37322
37323 2008-08-18  Bruno Haible  <bruno@clisp.org>
37324
37325         * lib/glthread/threadlib.c: Include <pthread.h>.
37326
37327 2008-08-18  Bruno Haible  <bruno@clisp.org>
37328
37329         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
37330         glthread_recursive_lock_* macros.
37331         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
37332         Fix syntax error.
37333
37334 2008-08-18  Bruno Haible  <bruno@clisp.org>
37335
37336         * lib/glthread/thread.c: Avoid forcing a context switch right after
37337         thread creation.
37338
37339 2008-08-17  Bruno Haible  <bruno@clisp.org>
37340
37341         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
37342         * lib/glthread/thread.h: Provide Win32 specific implementation.
37343         * modules/thread (Files): Add lib/glthread/thread.c.
37344         (Depends-on): Add lock.
37345         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
37346
37347 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37348
37349         New module 'yield'.
37350         * modules/yield: New file.
37351         * lib/glthread/yield.h: New file.
37352         * m4/yield.m4: New file.
37353         * MODULES.html.sh (Multithreading): Add yield.
37354
37355 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37356
37357         New module 'thread'.
37358         * modules/thread: New file.
37359         * lib/glthread/thread.h: New file.
37360         * m4/thread.m4: New file.
37361         * MODULES.html.sh (Multithreading): Add thread.
37362
37363 2008-08-17  Bruno Haible  <bruno@clisp.org>
37364
37365         * lib/glthread/lock.h: Include <stdlib.h> always.
37366         * lib/glthread/tls.h: Likewise.
37367         * lib/glthread/cond.h: Likewise.
37368
37369 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37370
37371         New module 'cond'.
37372         * modules/cond: New file.
37373         * lib/glthread/cond.h: New file.
37374         * lib/glthread/cond.c: New file.
37375         * m4/cond.m4: New file.
37376         * MODULES.html.sh (Multithreading): Add cond.
37377
37378 2008-08-16  Eric Blake  <ebb9@byu.net>
37379
37380         c-stack: fix regression on Irix 5.3 from 2008-06-21
37381         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
37382         sa_sigaction...
37383         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
37384         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
37385         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
37386         * modules/signal (Makefile.am): Use the value.
37387         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
37388         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
37389         * doc/posix-headers/signal.texi (signal.h): Document this
37390         portability issue.
37391         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
37392         Reported by Tom G. Christensen.
37393
37394 2008-08-17  Bruno Haible  <bruno@clisp.org>
37395
37396         New module 'threadlib'.
37397         * modules/threadlib: New file.
37398         * lib/glthread/threadlib.c: New file, extracted from
37399         lib/glthread/lock.c.
37400         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
37401         functions.
37402         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
37403         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
37404         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
37405         macros.
37406         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
37407         (gl_DISABLE_THREADS): Remove macro.
37408         * modules/lock (Files): Remove build-aux/config.rpath.
37409         (Depends-on): Remove havelib. Add threadlib.
37410         (configure.ac-early): Remove section.
37411         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
37412         * modules/tls (Depends-on): Remove lock. Add threadlib.
37413         (Link): New section, copied from threadlib.
37414         * MODULES.html.sh (Multithreading): Add threadlib.
37415
37416 2008-08-14  Bruno Haible  <bruno@clisp.org>
37417
37418         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
37419         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
37420         glthread_rwlock_unlock, glthread_rwlock_destroy,
37421         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
37422         glthread_recursive_lock_destroy): Define as macros always.
37423         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
37424         glthread_lock_lock.
37425         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
37426         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
37427         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
37428         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
37429         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
37430         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
37431         (glthread_recursive_lock_lock_func): Renamed from
37432         glthread_recursive_lock_lock.
37433         (glthread_recursive_lock_unlock_func): Renamed from
37434         glthread_recursive_lock_unlock.
37435         (glthread_recursive_lock_destroy_func): Renamed from
37436         glthread_recursive_lock_destroy.
37437
37438 2008-08-14  Bruno Haible  <bruno@clisp.org>
37439
37440         * lib/glthread/lock.h: Renamed from lib/lock.h.
37441         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
37442         * lib/glthread/tls.h: Renamed from lib/tls.h.
37443         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
37444         * lib/fstrcmp.c: Update includes.
37445         * lib/strsignal.c: Update includes.
37446         * modules/lock (Files, Makefile.am): Update.
37447         (Include): Change to "glthread/lock.h".
37448         * modules/tls (Files, Makefile.am): Update.
37449         (Include): Change to "glthread/tls.h".
37450         * tests/test-lock.c: Update includes.
37451         * tests/test-tls.c: Update includes.
37452         * NEWS: Mention the renamed header files.
37453
37454 2008-08-11  Jim Meyering  <meyering@redhat.com>
37455
37456         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
37457
37458 2008-08-11  Eric Blake  <ebb9@byu.net>
37459
37460         test-c-stack: avoid C99-ism
37461         * tests/test-c-stack.c (main): Fix whitespace, move declaration
37462         before statement.
37463         Reported by Alain Guibert.
37464
37465 2008-08-10  Jim Meyering  <meyering@redhat.com>
37466
37467         ensure that return value of uinttostr et al are not ignored
37468         * lib/inttostr.h (__GNUC_PREREQ): Define.
37469         (__attribute_warn_unused_result__): Define.
37470         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
37471
37472 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
37473
37474         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
37475         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
37476
37477 2008-08-07  Jim Meyering  <meyering@redhat.com>
37478
37479         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
37480
37481         * modules/mkstemp (License): Relicense under LGPLv2+.
37482         * modules/tempname (License): Likewise.
37483
37484 2008-08-06  Bruno Haible  <bruno@clisp.org>
37485
37486         * lib/poll.c (poll): Further micro-optimization.
37487
37488 2008-08-06  Jim Meyering  <meyering@redhat.com>
37489
37490         inet_pton.c: use locale-independent tolower
37491         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
37492         (inet_pton6): Use c_tolower rather than tolower.
37493         * modules/inet_pton (Depends-on): Add c-ctype.
37494
37495 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
37496
37497         * lib/poll.c (poll): Avoid division when timeout is 0, cache
37498         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
37499
37500 2008-08-06  Jim Meyering  <meyering@redhat.com>
37501
37502         * modules/inet_pton (License): Relicense under LGPLv2+.
37503
37504 2008-08-03  Bruno Haible  <bruno@clisp.org>
37505
37506         Additional non-aborting API for lock and tls.
37507         * lib/lock.h: Include <errno.h>.
37508         (glthread_lock_init): New macro/function.
37509         (gl_lock_init): Define as wrapper around glthread_lock_init.
37510         (glthread_lock_lock): New macro/function.
37511         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
37512         (glthread_lock_unlock): New macro/function.
37513         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
37514         (glthread_lock_destroy): New macro/function.
37515         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
37516         (glthread_rwlock_init): New macro/function.
37517         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
37518         (glthread_rwlock_rdlock): New macro/function.
37519         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
37520         (glthread_rwlock_wrlock): New macro/function.
37521         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
37522         (glthread_rwlock_unlock): New macro/function.
37523         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
37524         (glthread_rwlock_destroy): New macro/function.
37525         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
37526         (glthread_recursive_lock_init): New macro/function.
37527         (gl_recursive_lock_init): Define as wrapper around
37528         glthread_recursive_lock_init.
37529         (glthread_recursive_lock_lock): New macro/function.
37530         (gl_recursive_lock_lock): Define as wrapper around
37531         glthread_recursive_lock_lock.
37532         (glthread_recursive_lock_unlock): New macro/function.
37533         (gl_recursive_lock_unlock): Define as wrapper around
37534         glthread_recursive_lock_unlock.
37535         (glthread_recursive_lock_destroy): New macro/function.
37536         (gl_recursive_lock_destroy): Define as wrapper around
37537         glthread_recursive_lock_destroy.
37538         (glthread_once): New macro/function.
37539         (gl_once): Define as wrapper around glthread_once.
37540         Update function declarations.
37541         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
37542         glthread_rwlock_init. Return error code.
37543         (glthread_rwlock_rdlock_multithreaded): Renamed from
37544         glthread_rwlock_rdlock. Return error code.
37545         (glthread_rwlock_wrlock_multithreaded): Renamed from
37546         glthread_rwlock_wrlock. Return error code.
37547         (glthread_rwlock_unlock_multithreaded): Renamed from
37548         glthread_rwlock_unlock. Return error code.
37549         (glthread_rwlock_destroy_multithreaded): Renamed from
37550         glthread_rwlock_destroy. Return error code.
37551         (glthread_recursive_lock_init_multithreaded): Renamed from
37552         glthread_recursive_lock_init. Return error code.
37553         (glthread_recursive_lock_lock_multithreaded): Renamed from
37554         glthread_recursive_lock_lock. Return error code.
37555         (glthread_recursive_lock_unlock_multithreaded): Renamed from
37556         glthread_recursive_lock_unlock. Return error code.
37557         (glthread_recursive_lock_destroy_multithreaded): Renamed from
37558         glthread_recursive_lock_destroy. Return error code.
37559         (glthread_once_call): Make static.
37560         (glthread_once_multithreaded): Renamed from glthread_once.
37561         * lib/tls.h: Include <errno.h>.
37562         (glthread_tls_key_init): New macro/function.
37563         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
37564         (glthread_tls_set): New macro/function.
37565         (gl_tls_set): Define as wrapper around glthread_tls_set.
37566         (glthread_tls_key_destroy): New macro/function.
37567         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
37568         Update function declarations.
37569         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
37570         glthread_tls_get.
37571         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37572
37573 2008-08-04  Eric Blake  <ebb9@byu.net>
37574
37575         gnumakefile: use space, not TAB, outside of targets
37576         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
37577
37578 2008-08-02  Jim Meyering  <meyering@redhat.com>
37579
37580         getdate.y: avoid locale-dependent date parsing failure
37581         In Turkish locales, getdate would fail to recognize keywords
37582         containing a lowercase "i".  The solution is not to rely on
37583         locale-sensitive case-conversion.
37584         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
37585         (lookup_word): Use c_toupper in place of toupper.
37586         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
37587         Reported by Vefa Bicakci <bicave@superonline.com> in
37588         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
37589         * modules/getdate (Depends-on): Add c-ctype.
37590
37591 2008-08-02  Bruno Haible  <bruno@clisp.org>
37592
37593         * gnulib-tool (func_import): When updating or creating a .gitignore
37594         file, prepend each added line with a slash, and ignore leading slashes
37595         from the existing lines.
37596         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
37597
37598 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37599
37600         Portability fix for GNU make 3.79.1.
37601         * top/GNUmakefile: Avoid 'else COND', which older GNU make
37602         versions do not understand.
37603
37604 2008-08-01  Bruno Haible  <bruno@clisp.org>
37605
37606         Work around bug of HP-UX 10.20 cc with -0.0 literal.
37607         * tests/test-isnanf.h (zero): New variable.
37608         (main): Avoid literal -0.0f.
37609         * tests/test-isnand.h (zero): New variable.
37610         (main): Avoid literal -0.0.
37611         * tests/test-isnanl.h (zero): New variable.
37612         (main): Avoid literal -0.0L.
37613         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
37614         (test_float, test_double, test_long_double): Avoid literals -0.0f,
37615         -0.0, -0.0L.
37616         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
37617         (test_signbitd): Avoid literal -0.0.
37618         (test_signbitl): Avoid literal -0.0L.
37619         * tests/test-ceilf1.c (zero): New variable.
37620         (main): Avoid literal -0.0f.
37621         * tests/test-ceill.c (zero): New variable.
37622         (main): Avoid literal -0.0L.
37623         * tests/test-floorf1.c (zero): New variable.
37624         (main): Avoid literal -0.0f.
37625         * tests/test-floorl.c (zero): New variable.
37626         (main): Avoid literal -0.0L.
37627         * tests/test-roundf1.c (zero): New variable.
37628         (main): Avoid literal -0.0f.
37629         * tests/test-round1.c (zero): New variable.
37630         (main): Avoid literal -0.0.
37631         * tests/test-roundl.c (zero): New variable.
37632         (main): Avoid literal -0.0L.
37633         * tests/test-truncf1.c (zero): New variable.
37634         (main): Avoid literal -0.0f.
37635         * tests/test-trunc1.c (zero): New variable.
37636         (main): Avoid literal -0.0.
37637         * tests/test-truncl.c (zero): New variable.
37638         (main): Avoid literal -0.0L.
37639         * tests/test-frexp.c (zero): New variable.
37640         (main): Avoid literal -0.0.
37641         * tests/test-frexpl.c (zero): New variable.
37642         (main): Avoid literal -0.0L.
37643         * tests/test-ldexpl.c (zero): New variable.
37644         (main): Avoid literal -0.0L.
37645         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37646         (zerod, zerol): New variables.
37647         (test_function): Avoid literals -0.0, -0.0L.
37648         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37649         (zerod, zerol): New variables.
37650         (test_function): Avoid literals -0.0, -0.0L.
37651         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37652         (zerod, zerol): New variables.
37653         (test_function): Avoid literals -0.0, -0.0L.
37654         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37655         (zerod, zerol): New variables.
37656         (test_function): Avoid literals -0.0, -0.0L.
37657         * tests/test-strtod.c (zero): New variable.
37658         (main): Avoid literal -0.0.
37659         Reported by Jonathan C. Patschke <jp@centtech.com>.
37660
37661 2008-07-31  Jim Meyering  <meyering@redhat.com>
37662
37663         sha256.h: correct definition of SHA224_DIGEST_SIZE
37664         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
37665         Reported by Paulie Pena IV <paulie4@gmail.com>.
37666         Define as 224 / 8, rather than as a literal.
37667         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
37668         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
37669         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
37670
37671 2008-07-31  Bruno Haible  <bruno@clisp.org>
37672
37673         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
37674         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
37675         Reported by Jonathan Patschke <jp@centtech.com>.
37676
37677 2008-07-31  Bruno Haible  <bruno@clisp.org>
37678
37679         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
37680         Reported by Paolo Bonzini <bonzini@gnu.org>.
37681
37682 2008-07-30  Eric Blake  <ebb9@byu.net>
37683
37684         test-strtod: allow compilation without -lm
37685         * tests/test-strtod.c (main): Avoid link dependence on fabs.
37686         Reported by Dennis Clarke <blastwave@gmail.com>.
37687
37688 2008-07-28  Jim Meyering  <meyering@redhat.com>
37689
37690         bootstrap: work also when there are no .po files in po/
37691         * build-aux/bootstrap (update_po_files): Complete the change
37692         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
37693
37694 2008-07-27  Jim Meyering  <meyering@redhat.com>
37695
37696         * users.txt: Add zile.
37697
37698 2008-07-26  Ben Pfaff  <blp@gnu.org>
37699
37700         Add missing dependencies on new m4/exponent[fdl].m4 files.
37701         * modules/isnanf-nolibm: Add m4/exponentf.m4.
37702         * modules/isnand-nolibm: Add m4/exponentd.m4.
37703         * modules/isnanl-nolibm: Add m4/exponentl.m4.
37704         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
37705         m4/isnan[fdl].m4, because the macros actually used moved.
37706         Reported by Jim Meyering.
37707
37708 2008-07-14  Ben Pfaff  <blp@gnu.org>
37709
37710         Add isinf module.
37711         * lib/isinf.c: New file.
37712         * lib/math.in.h: Define isinf macro if we have decided to replace
37713         it.
37714         * m4/isinf.m4: New file.
37715         * m4/math_h.m4: Initialize and substitute variables for isinf
37716         module.
37717         * modules/isinf: New file.
37718         * modules/isinf-tests: New file.
37719         * modules/math: Add substitutions for new module.
37720         * tests/test-isinf.c: New file.
37721         * doc/posix-functions/isinf.texi: Mention new module.
37722         * MODULES.html.sh: Mention new module.
37723
37724 2008-07-14  Ben Pfaff  <blp@gnu.org>
37725
37726         Factor out some macros for use by additional modules.
37727         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
37728         exponentf.m4.
37729         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
37730         exponentd.m4.
37731         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
37732         file exponentl.m4.
37733         * m4/exponentf.m4: New file.
37734         * m4/exponentd.m4: New file.
37735         * m4/exponentl.m4: New file.
37736         * modules/isnanf: Use new file m4/exponentf.m4.
37737         * modules/isnand: Use new file m4/exponentd.m4.
37738         * modules/isnanl: Use new file m4/exponentl.m4.
37739
37740 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
37741
37742         mktime.c: normalize tp->tm_isdst value to -1/0/1.
37743         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
37744         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
37745         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
37746
37747         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
37748         readlink on platforms without PATH_MAX.
37749
37750 2008-07-21  Eric Blake  <ebb9@byu.net>
37751
37752         Warn, not fail, on stale version.
37753         * top/GNUmakefile (_curr-ver): Tone down previous patch.
37754
37755         Don't allow installation with stale devel version number.
37756         * top/GNUmakefile (_is-install-target): New macro.
37757         (_curr-ver): Forbid installation with stale version number.
37758
37759 2008-07-20  Bruno Haible  <bruno@clisp.org>
37760
37761         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
37762         TESTS_ENVIRONMENT.
37763         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
37764
37765 2008-07-20  Bruno Haible  <bruno@clisp.org>
37766
37767         * lib/c-stack.h (c_stack_action): Add documentation.
37768         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
37769
37770 2008-07-20  Bruno Haible  <bruno@clisp.org>
37771
37772         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
37773         * modules/readlink (License): Likewise.
37774
37775 2008-07-17  Eric Blake  <ebb9@byu.net>
37776
37777         * modules/c-stack (Link): Fix typo.
37778
37779         Make c-stack use libsigsegv, when available.
37780         * modules/c-stack (Depends-on): Add libsigsegv.
37781         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
37782         needed.
37783         * lib/c-stack.c (SIGSTKSZ): Define fallback.
37784         (segv_handler, overflow_handler, c_stack_action)
37785         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
37786         implementation when libsigsegv is available, but only when using
37787         the library is necessary.
37788         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
37789         comment, explaining why XSI check fails on Linux.
37790         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
37791         * tests/test-c-stack2.sh: Tweak skip message.
37792         * NEWS: Document new link-time requirements.
37793
37794 2008-07-16  Eric Blake  <ebb9@byu.net>
37795
37796         c-stack: Expose false positives when not using libsigsegv.
37797         * modules/c-stack-tests (Files): Expand test.
37798         * tests/test-c-stack.c (main): Add means to conditionally trigger
37799         non-overflow SIGSEGV.
37800         * tests/test-c-stack2.sh: New file.
37801
37802 2008-07-14  Bruno Haible  <bruno@clisp.org>
37803
37804         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
37805         Reported by Eric Blake.
37806
37807 2008-07-14  Sam Steingold  <sds@gnu.org>
37808             Bruno Haible  <bruno@clisp.org>
37809
37810         New module libsigsegv.
37811         * modules/libsigsegv: New file.
37812         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
37813         modifications.
37814         * MODULES.html.sh (Signal handling): New section.
37815
37816 2008-07-14  Bruno Haible  <bruno@clisp.org>
37817
37818         * modules/unictype/ctype-* (Description): Add the word "function".
37819         Improves the resulting doc in MODULES.html.
37820
37821 2008-07-12  Ben Pfaff  <blp@gnu.org>
37822
37823         Add longlong module.
37824         * modules/longlong: New file.
37825
37826 2008-07-12  Bruno Haible  <bruno@clisp.org>
37827
37828         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
37829         to empty.
37830
37831 2008-07-10  Ben Pfaff  <blp@gnu.org>
37832
37833         Add isnan module.
37834         * doc/posix-functions/isnan.texi: Mention new module.
37835         * lib/math.in.h: Define isnan macro if we have decided to replace
37836         it.
37837         * m4/isnan.m4: New file.
37838         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
37839         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
37840         also.
37841         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
37842         redundancy.
37843         * m4/math_h.m4: Initialize and substitute variables for isnan
37844         module.
37845         * modules/isnan: New file.
37846         * modules/isnan-tests: New file.
37847         * modules/math: Add substitutions for new module.
37848         * tests/test-isnan.c: New file.
37849         * MODULES.html.sh: Mention new module.
37850
37851 2008-07-10  Ben Pfaff  <blp@gnu.org>
37852
37853         Add isnanf module.
37854         * lib/isnanf.m4: New file.
37855         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
37856         (gl_HAVE_ISNANF_IN_LIBM): New macro.
37857         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
37858         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
37859         * modules/isnanf: New file.
37860         * modules/isnanf-tests: New file.
37861         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
37862         files.
37863         * tests/test-isnanf-nolibm.c: factored most of its contents into
37864         new file tests/test-isnanf.h.
37865         * tests/test-isnanf.h: New file.
37866         * tests/test-isnanf.c: New file.
37867         * MODULES.html.sh: Mention new module.
37868         * doc/glibc-functions/isnanf.texi: Mention new module.
37869
37870 2008-07-10  Ben Pfaff  <blp@gnu.org>
37871
37872         Add isnand module.
37873         * lib/isnand.h: New file.
37874         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
37875         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
37876         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
37877         functionality also.
37878         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
37879         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
37880         (gl_HAVE_ISNAND_IN_LIBM): New macro.
37881         * modules/isnand: New file.
37882         * modules/isnand-tests: New file.
37883         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
37884         files.
37885         * tests/test-isnand-nolibm.c: factored most of its contents into
37886         new file tests/test-isnand.h.
37887         * tests/test-isnand.h: New file.
37888         * tests/test-isnand.c: New file.
37889         * MODULES.html.sh: Mention new module.
37890
37891 2008-07-10  Ben Pfaff  <blp@gnu.org>
37892
37893         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
37894         * lib/isnand.h: Rename lib/isnand-nolibm.h.
37895         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
37896         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
37897         * modules/isnanf-nolibm: Update references to renamed files.
37898         * modules/isnand-nolibm: Likewise.
37899         * modules/isnanf-nolibm-tests: Likewise.
37900         * modules/isnand-nolibm-tests: Likewise.
37901         * lib/frexp.c: Likewise.
37902         * lib/isfinite.c: Likewise.
37903         * lib/signbitd.c: Likewise.
37904         * lib/signbitf.c: Likewise.
37905         * lib/vasnprintf.c: Likewise.
37906         * tests/test-ceilf1.c: Likewise.
37907         * tests/test-ceilf2.c: Likewise.
37908         * tests/test-floorf1.c: Likewise.
37909         * tests/test-floorf2.c: Likewise.
37910         * tests/test-frexp.c: Likewise.
37911         * tests/test-round1.c: Likewise.
37912         * tests/test-round2.c: Likewise.
37913         * tests/test-roundf1.c: Likewise.
37914         * tests/test-strtod.c: Likewise.
37915         * tests/test-trunc1.c: Likewise.
37916         * tests/test-trunc2.c: Likewise.
37917         * tests/test-truncf1.c: Likewise.
37918         * tests/test-truncf2.c: Likewise.
37919         * NEWS: Mention the renamed header files.
37920
37921 2008-07-11  Jim Meyering  <meyering@redhat.com>
37922
37923         vc-list-files: make the last-resort awk code more portable
37924         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
37925         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
37926         does not support it.
37927
37928 2008-07-10  Eric Blake  <ebb9@byu.net>
37929
37930         Work with tar's bootstrap.
37931         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
37932         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
37933         an m4 comment.
37934
37935 2008-07-09  Jim Meyering  <meyering@redhat.com>
37936
37937         posix-shell.m4: fix typo that made this test malfunction
37938         * m4/posix-shell.m4: Remove capitalization in variable name.
37939
37940 2008-07-08  Bruno Haible  <bruno@clisp.org>
37941
37942         * m4/onceonly.m4: Update comments.
37943         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37944
37945 2008-07-04  Jim Meyering  <meyering@redhat.com>
37946
37947         * users.txt: Add vc-dwim.
37948         (bison, coreutils): Use the gitweb URL.
37949
37950 2008-07-03  Jim Meyering  <meyering@redhat.com>
37951
37952         * users.txt: Add libffcall.  From Sam Steingold.
37953
37954 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
37955
37956         getdate.y: do not ignore TZ with relative day, month or year offset
37957         * lib/getdate.y (get_date): Move the tz-handling block to follow the
37958         relative-date-handling, since otherwise, the latter would clobber the
37959         sole output (an updated Start value) of the tz-handling block.
37960         * tests/test-getdate.c: Tests for the fix
37961
37962 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37963
37964         Recognize 'foo_LIBRARIES += libgnu.a'.
37965         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
37966         makefile snippet has already specified an installation location,
37967         also using '+='.
37968
37969 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
37970
37971         getdate.y: factor out common actions
37972         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
37973         Use them in place of open-coded actions.
37974
37975 2008-07-01  Simon Josefsson  <simon@josefsson.org>
37976
37977         Add self-test for getdate module.
37978         * modules/getdate-tests: New file.
37979         * tests/test-getdate.c: New file.
37980
37981 2008-06-29  Bruno Haible  <bruno@clisp.org>
37982
37983         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
37984         .gitignore.
37985         Reported by Sylvain Beucler <beuc@beuc.net>.
37986
37987 2008-06-29  Bruno Haible  <bruno@clisp.org>
37988
37989         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
37990         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
37991
37992 2008-06-29  Bruno Haible  <bruno@clisp.org>
37993
37994         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
37995         EXTRA_DIST.
37996         Reported by Sylvain Beucler <beuc@beuc.net>.
37997
37998 2008-06-26  Jim Meyering  <meyering@redhat.com>
37999
38000         make several modules depend on the "open" module
38001         This provides slightly increased consistency when opening-for-write
38002         the name of a non-directory spelled with a trailing slash.
38003         * modules/chdir-safer: Likewise.
38004         * modules/chown: Likewise.
38005         * modules/clean-temp: Likewise.
38006         * modules/copy-file: Likewise.
38007         * modules/fchdir: Likewise.
38008         * modules/fcntl-safer: Likewise.
38009         * modules/pipe: Likewise.
38010         * modules/utime: Likewise.
38011         Prompted by Eric Blake and Bruno Haible.
38012
38013 2008-06-24  Andreas Schwab  <schwab@suse.de>
38014
38015         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
38016         literals can be used as initializers for global variables.
38017
38018 2008-06-23  Eric Blake  <ebb9@byu.net>
38019
38020         Make gnulib-cache.m4 easier to diff.
38021         * gnulib-tool (func_import): Allow newlines when reading cached
38022         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
38023
38024 2008-06-23  Bruno Haible  <bruno@clisp.org>
38025
38026         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
38027         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
38028         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
38029         m4/signalblocking.m4.
38030         (gl_PREREQ_SIGACTION): Don't invoke it.
38031         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
38032         gl_PREREQ_SIG_HANDLER_H.
38033         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38034         Don't check for sigaction here.
38035
38036 2008-06-23  Bruno Haible  <bruno@clisp.org>
38037
38038         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
38039         (install_handlers): Don't set the SA_RESETHAND flag.
38040
38041 2008-06-23  Bruno Haible  <bruno@clisp.org>
38042
38043         * m4/sigaction.m4: Comment fixes.
38044         * lib/signal.in.h: Likewise.
38045
38046 2008-06-23  Eric Blake  <ebb9@byu.net>
38047
38048         Fix typo.
38049         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
38050
38051         Avoid SA_ namespace.
38052         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
38053         Reported by Ralf Wildenhues.
38054
38055         Avoid test failure due to SA_RESTORER.
38056         * tests/test-sigaction.c (SA_MASK): New macro.
38057         (main): Avoid failing due to extension flags being set.
38058         Reported by Jim Meyering.
38059
38060         Revert use of sig-handler.h in sigprocmask.c.
38061         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
38062         it requires the existence of struct sigaction.
38063         * lib/sigprocmask.c (handler_t): Restore typedef.
38064         (rpl_signal, old_handlers): Use local type.
38065
38066 2008-06-22  Bruno Haible  <bruno@clisp.org>
38067
38068         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
38069         conditionally.
38070         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38071
38072 2008-06-22  Bruno Haible  <bruno@clisp.org>
38073
38074         * doc/posix-functions/siginterrupt.texi: Move note.
38075
38076         * lib/signal.in.h (SA_RESTART): New macro.
38077         * lib/sigaction.c: Update comment.
38078
38079         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
38080
38081         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
38082         (gl_PREREQ_SIGPROCMASK): Invoke it.
38083         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
38084
38085         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
38086
38087         * lib/sigprocmask.c: Update a comment.
38088
38089 2008-06-21  Eric Blake  <ebb9@byu.net>
38090
38091         Use sigaction module rather than signal().
38092         * modules/c-stack (Depends-on): Add sigaction.
38093         * modules/fatal-signal (Depends-on): Likewise.
38094         * modules/nanosleep (Depends-on): Likewise.
38095         * modules/sigprocmask (Files): Add sig-handler.h.
38096         * modules/sigaction (Files): Likewise.
38097         * lib/sig-handler.h (get_handler): New file, suggested by Paul
38098         Eggert.
38099         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
38100         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
38101         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
38102         (init_fatal_signals): Likewise.
38103         * lib/nanosleep.c (rpl_nanosleep): Likewise.
38104         (siginterrupt): Delete fallback.
38105         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
38106         instead.
38107         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
38108         siginterrupt.
38109
38110         New module sigaction, for mingw.
38111         * modules/sigaction: New module...
38112         * modules/sigaction-tests: ...and its test.
38113         * m4/sigaction.m4: New file.
38114         * lib/sigaction.c: Likewise.
38115         * tests/test-sigaction.c: Likewise.
38116         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
38117         * modules/signal (Makefile.am): Likewise.
38118         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
38119         needed.
38120         * doc/posix-headers/signal.texi (signal.h): Mention provided
38121         types.
38122         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
38123         that sigaction is preferable.
38124         * doc/posix-functions/sigaction.texi (sigaction): Mention new
38125         module.
38126         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38127         sigaction.
38128
38129         Improve robustness of sigprocmask by overriding signal.
38130         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
38131         is in use.
38132         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
38133         (SIGKILL, SIGSTOP): Provide fallbacks.
38134         (rpl_signal): Implement.
38135         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
38136         signal can be called inside handlers.
38137
38138         Fix nanosleep module on mingw.
38139         * modules/nanosleep (Depends-on): Add sys_select.
38140         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
38141
38142         Fix licensing of sigprocmask.
38143         * modules/raise (License): Relicense as LGPL.
38144
38145 2008-06-21  Bruno Haible  <bruno@clisp.org>
38146
38147         * lib/propername.c (proper_name_utf8): Don't use the transliterated
38148         result if it contains question marks.
38149         Reported by Michael Geng <linux@michaelgeng.de>.
38150
38151 2008-06-19  Bruno Haible  <bruno@clisp.org>
38152
38153         Fix CVS-ism.
38154         * doc/gnulib.texi: Include updated-stamp.texi.
38155         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
38156         (updated-stamp.texi): New rule.
38157         (gnulib.info): Depend on it.
38158         * doc/.gitignore: Add updated-stamp.texi.
38159         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
38160
38161 2008-06-19  Bruno Haible  <bruno@clisp.org>
38162
38163         * doc/Makefile (gnulib.info): Update and simplify dependencies.
38164         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
38165
38166 2008-06-19  Eric Blake  <ebb9@byu.net>
38167
38168         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
38169         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
38170         Reported by Stepan Kasal.
38171
38172 2008-06-18  Bruno Haible  <bruno@clisp.org>
38173
38174         * lib/fatal-signal.c (init_fatal_signals): Add comment.
38175         Reported by Eric Blake.
38176
38177 2008-06-18  Eric Blake  <ebb9@byu.net>
38178
38179         Work around cygwin 1.5.25 strsignal bug.
38180         * tests/test-strsignal.c: Allow for const char *.
38181         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
38182
38183 2008-06-18  Simon Josefsson  <simon@josefsson.org>
38184
38185         * users.txt: Update URL to article and add author/date
38186         information.
38187
38188 2008-06-17  Bruno Haible  <bruno@clisp.org>
38189
38190         New macro gl_DISABLE_THREADS.
38191         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
38192         if the user did not pass --enable-threads or --disable-threads option.
38193         (gl_DISABLE_THREADS): New macro.
38194         Reported by Eric Blake <ebb9@byu.net>.
38195
38196 2008-06-17  Bruno Haible  <bruno@clisp.org>
38197
38198         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
38199         when the macro ignores it.
38200         Based on a patch by Eric Blake <ebb9@byu.net>.
38201
38202 2008-06-17  Bruno Haible  <bruno@clisp.org>
38203
38204         * modules/tls (License): Change to LGPLv2+.
38205         Reported by Eric Blake.
38206
38207 2008-06-17  Eric Blake  <ebb9@byu.net>
38208
38209         Simplify c-stack prerequisites.
38210         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
38211         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
38212         no longer requires <ucontext.h> to exist.  Optimize setrlimit
38213         check.
38214         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
38215         <sys/resource.h>.
38216
38217         Move c-stack test into testsuite.
38218         * modules/c-stack-tests: New file.
38219         * lib/c-stack.c [DEBUG]: Move test program...
38220         * tests/test-c-stack.c: ...into this new file.  Skip rather than
38221         fail test if sigaltstack is lacking.
38222         * tests/test-c-stack.sh: New driver file.
38223
38224 2008-06-16  Eric Blake  <ebb9@byu.net>
38225
38226         Use raise module consistently.
38227         * modules/fatal-signal (Depends-on): Add raise.
38228         * modules/sigprocmask (Depends-on): Likewise.
38229         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
38230         * lib/sigprocmask.c (sigprocmask): Likewise.
38231         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38232         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
38233
38234         Fix compliance bug in sigpending.
38235         * lib/sigprocmask.c (sigpending): Return pending array via
38236         parameter, not return value.
38237
38238 2008-06-14  Eric Blake  <ebb9@byu.net>
38239
38240         Improve obstack-printf test code.
38241         * tests/test-obstack-printf.c (test_function): Fix comment, and
38242         simplify usage of obstack_* in macros.  Add a test for coverage.
38243         Reported by Bruno Haible.
38244
38245 2008-06-14  Bruno Haible  <bruno@clisp.org>
38246
38247         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
38248         array size as a constant, not as a const variable.
38249         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
38250         AC_USE_SYSTEM_EXTENSIONS.
38251         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
38252         Test whether the obstack_printf function actually exists.
38253         * modules/obstack-printf (Depends-on): Add extensions.
38254         (Include): Remove obstack.h.
38255         * modules/obstack-printf-posix (Depends-on): Add extensions.
38256         (Include): Remove obstack.h.
38257
38258 2008-06-13  Eric Blake  <ebb9@byu.net>
38259
38260         Add obstack-printf and obstack-printf-posix modules.
38261         * modules/obstack-printf: New file.
38262         * modules/obstack-printf-posix: Likewise.
38263         * MODULES.html.sh (Misc): Mention them.
38264         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
38265         Likewise.
38266         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
38267         Likewise.
38268         * modules/stdio (Makefile.am): Accomodate new modules.
38269         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38270         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
38271         Declare.
38272         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
38273         functions.
38274         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
38275         (gl_REPLACE_OBSTACK_PRINTF): New macros
38276         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
38277         * tests/test-obstack-printf.c: New file.
38278         * modules/obstack-printf-tests: Likewise.
38279         * modules/obstack-printf-posix-tests: Likewise.
38280
38281 2008-06-11  Bruno Haible  <bruno@clisp.org>
38282
38283         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
38284         * lib/open.c: Include errno.h.
38285         (open): Fail when attempting to write to a file that has a trailing
38286         slash.
38287         * tests/test-open.c (main): Test against trailing slash bug.
38288         * doc/posix-functions/open.texi: Mention the trailing slash bug.
38289
38290 2008-06-10  Bruno Haible  <bruno@clisp.org>
38291
38292         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
38293         for $? to work inside the trap command, with various /bin/sh-s.
38294         * tests/test-vc-list-files-cvs.sh: Likewise.
38295
38296 2008-06-10  Bruno Haible  <bruno@clisp.org>
38297
38298         * lib/acl-internal.h: Don't include gettext.h here.
38299         * lib/set-mode-acl.c: Include gettext.h here.
38300         * lib/copy-acl.c: Likewise.
38301
38302 2008-06-10  Bruno Haible  <bruno@clisp.org>
38303
38304         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
38305         * lib/wait-process.c (wait_subprocess): Likewise.
38306         * lib/execute.h (execute): Add termsigp argument.
38307         * lib/execute.c (execute): Likewise.
38308         * lib/csharpcomp.c (compile_csharp_using_pnet,
38309         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
38310         * lib/csharpexec.c (execute_csharp_using_pnet,
38311         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
38312         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
38313         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
38314         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
38315         is_jikes_present): Update.
38316         * lib/javaexec.c (execute_java_class): Update.
38317         * lib/javaversion.c (execute_and_read_line): Update.
38318         * NEWS: Document the changes.
38319         Reported by Eric Blake.
38320
38321 2008-06-10  Eric Blake  <ebb9@byu.net>
38322
38323         Add missing include.
38324         * tests/test-strstr.c (includes): Add <signal.h>.
38325         * tests/test-strcasestr.c (includes): Likewise.
38326         * tests/test-memmem.c (includes): Likewise.
38327
38328 2008-06-10  Bruno Haible  <bruno@clisp.org>
38329
38330         * lib/wait-process.c (wait_subprocess): Add an assertion.
38331
38332 2008-06-10  Bruno Haible  <bruno@clisp.org>
38333
38334         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
38335
38336 2008-06-10  Bruno Haible  <bruno@clisp.org>
38337
38338         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
38339         using alarm().
38340         * tests/test-strcasestr.c (main): Likewise.
38341         * tests/test-strstr.c (main): Likewise.
38342
38343 2008-06-09  Bruno Haible  <bruno@clisp.org>
38344
38345         Work around the Solaris 10 ACE ACLs ABI change.
38346         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
38347         declare if ACL_NO_TRIVIAL is present.
38348         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
38349         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
38350         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
38351         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
38352         define if ACL_NO_TRIVIAL is present.
38353         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
38354         and use the current ABI.
38355         (file_has_acl): Use same #if condition as elsewhere.
38356         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
38357         in use, and use the current ABI.
38358         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
38359         Reported by Jim Meyering.
38360
38361 2008-06-09  Eric Blake  <ebb9@byu.net>
38362
38363         Work around environments that (stupidly) ignore SIGALRM.
38364         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
38365         before using alarm().
38366         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38367         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38368         Reported by Ian Beckwith <ianb@erislabs.net>.
38369
38370         Produce autobuild blurb earlier in log.
38371         * modules/autobuild (configure.ac-early): Move AB_INIT here.
38372
38373 2008-06-09  Jim Meyering  <meyering@redhat.com>
38374         and Ondřej Vašík  <ovasik@redhat.com>
38375
38376         utimens.c: correct kernel bug work-around
38377         Ondřej Vašík found that the invalid return value of 280 indicates
38378         failure, not success, and the kernel bug we're trying to work
38379         around affects not just the utimensat call, but also the fallback
38380         futimens call.
38381         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
38382         not success.
38383         [HAVE_FUTIMENS]: Use the same work-around, here.
38384
38385 2008-06-09  Jim Meyering  <meyering@redhat.com>
38386
38387         add more guards around definition of ACE_-related code
38388         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
38389         ALLOW and ACE_OWNER are also defined.
38390
38391 2008-06-08  Bruno Haible  <bruno@clisp.org>
38392
38393         * lib/acl-internal.h: Add me as co-author.
38394         * lib/file-has-acl.c: Likewise.
38395         * lib/set-mode-acl.c: Likewise.
38396         * lib/copy-acl.c: Likewise.
38397
38398 2008-06-08  Bruno Haible  <bruno@clisp.org>
38399
38400         Add support for AIX ACLs.
38401         * lib/acl-internal.h (acl_nontrivial): New declaration.
38402         * lib/file-has-acl.c (acl_nontrivial): New function.
38403         (file_has_acl): Add implementation using AIX 4 ACL API.
38404         * lib/set-mode-acl.c (qset_acl): Likewise.
38405         * lib/copy-acl.c (qcopy_acl): Likewise.
38406
38407 2008-06-08  Bruno Haible  <bruno@clisp.org>
38408
38409         Add support for HP-UX ACLs.
38410         * lib/acl-internal.h (acl_nontrivial): New declaration.
38411         * lib/file-has-acl.c (acl_nontrivial): New function.
38412         (file_has_acl): Add implementation using HP-UX 11 ACL API.
38413         * lib/set-mode-acl.c (qset_acl): Likewise.
38414         * lib/copy-acl.c (qcopy_acl): Likewise.
38415
38416 2008-06-08  Bruno Haible  <bruno@clisp.org>
38417
38418         Add support for Cygwin ACLs.
38419         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
38420         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
38421         the chmod_or_fchmod call.
38422         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
38423
38424 2008-06-08  Bruno Haible  <bruno@clisp.org>
38425
38426         Fix bug with setuid modes in Solaris 10+ code.
38427         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
38428         succeeded, when the mode contains some special bits.
38429
38430 2008-06-08  Bruno Haible  <bruno@clisp.org>
38431
38432         Add support for Solaris 7..10 ACLs.
38433         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
38434         declarations.
38435         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
38436         functions.
38437         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
38438         * lib/set-mode-acl.c (qset_acl): Likewise.
38439         * lib/copy-acl.c (qcopy_acl): Likewise.
38440
38441 2008-06-08  Bruno Haible  <bruno@clisp.org>
38442
38443         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
38444         declaration.
38445         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
38446         (acl_access_nontrivial): Remove MacOS X case.
38447         (file_has_acl): Use acl_extended_nontrivial.
38448         * lib/copy-acl.c (qcopy_acl): Likewise.
38449
38450 2008-06-08  Bruno Haible  <bruno@clisp.org>
38451
38452         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
38453
38454 2008-06-08  Jim Meyering  <meyering@redhat.com>
38455
38456         * modules/acl (Maintainer): Add Bruno Haible.
38457
38458 2008-06-07  Bruno Haible  <bruno@clisp.org>
38459
38460         Improve support for Tru64 ACLs.
38461         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
38462         ACL on OSF/1.
38463
38464 2008-06-07  Bruno Haible  <bruno@clisp.org>
38465
38466         Add support for MacOS X ACLs.
38467         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
38468         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
38469         * lib/set-mode-acl.c (qset_acl): Likewise.
38470         * lib/copy-acl.c (qcopy_acl): Likewise.
38471
38472 2008-06-07  Bruno Haible  <bruno@clisp.org>
38473
38474         Fix memory leak introduced on 2008-05-22.
38475         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
38476         use.
38477
38478 2008-06-07  Bruno Haible  <bruno@clisp.org>
38479
38480         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
38481         to construct an empty ACL.
38482
38483 2008-06-07  Bruno Haible  <bruno@clisp.org>
38484
38485         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
38486         precisely.
38487         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
38488
38489 2008-06-07  Bruno Haible  <bruno@clisp.org>
38490
38491         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
38492         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
38493
38494 2008-06-07  Bruno Haible  <bruno@clisp.org>
38495
38496         * doc/posix-functions/_setjmp.texi: Explain the use of this function
38497         regardless of POSIX.
38498         * doc/posix-functions/_longjmp.texi: Likewise.
38499         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
38500         SystemV platform in this case.
38501
38502 2008-06-06  Eric Blake  <ebb9@byu.net>
38503
38504         Document abort() bugs.
38505         * doc/posix-functions/abort.texi (abort): Mention anomalies.
38506
38507         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
38508         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
38509         sigsetjmp.
38510         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
38511         siglongjmp, but only as a macro.
38512         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
38513         is obsolete.
38514         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
38515
38516         Tweak documentation to cover cygwin argz bugs.
38517         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
38518         argz bug fix; no code change needed since no cygwin releases
38519         occurred between the last fix and the bug being tested.
38520         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
38521         module and recently fixed cygwin bugs.
38522         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
38523         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
38524         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
38525         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
38526         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
38527         Likewise.
38528         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
38529         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
38530         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
38531         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
38532         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
38533         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
38534         Likewise.
38535
38536         Avoid gcc warning on cygwin.
38537         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
38538         !ACL_NO_TRIVIAL]: Avoid unused variable.
38539
38540 2008-06-05  Eric Blake  <ebb9@byu.net>
38541
38542         Be tolerant of UNKNOWN version in gnulib-tool test dir.
38543         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
38544         git-version-gen fails to come up with a version.
38545         Reported by Simon Josefsson.
38546
38547 2008-06-05  Jim Meyering  <meyering@redhat.com>
38548             Paul Eggert  <eggert@cs.ucla.edu>
38549
38550         utimens.c: work around a probable Linux kernel bug
38551         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
38552         appears to be a kernel bug that causes utimensat to return 280
38553         instead of 0, indicating success.
38554
38555 2008-06-04  Bruno Haible  <bruno@clisp.org>
38556
38557         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
38558         2008-06-01 commit.
38559
38560 2008-06-04  Bruno Haible  <bruno@clisp.org>
38561
38562         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
38563         * lib/file-has-acl.c (acl_access_nontrivial): New function.
38564         (file_has_acl): Use it. Save errno afterwards.
38565         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
38566
38567 2008-06-03  Bruno Haible  <bruno@clisp.org>
38568
38569         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
38570         draft code. Simplify #ifs.
38571         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
38572         Put Solaris code after POSIX-draft code. Fix comments regarding
38573         Solaris 10, HP-UX. Mention Cygwin.
38574         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
38575
38576 2008-06-03  Eric Blake  <ebb9@byu.net>
38577
38578         Provide fallback for older kernels.
38579         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
38580         Provide runtime fallback if kernel lacks support.
38581         Reported by Mike Frysinger.
38582
38583 2008-06-02  Bruno Haible  <bruno@clisp.org>
38584
38585         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
38586         it exists.
38587
38588 2008-06-02  Bruno Haible  <bruno@clisp.org>
38589
38590         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
38591         * lib/copy-acl.c (qcopy_acl): Update comment.
38592
38593 2008-06-02  Bruno Haible  <bruno@clisp.org>
38594
38595         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
38596         like ACL APIs.
38597
38598 2008-06-02  Bruno Haible  <bruno@clisp.org>
38599
38600         * tests/test-file-has-acl.sh: Use different code for Cygwin.
38601         * tests/test-set-mode-acl.sh: Likewise.
38602         * tests/test-copy-acl.sh: Likewise.
38603         * tests/test-copy-file.sh: Likewise.
38604
38605 2008-06-02  Bruno Haible  <bruno@clisp.org>
38606
38607         * tests/test-file-has-acl.sh: Remove unused code.
38608
38609 2008-06-01  Bruno Haible  <bruno@clisp.org>
38610
38611         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
38612         (copy_acl): Just a wrapper around qcopy_acl that emits the error
38613         messages.
38614         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
38615
38616 2008-06-01  Bruno Haible  <bruno@clisp.org>
38617
38618         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
38619         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
38620         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
38621         APIs.
38622         * modules/acl-tests (configure.ac): Remove tests now contained in
38623         m4/acl.m4.
38624
38625 2008-06-02  Jim Meyering  <meyering@redhat.com>
38626
38627         announce-gen: use a better key-server host name
38628         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
38629         it may be more consistently reliable.  Suggested by Werner Koch
38630         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
38631
38632 2008-06-01  Bruno Haible  <bruno@clisp.org>
38633
38634         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
38635         Reported by Voroskoi Andras <voroskoi@gmail.com>.
38636
38637 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
38638
38639         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
38640
38641 2008-06-01  Bruno Haible  <bruno@clisp.org>
38642
38643         New ACL tests.
38644         * tests/test-file-has-acl.sh: New file.
38645         * tests/test-file-has-acl.c: New file.
38646         * tests/test-set-mode-acl.sh: New file.
38647         * tests/test-set-mode-acl.c: New file.
38648         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
38649         * tests/test-copy-acl.c: New file.
38650         * modules/acl-tests: New file, based on modules/copy-file-tests.
38651         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
38652         (Depends-on): Add acl-tests.
38653         (configure.ac): Remove checks.
38654         (Makefile.am): Don't create test-sameacls program here any more.
38655
38656 2008-06-01  Bruno Haible  <bruno@clisp.org>
38657
38658         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
38659         * tests/test-sameacls.c: Include progname.h.
38660         (main): Invoke set_program_name. Portability fixes for MacOS X,
38661         Solaris, HP-UX.
38662
38663 2008-06-01  Bruno Haible  <bruno@clisp.org>
38664
38665         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
38666         function.
38667         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
38668
38669 2008-06-01  Bruno Haible  <bruno@clisp.org>
38670
38671         * modules/rpmatch (Depends-on): Add strdup.
38672
38673 2008-06-01  Bruno Haible  <bruno@clisp.org>
38674
38675         * lib/pipe.c: Include unistd-safer.h.
38676         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
38677         * modules/pipe (Depends-on): Add unistd-safer.
38678
38679 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38680
38681         * modules/autobuild (configure.ac): Call AB_INIT.
38682
38683 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38684
38685         * tests/test-getaddrinfo.c: Don't print debug messages by default.
38686         Suggested by Bruno Haible <bruno@clisp.org>.
38687
38688 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38689
38690         * tests/test-base64.c: Cast size_t to unsigned long when invoking
38691         printf.  Use %lu instead of %d.  Reported by Bruno Haible
38692         <bruno@clisp.org>.
38693
38694 2008-05-29  Eric Blake  <ebb9@byu.net>
38695
38696         Prefer new POSIX 200x interfaces over futimesat.
38697         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
38698         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
38699         when available.
38700         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
38701
38702 2008-05-28  Bruno Haible  <bruno@clisp.org>
38703
38704         * modules/stpcpy (License): Change to LGPLv2+.
38705         Requested by David Lutterkort <dlutter@redhat.com>.
38706
38707 2008-05-27  Bruno Haible  <bruno@clisp.org>
38708
38709         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
38710         current mingw.
38711         Reported by Jose E. Marchesi <jemarch@gnu.org>.
38712
38713 2008-05-27  Bruno Haible  <bruno@clisp.org>
38714
38715         * modules/iconv_open (Link): New section, from module 'iconv'.
38716         * modules/striconv (Link): Likewise.
38717         * modules/striconveh (Link): Likewise.
38718         * modules/xstriconv (Link): Likewise.
38719         * modules/unicodeio (Link): Likewise.
38720         * modules/propername (Link): Likewise.
38721         Reported by Jim Meyering.
38722
38723 2008-05-26  Jim Meyering  <meyering@redhat.com>
38724
38725         sha256: do not artificially restrict buffer length to be < 2^32
38726         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
38727         uint32_t to size_t.
38728         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
38729         to match.
38730
38731         avoid unaligned access errors, e.g., on sparc
38732         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
38733         direct access through a possibly-unaligned uint64* pointer.
38734         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
38735         direct access through a possibly-unaligned uint32* pointer.
38736         Prompted by this patch from Tom "spot" Callaway:
38737         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
38738
38739         sha512.c: fix typo in comment
38740         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
38741
38742 2008-05-25  Bruno Haible  <bruno@clisp.org>
38743
38744         * lib/set-mode-acl.c: Renamed from lib/acl.c.
38745         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
38746         (Makefile.am): Update lib_SOURCES.
38747
38748 2008-05-25  Bruno Haible  <bruno@clisp.org>
38749
38750         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
38751
38752 2008-05-25  Jim Meyering  <meyering@redhat.com>
38753
38754         useless-if-before-free: freed expr may have white-space differences
38755         * build-aux/useless-if-before-free: Recognize cases in which the
38756         freed expression differs from the tested one in embedded white
38757         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
38758         $1 was used, so we can't make any regexp shy.  Improved tests now
38759         detect this.
38760
38761         useless-if-before-free: accept white space in the expression.
38762         * build-aux/useless-if-before-free: For now, any white space
38763         in the expression must be identical in the free argument.
38764
38765         useless-if-before-free: efficiency tweak
38766         * build-aux/useless-if-before-free: Make the expression-matching
38767         regexp "shy".
38768         Make the *outer* regexp shy, not the expr-matching one.
38769
38770         update code-in-comment to accept cast of free arg
38771         * build-aux/useless-if-before-free: Update regexp.
38772
38773 2008-05-25  Bruno Haible  <bruno@clisp.org>
38774
38775         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
38776         * modules/copy-file-tests (Files, Makefile.am): Update.
38777         * tests/test-copy-file.c (func_test_copy): Update.
38778
38779 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
38780
38781         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
38782
38783 2008-05-23  Bruno Haible  <bruno@clisp.org>
38784
38785         Improve support for ACLs on OSF/1.
38786         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
38787         Remove fallback for unknown flavors of ACLs.
38788
38789 2008-05-22  Bruno Haible  <bruno@clisp.org>
38790
38791         Add support for ACLs on OSF/1.
38792         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
38793         replacements.
38794         (acl_free_text): New macro fallback.
38795         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
38796         acl_free.
38797         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
38798         acl_free_text function. Require AC_C_INLINE.
38799
38800 2008-05-22  Bruno Haible  <bruno@clisp.org>
38801
38802         Make copy_acl work on MacOS X 10.5.
38803         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
38804         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
38805         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
38806         If MODE_INSIDE_ACL, don't assume that every system has the same text
38807         representation for ACLs as FreeBSD.
38808         * lib/copy-acl.c (copy_acl): Add support for platforms with
38809         !MODE_INSIDE_ACL.
38810         * lib/file-has-acl.c (file_has_acl): Likewise.
38811         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
38812         FreeBSD, MacOS X, or IRIX, respectively.
38813
38814 2008-05-22  Bruno Haible  <bruno@clisp.org>
38815
38816         * lib/acl.h: Don't include <sys/acl.h>.
38817         (GETACLCNT): Move fallback to lib/acl-internal.h.
38818         * lib/acl-internal.h: Include <sys/acl.h> here.
38819         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
38820
38821 2008-05-22  Bruno Haible  <bruno@clisp.org>
38822
38823         Split off copy_acl function to separate file.
38824         * lib/copy-acl.c: New file, extracted from lib/acl.c.
38825         * lib/acl.c (copy_acl): Moved function to separate file.
38826         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
38827         * modules/acl (Files): Add lib/copy-acl.c.
38828         (Makefiles.am): Augment lib_SOURCES.
38829
38830 2008-05-22  Bruno Haible  <bruno@clisp.org>
38831
38832         * modules/copy-file-tests: New file.
38833         * tests/test-copy-file.sh: New file.
38834         * tests/test-copy-file.c: New file.
38835         * tests/test-copy-file-sameacls.c: New file.
38836
38837 2008-05-22  Eric Blake  <ebb9@byu.net>
38838
38839         Avoid gcc warning.
38840         * tests/test-memcmp.c (main): Pass NULL indirectly.
38841
38842 2008-05-21  Bruno Haible  <bruno@clisp.org>
38843
38844         Add reference doc about ACLs.
38845         * doc/acl-resources.txt: New file.
38846         * doc/acl-cygwin.txt: New file.
38847
38848 2008-05-21  Bruno Haible  <bruno@clisp.org>
38849
38850         Avoid one more warning from gcc.
38851         * lib/vasnprintf.c (IF_LINT): Update comments.
38852         (VASNPRINTF): Use it also for the 'prefix' array initializer.
38853
38854 2008-05-21  Jim Meyering  <meyering@redhat.com>
38855
38856         avoid a warning from gcc
38857         * lib/vasnprintf.c (IF_LINT): Define.
38858         (scale10_round_decimal_long_double):
38859         Use it to avoid a "may be used uninitialized" warning.
38860         (scale10_round_decimal_double): Likewise.
38861
38862 2008-05-21  Simon Josefsson  <simon@josefsson.org>
38863
38864         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
38865         declared.
38866
38867 2008-05-20  Bruno Haible  <bruno@clisp.org>
38868
38869         * tests/test-memcmp.c (main): Test also the sign of the result. Test
38870         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
38871
38872 2008-05-20  Simon Josefsson  <simon@josefsson.org>
38873
38874         * modules/memcmp-tests: New file.
38875         * tests/test-memcmp.c: New file.
38876
38877 2008-05-19  Bruno Haible  <bruno@clisp.org>
38878
38879         * modules/propername (Notice, configure.ac): Put quoted "..." into
38880         --keyword option.
38881         * lib/propername.h: Update comments accordingly.
38882         Reported by Eric Blake.
38883
38884 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
38885
38886         * modules/getpass-gnu (Depends-on): Add fseeko.
38887
38888 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38889
38890         * modules/base64-tests: New file.
38891
38892 2008-05-19  Bo Borgerson <gigabo@gmail.com>
38893
38894         * lib/base64.c (base64_decode_ctx): If a decode context structure
38895         was passed in use it to ignore newlines.  If a context structure
38896         was _not_ passed in, continue to treat newlines as garbage (this
38897         is the historical behavior).  Formerly base64_decode.
38898         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38899         takes a decode context structure.
38900         * lib/base64.h (base64_decode): Macro for four-argument calls.
38901         (base64_decode_alloc): Likewise.
38902         * lib/base64.c (base64_decode_ctx): If a decode context structure
38903         was passed in use it to ignore newlines.  If a context structure
38904         was _not_ passed in, continue to treat newlines as garbage (this
38905         is the historical behavior).  Formerly base64_decode.
38906         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38907         takes a decode context structure.
38908         * lib/base64.h (base64_decode): Macro for four-argument calls.
38909         (base64_decode_alloc): Likewise.
38910
38911 2008-05-19  Jim Meyering  <meyering@redhat.com>
38912
38913         avoid a warning from gcc
38914         * lib/trim.c (IF_LINT): Define.
38915         (trim2): Use it to avoid a "may be used uninitialized" warning.
38916
38917         Fix doc typo.
38918         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
38919
38920 2008-05-19  Bruno Haible  <bruno@clisp.org>
38921
38922         * doc/glibc-functions/getpass.texi: Document limits of other
38923         implementations.
38924
38925 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38926             Bruno Haible <bruno@clisp.org>
38927
38928         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
38929
38930 2008-05-18  Bruno Haible  <bruno@clisp.org>
38931
38932         * modules/propername: New file, from GNU gettext.
38933         * lib/propername.h: New file, from GNU gettext.
38934         * lib/propername.c: New file, from GNU gettext.
38935         * MODULES.html.sh (Internationalization functions): Add propername.
38936
38937 2008-05-16  Jim Meyering  <meyering@redhat.com>
38938             Bruno Haible  <bruno@clisp.org>
38939
38940         Avoid some warnings from "gcc -Wshadow".
38941         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
38942
38943 2008-05-15  Eric Blake  <ebb9@byu.net>
38944
38945         Extend previous patch to cygwin 1.7.0.
38946         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
38947         fast implementation in cygwin >= 1.7.0.
38948         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38949         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38950
38951 2008-05-15  Bruno Haible  <bruno@clisp.org>
38952
38953         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
38954         implementation in glibc >= 2.9.
38955         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38956         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38957
38958 2008-05-15  Bruno Haible  <bruno@clisp.org>
38959
38960         * MODULES.html.sh (Internationalization functions): Remove linebreak.
38961         (Unicode string functions): Add unilbrk/*.
38962         Reported by Karl Berry.
38963
38964 2008-05-15  Eric Blake  <ebb9@byu.net>
38965
38966         Fix violation of <stdbool.h> replacement in regex.
38967         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
38968         * lib/regexec.c (re_search_internal): Likewise.
38969         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
38970
38971 2008-05-15  Jim Meyering  <meyering@redhat.com>
38972
38973         avoid distracting test output when git or cvs is not found
38974         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
38975         * tests/test-vc-list-files-git.sh: Likewise.
38976
38977 2008-05-15  Eric Blake  <ebb9@byu.net>
38978
38979         Glibc finally accepted the memmem speedup code, bugzilla #5514.
38980         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
38981         glibc version.
38982         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
38983         * doc/posix-functions/strstr.texi (strstr): Likewise.
38984         * lib/str-two-way.h (MAX): Sychronize with glibc.
38985
38986 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
38987
38988         * lib/regcomp.c (optimize_utf8): Add a note on why we test
38989         opr.ctx_type.
38990         (calc_first): Initialize constraint field.
38991         (duplicate_node_closure): Use it instead of special casing ANCHORS.
38992         Fix grammar.
38993         (duplicate_node): Merge constraint field for all node types.
38994         (calc_eclosure_iter): Look at constraint field for all node types.
38995         * lib/regex_internal.c (create_cd_newstate): Don't look at
38996         opr.ctx_type.
38997
38998 2008-05-14  Bruno Haible  <bruno@clisp.org>
38999
39000         Help GCC to do better code generation.
39001         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
39002         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
39003         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
39004         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
39005         Declare with attribute 'malloc' if supported.
39006
39007 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
39008
39009         use "echo STR|wc -c" rather than unportable "expr length STR"
39010         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
39011         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
39012
39013 2008-05-14  Jim Meyering  <meyering@redhat.com>
39014
39015         use dd ibs=$n count=1 ... rather than less-portable head -c$n
39016         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
39017         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
39018         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
39019         via Collin Lasse.
39020
39021 2008-05-14  Eric Blake  <ebb9@byu.net>
39022
39023         Avoid quadratic growth in gl_LIBSOURCES.
39024         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
39025         Suggested by Bruno Haible.
39026
39027         Test xmemdup0.
39028         * modules/xmemdup0-tests: New file.
39029         * tests/test-xmemdup0.c: Likewise.
39030
39031 2008-05-13  Eric Blake  <ebb9@byu.net>
39032
39033         Split xmemdup0 into its own module.
39034         * modules/xmemdup0: New file.
39035         * lib/xmemdup0.h: Likewise.
39036         * lib/xmemdup0.c: Likewise.
39037         * MODULES.html.sh (Memory management functions): Add xmemdup0.
39038         * lib/xalloc.h (xmemdup0): Remove.
39039         * lib/xmalloc.c (xmemdup0): Likewise.
39040
39041 2008-05-13  Eric Blake  <ebb9@byu.net>
39042             Bruno Haible  <bruno@clisp.org>
39043
39044         Reduce number of forks required during autoconf.
39045         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
39046         and gl_LIBSOURCES_DIR.
39047         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
39048         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
39049         m4_syscmd per file.
39050         <m4_foreach_w>: Move...
39051         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
39052
39053 2008-05-13  Eric Blake  <ebb9@byu.net>
39054
39055         * gnulib-tool: Fix various comment typos.
39056
39057 2008-05-12  Bruno Haible  <bruno@clisp.org>
39058
39059         Tailor the linebreaking algorithm.
39060         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
39061
39062 2008-05-12  Bruno Haible  <bruno@clisp.org>
39063
39064         Update to Unicode 5.0.0.
39065         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
39066         LBP_JV, LBP_JT. Redistribute values.
39067         (unilbrk_table): Change size.
39068         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
39069         Unicode TR#14 rev. 22.
39070         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
39071         LBP_JV, LBP_JT. Redistribute values.
39072         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
39073         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
39074         Update.
39075         * lib/unilbrk/lbrkprop1.h: Regenerated.
39076         * lib/unilbrk/lbrkprop2.h: Regenerated.
39077         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
39078         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
39079         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
39080         Likewise.
39081         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
39082         Likewise.
39083         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
39084         result.
39085         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
39086         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
39087         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
39088         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
39089         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
39090         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
39091
39092 2008-05-11  Bruno Haible  <bruno@clisp.org>
39093
39094         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
39095
39096 2008-05-11  Bruno Haible  <bruno@clisp.org>
39097
39098         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
39099         * modules/unilbrk/gen-lbrk: New file.
39100
39101 2008-05-11  Bruno Haible  <bruno@clisp.org>
39102
39103         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
39104         * m4/sha512.m4 (gl_SHA512): Likewise.
39105
39106 2008-05-11  Jim Meyering  <meyering@redhat.com>
39107
39108         New modules: crypto/sha256, crypto/sha512 (from coreutils)
39109         * modules/crypto/sha256: New file.
39110         * modules/crypto/sha512: Likewise.
39111         * lib/sha256.c: Likewise.
39112         * lib/sha256.h: Likewise.
39113         * lib/sha512.c: Likewise.
39114         * lib/sha512.h: Likewise.
39115         * lib/u64.h: Likewise.
39116         * m4/sha256.m4: Likewise.
39117         * m4/sha512.m4: Likewise.
39118         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
39119
39120 2008-05-10  Bruno Haible  <bruno@clisp.org>
39121
39122         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
39123         (Input/Output <stdio.h>): Add xprintf.
39124         (Signal handling <signal.h>): Add strsignal.
39125         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
39126         (Core language properties): Add func.
39127         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
39128         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
39129         strings.
39130         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
39131         (Input/output): New section.
39132         (File system functions): Add openat-die, stat-macros.
39133         (Networking functions): Add sockets.
39134         (Unicode string functions): Add unictype/*.
39135         (Support for building libraries and executables): Add gperf.
39136         (Support for building documentation): Add agpl-3.0.
39137         (Misc): Add nocrash.
39138
39139 2008-05-10  Bruno Haible  <bruno@clisp.org>
39140
39141         * modules/unictype/gen-ctype: New file.
39142
39143 2008-05-10  Jim Meyering  <meyering@redhat.com>
39144
39145         Make chdir-safer.c more efficient on a system with no symlinks.
39146         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
39147         also if ELOOP is zero.  Suggested by Bruno Haible.
39148
39149         Make chdir-safer.c slightly safer.
39150         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
39151         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
39152
39153         Avoid compile failure on systems without ELOOP (like mingw).
39154         * lib/chdir-safer.c (ELOOP): Define if not already defined.
39155         Reported by Bruno Haible.
39156
39157 2008-05-10  Bruno Haible  <bruno@clisp.org>
39158
39159         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
39160         (is_utf8_encoding): Use a case-insensitive comparison.
39161         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
39162         streq.
39163
39164 2008-05-10  Bruno Haible  <bruno@clisp.org>
39165
39166         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
39167         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
39168         * lib/unilbrk/ulc-common.h (iconv_string_length,
39169         iconv_string_keeping_offsets): Remove declarations.
39170         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
39171         Don't include <iconv.h>, streq.h, xsize.h.
39172         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
39173         conversion.
39174         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
39175         <iconv.h>, streq.h, xsize.h.
39176         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
39177         conversion.
39178         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
39179         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
39180         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
39181         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
39182
39183 2008-05-10  Bruno Haible  <bruno@clisp.org>
39184
39185         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
39186         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
39187
39188         * modules/unilbrk/u32-width-linebreaks-tests: New file.
39189         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
39190
39191         * modules/unilbrk/u16-width-linebreaks-tests: New file.
39192         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
39193
39194         * modules/unilbrk/u8-width-linebreaks-tests: New file.
39195         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
39196
39197         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
39198         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
39199
39200         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
39201         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
39202
39203         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
39204         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
39205
39206         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
39207         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
39208
39209 2008-05-10  Bruno Haible  <bruno@clisp.org>
39210
39211         Split up 'linebreak' module.
39212         * lib/unilbrk.h: New file, based on lib/linebreak.h.
39213         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
39214         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
39215         modifications.
39216         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
39217         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
39218         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
39219         lib/linebreak.c.
39220         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
39221         lib/linebreak.c.
39222         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
39223         lib/linebreak.c.
39224         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
39225         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
39226         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
39227         lib/linebreak.c.
39228         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
39229         lib/linebreak.c.
39230         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
39231         lib/linebreak.c.
39232         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
39233         lib/linebreak.c.
39234         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
39235         lib/linebreak.c.
39236         * modules/unilbrk/base: New file.
39237         * modules/unilbrk/tables: New file.
39238         * modules/unilbrk/u8-possible-linebreaks: New file.
39239         * modules/unilbrk/u16-possible-linebreaks: New file.
39240         * modules/unilbrk/u32-possible-linebreaks: New file.
39241         * modules/unilbrk/ulc-common: New file.
39242         * modules/unilbrk/ulc-possible-linebreaks: New file.
39243         * modules/unilbrk/u8-width-linebreaks: New file.
39244         * modules/unilbrk/u16-width-linebreaks: New file.
39245         * modules/unilbrk/u32-width-linebreaks: New file.
39246         * modules/unilbrk/ulc-width-linebreaks: New file.
39247         * lib/linebreak.h: Remove file.
39248         * lib/linebreak.c: Remove file.
39249         * m4/linebreak.m4: Remove file.
39250         * modules/linebreak: Remove file.
39251         * NEWS: Mention the changes.
39252
39253 2008-05-09  Eric Blake  <ebb9@byu.net>
39254
39255         Add xmemdup0.
39256         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
39257         implementation.
39258         * lib/xmalloc.c (xmemdup0): New C implementation.
39259
39260 2008-05-08  Bruno Haible  <bruno@clisp.org>
39261
39262         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
39263
39264 2008-05-07  Eric Blake  <ebb9@byu.net>
39265
39266         Support cross-compilation of <wctype.h>.
39267         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
39268         AC_CACHE_CHECK.
39269
39270 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
39271
39272         * build-aux/vc-list-files: Add support for bzr.
39273
39274 2008-05-03  Jim Meyering  <meyering@redhat.com>
39275
39276         avoid failed assertion with tight malloc
39277         * tests/test-getndelim2.c: Correct an off-by-one assertion.
39278
39279 2008-05-03  Simon Josefsson  <simon@josefsson.org>
39280
39281         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
39282         are needed from arpa/inet.h.
39283         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
39284         Reported by Bruno Haible.
39285
39286 2008-05-02  Jim Meyering  <meyering@redhat.com>
39287
39288         avoid compilation error on FreeBSD 6
39289         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
39290
39291 2008-05-01  Jim Meyering  <meyering@redhat.com>
39292
39293         useless-if-before-free: correct --help's exit status description
39294         * build-aux/useless-if-before-free (usage): Like grep, exit 0
39295         for one or more matches, etc.  Reported by Bruno Haible.
39296
39297         vc-list-files: make the stand-alone gnulib test work
39298         * modules/vc-list-files-tests (configure.ac):
39299         Define and AC_SUBST abs_aux_dir.
39300         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
39301         $(abs_top_srcdir) to each script and having each of them
39302         duplicate the work of setting PATH, set PATH here, using
39303         the new variable, abs_aux_dir instead.
39304         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
39305         * tests/test-vc-list-files-git.sh: Likewise.
39306         Reported by Bruno Haible.
39307
39308 2008-05-01  Bruno Haible  <bruno@clisp.org>
39309
39310         * lib/getndelim2.c (getndelim2): Fix newsize computation during
39311         reallocation. Rename 'done' to 'found_delimiter'.
39312
39313 2008-05-01  Jim Meyering  <meyering@redhat.com>
39314
39315         vc-list-files: accommodate /bin/sh like the one from Solaris 10
39316         * build-aux/vc-list-files: Use `...`, not $(...).
39317
39318 2008-04-30  Jim Meyering  <meyering@redhat.com>
39319
39320         add tests for vc-list-files
39321         * modules/vc-list-files-tests: New module.
39322         * tests/test-vc-list-files-cvs.sh: New file.
39323         * tests/test-vc-list-files-git.sh: New file.
39324
39325         avoid a warning from gcc
39326         * lib/getndelim2.c (IF_LINT): Define.
39327         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
39328
39329         vc-list-files: work properly with build-aux/cvsu, too
39330         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
39331         to all cvs-based clauses.
39332
39333         vc-list-files: work properly in the CVS+awk case, too
39334         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
39335
39336         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
39337         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
39338         take more than one file argument, so .  Add quotes, just in case $dir
39339         ever contains a shell meta-character.  Prompted by Soren Hansen in
39340         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
39341
39342 2008-04-29  Eric Blake  <ebb9@byu.net>
39343
39344         Optimize getndelim2 to use block operations when possible.
39345         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
39346         freadseek, and memchr2.
39347         * lib/getndelim2.c (getndelim2): Use them for block reads.
39348
39349 2008-04-29  Bruno Haible  <bruno@clisp.org>
39350
39351         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
39352         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39353         * modules/inet_ntop (Depends-on): Add extensions.
39354         * modules/inet_pton (Depends-on): Likewise.
39355         Reported by Simon Josefsson.
39356
39357 2008-04-29  Jim Meyering  <meyering@redhat.com>
39358
39359         When the is more than one match in a block, match all of them.
39360         * build-aux/useless-if-before-free: Iterate through each block
39361         until there are no more matches.
39362
39363         Fix broken useless-if-before-free script.
39364         * build-aux/useless-if-before-free: Fix typo: missing "?" after
39365         the expression to match cast of argument to free-like function.
39366
39367 2008-04-29  Eric Blake  <ebb9@byu.net>
39368
39369         Use new header.
39370         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
39371
39372 2008-04-29  Jim Meyering  <meyering@redhat.com>
39373
39374         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
39375         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
39376         by gnulib to exist and to declare e.g., inet_ntop.
39377         Don't include "inet_ntop.h", now removed.
39378
39379         * m4/arpa_inet_h.m4: Remove trailing blanks.
39380
39381 2008-04-29  Eric Blake  <ebb9@byu.net>
39382
39383         Silence valgrind on safe reads beyond potential array bounds.
39384         * lib/rawmemchr.valgrind: New file.
39385         * lib/strchrnul.valgrind: Likewise.
39386         * modules/rawmemchr (Files): Distribute new file.
39387         * modules/strchrnul (Files): Likewise.
39388         Suggested by Bruno Haible.
39389
39390 2008-04-29  Bruno Haible  <bruno@clisp.org>
39391
39392         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
39393         (inet_ntop, inet_pton): Change portability warning's wording.
39394         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
39395         Invoke gl_CHECK_NEXT_HEADERS.
39396         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
39397         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
39398         set ARPA_INET_H.
39399         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39400         * modules/arpa_inet (Description): No longer only for systems that
39401         lack it.
39402         (Depends-on): Add include_next.
39403         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
39404         HAVE_ARPA_INET_H.
39405
39406 2008-04-29  Jim Meyering  <meyering@redhat.com>
39407
39408         * modules/mkdir (License): Re-license as LGPLv2+.
39409
39410 2008-04-29  Bruno Haible  <bruno@clisp.org>
39411
39412         * modules/rawmemchr (Maintainer): Set to Eric.
39413         * modules/strchrnul (Maintainer): Likewise.
39414
39415 2008-04-29  Simon Josefsson  <simon@josefsson.org>
39416
39417         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
39418         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
39419
39420         * modules/arpa_inet (arpa/inet.h): Use them.
39421
39422 2008-04-28  Eric Blake  <ebb9@byu.net>
39423
39424         Test getndelim2.
39425         * modules/getndelim2-tests: New file.
39426         * tests/test-getndelim2.c: Likewise.
39427         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
39428         stream.
39429         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
39430
39431         * MODULES.html.sh: Document new module.
39432
39433 2008-04-20  Bruno Haible  <bruno@clisp.org>
39434
39435         * lib/c-stack.c (die): Use raise.
39436         * modules/c-stack (Depends-on): Add raise.
39437
39438 2008-04-28  Bruno Haible  <bruno@clisp.org>
39439
39440         Expect rpmatch to be declared.
39441         * lib/yesno.c (rpmatch): Remove declaration.
39442
39443         Declare rpmatch.
39444         * lib/stdlib.in.h (rpmatch): New declaration.
39445         * lib/rpmatch.c: Include <stdlib.h> first.
39446         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
39447         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
39448         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
39449         HAVE_RPMATCH.
39450         * modules/rpmatch (Depends-on): Add stdlib, extensions.
39451         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39452         (Include): Set to <stdlib.h>.
39453         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
39454         HAVE_RPMATCH.
39455         * NEWS: Document the change.
39456
39457 2008-04-28  Bruno Haible  <bruno@clisp.org>
39458
39459         Change rpmatch to use nl_langinfo when appropriate.
39460         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
39461         (N_): New macro.
39462         (localized_pattern): New function/macro.
39463         (try): Remove match, nomatch arguments. Copy the pattern into safe
39464         memory before caching it.
39465         (rpmatch): Use localized_pattern. Add translator comments.
39466         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
39467         Suggested by Eric Blake.
39468         * modules/rpmatch (Depends-on): Add stdbool.
39469
39470 2008-04-28  Eric Blake  <ebb9@byu.net>
39471
39472         Add rawmemchr module, matching glibc.
39473         * modules/string (Makefile.am): New indicator.
39474         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
39475         * lib/string.in.h (rawmemchr): Declare when appropriate.
39476         * modules/rawmemchr: New file.
39477         * m4/rawmemchr.m4: Likewise.
39478         * lib/rawmemchr.c: Likewise.
39479         * modules/rawmemchr-tests: Likewise.
39480         * tests/test-rawmemchr.c: Likewise.
39481         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
39482         module.
39483         * modules/strchrnul (Depends-on): Add rawmemchr.
39484         * lib/strchrnul.c (strchrnul): Optimize a corner case.
39485
39486         Whitespace cleanup.
39487         * tests/test-strchrnul.c: Reindent.
39488         * lib/strchrnul.c: Likewise.
39489
39490         Optimize and test strchrnul.
39491         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
39492         * modules/strchrnul-tests: New file.
39493         * tests/test-strchrnul.c: Likewise.
39494
39495         Remove intprops dependency.
39496         * modules/memchr (Depends-on): Remove intprops.
39497         * modules/memrchr (Depends-on): Likewise.
39498         * modules/memchr2 (Depends-on): Likewise.
39499         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
39500         * lib/memrchr.c (__memrchr): Likewise.
39501         * lib/memrchr2.c (memchr2): Likewise.
39502         Reported by Simon Josefsson.
39503
39504 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39505
39506         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
39507         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39508
39509 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39510
39511         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
39512
39513         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
39514
39515         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
39516
39517         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
39518         declarations.
39519         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
39520
39521         * m4/inet_pton.m4: Don't check for header files.
39522
39523         * m4/inet_ntop.m4: Don't check for header files.
39524
39525 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39526
39527         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
39528         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
39529         trigger for cygwin).
39530         Reported by Bruno Haible  <bruno@clisp.org>.
39531
39532 2008-04-28  Bruno Haible  <bruno@clisp.org>
39533
39534         * doc/posix-functions/strdup.texi: Mention mingw problem.
39535
39536 2008-04-27  Bruno Haible  <bruno@clisp.org>
39537
39538         * modules/stat-time-tests (Depends-on): Add sleep.
39539         * tests/test-stat-time.c (force_unlink): New function.
39540         (cleanup): Use it.
39541         (test_mtime): Remove the ctime related tests.
39542         (test_ctime): New function, containing the ctime related tests.
39543         (main): Call test_ctime, except on native Windows platforms.
39544
39545 2008-04-27  Bruno Haible  <bruno@clisp.org>
39546
39547         * lib/rpmatch.c (rpmatch): Add some comments.
39548         Reported by James Youngman <jay@gnu.org>.
39549
39550 2008-04-27  Bruno Haible  <bruno@clisp.org>
39551
39552         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
39553         quiet NaNs.
39554
39555 2008-04-27  Bruno Haible  <bruno@clisp.org>
39556
39557         Make test-yesno.sh work on mingw.
39558         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
39559         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
39560         (main): Set stdin to binary mode.
39561         * modules/yesno-tests (Depends-on): Add binary-io.
39562
39563 2008-04-27  Bruno Haible  <bruno@clisp.org>
39564
39565         Fix 'isfinite' on x86, x86_64, ia64 platforms.
39566         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
39567         argument that lie outside the IEEE 854 domain.
39568         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
39569         (gl_ISFINITE): Use it.
39570         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
39571
39572 2008-04-27  Bruno Haible  <bruno@clisp.org>
39573
39574         Allow local renaming in config.h.
39575         * lib/memrchr.c (memrchr): Don't undefine outside libc.
39576
39577 2008-04-27  Bruno Haible  <bruno@clisp.org>
39578
39579         * lib/memchr.c (__memchr): Change type of 'i'.
39580         * lib/memchr2.c (memchr2): Likewise.
39581
39582 2008-04-26  Eric Blake  <ebb9@byu.net>
39583         and Bruno Haible  <bruno@clisp.org>
39584
39585         Optimize and test memrchr.
39586         * modules/memrchr (Depends-on): Add intprops.
39587         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
39588         * modules/memrchr-tests: New file.
39589         * tests/test-memrchr.c: New file.
39590
39591 2008-04-26  Bruno Haible  <bruno@clisp.org>
39592
39593         Add tentative support for DragonFly BSD.
39594         * lib/stdio-impl.h: Add macros for DragonFly BSD.
39595         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
39596         fp.
39597         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39598         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
39599         * lib/fpurge.c (fpurge): Likewise.
39600         * lib/freadable.c (freaadable): Likewise.
39601         * lib/freadahead.c (freadahead): Likewise.
39602         * lib/freading.c (freading): Likewise.
39603         * lib/freadptr.c (freadptr): Likewise.
39604         * lib/freadseek.c (freadptrinc): Likewise.
39605         * lib/fseeko.c (fseeko): Likewise.
39606         * lib/fseterr.c (fseterr): Likewise.
39607         * lib/fwritable.c (fwritable): Likewise.
39608         * lib/fwriting.c (fwriting): Likewise.
39609
39610 2008-04-26  Bruno Haible  <bruno@clisp.org>
39611
39612         * lib/stdio-impl.h: New file.
39613         * lib/fbufmode.c: Include stdio-impl.h.
39614         (fbufmode): Use fp_, remove redundant #defines.
39615         * lib/fflush.c: Include stdio-impl.h.
39616         (clear_ungetc_buffer): Remove redundant #defines.
39617         * lib/fpurge.c: Include stdio-impl.h.
39618         (fpurge): Remove redundant #defines.
39619         * lib/freadable.c: Include stdio-impl.h.
39620         (freadable): Remove redundant #defines.
39621         * lib/freadahead.c: Include stdio-impl.h.
39622         (freadahead): Remove redundant #defines.
39623         * lib/freading.c: Include stdio-impl.h.
39624         (freading): Remove redundant #defines.
39625         * lib/freadptr.c: Include stdio-impl.h.
39626         (freadptr): Remove redundant #defines.
39627         * lib/freadseek.c: Include stdio-impl.h.
39628         (freadptrinc): Remove redundant #defines.
39629         * lib/fseeko.c: Include stdio-impl.h.
39630         (rpl_fseeko): Remove redundant #defines.
39631         * lib/fseterr.c: Include stdio-impl.h.
39632         (fseterr): Remove redundant #defines.
39633         * lib/fwritable.c: Include stdio-impl.h.
39634         (fwritable: Remove redundant #defines.
39635         * lib/fwriting.c: Include stdio-impl.h.
39636         (fwriting): Remove redundant #defines.
39637         * modules/fbufmode (Files): Add lib/stdio-impl.h.
39638         * modules/fflush (Files): Likewise.
39639         * modules/fpurge (Files): Likewise.
39640         * modules/freadable (Files): Likewise.
39641         * modules/freadahead (Files): Likewise.
39642         * modules/freading (Files): Likewise.
39643         * modules/freadptr (Files): Likewise.
39644         * modules/freadseek (Files): Likewise.
39645         * modules/fseeko (Files): Likewise.
39646         * modules/fseterr (Files): Likewise.
39647         * modules/fwritable (Files): Likewise.
39648         * modules/fwriting (Files): Likewise.
39649
39650 2008-04-26  Bruno Haible  <bruno@clisp.org>
39651
39652         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39653         restore_seek_optimization, update_fpos_cache): New functions, extracted
39654         from rpl_fflush.
39655         (rpl_fflush): Use them.
39656         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
39657         (gl_REPLACE_FFLUSH): Use it.
39658
39659 2008-04-26  Bruno Haible  <bruno@clisp.org>
39660
39661         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
39662         on Solaris.
39663         * tests/test-xstrtoimax.sh: Likewise.
39664         * tests/test-xstrtoumax.sh: Likewise.
39665         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39666
39667 2008-04-26  Bruno Haible  <bruno@clisp.org>
39668
39669         * modules/memchr-tests: New file.
39670         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
39671
39672 2008-04-26  Eric Blake  <ebb9@byu.net>
39673             Bruno Haible  <bruno@clisp.org>
39674
39675         * lib/memchr.c: Include intprops.h.
39676         (__memchr): Optimize parallel detection of matching bytes. Rename local
39677         variables. Add explanatory comments.
39678
39679 2008-04-26  Bruno Haible  <bruno@clisp.org>
39680
39681         Fix module 'memchr', broken since 2000-10-28.
39682         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
39683
39684 2008-04-26  Bruno Haible  <bruno@clisp.org>
39685
39686         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
39687         comments.
39688
39689 2008-04-25  Eric Blake  <ebb9@byu.net>
39690
39691         Use native fstatat on cygwin 1.7.0.
39692         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
39693         first.
39694
39695 2008-04-23  Eric Blake  <ebb9@byu.net>
39696
39697         Improve memchr2 performance.
39698         * lib/memchr2.c (memchr2): Further optimize parallel detection of
39699         NUL bytes.
39700         * modules/memchr2 (Depends-on): Use intprops.h.
39701
39702 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39703
39704         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
39705         an inline function instead of a CPP macro.  Patch by Ben Pfaff
39706         <blp@cs.stanford.edu>.
39707
39708 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39709
39710         * lib/arpa_inet.in.h: New file.
39711
39712         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
39713         (Makefile.am): Sed in substitute header file.
39714
39715         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
39716         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
39717
39718         * modules/inet_ntop (configure.ac): Use
39719         gl_ARPA_INET_MODULE_INDICATOR.
39720
39721         * modules/inet_pton (configure.ac): Use
39722         gl_ARPA_INET_MODULE_INDICATOR.
39723
39724 2008-04-22  Jim Meyering  <meyering@redhat.com>
39725
39726         * modules/verify (License): Re-license as LGPLv2+.
39727
39728 2008-04-22  Simon Josefsson  <simon@josefsson.org>
39729
39730         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
39731         parameter to void* as per POSIX standard (MinGW uses char*).
39732
39733 2008-04-21  Bruno Haible  <bruno@clisp.org>
39734
39735         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
39736         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
39737         Define to replacements if REPLACE_ISWCNTRL is 1.
39738         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
39739         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
39740         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
39741         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
39742         what it fixes.
39743         * doc/posix-functions/iswalpha.texi: Likewise.
39744         * doc/posix-functions/iswblank.texi: Likewise.
39745         * doc/posix-functions/iswcntrl.texi: Likewise.
39746         * doc/posix-functions/iswdigit.texi: Likewise.
39747         * doc/posix-functions/iswgraph.texi: Likewise.
39748         * doc/posix-functions/iswlower.texi: Likewise.
39749         * doc/posix-functions/iswprint.texi: Likewise.
39750         * doc/posix-functions/iswpunct.texi: Likewise.
39751         * doc/posix-functions/iswspace.texi: Likewise.
39752         * doc/posix-functions/iswupper.texi: Likewise.
39753         * doc/posix-functions/iswxdigit.texi: Likewise.
39754         Reported by Alain Guibert.
39755
39756 2008-04-21  Bruno Haible  <bruno@clisp.org>
39757
39758         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
39759         Patch by Alain Guibert.
39760
39761 2008-04-21  Bruno Haible  <bruno@clisp.org>
39762
39763         Fix test failures on mingw.
39764         * tests/test-xstrtol.c (print_no_progname): New function.
39765         (main): Install it in error_print_progname hook.
39766         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
39767         * tests/test-xstrtoimax.sh: Likewise.
39768         * tests/test-xstrtoumax.sh: Likewise.
39769
39770 2008-04-21  Bruno Haible  <bruno@clisp.org>
39771
39772         Fix test failure on mingw.
39773         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
39774
39775 2008-04-21  Bruno Haible  <bruno@clisp.org>
39776
39777         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
39778         Actually assign a value.
39779
39780 2008-04-20  Bruno Haible  <bruno@clisp.org>
39781
39782         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
39783         take 2.
39784         * lib/canonicalize.c (canonicalize_file_name): Elide if the
39785         'canonicalize-lgpl' module is also used.
39786         * lib/canonicalize-lgpl.c: Undo last change.
39787         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
39788
39789 2008-04-20  Bruno Haible  <bruno@clisp.org>
39790
39791         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
39792         config.h. Provide _mkdir based fallback for mingw.
39793         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
39794         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
39795         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
39796         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
39797         rather than defining mkdir in config.h.
39798         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
39799         (gl_SYS_STAT_H_DEFAULTS): New macro.
39800         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
39801         HAVE_IO_H any more.
39802         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
39803         HAVE_DECL_MKDIR and HAVE_IO_H.
39804
39805 2008-04-20  Bruno Haible  <bruno@clisp.org>
39806
39807         * lib/isapipe.c: Port to native Windows platforms.
39808
39809 2008-04-20  Bruno Haible  <bruno@clisp.org>
39810
39811         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
39812
39813 2008-04-21  Eric Blake  <ebb9@byu.net>
39814
39815         Work around preprocessors that don't handle UINTMAX_MAX.
39816         * lib/memchr2.c (memchr2): Avoid embedded #if.
39817         Reported by Alain Guibert, fix suggested by Bruno Haible.
39818
39819 2008-04-21  Simon Josefsson  <simon@josefsson.org>
39820
39821         * doc/posix-functions/strftime.texi (strftime): Explain better
39822         Windows incompatibility.  Suggested by Micah Cowan
39823         <micah@cowan.name>.
39824
39825 2008-04-20  Bruno Haible  <bruno@clisp.org>
39826
39827         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
39828         unistr/u8-mblen.
39829
39830 2008-04-20  Bruno Haible  <bruno@clisp.org>
39831
39832         Fix test failure on platforms with non-GNU iconv.
39833         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
39834         (U_TO_U8): Use it, rather than u16_to_u8.
39835         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
39836         units at the end of the input string.
39837         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
39838
39839 2008-04-20  Bruno Haible  <bruno@clisp.org>
39840
39841         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
39842         when the resulting length is 0.
39843         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
39844
39845 2008-04-20  Bruno Haible  <bruno@clisp.org>
39846
39847         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
39848         works.
39849         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
39850
39851 2008-04-20  Bruno Haible  <bruno@clisp.org>
39852
39853         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
39854         * modules/tsearch-tests (configure.ac): Test for initstate function.
39855
39856 2008-04-20  Bruno Haible  <bruno@clisp.org>
39857
39858         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
39859         for nlink_t if missing.
39860         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
39861
39862 2008-04-19  Bruno Haible  <bruno@clisp.org>
39863
39864         Work around snprintf bug on Linux libc5.
39865         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
39866         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39867         gl_SNPRINTF_SIZE1.
39868         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39869         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
39870         that test failed.
39871         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
39872         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
39873         * modules/snprintf (Files): Add m4/printf.m4.
39874         * modules/vsnprintf (Files): Likewise.
39875         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
39876         * doc/posix-functions/vsnprintf.texi: Likewise.
39877
39878 2008-04-19  Bruno Haible  <bruno@clisp.org>
39879
39880         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
39881         from 0.0058 to less than 10^-7.
39882
39883 2008-04-19  Bruno Haible  <bruno@clisp.org>
39884
39885         Fix rounding when a precision is given.
39886         * lib/vasnprintf.c (is_borderline): New function.
39887         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
39888         9...9x.
39889         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
39890         %e, %g.
39891         * tests/test-vasprintf-posix.c (test_function): Likewise.
39892         * tests/test-snprintf-posix.h (test_function): Likewise.
39893         * tests/test-sprintf-posix.h (test_function): Likewise.
39894         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
39895         * tests/test-printf-posix.h (test_function): Likewise.
39896         * tests/test-printf-posix.output: Update.
39897         Reported by John Darrington <john@darrington.wattle.id.au> via
39898         Ben Pfaff <blp@cs.stanford.edu>.
39899
39900 2008-04-18  Simon Josefsson  <simon@josefsson.org>
39901
39902         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
39903         Suggested by Bruno Haible <bruno@clisp.org>.
39904
39905 2008-04-17  Bruno Haible  <bruno@clisp.org>
39906
39907         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
39908         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
39909         implementation.
39910         Patch by Bruce Merry <bmerry@gmail.com>.
39911
39912 2008-04-17  Simon Josefsson  <simon@josefsson.org>
39913
39914         * doc/posix-functions/strftime.texi (strftime): Mention that %e
39915         doesn't work under Windows.
39916
39917 2008-04-16  Bruno Haible  <bruno@clisp.org>
39918
39919         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
39920         New macros.
39921         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
39922         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
39923         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
39924         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
39925         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
39926         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
39927         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
39928         macros.
39929         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
39930         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
39931         Northern Sotho, Uighur.
39932
39933 2008-04-16  Bruno Haible  <bruno@clisp.org>
39934
39935         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
39936         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
39937         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
39938         Reported by Daniel Bergström <daniel@octocode.com>.
39939
39940 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
39941             Bruno Haible  <bruno@clisp.org>
39942
39943         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
39944         function.
39945         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
39946         New functions, mostly extracted from gl_locale_name_default.
39947         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
39948
39949 2008-04-16  Eric Blake  <ebb9@byu.net>
39950
39951         Adjust strtod detection to catch glibc 2.7 bug.
39952         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
39953         Reported by John Gatewood Ham.
39954
39955 2008-04-16  Bruno Haible  <bruno@clisp.org>
39956
39957         Add tentative support for Linux libc5.
39958         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
39959         * lib/fpurge.c (fpurge): Likewise.
39960         * lib/freadable.c (freadable): Likewise.
39961         * lib/freadahead.c (freadahead): Likewise.
39962         * lib/freading.c (freading): Likewise.
39963         * lib/freadptr.c (freadptr): Likewise.
39964         * lib/freadseek.c (freadptrinc): Likewise.
39965         * lib/fseeko.c (rpl_fseeko): Likewise.
39966         * lib/fseterr.c (fseterr): Likewise.
39967         * lib/fwritable.c (fwritable): Likewise.
39968         * lib/fwriting.c (fwriting): Likewise.
39969         Reported by Alain Guibert <alguibert+bts@free.fr>.
39970
39971 2008-04-15  Bruno Haible  <bruno@clisp.org>
39972
39973         * modules/mathl (configure.ac): Define module indicator.
39974
39975 2008-04-15  Bruno Haible  <bruno@clisp.org>
39976
39977         * lib/logl.c (logl): Remove unused variables.
39978
39979 2008-04-15  Bruno Haible  <bruno@clisp.org>
39980
39981         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
39982         fails.
39983
39984 2008-04-15  Bruno Haible  <bruno@clisp.org>
39985
39986         * lib/trim.c (trim2): Fix argument of isspace() macro.
39987
39988 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
39989
39990         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
39991         to 0.
39992         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
39993
39994 2008-04-14  Bruno Haible  <bruno@clisp.org>
39995
39996         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
39997         AC_LANG_PROGRAM argument.
39998         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
39999         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
40000         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
40001         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
40002         * m4/math_h.m4 (gl_MATH_H): Likewise.
40003         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
40004         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
40005         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
40006         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
40007         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
40008         * m4/regex.m4 (gl_REGEX): Likewise.
40009         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
40010         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
40011         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40012         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
40013         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40014         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40015         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
40016         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
40017
40018 2008-04-14  Jim Meyering  <meyering@redhat.com>
40019
40020         test-strtod: fix typos: s/abs/fabs/
40021         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
40022
40023 2008-04-13  Bruno Haible  <bruno@clisp.org>
40024
40025         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
40026         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
40027         module is also used and while not building the reloc-wrapper.
40028
40029 2008-04-13  Bruno Haible  <bruno@clisp.org>
40030
40031         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
40032
40033 2008-04-13  Bruno Haible  <bruno@clisp.org>
40034
40035         Fix AIX compilation failure introduced on 2008-04-02.
40036         * tests/test-frexp.c (exp): Undefine before redefining.
40037         * tests/test-frexpl.c (exp): Likewise.
40038
40039 2008-04-13  Bruno Haible  <bruno@clisp.org>
40040
40041         Work around a HP-UX stdio bug.
40042         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
40043         * tests/test-ftello.c (main): Likewise.
40044         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
40045         * doc/posix-functions/ftello.texi: Likewise.
40046
40047 2008-04-13  Bruno Haible  <bruno@clisp.org>
40048
40049         Make test-signbit pass on HP-UX/hppa.
40050         * tests/test-signbit.c (minus_zerol): New variable.
40051         (test_signbitl): Use it.
40052
40053 2008-04-13  Bruno Haible  <bruno@clisp.org>
40054
40055         Make truncl work on OSF/1 4.0.
40056         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
40057         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
40058         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
40059         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
40060         HAVE_DECL_TRUNCL.
40061         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
40062         HAVE_DECL_TRUNCL.
40063         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
40064
40065 2008-04-13  Bruno Haible  <bruno@clisp.org>
40066
40067         * lib/unictype.h: Remove trailing comma from enumeration definitions.
40068
40069 2008-04-13  Bruno Haible  <bruno@clisp.org>
40070
40071         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
40072         expression, so as to avoid HP-UX 11 cc compiler bug.
40073
40074 2008-04-13  Bruno Haible  <bruno@clisp.org>
40075
40076         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
40077
40078 2008-04-13  Bruno Haible  <bruno@clisp.org>
40079
40080         * lib/git-merge-changelog.c: Remove empty declaration outside of
40081         functions.
40082
40083 2008-04-13  Bruno Haible  <bruno@clisp.org>
40084
40085         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
40086
40087 2008-04-13  Bruno Haible  <bruno@clisp.org>
40088
40089         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
40090         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
40091         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
40092         also if it exists but lacks definitions of the SHUT_* macros.
40093         * modules/sys_socket (Description): Update.
40094         Reported by Elbert Pol <e.pol@chello.nl>.
40095
40096 2008-04-13  Bruno Haible  <bruno@clisp.org>
40097
40098         * lib/localcharset.c (OS2): Don't redefine if already defined.
40099         Reported by Elbert Pol <e.pol@chello.nl>.
40100
40101 2008-04-13  Bruno Haible  <bruno@clisp.org>
40102
40103         * lib/binary-io.h [__EMX__]: Include <io.h>.
40104         Reported by Elbert Pol <e.pol@chello.nl>.
40105
40106 2008-04-12  Bruno Haible  <bruno@clisp.org>
40107
40108         * lib/fpucw.h: Enable the definitions also for x86_64.
40109         Needed for NetBSD/x86_64.
40110         Reported by Thomas Klausner <tk@giga.or.at>.
40111
40112 2008-04-12  Bruno Haible  <bruno@clisp.org>
40113
40114         * tests/test-strtod.c: Include isnand.h.
40115         (main): Use isnand instead of isnan.
40116         Reported by Jim Meyering.
40117
40118 2008-04-12  Bruno Haible  <bruno@clisp.org>
40119
40120         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
40121         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
40122
40123 2008-04-12  Jim Meyering  <meyering@redhat.com>
40124
40125         * m4/math_h.m4 (gl_MATH_H): Fix typos.
40126
40127 2008-04-12  Bruno Haible  <bruno@clisp.org>
40128
40129         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
40130         Reported by Elbert Pol <e.pol@chello.nl>.
40131
40132 2008-04-12  Eric Blake  <ebb9@byu.net>
40133
40134         Work around Solaris 10 math.h bug.
40135         * m4/math_h.m4 (gl_MATH_H): Check for bug.
40136         (gl_MATH_H_DEFAULTS): Set up default.
40137         * modules/math (Makefile.am): Replace new indicators.
40138         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
40139         * tests/test-math.c (main): Test this.
40140         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
40141         * doc/posix-headers/math.texi (math.h): Mention bug.
40142         Reported by Nelson H. F. Beebe and Jim Meyering.
40143
40144 2008-04-11  Bruno Haible  <bruno@clisp.org>
40145
40146         Adapt to future versions of Apple GCC.
40147         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
40148         Reported by Peter O'Gorman <peter@pogma.com>.
40149
40150 2008-04-11  Bruno Haible  <bruno@clisp.org>
40151
40152         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
40153
40154 2008-04-11  Bruno Haible  <bruno@clisp.org>
40155
40156         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
40157
40158         * modules/getaddrinfo-tests (Makefile.am): Define
40159         test_getaddrinfo_LDADD.
40160
40161 2008-04-11  Bruno Haible  <bruno@clisp.org>
40162
40163         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
40164         (init): Fix syntax error.
40165         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
40166         is declared.
40167
40168 2008-04-11  Bruno Haible  <bruno@clisp.org>
40169
40170         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
40171         * modules/glob (Depends-on): Add stdbool.
40172
40173 2008-04-11  Bruno Haible  <bruno@clisp.org>
40174
40175         * lib/trim.c: Include <string.h>.
40176
40177 2008-04-11  Eric Blake  <ebb9@byu.net>
40178
40179         Avoid compile failure on OS/2.
40180         * lib/regex_internal.h (internal_function): Disable optimization
40181         on OS/2 (__EMX__), where it caused compiler error.
40182         Reported by Elbert Pol.
40183
40184 2008-04-11  Bruno Haible  <bruno@clisp.org>
40185
40186         Flush the standard error stream before aborting. Needed on mingw.
40187         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
40188         * tests/test-array_list.c (ASSERT): Likewise.
40189         * tests/test-array_oset.c (ASSERT): Likewise.
40190         * tests/test-avltree_list.c (ASSERT): Likewise.
40191         * tests/test-avltree_oset.c (ASSERT): Likewise.
40192         * tests/test-avltreehash_list.c (ASSERT): Likewise.
40193         * tests/test-binary-io.c (ASSERT): Likewise.
40194         * tests/test-byteswap.c (ASSERT): Likewise.
40195         * tests/test-c-ctype.c (ASSERT): Likewise.
40196         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
40197         * tests/test-c-strcasestr.c (ASSERT): Likewise.
40198         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
40199         * tests/test-c-strstr.c (ASSERT): Likewise.
40200         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
40201         * tests/test-canonicalize.c (ASSERT): Likewise.
40202         * tests/test-carray_list.c (ASSERT): Likewise.
40203         * tests/test-ceilf1.c (ASSERT): Likewise.
40204         * tests/test-ceilf2.c (ASSERT): Likewise.
40205         * tests/test-ceill.c (ASSERT): Likewise.
40206         * tests/test-count-one-bits.c (ASSERT): Likewise.
40207         * tests/test-fbufmode.c (ASSERT): Likewise.
40208         * tests/test-fflush2.c (ASSERT): Likewise.
40209         * tests/test-floorf1.c (ASSERT): Likewise.
40210         * tests/test-floorf2.c (ASSERT): Likewise.
40211         * tests/test-floorl.c (ASSERT): Likewise.
40212         * tests/test-fopen.c (ASSERT): Likewise.
40213         * tests/test-fpending.c (ASSERT): Likewise.
40214         * tests/test-fprintf-posix.c (ASSERT): Likewise.
40215         * tests/test-fpurge.c (ASSERT): Likewise.
40216         * tests/test-freadable.c (ASSERT): Likewise.
40217         * tests/test-freadahead.c (ASSERT): Likewise.
40218         * tests/test-freading.c (ASSERT): Likewise.
40219         * tests/test-freadptr.c (ASSERT): Likewise.
40220         * tests/test-freadptr2.c (ASSERT): Likewise.
40221         * tests/test-freadseek.c (ASSERT): Likewise.
40222         * tests/test-freopen.c (ASSERT): Likewise.
40223         * tests/test-frexp.c (ASSERT): Likewise.
40224         * tests/test-frexpl.c (ASSERT): Likewise.
40225         * tests/test-fseek.c (ASSERT): Likewise.
40226         * tests/test-fseeko.c (ASSERT): Likewise.
40227         * tests/test-fstrcmp.c (ASSERT): Likewise.
40228         * tests/test-ftell.c (ASSERT): Likewise.
40229         * tests/test-ftello.c (ASSERT): Likewise.
40230         * tests/test-func.c (ASSERT): Likewise.
40231         * tests/test-fwritable.c (ASSERT): Likewise.
40232         * tests/test-fwriting.c (ASSERT): Likewise.
40233         * tests/test-getdelim.c (ASSERT): Likewise.
40234         * tests/test-getline.c (ASSERT): Likewise.
40235         * tests/test-i-ring.c (ASSERT): Likewise.
40236         * tests/test-iconv-utf.c (ASSERT): Likewise.
40237         * tests/test-iconv.c (ASSERT): Likewise.
40238         * tests/test-isfinite.c (ASSERT): Likewise.
40239         * tests/test-isnand.c (ASSERT): Likewise.
40240         * tests/test-isnanf.c (ASSERT): Likewise.
40241         * tests/test-isnanl.h (ASSERT): Likewise.
40242         * tests/test-ldexpl.c (ASSERT): Likewise.
40243         * tests/test-linked_list.c (ASSERT): Likewise.
40244         * tests/test-linkedhash_list.c (ASSERT): Likewise.
40245         * tests/test-localename.c (ASSERT): Likewise.
40246         * tests/test-lseek.c (ASSERT): Likewise.
40247         * tests/test-mbscasecmp.c (ASSERT): Likewise.
40248         * tests/test-mbscasestr1.c (ASSERT): Likewise.
40249         * tests/test-mbscasestr2.c (ASSERT): Likewise.
40250         * tests/test-mbscasestr3.c (ASSERT): Likewise.
40251         * tests/test-mbscasestr4.c (ASSERT): Likewise.
40252         * tests/test-mbschr.c (ASSERT): Likewise.
40253         * tests/test-mbscspn.c (ASSERT): Likewise.
40254         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
40255         * tests/test-mbspbrk.c (ASSERT): Likewise.
40256         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
40257         * tests/test-mbsrchr.c (ASSERT): Likewise.
40258         * tests/test-mbsspn.c (ASSERT): Likewise.
40259         * tests/test-mbsstr1.c (ASSERT): Likewise.
40260         * tests/test-mbsstr2.c (ASSERT): Likewise.
40261         * tests/test-mbsstr3.c (ASSERT): Likewise.
40262         * tests/test-memchr2.c (ASSERT): Likewise.
40263         * tests/test-memmem.c (ASSERT): Likewise.
40264         * tests/test-open.c (ASSERT): Likewise.
40265         * tests/test-printf-frexp.c (ASSERT): Likewise.
40266         * tests/test-printf-frexpl.c (ASSERT): Likewise.
40267         * tests/test-printf-posix.c (ASSERT): Likewise.
40268         * tests/test-quotearg.c (ASSERT): Likewise.
40269         * tests/test-rbtree_list.c (ASSERT): Likewise.
40270         * tests/test-rbtree_oset.c (ASSERT): Likewise.
40271         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
40272         * tests/test-round1.c (ASSERT): Likewise.
40273         * tests/test-roundf1.c (ASSERT): Likewise.
40274         * tests/test-roundl.c (ASSERT): Likewise.
40275         * tests/test-signbit.c (ASSERT): Likewise.
40276         * tests/test-sleep.c (ASSERT): Likewise.
40277         * tests/test-snprintf-posix.c (ASSERT): Likewise.
40278         * tests/test-snprintf.c (ASSERT): Likewise.
40279         * tests/test-sprintf-posix.c (ASSERT): Likewise.
40280         * tests/test-stat-time.c (ASSERT): Likewise.
40281         * tests/test-strcasestr.c (ASSERT): Likewise.
40282         * tests/test-strerror.c (ASSERT): Likewise.
40283         * tests/test-striconv.c (ASSERT): Likewise.
40284         * tests/test-striconveh.c (ASSERT): Likewise.
40285         * tests/test-striconveha.c (ASSERT): Likewise.
40286         * tests/test-strsignal.c (ASSERT): Likewise.
40287         * tests/test-strstr.c (ASSERT): Likewise.
40288         * tests/test-strtod.c (ASSERT): Likewise.
40289         * tests/test-trunc1.c (ASSERT): Likewise.
40290         * tests/test-trunc2.c (ASSERT): Likewise.
40291         * tests/test-truncf1.c (ASSERT): Likewise.
40292         * tests/test-truncf2.c (ASSERT): Likewise.
40293         * tests/test-truncl.c (ASSERT): Likewise.
40294         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
40295         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
40296         * tests/test-vasnprintf.c (ASSERT): Likewise.
40297         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
40298         * tests/test-vasprintf.c (ASSERT): Likewise.
40299         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
40300         * tests/test-vprintf-posix.c (ASSERT): Likewise.
40301         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
40302         * tests/test-vsnprintf.c (ASSERT): Likewise.
40303         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
40304         * tests/test-wcwidth.c (ASSERT): Likewise.
40305         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
40306         * tests/test-xprintf-posix.c (ASSERT): Likewise.
40307         * tests/test-xvasprintf.c (ASSERT): Likewise.
40308         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
40309         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
40310         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
40311         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
40312         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
40313         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
40314         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
40315         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
40316         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
40317         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
40318         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
40319         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
40320         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
40321         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
40322         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
40323         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
40324         * tests/unictype/test-block_list.c (ASSERT): Likewise.
40325         * tests/unictype/test-block_of.c (ASSERT): Likewise.
40326         * tests/unictype/test-block_test.c (ASSERT): Likewise.
40327         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
40328         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
40329         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
40330         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
40331         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
40332         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
40333         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
40334         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
40335         * tests/unictype/test-combining.c (ASSERT): Likewise.
40336         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
40337         * tests/unictype/test-digit.c (ASSERT): Likewise.
40338         * tests/unictype/test-mirror.c (ASSERT): Likewise.
40339         * tests/unictype/test-numeric.c (ASSERT): Likewise.
40340         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
40341         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
40342         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
40343         * tests/unictype/test-scripts.c (ASSERT): Likewise.
40344         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
40345         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
40346         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
40347         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
40348         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
40349         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
40350         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
40351         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
40352         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
40353         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
40354         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
40355         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
40356         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
40357         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
40358         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
40359         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
40360         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
40361         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
40362         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
40363         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
40364         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
40365         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
40366         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
40367         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
40368         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
40369         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
40370         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
40371         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
40372         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
40373         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
40374         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
40375         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
40376         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
40377         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
40378         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
40379         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
40380         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
40381         Reported by Eric Blake.
40382
40383 2008-04-11  Bruno Haible  <bruno@clisp.org>
40384
40385         * lib/wchar.in.h: Tweak comment.
40386
40387 2008-04-11  Bruno Haible  <bruno@clisp.org>
40388
40389         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
40390         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
40391         gl_COMMON.
40392         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
40393
40394 2008-04-11  Bruno Haible  <bruno@clisp.org>
40395
40396         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
40397
40398 2008-04-11  Simon Josefsson  <simon@josefsson.org>
40399
40400         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
40401         of attempting to use non-existing /dev/*random.  Based on patch
40402         from Adam Strzelecki <ono@java.pl> in
40403         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
40404
40405 2008-04-08  Bruno Haible  <bruno@clisp.org>
40406
40407         Add tentative support for emx+gcc.
40408         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
40409         * lib/fpurge.c (fpurge): Likewise.
40410         * lib/freadable.c (freadable): Likewise.
40411         * lib/freadahead.c (freadahead): Likewise.
40412         * lib/freading.c (freading): Likewise.
40413         * lib/freadptr.c (freadptr): Likewise.
40414         * lib/freadseek.c (freadptrinc): Likewise.
40415         * lib/fseeko.c (rpl_fseeko): Likewise.
40416         * lib/fseterr.c (fseterr): Likewise.
40417         * lib/fwritable.c (fwritable): Likewise.
40418         * lib/fwriting.c (fwriting): Likewise.
40419         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
40420
40421 2008-04-09  Eric Blake  <ebb9@byu.net>
40422
40423         Avoid some autoconf warnings.
40424         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
40425         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
40426         * m4/afs.m4 (gl_AFS): Likewise.
40427         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
40428         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
40429         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40430         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
40431         (gl_INTEGER_TYPE_SUFFIX): Likewise.
40432         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
40433         (AC_CHECK_DECLS_ONCE): Likewise.
40434         Rename file...
40435         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
40436         gnulib-tool requires autoconf 2.59 or better.
40437         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
40438
40439 2008-04-08  Eric Blake  <ebb9@byu.net>
40440
40441         Use 'git describe --match' if present (added in git 1.5.5).
40442         * build-aux/git-version-gen: Limit result to tags that match 'v*'
40443         if possible.
40444
40445 2008-04-08  Bruno Haible  <bruno@clisp.org>
40446
40447         Add tentative support for OpenServer.
40448         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
40449         _ptr, _cnt.
40450         * lib/fpurge.c (fpurge): Likewise.
40451         * lib/freadable.c (freadable): Likewise.
40452         * lib/freadahead.c (freadahead): Likewise.
40453         * lib/freading.c (freading): Likewise.
40454         * lib/freadptr.c (freadptr): Likewise.
40455         * lib/freadseek.c (freadptrinc): Likewise.
40456         * lib/fseeko.c (rpl_fseeko): Likewise.
40457         * lib/fseterr.c (fseterr): Likewise.
40458         * lib/fwritable.c (fwritable): Likewise.
40459         * lib/fwriting.c (fwriting): Likewise.
40460         Reported by Roger Cornelius <rac@tenzing.org> and
40461         Brian K. White <brian@aljex.com>.
40462
40463 2008-04-06  Jim Meyering  <meyering@redhat.com>
40464
40465         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
40466
40467 2008-04-06  Bruno Haible  <bruno@clisp.org>
40468
40469         Avoid possible error with non-ASCII bytes in UTF-8 locales.
40470         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
40471         * tests/test-printf-posix.sh: Likewise.
40472         * tests/test-vfprintf-posix.sh: Likewise.
40473         * tests/test-vprintf-posix.sh: Likewise.
40474         * tests/test-xprintf-posix.sh: Likewise.
40475
40476 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40477
40478         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
40479         hide error from 'ls', needed on OS/2.
40480         Report by Elbert Pol <elbert.pol@gmail.com>.
40481
40482 2008-04-04  Eric Blake  <ebb9@byu.net>
40483
40484         Make test-fseeko.c failures meaningful.
40485         * tests/test-fseeko.c: Print line number on failure.
40486         * tests/test-fseek.c: Likewise.
40487         Reported by Nelson H. F. Beebe.
40488
40489         Improve strtod bug detection check.
40490         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
40491         required for Solaris 10.
40492         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
40493
40494 2008-04-04  Bruno Haible  <bruno@clisp.org>
40495
40496         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
40497         by m4/setenv.m4.
40498
40499 2008-04-03  Eric Blake  <ebb9@byu.net>
40500
40501         Ensure sane .version contents.
40502         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
40503         version string.
40504         * build-aux/git-version-gen: Improve documentation.
40505
40506         Make GNU make output nicer.
40507         * top/GNUmakefile [!_have-Makefile]: Add dependency on
40508         MAKECMDGOALS to enforce message for all command line targets.  Set
40509         srcdir for use in maint.mk.
40510
40511         Another maintainer tweak.
40512         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
40513         a target that regenerates version.
40514
40515 2008-04-03  Jim Meyering  <meyering@redhat.com>
40516
40517         vc-list-files: don't cause coreutils "make po-check" failure
40518         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
40519
40520 2008-04-03  Eric Blake  <ebb9@byu.net>
40521
40522         Allow VPATH usage of vc-list-files.
40523         * build-aux/vc-list-files (scriptversion): Add timestamp.
40524         (options): Add --help, --version, -C.
40525         (CVS): Support installed cvsu.
40526
40527 2008-04-02  Bruno Haible  <bruno@clisp.org>
40528
40529         Avoid some "statement with no effect" warnings from gcc.
40530         * tests/test-wctype.c (main): Explicitly ignore unused values.
40531         Reported by Jim Meyering.
40532
40533 2008-04-02  Jim Meyering  <meyering@redhat.com>
40534
40535         Avoid some warnings from "gcc -Wshadow".
40536         * tests/test-frexp.c (exp): Define to a different identifier.
40537         * tests/test-frexpl.c (exp): Likewise.
40538
40539 2008-04-03  Jim Meyering  <meyering@redhat.com>
40540
40541         bootstrap: remove dangling *.[ch] symlinks from lib
40542         * build-aux/bootstrap [dangling symlink removal]: Move find's
40543         -depth option to precede all others, to avoid a warning.
40544         Remove *.[ch] files too, and from "$source_base" (usually lib/).
40545
40546 2008-04-02  Bruno Haible  <bruno@clisp.org>
40547
40548         Avoid some warnings from "gcc -Wshadow".
40549         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
40550         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
40551         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
40552         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
40553         Reported by Jim Meyering.
40554
40555 2008-04-01  Bruno Haible  <bruno@clisp.org>
40556
40557         Fix test to work on IRIX 6.5 with cc.
40558         * tests/test-math.c (numeric_equal): New function.
40559         (main): Use it.
40560
40561 2008-04-01  Bruno Haible  <bruno@clisp.org>
40562
40563         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
40564
40565 2008-04-01  Bruno Haible  <bruno@clisp.org>
40566
40567         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
40568         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40569         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
40570         (Depends-on): Remove math.
40571
40572         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
40573         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40574         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
40575         (Depends-on): Remove math.
40576
40577         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
40578         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40579         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
40580         (Depends-on): Remove math.
40581         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
40582         (Depends-on): Remove math.
40583
40584         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
40585         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40586         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
40587         (Depends-on): Remove math.
40588         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
40589         (Depends-on): Remove math.
40590
40591         * tests/test-round1.c: Include nan.h.
40592         (main): Use NaNd instead of NAN.
40593         * modules/round-tests (Files): Add tests/nan.h.
40594
40595         * tests/test-trunc1.c: Include nan.h.
40596         (main): Use NaNd instead of NAN.
40597         * modules/trunc-tests (Files): Add tests/nan.h.
40598
40599         * tests/test-roundf1.c: Include nan.h.
40600         (main): Use NaNf instead of NAN.
40601         * modules/roundf-tests (Files): Add tests/nan.h.
40602
40603         * tests/test-truncf1.c: Include nan.h.
40604         (main): Use NaNf instead of NAN.
40605         * modules/truncf-tests (Files): Add tests/nan.h.
40606
40607         * tests/test-ceilf1.c: Include nan.h.
40608         (main): Use NaNf instead of NAN.
40609         * modules/ceilf-tests (Files): Add tests/nan.h.
40610
40611         * tests/test-floorf1.c: Include nan.h.
40612         (main): Use NaNf instead of NAN.
40613         * modules/floorf-tests (Files): Add tests/nan.h.
40614
40615         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
40616         (main): Use NaNf instead of NAN.
40617         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
40618
40619         * tests/test-isnand.c: Include nan.h instead of <math.h>.
40620         (main): Use NaNd instead of NAN.
40621         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
40622
40623         * tests/test-frexp.c: Include nan.h.
40624         (main): Use NaNd instead of NAN.
40625         * modules/frexp-tests (Files): Add tests/nan.h.
40626
40627         * lib/isnan.c: Don't include <math.h>.
40628         (FUNC): Don't use NAN macro.
40629         * modules/isnand-nolibm (Depends-on): Remove math.
40630         * modules/isnanf-nolibm (Depends-on): Remove math.
40631         * modules/isnanl (Depends-on): Remove math.
40632         * modules/isnanl-nolibm (Depends-on): Remove math.
40633
40634         * tests/nan.h: New file.
40635
40636 2008-04-01  Eric Blake  <ebb9@byu.net>
40637
40638         Fix typos.
40639         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
40640         values to be the right type.
40641
40642         For now, cater to gnulib strtod inaccuracies.
40643         * tests/test-strtod.c (main): Allow 1-ulp error on expected
40644         fractional results.  While not as nice from a QoI perspective, it
40645         is a quicker patch than correctly implementing decimal to binary
40646         rounding.
40647
40648 2008-03-31  Eric Blake  <ebb9@byu.net>
40649
40650         Guarantee a definition of NAN.
40651         * lib/math.in.h (NAN): Define if missing.
40652         * tests/test-math.c (main): Test it.
40653         * doc/posix-headers/math.texi (math.h): Document this.
40654         * lib/isnan.c (rpl_isnand): Use it.
40655         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
40656         * tests/test-floorf1.c (NaN): Likewise.
40657         * tests/test-frexp.c (NaN): Likewise.
40658         * tests/test-isnand.c (NaN): Likewise.
40659         * tests/test-isnanf.c (NaN): Likewise.
40660         * tests/test-round1.c (NaN): Likewise.
40661         * tests/test-roundf1.c (NaN): Likewise.
40662         * tests/test-snprintf-posix.h (NaN): Likewise.
40663         * tests/test-sprintf-posix.h (NaN): Likewise.
40664         * tests/test-trunc1.c (NaN): Likewise.
40665         * tests/test-truncf1.c (NaN): Likewise.
40666         * tests/test-vasnprintf-posix.c (NaN): Likewise.
40667         * tests/test-vasprintf-posix.c (NaN): Likewise.
40668         * modules/isnand-nolibm (Depends-on): Add math.
40669         * modules/isnanf-nolibm (Depends-on): Likewise.
40670         * modules/isnanl (Depends-on): Likewise.
40671         * modules/isnanl-nolibm (Depends-on): Likewise.
40672         * modules/snprintf-posix-tests (Depends-on): Likewise.
40673         * modules/sprintf-posix-tests (Depends-on): Likewise.
40674         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
40675         * modules/vsprintf-posix-tests (Depends-on): Likewise.
40676         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
40677         * modules/vasprintf-posix-tests (Depends-on): Likewise.
40678
40679 2008-03-31  Bruno Haible  <bruno@clisp.org>
40680
40681         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
40682         * doc/posix-functions/strtod.texi: Likewise.
40683
40684 2008-03-31  Bruno Haible  <bruno@clisp.org>
40685
40686         * tests/test-strtod.c (main): Don't use C99 syntax.
40687
40688 2008-03-31  Bruno Haible  <bruno@clisp.org>
40689
40690         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
40691         Reported by Eric Blake.
40692
40693 2008-03-31  Jim Meyering  <meyering@redhat.com>
40694
40695         Don't compare actual signbit return values.
40696         * tests/test-strtod.c (main): Rather, compare only their
40697         zero/non-zero nature.
40698
40699 2008-03-31  Eric Blake  <ebb9@byu.net>
40700
40701         More strtod documentation.
40702         * doc/posix-functions/strtod.texi (strtod): Interpret more test
40703         failures as distinct bugs.
40704
40705 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40706
40707         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
40708         Problem reported by Erik Benada in
40709         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
40710
40711 2008-03-30  Bruno Haible  <bruno@clisp.org>
40712
40713         * tests/test-strtod.c: Add comments about which assertion fails on which
40714         platform.
40715         * doc/posix-functions/strtod.texi: Add info about many more platforms.
40716
40717 2008-03-30  Eric Blake  <ebb9@byu.net>
40718
40719         Test signbit behavior on zeros.
40720         * tests/test-signbit.c (test_signbitf): Add tests for zero.
40721         (test_signbitd, test_signbitl): Likewise.
40722
40723         More strtod touchups.
40724         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
40725         sign of negative underflow, for now.  Use .5, not .1.
40726         * doc/posix-functions/strtod.texi (strtod): Mention these
40727         limitations.
40728         Reported by Jim Meyering.
40729
40730 2008-03-30  Bruno Haible  <bruno@clisp.org>
40731
40732         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
40733         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
40734
40735 2008-03-30  Bruno Haible  <bruno@clisp.org>
40736
40737         Avoid failure when attempting to return empty iconv results on some
40738         platforms.
40739         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
40740         allocation, don't report ENOMEM when the resulting string is empty.
40741
40742 2008-03-30  Bruno Haible  <bruno@clisp.org>
40743
40744         Fix buffer overrun.
40745         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
40746         Don't consider the width for tmp_length. Check count against tmp_length
40747         before doing the padding. Ensure enough allocation during padding.
40748
40749 2008-03-30  Eric Blake  <ebb9@byu.net>
40750
40751         strtod touchups.
40752         * lib/strtod.c (strtod): Avoid compiler warnings.
40753         Reported by Jim Meyering.
40754
40755 2008-03-30  Bruno Haible  <bruno@clisp.org>
40756
40757         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
40758         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
40759         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
40760         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
40761         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
40762         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
40763         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
40764         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
40765
40766         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
40767         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
40768         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
40769         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
40770         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
40771         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
40772         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
40773         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
40774
40775         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
40776         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
40777         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
40778         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
40779         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
40780         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
40781         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
40782         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
40783
40784         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
40785         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
40786
40787         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
40788         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
40789
40790         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
40791         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
40792
40793         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
40794         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
40795         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
40796
40797         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
40798         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
40799         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
40800
40801         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
40802         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
40803         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
40804
40805         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
40806         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
40807         * modules/vasprintf (Depends-on): Add EOVERFLOW.
40808
40809         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
40810         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
40811         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
40812         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
40813         (Depends-on): Add EOVERFLOW.
40814         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
40815         (Depends-on): Add EOVERFLOW.
40816         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40817         (Depends-on): Add EOVERFLOW.
40818         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40819         (Depends-on): Add EOVERFLOW.
40820         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40821         (Depends-on): Add EOVERFLOW.
40822         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40823         (Depends-on): Add EOVERFLOW.
40824         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40825         (Depends-on): Add EOVERFLOW.
40826         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40827         (Depends-on): Add EOVERFLOW.
40828
40829         * lib/sprintf.c (EOVERFLOW): Remove fallback.
40830         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
40831         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
40832
40833         * lib/snprintf.c (EOVERFLOW): Remove fallback.
40834         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
40835         * modules/snprintf (Depends-on): Add EOVERFLOW.
40836
40837         * lib/poll.c (EOVERFLOW): Remove fallback.
40838         * modules/poll (Depends-on): Add EOVERFLOW.
40839
40840         * lib/getugroups.c (EOVERFLOW): Remove fallback.
40841         * modules/getugroups (Depends-on): Add EOVERFLOW.
40842
40843         * lib/getdelim.c (EOVERFLOW): Remove fallback.
40844         * modules/getdelim (Depends-on): Add EOVERFLOW.
40845
40846         * lib/ftell.c (EOVERFLOW): Remove fallback.
40847         * modules/ftell (Depends-on): Add EOVERFLOW.
40848
40849         * lib/fprintf.c (EOVERFLOW): Remove fallback.
40850         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
40851         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
40852
40853         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
40854
40855         * modules/EOVERFLOW-tests: New file.
40856         * tests/test-EOVERFLOW.c: New file.
40857
40858         * modules/EOVERFLOW: New file.
40859         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
40860
40861 2008-03-30  Bruno Haible  <bruno@clisp.org>
40862
40863         Fix bug introduced on 2007-06-10.
40864         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
40865         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
40866
40867 2008-03-30  Bruno Haible  <bruno@clisp.org>
40868
40869         Improve freadseek's efficiency after ungetc.
40870         * lib/freadseek.c: Include freadahead.h.
40871         (freadptrinc): New function, extracted from freadseek.
40872         (freadseek): Use it in a loop. Use freadahead to determine the number
40873         of loop iterations.
40874         * modules/freadseek (Depends-on): Add freadahead.
40875         (configure.ac): Require AC_C_INLINE.
40876
40877 2008-03-30  Bruno Haible  <bruno@clisp.org>
40878
40879         * lib/freadseek.c (freadseek): Don't ignore the return value of
40880         freadptr.
40881
40882 2008-03-29  Eric Blake  <ebb9@byu.net>
40883
40884         Add hex float support.
40885         * modules/strtod (Depends-on): Add c-ctype.
40886         (Link): Mention POW_LIB.
40887         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
40888         whitespace between 'e' and exponent.
40889         * tests/test-strtod.c (main): Enable hex float tests.
40890         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
40891         now provides.
40892
40893         Document various strtod bugs, with some fixes.
40894         * doc/posix-functions/strtod.texi (strtod): Document bugs with
40895         "-0x", "inf", "nan", and hex constants.
40896         * doc/posix-functions/atof.texi (atof): Likewise.
40897         * modules/stdlib (Makefile.am): Support strtod.
40898         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
40899         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
40900         detect additional strtod bugs.
40901         * lib/stdlib.in.h (rpl_strtod): Add declarations.
40902         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
40903         bool where appropriate.  Parse 'inf' and 'nan'.
40904         * tests/test-strtod.c: New file.
40905         * modules/strtod (Depends-on): Add stdbool, stdlib.
40906         (configure.ac): Turn on module indicator.
40907         * modules/strtod-tests: New module.
40908
40909 2008-03-29  Eric Blake  <ebb9@byu.net>
40910
40911         Fix ftell on mingw.
40912         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
40913         * modules/ftell-tests (Depends-on): Add binary-io.
40914         * modules/ftello-tests (Depends-on): Likewise.
40915         * tests/test-ftell.c (main): Enhance test to cover behavior after
40916         ungetc.  Enforce binary mode.
40917         * tests/test-ftello.c (main): Likewise.
40918
40919         Pass test-freadseek on cygwin.
40920         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
40921         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
40922         ungetc buffer.
40923
40924         * tests/test-fflush2.c (main): Fix typo.
40925
40926 2008-03-29  Bruno Haible  <bruno@clisp.org>
40927
40928         * tests/test-fflush2.c (main): Temporarily disable the contents of
40929         this test.
40930         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
40931         Reported by Eric Blake.
40932
40933 2008-03-28  Simon Josefsson  <simon@josefsson.org>
40934
40935         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
40936         (GC_SHA224_DIGEST_SIZE): Add.
40937
40938         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
40939         (gc_hash_digest_length): Likewise.
40940         (gc_hash_buffer): Likewise.
40941
40942 2008-03-25  Bruno Haible  <bruno@clisp.org>
40943
40944         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
40945         detail which gettext release to use.
40946         Reported by Simon Josefsson.
40947
40948 2008-03-26  Jim Meyering  <meyering@redhat.com>
40949
40950         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
40951         * modules/gnumakefile (clean-GNUmakefile): Also, use
40952         test ... && ... || : syntax rather than if-then ... fi.
40953
40954         gnumakefile: Don't double-quote-expand $(VPATH) value.
40955         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
40956
40957 2008-03-24  Eric Blake  <ebb9@byu.net>
40958
40959         Alter GNUmakefile to install into top directory.
40960         * modules/maintainer-makefile: Split, and add dependency...
40961         * modules/gnumakefile: to this new module.
40962         * build-aux/GNUmakefile: Move...
40963         * top/GNUmakefile: ...here.
40964         * build-aux/maint.mk: Move...
40965         * top/maint.mk: ...here.
40966         * MODULES.html.sh (Support for maintaining...): Document new
40967         module.
40968
40969 2008-03-23  Bruno Haible  <bruno@clisp.org>
40970
40971         * gnulib-tool: New options --vc-files, --no-vc-files.
40972         (func_usage): Document them.
40973         (vc_files): New variable.
40974         (func_import): Consider vc_files.
40975         (func_create_testdir): Set vc_files to empty.
40976         Suggested by Jim Meyering and Karl Berry.
40977
40978 2008-03-23  Bruno Haible  <bruno@clisp.org>
40979
40980         Fix regex compilation error on HP-UX 11.
40981         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
40982         * modules/regex (Files): Add m4/mbstate_t.m4.
40983         Reported by Ton Voon <ton.voon@altinity.com>.
40984
40985 2008-03-23  Bruno Haible  <bruno@clisp.org>
40986
40987         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
40988
40989 2008-03-23  Eric Blake  <ebb9@byu.net>
40990             Bruno Haible  <bruno@clisp.org>
40991
40992         Install files from top/ in the destination directory.
40993         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
40994         augmentation also for the files from top/.
40995         (func_import, func_create_testdir): Rewrite file names:
40996         top/filename -> filename.
40997
40998 2008-03-23  Bruno Haible  <bruno@clisp.org>
40999
41000         Tweak "gnulib --version" output.
41001         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
41002
41003 2008-03-23  Bruno Haible  <bruno@clisp.org>
41004
41005         Tweak "gnulib --version" output.
41006         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
41007         rather than contents of ChangeLog, when possible.
41008
41009 2008-03-21  Eric Blake  <ebb9@byu.net>
41010
41011         More --version tweaks.
41012         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
41013         date of last ChangeLog entry.
41014
41015 2008-03-21  Jim Meyering  <meyering@redhat.com>
41016
41017         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
41018
41019 2008-03-20  Eric Blake  <ebb9@byu.net>
41020
41021         VPATH fix.
41022         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
41023
41024 2008-03-20  Simon Josefsson  <simon@josefsson.org>
41025
41026         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
41027         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
41028
41029 2008-03-20  Eric Blake  <ebb9@byu.net>
41030
41031         Sync GNUmakefile with coreutils.
41032         * build-aux/GNUmakefile (have-Makefile): Rename...
41033         (_have-Makefile): ...to this, for namespace consideration.
41034         (GNUmakefile.cfg): Include, if present.
41035         (_autoreconf): Define a default.
41036         (_is-dist-target): New rule for rebuilds to pick up intra-release
41037         version.
41038         (maint-cfg.mk): Rename...
41039         (cfg.mk): ...to this.
41040
41041 2008-03-18  Jim Meyering  <meyering@redhat.com>
41042
41043         New script and module: mktempd
41044         * MODULES.html.sh (maint+release support): Add mktempd.
41045         * build-aux/mktempd: New file.
41046         * modules/mktempd: New file.
41047
41048 2008-03-15  Jim Meyering  <meyering@redhat.com>
41049
41050         Undo last change.
41051         * lib/sha1.c, lib/md5.c: 63 != ~63.
41052         Reported by Andreas Schwab.
41053
41054         sha1.c, md5.c: Hoist a redundant expression.
41055         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
41056         "ctx->buflen" only once, before calling *_process_block.
41057         * lib/md5.c (md5_process_bytes): Likewise.
41058
41059 2008-03-14  Eric Blake  <ebb9@byu.net>
41060
41061         Bump copyright year in files generated by gnulib-tool.
41062         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
41063         gnulib-tool, rather than hard-coding it.
41064
41065         Fix 'gnulib-tool --version' output to work with git.
41066         * gnulib-tool (func_gnulib_dir): New function, extracted from...
41067         (startup): ...here.
41068         (func_version): Use it to invoke git-version-gen, rather than
41069         relying on CVS keyword expansion.  Modernize wording.
41070         (cvsdatestamp, last_checkin_date, version): Kill unused
41071         variables.
41072
41073 2008-03-12  Jim Meyering  <meyering@redhat.com>
41074
41075         Recognize optional cast of the argument to free.
41076         * build-aux/useless-if-before-free: Update regexps.
41077
41078         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
41079
41080 2008-03-11  Bruno Haible  <bruno@clisp.org>
41081
41082         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
41083         by a single package.
41084         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
41085         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
41086         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
41087         Reported by Sam Steingold <sds@gnu.org>.
41088
41089 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41090
41091         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
41092         repositories.
41093
41094 2008-03-11  Bruno Haible  <bruno@clisp.org>
41095
41096         Avoid conflicts between local macro definitions.
41097         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
41098         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
41099
41100 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
41101             Bruno Haible  <bruno@clisp.org>
41102
41103         Make va_copy work with some version of xlc on AIX 5.1.
41104         * lib/stdarg.in.h: New file.
41105         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
41106         On AIX, use a <stdarg.h> file substitute.
41107         * modules/stdarg (Files): Add lib/stdarg.in.h.
41108         (Depends-on): Add include_next.
41109         (Makefile.am): Build a stdarg.h substitute if requested.
41110         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
41111
41112 2008-03-10  Bruno Haible  <bruno@clisp.org>
41113
41114         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
41115         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41116         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41117
41118 2008-03-10  Bruno Haible  <bruno@clisp.org>
41119
41120         * modules/stdlib (Depends-on): Add include_next, remove
41121         absolute-header.
41122
41123 2008-03-09  Bruno Haible  <bruno@clisp.org>
41124
41125         * lib/freadahead.h (freadahead): Document more precisely.
41126         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
41127         the sum of both buffer sizes.
41128         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
41129         * NEWS: Document the change.
41130
41131 2008-03-09  Bruno Haible  <bruno@clisp.org>
41132
41133         Extend freadptr to return also the buffer size.
41134         * lib/freadptr.h (freadptr): Add sizep argument.
41135         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
41136         (freadptr): Add sizep argument. Determine buffer size like freadahead
41137         does.
41138         * tests/test-freadptr.c: Don't include freadahead.h.
41139         (main): Adapt for new calling convention of freadptr.
41140         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
41141         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
41142         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
41143         tests/test-freadptr2.sh.
41144         (Depends): Remove freadahead.
41145         (TESTS): Add test-freadptr2.sh.
41146         (check_PROGRAMS): Add test-freadptr2.
41147
41148 2008-03-09  Bruno Haible  <bruno@clisp.org>
41149
41150         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
41151         Report and solution by Simon Josefsson.
41152
41153 2008-03-06  Bruno Haible  <bruno@clisp.org>
41154
41155         Make fflush after ungetc work on BSD platforms.
41156         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
41157         * tests/test-fflush2.c: New file.
41158         * tests/test-fflush2.sh: New file.
41159         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
41160         tests/test-fflush2.c.
41161         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
41162         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
41163
41164 2008-03-06  Eric Blake  <ebb9@byu.net>
41165
41166         Likewise for ftello.
41167         * modules/ftello (Dependencies): Add extensions.
41168         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
41169
41170 2008-03-06  Bruno Haible  <bruno@clisp.org>
41171
41172         * modules/fseeko (Dependencies): Add extensions.
41173         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
41174         Needed on glibc systems.
41175
41176 2008-03-06  Bruno Haible  <bruno@clisp.org>
41177
41178         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
41179         email address.
41180         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41181
41182 2008-03-06  Bruno Haible  <bruno@clisp.org>
41183
41184         * users.txt: Add libgnupdf.
41185
41186 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
41187
41188         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
41189         (Header File Substitutes, Function Substitutes,
41190         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
41191         (Build robot for gnulib): Fix typo.
41192
41193 2008-03-06  Bruno Haible  <bruno@clisp.org>
41194
41195         * doc/gnulib-tool.texi (VCS Issues): Small updates.
41196         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41197
41198 2008-03-06  Bruno Haible  <bruno@clisp.org>
41199
41200         * doc/func.texi: New file, extracted from doc/gnulib.texi.
41201         * doc/gnulib.texi: Include it.
41202
41203 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41204
41205         * modules/func (License): Change license to unlimited; there was
41206         no LGPL parts in the module anyway.
41207
41208 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41209
41210         * modules/__func__: Renamed to modules/func.
41211         * modules/__func__-tests: Renamed to modules/func-tests.
41212         * tests/test-__func__.c: Renamed to tests/test-func.c.
41213         * m4/__func__.m4: Renamed to m4/func.m4.
41214         * doc/gnulib.texi (__func__): Section renamed to func.
41215         Suggested by Eric Blake <ebb9@byu.net>.
41216
41217 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41218
41219         * doc/gnulib.texi (__func__): Use C99 terminology when talking
41220         about __func__.  Make example self-contained.  Suggested by Eric
41221         Blake <ebb9@byu.net>.
41222
41223         * tests/test-__func__.c (main): Avoid extraneous () around __func.
41224         Suggested by Eric Blake <ebb9@byu.net>.
41225
41226 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41227
41228         * modules/__func__: New file.
41229         * modules/__func__-tests: New file.
41230         * tests/test-__func__.c: New file.
41231         * m4/__func__.m4: New file.
41232         * doc/gnulib.texi (__func__): Document __func__ module.
41233
41234 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41235
41236         * modules/byteswap (License): Re-license as LGPLv2+.
41237
41238 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41239
41240         * doc/Makefile: Add pdf target.
41241
41242 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41243
41244         * modules/inline (License): Use 'unlimited', since there are only
41245         *.m4 files in this module.
41246
41247 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
41248             Bruno Haible  <bruno@clisp.org>
41249
41250         Add support for HP C 7.1 on OpenVMS 8.3.
41251         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
41252
41253 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
41254
41255         Update VMS specifics.
41256         * lib/getopt.c [VMS]: Remove include of unixlib.h.
41257
41258 2008-03-02  Jim Meyering  <meyering@redhat.com>
41259
41260         Remove the last dependency on the "free" module.
41261         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
41262         Reported by Bob Proulx.
41263
41264         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
41265
41266         Remove useless "if" tests before free.  Deprecate "free" module.
41267         * doc/posix-functions/free.texi: Mention that this
41268         module is no longer useful.
41269         * modules/free (Notice): Say this module is obsolete.
41270         * modules/readutmp (Depends-on): Remove free.
41271         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
41272         * lib/putenv.c (putenv): Likewise.
41273         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
41274         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
41275         * tests/test-c-strcasestr.c (main): Likewise.
41276         * tests/test-c-strstr.c (main): Likewise.
41277         * tests/test-mbscasestr1.c (main): Likewise.
41278         * tests/test-mbscasestr2.c (main): Likewise.
41279         * tests/test-mbsstr1.c (main): Likewise.
41280         * tests/test-mbsstr2.c (main): Likewise.
41281         * tests/test-memmem.c (main): Likewise.
41282         * tests/test-strcasestr.c (main): Likewise.
41283         * tests/test-striconv.c (main): Likewise.
41284         * tests/test-striconveh.c (main): Likewise.
41285         * tests/test-striconveha.c (main): Likewise.
41286         * tests/test-strstr.c (main): Likewise.
41287
41288         * build-aux/git-version-gen: Adjust a comment and the Usage string.
41289
41290         bootstrap: sync from coreutils again
41291         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
41292
41293 2008-03-01  Jim Meyering  <meyering@redhat.com>
41294
41295         bootstrap: sync from coreutils
41296         * build-aux/bootstrap (update_po_files): Copy a .po file into place
41297         also when the target doesn't exist.
41298
41299 2008-03-01  Eric Blake  <ebb9@byu.net>
41300
41301         Fix bugs in last patch.
41302         * lib/memchr2.c (memchr2): Fix typo.
41303         * tests/test-memchr2.c: Test previous bug, and don't use GNU
41304         extension.
41305         Reported by Bruce Korb.
41306
41307         New module 'memchr2'.
41308         * modules/memchr2: New file.
41309         * modules/memchr2-tests: Likewise.
41310         * lib/memchr2.h: Likewise.
41311         * lib/memchr2.c: Likewise, based on memchr.c.
41312         * tests/test-memchr2.c: New test.
41313         * MODULES.html.sh (String handling): Add memchr2.
41314
41315 2008-02-29  Bruno Haible  <bruno@clisp.org>
41316
41317         * modules/freadseek-tests: New file.
41318         * tests/test-freadseek.sh: New file.
41319         * tests/test-freadseek.c: New file.
41320
41321         New module 'freadseek'.
41322         * modules/freadseek: New file.
41323         * lib/freadseek.h: New file.
41324         * lib/freadseek.c: New file.
41325         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
41326
41327 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
41328
41329         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
41330         wydawca.
41331
41332         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
41333         program_invocation_name and program_invocation_short_name are
41334         present.
41335
41336 2008-02-28  Bruno Haible  <bruno@clisp.org>
41337
41338         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
41339         * tests/test-freadptr.sh: Also test non-seekable stdin.
41340
41341 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
41342
41343         * build-aux/bootstrap (source_base, m4_base)
41344         (doc_base, tests_base): New variables.
41345         (gnulib_tool_options): Do not hardcode base directories, use
41346         the above variables instead.
41347
41348 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
41349
41350         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
41351
41352 2008-02-28  Bruno Haible  <bruno@clisp.org>
41353
41354         * modules/freadptr-tests: New file.
41355         * tests/test-freadptr.sh: New file.
41356         * tests/test-freadptr.c: New file.
41357
41358         New module 'freadptr'.
41359         * modules/freadptr: New file.
41360         * lib/freadptr.h: New file.
41361         * lib/freadptr.c: New file.
41362         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
41363
41364 2008-02-26  Karl Berry  <karl@freefriends.org>
41365
41366         Sync from Libtool:
41367         * libltdl/argz.c (argz_add, argz_count): New functions.
41368         * libltdl/argz.in.h: Declare them.
41369         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
41370
41371 2008-02-22  Bruno Haible  <bruno@clisp.org>
41372
41373         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
41374         is a pointer type.  Needed for HP-UX 10.
41375         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
41376         * doc/posix-functions/gmtime_r.texi: Likewise.
41377         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41378
41379 2008-02-24  Bruno Haible  <bruno@clisp.org>
41380
41381         * modules/environ-tests: New file.
41382         * tests/test-environ.c: New file.
41383
41384         New module 'environ'.
41385         * modules/environ: New file.
41386         * lib/unistd.in.h (environ): New declaration.
41387         * m4/environ.m4: New file.
41388         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
41389         after use.
41390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
41391         HAVE_DECL_ENVIRON.
41392         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
41393         HAVE_DECL_ENVIRON.
41394         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
41395         wrong claim that 'environ' is missing on some systems.
41396         * modules/execute (Depends-on): Add environ.
41397         * lib/execute.c (environ): Remove fallback declaration.
41398         * modules/pipe (Depends-on): Add environ.
41399         * lib/pipe.c (environ): Remove fallback declaration.
41400         * modules/setenv (Depends-on): Add environ.
41401         * lib/setenv.c (environ): Remove fallback declaration.
41402         * modules/unsetenv (Depends-on): Add environ.
41403         * lib/unsetenv.c (environ): Remove fallback declaration.
41404         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
41405         m4/environ.m4.
41406         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
41407         (gl_PREREQ_UNSETENV): Likewise.
41408
41409 2008-02-24  Bruno Haible  <bruno@clisp.org>
41410
41411         * doc/posix-functions/environ.texi: Document the MacOS X problem.
41412
41413 2008-02-20  Bob Proulx  <bob@proulx.com>
41414
41415         Enable use of older two part flavor 'git describe'.
41416         * build-aux/git-version-gen: If using the older two part flavor of
41417         git version then recreate the third part now present in the
41418         newer three part flavor of git describe.
41419
41420 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
41421
41422         * lib/fts.c (fts_build): Typo correction to comment.
41423
41424 2008-02-17  Bruno Haible  <bruno@clisp.org>
41425
41426         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
41427         generating no-op conflicts.
41428
41429 2008-02-17  Bruno Haible  <bruno@clisp.org>
41430
41431         Speed up by 10%.
41432         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
41433         result_entries, rather than an index-based loop.
41434
41435 2008-02-17  Bruno Haible  <bruno@clisp.org>
41436
41437         Speed up by 25%.
41438         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
41439         'hashcode_cached'.
41440         (entry_create): New function.
41441         (entry_hashcode): Use the cached hashcode if possible.
41442         (read_changelog_file, try_split_merged_entry): Use entry_create.
41443
41444 2008-02-17  Bruno Haible  <bruno@clisp.org>
41445
41446         Speed up from O(n^2) to O(n) for long ChangeLog files.
41447         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
41448         (read_changelog_file): Change implementation of entries_reversed list
41449         to rbtreehash.
41450         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
41451
41452 2008-02-17  Bruno Haible  <bruno@clisp.org>
41453
41454         New option --split-merged-entry.
41455         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
41456         (find_paragraph_end, try_split_merged_entry): New functions.
41457         (long_options): Add option --split-merged-entry.
41458         (usage): Document option --split-merged-entry.
41459         (main): Implement option --split-merged-entry.
41460         Reported by Eric Blake.
41461
41462 2008-02-17  Bruno Haible  <bruno@clisp.org>
41463
41464         * lib/git-merge-changelog.c: Include c-strstr.h.
41465         (main): Support the "git pull --rebase" situation.
41466         * modules/git-merge-changelog (Depends-on): Add c-strstr.
41467         Reported by Eric Blake.
41468
41469 2008-02-16  Eric Blake  <ebb9@byu.net>
41470
41471         Avoid doubling \ in common case of "c-maybe" quoting style.
41472         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
41473         eliding outer quotes.
41474         * lib/quotearg.h: Document this.
41475         * tests/test-quotearg.c (result_strings, inputs, results_g)
41476         (flag_results, locale_results): Test it by adding a new string to
41477         each test group.
41478         (compare_strings): Test new string.
41479
41480 2008-02-13  Eric Blake  <ebb9@byu.net>
41481
41482         Avoid trigraph quoting in default output.
41483         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
41484         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
41485         unless explicitly requested.
41486         * tests/test-quotearg.c (flag_results, main): Add additional tests.
41487
41488 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
41489
41490         Don't rely on signed integer overflowing to negative value.
41491         * lib/getugroups.c (getugroups): Include <limits.h>.
41492         Instead, compare against INT_MAX, and increment only if the test passes.
41493
41494 2008-02-13  Jim Meyering  <meyering@redhat.com>
41495         and Eric Blake  <ebb9@byu.net>
41496
41497         Avoid shadowing warning and compile errors on Linux.
41498         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
41499         forwarding macros on Linux.
41500         (dcgettext): Define a stub, for Linux.
41501         (results_g, main): Avoid warnings.
41502
41503 2008-02-12  Eric Blake  <ebb9@byu.net>
41504
41505         Silence warning in last patch.
41506         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
41507
41508         Quotearg part 4: add tests, fix c-maybe colon quoting.
41509         * lib/quotearg.h: Improve documentation.
41510         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
41511         escapes when adding outer quotes.  When quoting trigraphs, use
41512         valid C notation.  When quoting NUL, omit extra characters if next
41513         character is not digit.  Alter prototype.
41514         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
41515         callers.
41516         * modules/quotearg-tests: New module.
41517         * tests/test-quotearg.c: New test.
41518
41519 2008-02-07  Eric Blake  <ebb9@byu.net>
41520
41521         Quotearg part 3: add flag to control outer quote elision.
41522         * lib/quotearg.h (c_maybe_quoting_style): New style.
41523         (enum quoting_flags): Better documentation of flags.
41524         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
41525         c-maybe style.
41526         (quotearg_buffer_restyled): Handle new flag to elide outer
41527         quotes.
41528
41529         Quotearg part 2: add flag that can control NUL elision.
41530         * lib/quotearg.h (set_quoting_flags): New prototype.
41531         * lib/quotearg.c (struct quoting_options): Add flag field.
41532         (set_quoting_flags): New function.
41533         (quotearg_buffer_restyled): Add flags parameter.
41534         (quotearg_alloc_mem): Set the flag if length cannot be returned.
41535         (quotearg_n_options): Set the flag, since length cannot be
41536         returned.
41537         (quoting_options_from_style): Default flags correctly.
41538
41539         Quotearg part 1: more wrappers, restore quotearg_char state.
41540         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
41541         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
41542         (quotearg_colon_mem): New wrappers.
41543         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
41544         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
41545         functions.
41546         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
41547         (quotearg_colon_mem): New functions.
41548
41549 2008-02-11  Bruno Haible  <bruno@clisp.org>
41550
41551         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
41552         library in the current directory: it does not work with parallel make.
41553         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41554
41555 2008-02-11  Bruno Haible  <bruno@clisp.org>
41556
41557         * .gitattributes: New file.
41558
41559 2008-02-11  Jim Meyering  <meyering@redhat.com>
41560
41561         useless-if-before-free: Fix reversed exit values.
41562         * build-aux/useless-if-before-free: Use correct values
41563         for EXIT_MATCH and EXIT_NO_MATCH.
41564
41565         * build-aux/useless-if-before-free: Close stdout carefully.
41566
41567 2008-02-10  Bruno Haible  <bruno@clisp.org>
41568
41569         New module 'git-merge-changelog'.
41570         * modules/git-merge-changelog: New file.
41571         * lib/git-merge-changelog.c: New file.
41572
41573 2008-02-10  Jim Meyering  <meyering@redhat.com>
41574
41575         useless-if-before-free: New option: --list (-l).
41576
41577         useless-if-before-free: Don't exit immediately upon open failure.
41578         * build-aux/useless-if-before-free: Exit 2 for errors.
41579         Upon failure to open a file, don't exit immediately.
41580         Rather, just warn and continue with any remaining files.
41581
41582 2008-02-10  Bruno Haible  <bruno@clisp.org>
41583
41584         New abstract list operation 'node_set_value'.
41585         * lib/gl_list.h (gl_list_node_set_value): New function.
41586         (struct gl_list_implementation): New field node_set_value.
41587         * lib/gl_list.c (gl_list_node_set_value): New function.
41588         * lib/gl_array_list.c (gl_array_node_set_value): New function.
41589         (gl_array_list_implementation): Update.
41590         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
41591         (gl_carray_list_implementation): Update.
41592         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
41593         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
41594         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
41595         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
41596         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
41597         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
41598         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
41599         Update.
41600         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
41601         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
41602         (gl_sublist_list_implementation): Update.
41603
41604 2008-02-10  Bruno Haible  <bruno@clisp.org>
41605
41606         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
41607         Needed when ELEMENT is #defined to 'some_type *'.
41608
41609 2008-02-10  Jim Meyering  <meyering@redhat.com>
41610
41611         New script and module: useless-if-before-free
41612         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
41613         * build-aux/useless-if-before-free: New file.
41614         * modules/useless-if-before-free: New file.
41615
41616         * build-aux/gitlog-to-changelog: Use committer date, not author date.
41617
41618         xstrtol_error: Fix typo.
41619         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
41620         s/exit_failure/exit_status/.
41621
41622 2008-02-09  Jim Meyering  <meyering@redhat.com>
41623
41624         New script and module: gitlog-to-changelog
41625         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
41626         * modules/gitlog-to-changelog: New file.
41627         * build-aux/gitlog-to-changelog: New file.
41628
41629 2008-02-08  Jim Meyering  <meyering@redhat.com>
41630
41631         Avoid two "parameter unused" warnings.
41632         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
41633         Mark "st" as used.
41634
41635         Use "git COMMAND", not "git-COMMAND".
41636         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
41637         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
41638         * build-aux/git-version-gen: Use "git status", not "git-status".
41639
41640 2008-02-07  Bruno Haible  <bruno@clisp.org>
41641
41642         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
41643         Avoids a crash on Windows Vista.
41644         Reported by Adam Strzelecki <ono@java.pl> via
41645         Simon Josefsson <simon@josefsson.org>.
41646
41647 2008-02-06  Bruno Haible  <bruno@clisp.org>
41648
41649         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
41650         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
41651         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
41652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
41653         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41654         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41655         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
41656         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
41657         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41658         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41659         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41660         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41661         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41662         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41663         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41664         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
41665         left-adjust flag.
41666         * tests/test-snprintf-posix.h (test_function): Likewise.
41667         * tests/test-sprintf-posix.h (test_function): Likewise.
41668         * tests/test-vasprintf-posix.c (test_function): Likewise.
41669         * doc/posix-functions/fprintf.texi: Update.
41670         * doc/posix-functions/printf.texi: Update.
41671         * doc/posix-functions/snprintf.texi: Update.
41672         * doc/posix-functions/sprintf.texi: Update.
41673         * doc/posix-functions/vfprintf.texi: Update.
41674         * doc/posix-functions/vprintf.texi: Update.
41675         * doc/posix-functions/vsnprintf.texi: Update.
41676         * doc/posix-functions/vsprintf.texi: Update.
41677         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41678
41679 2008-02-06  Bruno Haible  <bruno@clisp.org>
41680
41681         Fix bug introduced on 2008-01-26.
41682         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
41683
41684 2008-02-06  Bruno Haible  <bruno@clisp.org>
41685
41686         Fix bug introduced on 2007-06-10.
41687         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
41688         !NEED_PRINTF_FLAG_ZERO.
41689
41690 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
41691
41692         getloadavg: use libperfstat on AIX5
41693         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
41694
41695 2008-02-03  Bruno Haible  <bruno@clisp.org>
41696
41697         * lib/diffseq.h: Add comments about required #includes.
41698         Reported by Michael Biggs <gnulib@doubleplum.net>.
41699
41700 2008-02-01  Bruno Haible  <bruno@clisp.org>
41701
41702         * users.txt: Add gnuit.
41703
41704 2008-01-31  Bruno Haible  <bruno@clisp.org>
41705
41706         * lib/md4.c (set_uint32): Mark as inline.
41707         * lib/md5.c (set_uint32): Likewise.
41708         * lib/sha1.c (set_uint32): Likewise.
41709         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
41710         * m4/md5.m4 (gl_MD5): Likewise.
41711         * m4/sha1.m4 (gl_SHA1): Likewise.
41712
41713 2008-01-31  Jim Meyering  <meyering@redhat.com>
41714
41715         Use "sizeof VAR", rather than a literal "4".
41716         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
41717         * lib/md4.c (md4_read_ctx): Likewise.
41718         * lib/sha1.c (sha1_read_ctx): Likewise.
41719
41720 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41721
41722         * tests/test-sha1.c: New file, based on test-md5.c.
41723
41724         * modules/crypto/sha1-tests: New file.
41725
41726 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41727
41728         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
41729
41730 2008-01-31  Jim Meyering  <meyering@redhat.com>
41731
41732         Prefer "sizeof v" over the equivalent "4".
41733         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
41734         * lib/md5.c (set_uint32): Likewise.
41735         * lib/sha1.c (set_uint32): Likewise.
41736
41737 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41738
41739         * lib/sha1.c (set_uint32): Mark function as static.
41740
41741 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41742
41743         md2: clarify comments to say that alignment is not required.
41744         * lib/md2.h: Remove warning about alignment in comment.
41745         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
41746         never been required.
41747
41748 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41749
41750         md4: adapt alignment constraint fix from sha1.
41751         * lib/md4.c (set_uint32): New function, from sha1.c
41752         (md4_read_ctx): Use it.
41753         (md4_finish_ctx): Doc fix.
41754         * lib/md4.h: Doc fix.
41755
41756 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41757
41758         md5: adapt alignment constraint fix from sha1.
41759         * lib/md5.c (set_uint32): New function, from sha1.c
41760         (md5_read_ctx): Use it.
41761         (md5_finish_ctx): Doc fix.
41762         * lib/md5.h: Doc fix.
41763
41764 2008-01-30  Peter Palfrader  <weasel@debian.org>
41765
41766         sha1: remove the result buffer alignment constraint
41767         * lib/sha1.c (set_uint32): New function.
41768         (sha1_read_ctx): Rewrite to remove the result buffer alignment
41769         constraint.
41770         (sha1_finish_ctx): Remove comment warning about alignment constraint.
41771         * lib/sha1.h: Likewise.
41772
41773 2008-01-30  Andreas Schwab  <schwab@suse.de>
41774             Bruno Haible  <bruno@clisp.org>
41775
41776         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
41777         correct definition of LDBL_MIN_EXP.
41778
41779 2008-01-30  Karl Berry  <karl@gnu.org>
41780
41781         * config/srclist-update: try to preserve x bit on updates.
41782         * config/srclistvars.sh: update for karl.
41783
41784 2008-01-29  Jim Meyering  <meyering@redhat.com>
41785
41786         vasnprintf.c: Avoid warning about unused label
41787         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
41788         "overflow" label definition and associated code with the
41789         same cpp condition that guards the sole use of that label.
41790
41791 2008-01-26  Bruno Haible  <bruno@clisp.org>
41792
41793         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
41794         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
41795         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
41796         * lib/isnanl-nolibm.h (isnanl): Likewise.
41797         Reported by Paul Eggert <eggert@cs.ucla.edu>.
41798
41799 2008-01-26  Bruno Haible  <bruno@clisp.org>
41800
41801         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
41802         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
41803
41804 2008-01-26  Bruno Haible  <bruno@clisp.org>
41805
41806         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
41807         GCC >= 4.0 built-in.
41808         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
41809
41810 2008-01-26  Bruno Haible  <bruno@clisp.org>
41811
41812         Rename isnan, applicable to 'double' only, to isnand.
41813         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
41814         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
41815         (configure.ac): Update.
41816         (Include): Replace "isnan.h" with "isnand.h".
41817         * m4/isnand.m4: Renamed from m4/isnan.m4.
41818         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
41819         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
41820         instead of isnan.c.
41821         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
41822         instead of HAVE_ISNAN_IN_LIBC.
41823         (isnand): Renamed from isnan.
41824         * lib/isnand.c: New file.
41825         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
41826         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
41827         (Makefile.am): Update.
41828         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
41829         Include isnand.h instead of isnan.h.
41830         (main): Test isnand instead of isnan.
41831         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
41832         isnan-nolibm.
41833         * modules/frexp (Depends-on): Likewise.
41834         * modules/frexp-tests (Depends-on): Likewise.
41835         * modules/frexp-nolibm (Depends-on): Likewise.
41836         * modules/frexp-nolibm-tests (Depends-on): Likewise.
41837         * modules/isfinite (Depends-on): Likewise.
41838         * modules/round-tests (Depends-on): Likewise.
41839         * modules/signbit (Depends-on): Likewise.
41840         * modules/signbit-tests (Depends-on): Likewise.
41841         * modules/snprintf-posix (Depends-on): Likewise.
41842         * modules/sprintf-posix (Depends-on): Likewise.
41843         * modules/trunc-tests (Depends-on): Likewise.
41844         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41845         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41846         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41847         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41848         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41849         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41850         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41851         * modules/vasnprintf-posix (Depends-on): Likewise.
41852         * modules/vasprintf-posix (Depends-on): Likewise.
41853         * modules/vfprintf-posix (Depends-on): Likewise.
41854         * modules/vsnprintf-posix (Depends-on): Likewise.
41855         * modules/vsprintf-posix (Depends-on): Likewise.
41856         * lib/frexp.c: Include isnand.h instead of isnan.h.
41857         (ISNAN): Set to isnand instead of isnan.
41858         * lib/isfinite.c: Include isnand.h instead of isnan.h.
41859         (gl_isfinited): Use isnand instead of isnan.
41860         * lib/signbitd.c: Include isnand.h instead of isnan.h.
41861         (gl_signbitd): Use isnand instead of isnan.
41862         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
41863         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
41864         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
41865         (main): Use isnand instead of isnan.
41866         * tests/test-round1.c: Include isnand.h.
41867         (main): Use isnand instead of isnan.
41868         * tests/test-round2.c: Include isnand.h instead of isnan.h.
41869         (ISNAN): Set to isnand instead of isnan.
41870         * tests/test-trunc1.c: Include isnand.h.
41871         (main): Use isnand instead of isnan.
41872         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
41873         (equal): Use isnand instead of isnan.
41874         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
41875         isnand-nolibm.
41876         * NEWS: Mention the change.
41877
41878 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
41879             Bruno Haible  <bruno@clisp.org>
41880
41881         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
41882         the GCC builtins for signbits are present and set
41883         REPLACE_SIGNBIT_USING_GCC if so.
41884         * lib/math.in.h (signbit): Define using GCC builtins if
41885         REPLACE_SIGNBIT_USING_GCC is set.
41886         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
41887         REPLACE_SIGNBIT_USING_GCC.
41888         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
41889
41890 2008-01-25  Jim Meyering  <meyering@redhat.com>
41891
41892         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
41893         * lib/poll.c: Include <config.h>, not "config.h".
41894         * tests/test-getaddrinfo.c: Likewise.
41895
41896 2008-01-25  Simon Josefsson  <simon@josefsson.org>
41897
41898         * modules/sockets-tests: New file.
41899
41900 2008-01-24  Simon Josefsson  <simon@josefsson.org>
41901
41902         * modules/sockets: New module, can be used to call WSA_Startup and
41903         WSA_Cleanup when needed.
41904
41905         * lib/sockets.h, lib/sockets.c: New files.
41906
41907         * m4/sockets.m4: New file.
41908
41909         * tests/test-sockets.c: New file.
41910
41911 2008-01-19  Bruno Haible  <bruno@clisp.org>
41912
41913         * doc/posix-headers: Renamed from doc/headers.
41914         * doc/posix-functions: Renamed from doc/functions.
41915         * doc/gnulib.texi: Update.
41916
41917 2008-01-19  Bruno Haible  <bruno@clisp.org>
41918
41919         * doc/glibc-functions/strcasestr.texi: Include contents of
41920         doc/functions/strcasestr.texi, fixing the list of platforms.
41921         * doc/functions/strcasestr.texi: Remove file.
41922
41923 2008-01-19  Bruno Haible  <bruno@clisp.org>
41924
41925         * doc/glibc-functions/memmem.texi: Include contents of
41926         doc/functions/memmem.texi.
41927         * doc/functions/memmem.texi: Remove file.
41928
41929 2008-01-18  Bruno Haible  <bruno@clisp.org>
41930
41931         * doc/glibc-functions/*.texi: New files.
41932         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
41933         to use the new files.
41934
41935 2008-01-17  Bruno Haible  <bruno@clisp.org>
41936
41937         * tests/test-gethostname.c (main): Fix printf statement.
41938
41939 2008-01-17  Simon Josefsson  <simon@josefsson.org>
41940
41941         * modules/gethostname-tests: New file.
41942
41943         * tests/test-gethostname.c: New file.
41944
41945 2008-01-17  Simon Josefsson  <simon@josefsson.org>
41946
41947         * lib/gethostname.c: Include string.h unconditionally, strncpy is
41948         used by the UNAME case.  Reported by Bruno Haible
41949         <bruno@clisp.org>.
41950
41951 2008-01-17  Eric Blake  <ebb9@byu.net>
41952
41953         Convert c-strcasestr to be more efficient.
41954         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
41955         (Depends-on): Add c-strcase, remove malloca, strnlen.
41956         * tests/test-c-strcasestr.c (main): Enhance test.
41957         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
41958
41959 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
41960
41961         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
41962         Use it in creating po/Makevars.
41963
41964 2008-01-15  Simon Josefsson  <simon@josefsson.org>
41965
41966         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
41967         Applications that requires it should initialize libgcrypt
41968         manually.
41969
41970 2008-01-16  Simon Josefsson  <simon@josefsson.org>
41971
41972         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
41973
41974 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
41975
41976         Fix problem with getdate on mingw32 reported by Simon Josefsson
41977         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
41978         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
41979         tzname", when deciding whether to declare tzname.
41980         * lib/strftime.c (tzname): Likewise.
41981
41982 2008-01-15  Bruno Haible  <bruno@clisp.org>
41983
41984         Work around a MacOS X 10.5 bug in frexpl().
41985         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
41986         * doc/functions/frexpl.texi: Document the bug.
41987         Reported by Elias Pipping <pipping@gentoo.org>.
41988
41989 2008-01-14  Eric Blake  <ebb9@byu.net>
41990
41991         Touch up previous patch.
41992         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
41993         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
41994
41995         Convert strcasestr module to use Two-Way algorithm.
41996         * modules/strcasestr-simple: New module, based on the old
41997         strcasestr, but with Two-Way rather than KMP.
41998         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
41999         * lib/string.in.h (rpl_strcasestr): Declare.
42000         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
42001         performance.
42002         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
42003         * modules/string (Makefile.am): Support strcasestr.
42004         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42005         * modules/strcasestr-tests (Depends-on): Check for alarm.
42006         * tests/test-strcasestr.c: Augment test.
42007         * lib/str-two-way.h: Clean up stray macro.
42008         * NEWS: Document new module.
42009         * MODULES.html.sh (string handling): Likewise.
42010         * doc/functions/strcasestr.texi: New file.
42011         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
42012         here, since it is not a POSIX function.
42013
42014 2008-01-14  Colin Watson  <cjwatson@debian.org>
42015             Bruno Haible  <bruno@clisp.org>
42016
42017         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
42018         works fine; if not, set REPLACE_STRSIGNAL.
42019         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
42020         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42021         REPLACE_STRSIGNAL.
42022         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
42023         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
42024         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
42025
42026 2008-01-14  Bruno Haible  <bruno@clisp.org>
42027
42028         * modules/strsignal (Include): Change to <string.h>.
42029
42030 2008-01-14  Colin Watson  <cjwatson@debian.org>
42031
42032         * modules/argp (Notice): Add a notice recommending to change
42033         XGETTEXT_OPTIONS.
42034         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
42035
42036 2008-01-13  Colin Watson  <cjwatson@debian.org>
42037
42038         * modules/strsignal-tests: New file.
42039         * tests/test-strsignal.c: New file.
42040
42041         * lib/strsignal.c: New file, from glibc with modifications.
42042         * lib/siglist.h: New file, from glibc with modifications.
42043         * lib/string.in.h (strsignal): New declaration.
42044         * m4/strsignal.m4: New file.
42045         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42046         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
42047         * modules/strsignal: New file.
42048         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
42049         HAVE_DECL_STRSIGNAL.
42050
42051 2008-01-13  Bruno Haible  <bruno@clisp.org>
42052
42053         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
42054         locale encoding is not ASCII. Needed for OpenBSD 4.0.
42055         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42056         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42057
42058 2008-01-13  Bruno Haible  <bruno@clisp.org>
42059
42060         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
42061         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
42062         * lib/argp.h (__attribute__): Likewise.
42063         * lib/c-stack.c (__attribute__): Likewise.
42064         * lib/error.h (__attribute__): Likewise.
42065         * lib/fts.c (__attribute__): Likewise.
42066         * lib/openat.h (__attribute__): Likewise.
42067         * lib/stdio.in.h (__attribute__): Likewise.
42068         * lib/string.in.h (__attribute__): Likewise.
42069         * lib/utimens.c (__attribute__): Likewise.
42070         * lib/vasnprintf.h (__attribute__): Likewise.
42071         * lib/xalloc.h (__attribute__): Likewise.
42072         * lib/xprintf.h (__attribute__): Likewise.
42073         * lib/xstrtol.h (__attribute__): Likewise.
42074         * lib/xvasprintf.h (__attribute__): Likewise.
42075
42076 2008-01-12  Bruno Haible  <bruno@clisp.org>
42077
42078         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
42079         * doc/glibc-headers/a.out.texi: New file.
42080         * doc/glibc-headers/aliases.texi: New file.
42081         * doc/glibc-headers/alloca.texi: New file.
42082         * doc/glibc-headers/ar.texi: New file.
42083         * doc/glibc-headers/argp.texi: New file.
42084         * doc/glibc-headers/argz.texi: New file.
42085         * doc/glibc-headers/byteswap.texi: New file.
42086         * doc/glibc-headers/crypt.texi: New file.
42087         * doc/glibc-headers/endian.texi: New file.
42088         * doc/glibc-headers/envz.texi: New file.
42089         * doc/glibc-headers/err.texi: New file.
42090         * doc/glibc-headers/error.texi: New file.
42091         * doc/glibc-headers/execinfo.texi: New file.
42092         * doc/glibc-headers/fpu_control.texi: New file.
42093         * doc/glibc-headers/fstab.texi: New file.
42094         * doc/glibc-headers/fts.texi: New file.
42095         * doc/glibc-headers/getopt.texi: New file.
42096         * doc/glibc-headers/ieee754.texi: New file.
42097         * doc/glibc-headers/ifaddrs.texi: New file.
42098         * doc/glibc-headers/libintl.texi: New file.
42099         * doc/glibc-headers/mcheck.texi: New file.
42100         * doc/glibc-headers/mntent.texi: New file.
42101         * doc/glibc-headers/obstack.texi: New file.
42102         * doc/glibc-headers/paths.texi: New file.
42103         * doc/glibc-headers/printf.texi: New file.
42104         * doc/glibc-headers/pty.texi: New file.
42105         * doc/glibc-headers/resolv.texi: New file.
42106         * doc/glibc-headers/shadow.texi: New file.
42107         * doc/glibc-headers/sysexits.texi: New file.
42108         * doc/glibc-headers/ttyent.texi: New file.
42109
42110 2008-01-12  Jim Meyering  <meyering@redhat.com>
42111
42112         announce-gen: emit Gnulib's git-based version string.
42113         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
42114         New option --gnulib-version=V, where V is expected to be
42115         the output of running git describe in the gnulib directory.
42116         (get_tool_versions): Request feedback on xdelta.  I suspect it's
42117         not useful, and plan to stop publishing an xdelta file with each
42118         coreutils release.
42119
42120         * build-aux/announce-gen: Also check for lzma-compressed files.
42121
42122 2008-01-11  Bruno Haible  <bruno@clisp.org>
42123
42124         * tests/test-memmem.c (main): Increase maximum allowed time.
42125         * tests/test-strstr.c (main): Likewise.
42126
42127 2008-01-11  Bruno Haible  <bruno@clisp.org>
42128
42129         * doc/functions/memmem.texi: Add more precisions about platforms.
42130         * doc/functions/strstr.texi: Likewise.
42131
42132 2008-01-10  Eric Blake  <ebb9@byu.net>
42133
42134         * m4/strstr.m4: Delete cruft from copy-n-paste.
42135         Reported by Bruno Haible.
42136
42137 2008-01-10  Bruno Haible  <bruno@clisp.org>
42138
42139         Make c-strstr rely on strstr.
42140         * lib/c-strstr.c: Don't include str-kmp.h.
42141         (c_strstr): Define in terms of strstr.
42142         * modules/c-strstr (Files): Remove lib/str-kmp.h.
42143         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
42144
42145 2008-01-10  Bruno Haible  <bruno@clisp.org>
42146
42147         * doc/gnulib.texi (String Functions in C Locale): New section.
42148         * doc/c-ctype.texi: New file.
42149         * doc/c-strcase.texi: New file.
42150         * doc/c-strcaseeq.texi: New file.
42151         * doc/c-strcasestr.texi: New file.
42152         * doc/c-strstr.texi: New file.
42153         * doc/c-strtod.texi: New file.
42154         * doc/c-strtold.texi: New file.
42155
42156 2008-01-10  Eric Blake  <ebb9@byu.net>
42157
42158         * lib/relocatable.h: Fix a comment.
42159
42160 2008-01-10  Eric Blake  <ebb9@byu.net>
42161
42162         Share two-way algorithm.
42163         * lib/str-two-way.h: New file, merged from...
42164         * lib/memmem.c: ...here...
42165         * lib/strstr.c: ...and here.
42166         * modules/memmem (Files): Use it.
42167         * modules/strstr (Files): Likewise.
42168
42169         Avoid quadratic strstr implementations.
42170         * lib/strstr.c: New file.
42171         * m4/strstr.m4: Likewise.
42172         * modules/strstr: Likewise.
42173         * modules/strstr-tests: Likewise.
42174         * tests/test-strstr.c: Likewise.
42175         * lib/string.in.h (rpl_strstr): Declare.
42176         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
42177         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
42178         * modules/string (Makefile.am): Likewise.
42179         * MODULES.html.sh (string handling): Mention new module.
42180         * doc/functions/strstr.texi (strstr): Document the bug.
42181
42182 2008-01-10  Bruno Haible  <bruno@clisp.org>
42183
42184         * lib/relocatable.h (relocate): State whether result is freshly
42185         allocated or not.
42186         * lib/relocatable.c (relocate): Return a freshly allocated string
42187         instead of a pointer to a privately held string.
42188         Reported by Sylvain Beucler <beuc@gnu.org>.
42189
42190 2008-01-10  Colin Watson  <cjwatson@debian.org>
42191
42192         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
42193         s/S_ISNLK/S_ISLNK/.
42194
42195 2008-01-09  Bruno Haible  <bruno@clisp.org>
42196
42197         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
42198         and other files.
42199         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
42200         if it's only a guess.
42201         * modules/memmem: Simplify by depending on memmem-simple.
42202
42203 2008-01-09  Bruno Haible  <bruno@clisp.org>
42204
42205         Work around OpenBSD 4.0 tdelete() bug.
42206         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
42207         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
42208         macros and don't redefine the enum values.
42209         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
42210         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
42211         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
42212
42213 2008-01-09  Bruno Haible  <bruno@clisp.org>
42214
42215         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
42216         (main): Don't perform the tests if setlocale did not install a UTF-8
42217         locale. Needed on OpenBSD 4.0.
42218         * modules/wcwidth-tests (Depends-on): Add localcharset.
42219
42220 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
42221
42222         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
42223         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
42224         * NEWS: announce this.
42225         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
42226
42227 2008-01-09  Simon Josefsson  <simon@josefsson.org>
42228         and Eric Blake  <ebb9@byu.net>
42229
42230         Add memmem-simple module.
42231         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
42232         (gl_FUNC_MEMMEM): Separate performance from presence checks.
42233         * modules/memmem-simple: New file.
42234         * modules/memmem (Description): Tweak.
42235         * MODULES.html.sh (string handling): Mention new module.
42236         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
42237         addressed by memmem-simple.
42238         * NEWS: Document the difference.
42239
42240 2008-01-09  Eric Blake  <ebb9@byu.net>
42241
42242         Give gcc some memmem optimization hints.
42243         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
42244         (strcasestr): Declare as pure.
42245         * modules/memmem (Maintainer): Claim my implementation.
42246
42247 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42248
42249         Support AIX 6.1 and higher.
42250         * build-aux/config.libpath: Likewise.
42251         * build-aux/config.rpath: Likewise.
42252
42253 2008-01-08  Jim Meyering  <meyering@redhat.com>
42254             Bruno Haible  <bruno@clisp.org>
42255
42256         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
42257         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
42258         Reported by Peter Fales in
42259         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
42260
42261 2008-01-08  Bruno Haible  <bruno@clisp.org>
42262
42263         * modules/unictype/category-of (Depends-on): Add
42264         unictype/category-none.
42265         * modules/unictype/category-and-tests (Depends-on): Add
42266         unictype/category-{L,N,Lu,Nd}.
42267         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
42268         * modules/unictype/category-or-tests (Depends-on): Add
42269         unictype/category-{L,N}.
42270         * modules/unictype/category-name-tests (Depends-on): Add
42271         unictype/category-{Z,Nl}.
42272         Reported by Simon Josefsson.
42273
42274 2008-01-08  Bruno Haible  <bruno@clisp.org>
42275
42276         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
42277         convention better.
42278         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
42279         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
42280         Reported by Peter Miller <millerp@canb.auug.org.au>.
42281
42282 2008-01-08  Eric Blake  <ebb9@byu.net>
42283
42284         Rewrite memmem to guarantee linear complexity without malloc.
42285         * lib/memmem.c (memmem): Use Two-Way rather than
42286         Knuth-Morris-Pratt, to allow O(1) space usage.
42287         (critical_factorization, two_way_short_needle)
42288         (two_way_long_needle): New functions.
42289         (knuth_morris_pratt): Delete.
42290         * modules/memmem (Depends-on): No longer need malloca or stdbool.
42291         Add stdint.
42292         * tests/test-memmem.c (main): Add tests for periodic needle and
42293         sublinear performance.
42294         * doc/functions/memmem.texi (memmem): Document other deficiencies
42295         in cygwin and older glibc.
42296
42297 2008-01-08  Bruno Haible  <bruno@clisp.org>
42298
42299         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
42300         augmentation.
42301
42302 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
42303
42304         Add a configure time option: --disable-acl.
42305         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
42306         AC_ARG_ENABLE(acl).
42307
42308 2008-01-06  Simon Josefsson  <simon@josefsson.org>
42309
42310         * tests/test-localename.c: Don't include obsolete "setenv.h".
42311
42312         * modules/localename-tests (Depends-on): Need unsetenv.
42313
42314 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42315
42316         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
42317
42318 2008-01-06  Colin Watson  <cjwatson@debian.org>
42319
42320         * users.txt: Add man-db.
42321
42322 2008-01-07  Bruno Haible  <bruno@clisp.org>
42323
42324         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
42325         previous section name.
42326
42327 2008-01-07  Bruno Haible  <bruno@clisp.org>
42328
42329         * lib/progname.c (set_program_name): Don't strip off a leading
42330         "lt-" prefix outside a .libs directory.
42331         Suggested by Paul Eggert.
42332
42333 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
42334             Bruno Haible  <bruno@clisp.org>
42335
42336         Improve memory cleanup in 'relocatable' module.
42337         * lib/relocatable.h (compute_curr_prefix): Change return type to
42338         'char *'.
42339         * lib/relocatable.c (compute_curr_prefix): Change return type to
42340         'char *'. Free curr_installdir after use.
42341         (relocate): Free curr_prefix_better after use.
42342         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
42343
42344 2008-01-01  Bruno Haible  <bruno@clisp.org>
42345
42346         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
42347         failure on older glibc systems.
42348         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42349
42350 2008-01-05  Eric Blake  <ebb9@byu.net>
42351
42352         Avoid quadratic system memmem.
42353         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
42354         Reported by Ralf Wildenhues.
42355
42356         Fix memmem test for mingw.
42357         * modules/memmem-tests (configure.ac): Check for alarm.
42358         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
42359         it.
42360         * doc/functions/memmem.texi: New file.
42361         * doc/gnulib.texi (Function Substitutes): Add memmem.
42362         Reported by Bruno Haible.
42363
42364 2008-01-04  Bruno Haible  <bruno@clisp.org>
42365
42366         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
42367         Require gl_HEADER_STRINGS_H_DEFAULTS, not
42368         gl_HEADER_STRING_H_DEFAULTS.
42369
42370 2008-01-04  Eric Blake  <ebb9@byu.net>
42371
42372         Shorten duration of memmem test.
42373         * tests/test-memmem.c (main): Use alarm to declare failure if test
42374         is taking too long.
42375         Reported by Ralf Wildenhues.
42376
42377 2007-12-21  Simon Josefsson  <simon@josefsson.org>
42378
42379         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
42380         string, needed by strerror.
42381
42382 2008-01-03  Colin Watson  <cjwatson@debian.org>
42383             Bruno Haible  <bruno@clisp.org>
42384
42385         * doc/gnulib-tool.texi (Localization): New section.
42386
42387 2008-01-02  Bruno Haible  <bruno@clisp.org>
42388
42389         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
42390         variables to 'unsigned char *' type.
42391         Reported by Paul Eggert.
42392
42393 2008-01-02  Jim Meyering  <jim@meyering.net>
42394
42395         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
42396
42397 2007-12-31  Jim Meyering  <jim@meyering.net>
42398
42399         Avoid use of private FTS type name.
42400         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
42401
42402 2007-12-30  Karl Berry  <karl@gnu.org>
42403
42404         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
42405         work around defect in Texinfo and/or the standalone Info browser.
42406
42407 2007-12-30  Bruno Haible  <bruno@clisp.org>
42408
42409         Unify 5 copies of the KMP code.
42410         * lib/str-kmp.h: New file.
42411         * lib/c-strcasestr.c: Include str-kmp.h.
42412         (knuth_morris_pratt): Remove function.
42413         (c_strcasestr): Update.
42414         * lib/c-strstr.c: Include str-kmp.h.
42415         (knuth_morris_pratt): Remove function.
42416         (c_strcasestr): Update.
42417         * lib/mbscasestr.c: Include str-kmp.h.
42418         (knuth_morris_pratt_unibyte): Remove function.
42419         * lib/mbsstr.c: Include str-kmp.h.
42420         (knuth_morris_pratt_unibyte): Remove function.
42421         * lib/strcasestr.c: Include str-kmp.h.
42422         (knuth_morris_pratt): Remove function.
42423         (strcasestr): Update.
42424         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
42425         * modules/c-strstr (Files): Likewise.
42426         * modules/mbscasestr (Files): Likewise.
42427         * modules/mbsstr (Files): Likewise.
42428         * modules/strcasestr (Files): Likewise.
42429         Suggested by Paul Eggert.
42430
42431 2007-12-30  Bruno Haible  <bruno@clisp.org>
42432
42433         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
42434         defined.
42435
42436 2007-12-30  Bruno Haible  <bruno@clisp.org>
42437
42438         * lib/xmalloca.h: Include xalloc.h.
42439         (xnmalloca): New macro.
42440
42441 2007-12-30  Bruno Haible  <bruno@clisp.org>
42442
42443         * lib/malloca.h (nmalloca): New macro.
42444         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
42445         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
42446         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
42447         knuth_morris_pratt_multibyte): Likewise.
42448         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
42449         knuth_morris_pratt_multibyte): Likewise.
42450         * lib/memmem.c (knuth_morris_pratt): Likewise.
42451         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
42452
42453 2007-12-25  Bruno Haible  <bruno@clisp.org>
42454
42455         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
42456         * lib/glob.c: Don't include openat.h.
42457         (link_exists2_p): Add back the code that deals with the
42458         !GLOB_ALTDIRFUNC case.
42459         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
42460         let it do the filename concatenation.
42461         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
42462         * modules/glob (Depends-on): Remove openat.
42463
42464 2007-12-31  Bruno Haible  <bruno@clisp.org>
42465
42466         * modules/dirfd (License): Change to LGPLv2+.
42467         Approved by Jim Meyering.
42468
42469 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
42470
42471         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
42472         when multiplying M by sizeof (size_t).
42473
42474 2007-12-10  Martin Lambers  <marlam@marlam.de>
42475
42476         Override getpagesize on mingw.
42477         * lib/getpagesize.c: New file.
42478         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
42479         * modules/getpagesize (Files): Add lib/getpagesize.c.
42480         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
42481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42482         REPLACE_GETPAGESIZE.
42483         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
42484
42485 2007-12-25  Bruno Haible  <bruno@clisp.org>
42486
42487         * modules/localcharset (Notice): New field.
42488         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
42489         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
42490
42491 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
42492             Bruno Haible  <bruno@clisp.org>
42493
42494         Avoid using the syntax symbol() in formatted documentation.
42495         * MODULES.html.sh (func_module): When replacing symbol() with a
42496         hyperlink, remove the parentheses. Show an error if some remain.
42497         Recognize and render the '...' syntax.
42498         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
42499         Rework. Add paragraph about GCC's inlining.
42500         * doc/alloca.texi: Likewise.
42501         * doc/error.texi: Remove parentheses from symbol reference.
42502         * doc/gnulib-intro.texi: Likewise.
42503         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
42504         * modules/fnmatch (Description): Reword to say "the ... function".
42505         * modules/full-read (Description): Likewise.
42506         * modules/full-write (Description): Likewise.
42507         * modules/safe-read (Description): Likewise.
42508         * modules/safe-write (Description): Likewise.
42509         * modules/strchrnul (Description): Likewise.
42510         * modules/trim (Description): Likewise.
42511         * modules/error (Description): Remove parentheses from symbol
42512         references.
42513         * modules/verror (Description): Likewise.
42514         Reported by Karl Berry.
42515
42516 2007-12-25  Bruno Haible  <bruno@clisp.org>
42517
42518         Fixup after 2007-10-16 commit.
42519         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
42520
42521 2007-12-24  Bruno Haible  <bruno@clisp.org>
42522
42523         Make --enable-relocatable work with DESTDIR.
42524         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
42525         to compute installdir from destprog.
42526         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
42527         also set the RELOC_DESTDIR variable.
42528         Reported by Левашев Иван <octagram@bluebottle.com>.
42529
42530 2007-12-24  Bruno Haible  <bruno@clisp.org>
42531
42532         Fix link error due to xalloc_die().
42533         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
42534         of xreadlink.
42535         * lib/relocwrapper.c: Update comments.
42536         * build-aux/install-reloc: Remove xreadlink.c from file list.
42537         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
42538         xreadlink.c.
42539         Reported by Левашев Иван <octagram@bluebottle.com>.
42540
42541 2007-12-24  Bruno Haible  <bruno@clisp.org>
42542
42543         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
42544         * lib/setenv.h: Remove file.
42545         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
42546         lib/setenv.h.
42547         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
42548         (Depends-on): Add stdlib.
42549         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
42550         gl_FUNC_UNSETENV.
42551         (Include): Replace setenv.h with <stdlib.h>.
42552         * modules/unsetenv: New file.
42553         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
42554         * lib/unsetenv.c: Include <stdlib.h> first.
42555         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
42556         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
42557         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
42558         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
42559         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
42560         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42561         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
42562         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42563         * doc/functions/unsetenv.texi: Update.
42564         * modules/xsetenv (Depends-on): Add unsetenv.
42565         * modules/getdate (Depends-on): Likewise.
42566         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
42567         * lib/xsetenv.c: Don't include setenv.h.
42568         * lib/getdate.y: Likewise.
42569         * lib/relocwrapper.c: Likewise.
42570         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
42571         (Depends-on): Add stdlib.
42572         * NEWS: Mention the changes.
42573         Reported by Левашев Иван <octagram@bluebottle.com>.
42574
42575 2007-12-23  Bruno Haible  <bruno@clisp.org>
42576
42577         * lib/memmem.c (memmem): Use lowercase variable names. Tab
42578         indentation.
42579
42580 2007-12-23  Bruno Haible  <bruno@clisp.org>
42581
42582         * lib/c-strcasestr.c: Add more comments.
42583         * lib/c-strstr.c: Likewise.
42584         * lib/mbscasestr.c: Likewise.
42585         * lib/mbsstr.c: Likewise.
42586         * lib/strcasestr.c: Likewise.
42587         * lib/memmem.c: Likewise.
42588
42589 2007-12-23  Bruno Haible  <bruno@clisp.org>
42590
42591         * tests/test-memmem.c: Include <string.h> first.
42592
42593 2007-12-22  Bruno Haible  <bruno@clisp.org>
42594
42595         * gnulib-tool (func_create_testdir): Change $auxdir while generating
42596         the contents of $testsbase.
42597         Reported by Ralf Wildenhues.
42598
42599 2007-12-22  Bruno Haible  <bruno@clisp.org>
42600
42601         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
42602         two variables local_ldadd_before, local_ldadd_last.
42603
42604 2007-12-20  Eric Blake  <ebb9@byu.net>
42605
42606         Work around circular library issue when cross-compiling.
42607         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
42608         that progname.o does not need to pull in rpl_memcmp.
42609
42610 2007-12-19  Eric Blake  <ebb9@byu.net>
42611
42612         Fix memmem to avoid O(n^2) worst-case complexity.
42613         * lib/memmem.c (knuth_morris_pratt): New function.
42614         (memmem): Use it if first few naive iterations fail.
42615         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
42616         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
42617         * modules/memchr (License): Likewise.
42618         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
42619         malloca.
42620         * tests/test-memmem.c: Rewrite, borrowing ideas from
42621         test-mbsstr1.c; the old version wouldn't even compile!
42622         * modules/memmem-tests: New file.
42623         * lib/string.in.h (rpl_memmem): Add declaration.
42624         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
42625         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
42626         REPLACE_MEMMEM.
42627
42628 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42629
42630         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
42631         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
42632         before any system include files, and undef after them all.  This
42633         should fix a problem on VMS reported by John E. Malmberg in
42634         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
42635
42636 2007-12-17  Eric Blake  <ebb9@byu.net>
42637
42638         Revert addition of verify, for BSD/OS.
42639         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
42640         can't handle large files, for the sake of obsolete platforms.
42641         * modules/fseeko (Depends-on): Remove verify.
42642         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
42643         * doc/functions/ftello.texi (ftello): Likewise.
42644         * doc/functions/fgetpos.texi (fgetpos): Likewise.
42645         Reported by Larry Jones.
42646
42647 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
42648
42649         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
42650         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
42651
42652 2007-12-17  Jim Meyering  <meyering@redhat.com>
42653
42654         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
42655         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
42656         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
42657         * modules/getcwd (Depends-on): Add openat.
42658         Reported by Petr Salinger.
42659
42660 2007-12-17  Bruno Haible  <bruno@clisp.org>
42661
42662         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
42663         avoid a segmentation fault of the configure test on x86_64 systems.
42664
42665 2007-12-15  Jim Meyering  <meyering@redhat.com>
42666
42667         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
42668
42669 2007-12-13  Eric Blake  <ebb9@byu.net>
42670
42671         Another fseek test.
42672         * tests/test-fseek.c (main): Also test ungetc handling.
42673         * tests/test-fseeko.c (main): Likewise.
42674         * modules/fseeko (Depends-on): Add verify.
42675         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
42676         large.
42677         Reported by Larry Jones.
42678
42679         Fix fseeko on mingw.
42680         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
42681         seek.
42682
42683         Beef up fseek tests.
42684         * tests/test-fseek.c (main): Also test eof handling.
42685         * tests/test-fseeko.c (main): Likewise.
42686         Reported by Larry Jones.
42687
42688 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
42689
42690         Fix fseeko on BSD-based platforms.
42691         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
42692         successful seek.
42693
42694 2007-12-12  Eric Blake  <ebb9@byu.net>
42695
42696         Allow circular dependency of separate libtests.a
42697         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
42698         when use_libtests.
42699
42700 2007-12-11  Eric Blake  <ebb9@byu.net>
42701
42702         Fix bug with -0.0L in previous patch.
42703         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
42704         * tests/test-isnan.c (main): Also test on zeroes.
42705         * tests/test-isnanf.c (main): Likewise.
42706         * tests/test-isnanl.h (main): Likewise.
42707
42708         Detect pseudo-denormals on x86 even when cross-compiling.
42709         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
42710         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
42711         invalid bit patterns that happen to satisfy ==.
42712
42713         Avoid link failures with separate libtests.a.
42714         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
42715         last, to satisfy circular dependencies.
42716
42717 2007-12-11  Eric Blake  <ebb9@byu.net>
42718         and Bruno Haible  <bruno@clisp.org>
42719
42720         Fix OpenBSD 4.0 <float.h> handling of long double.
42721         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
42722         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
42723         * doc/headers/float.texi (float.h): Document OpenBSD bug.
42724
42725 2007-12-11  Jim Meyering  <meyering@redhat.com>
42726
42727         * users.txt: Add libvirt.
42728
42729         Support versions of autoconf prior to 2.59c.
42730         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
42731         if it is not already defined.
42732
42733 2007-12-09  Bruno Haible  <bruno@clisp.org>
42734
42735         Let 'gnulib-tool --import' collect sources needed for the tests in
42736         tests/ rather than in lib/.
42737         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
42738         argument. If true, add rules to generate libtests.a, and put libtests.a
42739         into $(LDADD). Consider source files in subdirectories and set
42740         uses_subdirs.
42741         (func_emit_initmacro_start, func_emit_initmacro_end,
42742         func_emit_initmacro_done): Pass all arguments explicitly.
42743         (func_import): Determine two module lists main_modules,
42744         testsrelated_modules. Determine use_libtests. Determine two variables
42745         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
42746         instead of just sed_transform_lib_file. Determine two variables
42747         main_files and testsrelated_files. Compute 'files' as the union of
42748         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
42749         func_add_or_update. In the generated gnulib-comp.m4, collect the
42750         object files for tests/ in different variables than those for lib/.
42751         Substitute LIBTESTS_LIBDEPS.
42752         (func_create_testdir): Combine the uses_subdirs results from
42753         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
42754
42755 2007-12-09  Bruno Haible  <bruno@clisp.org>
42756
42757         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
42758         the build-aux directory.
42759
42760 2007-12-09  Bruno Haible  <bruno@clisp.org>
42761
42762         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
42763         introduced on 2006-09-09.
42764
42765 2007-12-07  Jim Meyering  <meyering@redhat.com>
42766
42767         Let these macros work also with autoconf-2.59.
42768         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
42769         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
42770         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
42771
42772 2007-12-06  Jim Meyering  <meyering@redhat.com>
42773
42774         Avoid a configure-time syntax error in gl_FUNC_ACL.
42775         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
42776         function in each branch, before testing the cache variable.
42777
42778 2007-12-04  Eric Blake  <ebb9@byu.net>
42779
42780         Make scripts executable.
42781         * build-aux/config.guess: Add execute permissions.
42782         * build-aux/config.sub: Likewise.
42783         * build-aux/gendocs.sh: Likewise.
42784
42785         Fix frexp on mingw.
42786         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
42787         cross-compiling.
42788         * doc/functions/frexp.texi (frexp): Document the bug.
42789
42790         Make cygwin fseeko check more reliable.
42791         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
42792         version numbers, rather than unrelated feature check.
42793         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
42794         * doc/functions/ftello.texi (ftello): Likewise.
42795         Reported by Bruno Haible.
42796
42797         * m4/strerror.m4: Bump version number.
42798
42799 2007-12-03  Bruno Haible  <bruno@clisp.org>
42800
42801         * doc/functions/mprotect.texi: Mention the mingw problem.
42802
42803 2007-12-03  Eric Blake  <ebb9@byu.net>
42804
42805         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
42806         REPLACE_STRERROR is initialized before this macro.
42807
42808 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
42809
42810         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
42811         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
42812         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
42813         put -lsec in even for programs other than 'ls'.  This fixes a problem
42814         for gettext reported by Bruno Haible in
42815         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
42816         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
42817         Add support for Solaris 10.  This isn't efficient, but should get the
42818         job done for now.
42819
42820 2007-12-03  James Youngman  <jay@gnu.org>
42821
42822         * doc/regexprops-generic.texi: change "an close-group" to "a
42823         close-group" and "illegal" to "not allowed".
42824
42825 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42826
42827         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
42828         pr_byname.h. Needed for the rare case when the maintainer has done
42829         "make maintainer-clean" in the source directory and then attempts a
42830         build outside the source directory.
42831         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
42832         scripts_byname.h.
42833
42834 2007-12-02  Martin Lambers <marlam@marlam.de>
42835             Bruno Haible  <bruno@clisp.org>
42836
42837         * lib/getpagesize.h: Remove file.
42838         * lib/unistd.in.h: Include declaration of getpagesize here.
42839         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
42840         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
42841         HAVE_SYS_PARAM_H.
42842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
42843         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42844         * modules/getpagesize (Files): Remove lib/getpagesize.h.
42845         (Depends-on): Add unistd.
42846         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42847         (Include): Use <unistd.h> instead of getpagesize.h.
42848         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
42849         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42850         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
42851         gl_GETPAGESIZE invocation, already handled by module dependency.
42852         * lib/pagealign_alloc.c: Don't include getpagesize.h.
42853
42854 2007-12-02  Bruno Haible  <bruno@clisp.org>
42855
42856         * modules/strings-tests: New file.
42857         * tests/test-strings.c: New file.
42858
42859         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
42860         * lib/strings.in.h: New file.
42861         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
42862         * m4/strings_h.m4: New file.
42863         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
42864         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
42865         * modules/strings: New file.
42866         * modules/string (Makefile.am): Update.
42867         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
42868         Reported by Karl Berry.
42869
42870 2007-12-01  Eric Blake  <ebb9@byu.net>
42871
42872         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
42873         accomodate fix in cygwin 1.5.25.
42874
42875 2007-12-01  Jim Meyering  <meyering@redhat.com>
42876
42877         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
42878         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
42879         that would inhibit utf8-optimization of a regexp containing line-
42880         or buffer-anchors, e.g., `^', `$'.
42881
42882 2007-11-30  Bruno Haible  <bruno@clisp.org>
42883
42884         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
42885         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
42886         glthread_recursive_lock_init.
42887         * lib/lock.c (glthread_recursive_lock_init)
42888         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
42889         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42890
42891 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
42892
42893         New function qset_acl, like set_acl but with syscall semantics.
42894         * lib/acl.h (qset_acl): New decl.
42895         * lib/acl.c (qset_acl): New function.
42896         (set_acl): Use new function.  Use more-consistent diagnostics.
42897
42898 2007-11-28  Jim Meyering  <meyering@redhat.com>
42899
42900         * modules/physmem (License): Change from GPL to LGPLv2+.
42901
42902 2007-11-26  Bruno Haible  <bruno@clisp.org>
42903
42904         * lib/vasnprintf.c (decode_long_double): Don't abort if the
42905         'long double' type has excess precision.
42906         Reported by Jim Meyering in
42907         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
42908
42909 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42910
42911         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
42912         Sync from <http://gnu.org/licenses>.
42913         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
42914         with license text from same location.
42915         * doc/maintain.texi, doc/standards.texi:  Sync from
42916         <http://savannah.gnu.org/projects/gnustandards>.
42917
42918 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
42919         and Jim Meyering  <meyering@redhat.com>
42920
42921         Adjust getdate' grammar to accept a slightly more regular language.
42922         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
42923         Before, the former was rejected.
42924         * lib/getdate.y (digits_to_date_time): New function, factored
42925         out of ...
42926         (number): ...here.  Just call digits_to_date_time.
42927         (hybrid): New non-terminal to handle an <unsigned number,
42928         signed relative offset> sequence consistently.
42929
42930 2007-11-18  Jim Meyering  <meyering@redhat.com>
42931
42932         Pull my changes from coreutils:
42933         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
42934         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
42935         use of $gnulib_tool_option_extras, so that it's separated from the
42936         preceding argument.
42937
42938         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
42939         * build-aux/bootstrap (cp_mark_as_generated): Create any required
42940         parent destination directories before copying a file into place.
42941
42942 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42943
42944         bootstrap: work also with 4-argument variant of AC_INIT
42945         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
42946
42947 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42948
42949         Port test-getaddrinfo to Solaris.
42950         Problem reported by Bruno Haible in
42951         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
42952         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
42953         explanation of setting 'hints'.
42954         Don't reject an implementation merely because it returns EAI_SERVICE.
42955         (EAI_SERVICE): Define to 0 if not defined.
42956
42957 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
42958
42959         The license of gnu-make and posix-shell is now "GPLed build tool".
42960         * modules/gnu-make (License): Likewise.
42961         * modules/posix-shell (License): Likewise.
42962
42963         New module posix-shell, for determining a POSIX shell
42964         or perhaps something that is close enough to a POSIX shell.
42965         * m4/posix-shell.m4: New file.
42966         * modules/posix-shell: New file.
42967
42968         * MODULES.html.sh: Mention new module.
42969
42970         New module gnu-make, for determining whether we're using GNU Make.
42971         * m4/gnu-make.m4: New file.
42972         * modules/gnu-make: New file.
42973         * MODULES.html.sh: Mention new module.
42974
42975 2007-11-14  Jim Meyering  <meyering@redhat.com>
42976
42977         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
42978         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
42979         use this macro to create a function _definition_.
42980         Remove useless "#undef ARGMATCH_DIE".
42981
42982 2007-11-14  Bruno Haible  <bruno@clisp.org>
42983
42984         * lib/config.charset: Update for OpenBSD 4.1.
42985         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
42986
42987 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
42988
42989         Document 64-bit #if problems in stdint.texi.
42990         * doc/headers/stdint.texi (stdint.h): Mention problems with
42991         64-bit-#if, and how to work around them.
42992
42993         Don't insist on 'long long int' support in the preprocessor.  It
42994         breaks too many things.  For example, PRIdMAX still uses a 'long
42995         long int' format with the latest Sun compiler, even though
42996         HAVE_LONG_LONG_INT isn't defined due to that compiler's
42997         preprocessor problem.  This causes the latest coreutils to dump
42998         core on Solaris 10 sparc with the Sun C compiler.
42999         Instead, fix the 2007-10-16 problem in a different way, by evaluating
43000         the troublesome expressions at configure-time, not at #if-time.
43001         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
43002         preprocessor.
43003         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
43004         compile-time C checks, done at 'configure'-time.
43005         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
43006         * modules/inttypes (Makefile): Substitute the new symbols that
43007         gl_INTTYPES_H now generates.
43008         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
43009
43010 2007-11-12  Bruno Haible  <bruno@clisp.org>
43011
43012         Tests for Unicode character classification functions.
43013
43014         * modules/unictype/bidicategory-byname-tests: New file.
43015         * modules/unictype/bidicategory-name-tests: New file.
43016         * modules/unictype/bidicategory-of-tests: New file.
43017         * modules/unictype/bidicategory-test-tests: New file.
43018         * modules/unictype/block-list-tests: New file.
43019         * modules/unictype/block-of-tests: New file.
43020         * modules/unictype/block-test-tests: New file.
43021         * modules/unictype/category-C-tests: New file.
43022         * modules/unictype/category-Cc-tests: New file.
43023         * modules/unictype/category-Cf-tests: New file.
43024         * modules/unictype/category-Cn-tests: New file.
43025         * modules/unictype/category-Co-tests: New file.
43026         * modules/unictype/category-Cs-tests: New file.
43027         * modules/unictype/category-L-tests: New file.
43028         * modules/unictype/category-Ll-tests: New file.
43029         * modules/unictype/category-Lm-tests: New file.
43030         * modules/unictype/category-Lo-tests: New file.
43031         * modules/unictype/category-Lt-tests: New file.
43032         * modules/unictype/category-Lu-tests: New file.
43033         * modules/unictype/category-M-tests: New file.
43034         * modules/unictype/category-Mc-tests: New file.
43035         * modules/unictype/category-Me-tests: New file.
43036         * modules/unictype/category-Mn-tests: New file.
43037         * modules/unictype/category-N-tests: New file.
43038         * modules/unictype/category-Nd-tests: New file.
43039         * modules/unictype/category-Nl-tests: New file.
43040         * modules/unictype/category-No-tests: New file.
43041         * modules/unictype/category-P-tests: New file.
43042         * modules/unictype/category-Pc-tests: New file.
43043         * modules/unictype/category-Pd-tests: New file.
43044         * modules/unictype/category-Pe-tests: New file.
43045         * modules/unictype/category-Pf-tests: New file.
43046         * modules/unictype/category-Pi-tests: New file.
43047         * modules/unictype/category-Po-tests: New file.
43048         * modules/unictype/category-Ps-tests: New file.
43049         * modules/unictype/category-S-tests: New file.
43050         * modules/unictype/category-Sc-tests: New file.
43051         * modules/unictype/category-Sk-tests: New file.
43052         * modules/unictype/category-Sm-tests: New file.
43053         * modules/unictype/category-So-tests: New file.
43054         * modules/unictype/category-Z-tests: New file.
43055         * modules/unictype/category-Zl-tests: New file.
43056         * modules/unictype/category-Zp-tests: New file.
43057         * modules/unictype/category-Zs-tests: New file.
43058         * modules/unictype/category-and-not-tests: New file.
43059         * modules/unictype/category-and-tests: New file.
43060         * modules/unictype/category-byname-tests: New file.
43061         * modules/unictype/category-name-tests: New file.
43062         * modules/unictype/category-none-tests: New file.
43063         * modules/unictype/category-of-tests: New file.
43064         * modules/unictype/category-or-tests: New file.
43065         * modules/unictype/category-test-withtable-tests: New file.
43066         * modules/unictype/combining-class-tests: New file.
43067         * modules/unictype/ctype-alnum-tests: New file.
43068         * modules/unictype/ctype-alpha-tests: New file.
43069         * modules/unictype/ctype-blank-tests: New file.
43070         * modules/unictype/ctype-cntrl-tests: New file.
43071         * modules/unictype/ctype-digit-tests: New file.
43072         * modules/unictype/ctype-graph-tests: New file.
43073         * modules/unictype/ctype-lower-tests: New file.
43074         * modules/unictype/ctype-print-tests: New file.
43075         * modules/unictype/ctype-punct-tests: New file.
43076         * modules/unictype/ctype-space-tests: New file.
43077         * modules/unictype/ctype-upper-tests: New file.
43078         * modules/unictype/ctype-xdigit-tests: New file.
43079         * modules/unictype/decimal-digit-tests: New file.
43080         * modules/unictype/digit-tests: New file.
43081         * modules/unictype/mirror-tests: New file.
43082         * modules/unictype/numeric-tests: New file.
43083         * modules/unictype/property-alphabetic-tests: New file.
43084         * modules/unictype/property-ascii-hex-digit-tests: New file.
43085         * modules/unictype/property-bidi-arabic-digit-tests: New file.
43086         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
43087         * modules/unictype/property-bidi-block-separator-tests: New file.
43088         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
43089         * modules/unictype/property-bidi-common-separator-tests: New file.
43090         * modules/unictype/property-bidi-control-tests: New file.
43091         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
43092         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
43093         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
43094         * modules/unictype/property-bidi-european-digit-tests: New file.
43095         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
43096         * modules/unictype/property-bidi-left-to-right-tests: New file.
43097         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
43098         * modules/unictype/property-bidi-other-neutral-tests: New file.
43099         * modules/unictype/property-bidi-pdf-tests: New file.
43100         * modules/unictype/property-bidi-segment-separator-tests: New file.
43101         * modules/unictype/property-bidi-whitespace-tests: New file.
43102         * modules/unictype/property-byname-tests: New file.
43103         * modules/unictype/property-combining-tests: New file.
43104         * modules/unictype/property-composite-tests: New file.
43105         * modules/unictype/property-currency-symbol-tests: New file.
43106         * modules/unictype/property-dash-tests: New file.
43107         * modules/unictype/property-decimal-digit-tests: New file.
43108         * modules/unictype/property-default-ignorable-code-point-tests: New file.
43109         * modules/unictype/property-deprecated-tests: New file.
43110         * modules/unictype/property-diacritic-tests: New file.
43111         * modules/unictype/property-extender-tests: New file.
43112         * modules/unictype/property-format-control-tests: New file.
43113         * modules/unictype/property-grapheme-base-tests: New file.
43114         * modules/unictype/property-grapheme-extend-tests: New file.
43115         * modules/unictype/property-grapheme-link-tests: New file.
43116         * modules/unictype/property-hex-digit-tests: New file.
43117         * modules/unictype/property-hyphen-tests: New file.
43118         * modules/unictype/property-id-continue-tests: New file.
43119         * modules/unictype/property-id-start-tests: New file.
43120         * modules/unictype/property-ideographic-tests: New file.
43121         * modules/unictype/property-ids-binary-operator-tests: New file.
43122         * modules/unictype/property-ids-trinary-operator-tests: New file.
43123         * modules/unictype/property-ignorable-control-tests: New file.
43124         * modules/unictype/property-iso-control-tests: New file.
43125         * modules/unictype/property-join-control-tests: New file.
43126         * modules/unictype/property-left-of-pair-tests: New file.
43127         * modules/unictype/property-line-separator-tests: New file.
43128         * modules/unictype/property-logical-order-exception-tests: New file.
43129         * modules/unictype/property-lowercase-tests: New file.
43130         * modules/unictype/property-math-tests: New file.
43131         * modules/unictype/property-non-break-tests: New file.
43132         * modules/unictype/property-not-a-character-tests: New file.
43133         * modules/unictype/property-numeric-tests: New file.
43134         * modules/unictype/property-other-alphabetic-tests: New file.
43135         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
43136         * modules/unictype/property-other-grapheme-extend-tests: New file.
43137         * modules/unictype/property-other-id-continue-tests: New file.
43138         * modules/unictype/property-other-id-start-tests: New file.
43139         * modules/unictype/property-other-lowercase-tests: New file.
43140         * modules/unictype/property-other-math-tests: New file.
43141         * modules/unictype/property-other-uppercase-tests: New file.
43142         * modules/unictype/property-paired-punctuation-tests: New file.
43143         * modules/unictype/property-paragraph-separator-tests: New file.
43144         * modules/unictype/property-pattern-syntax-tests: New file.
43145         * modules/unictype/property-pattern-white-space-tests: New file.
43146         * modules/unictype/property-private-use-tests: New file.
43147         * modules/unictype/property-punctuation-tests: New file.
43148         * modules/unictype/property-quotation-mark-tests: New file.
43149         * modules/unictype/property-radical-tests: New file.
43150         * modules/unictype/property-sentence-terminal-tests: New file.
43151         * modules/unictype/property-soft-dotted-tests: New file.
43152         * modules/unictype/property-space-tests: New file.
43153         * modules/unictype/property-terminal-punctuation-tests: New file.
43154         * modules/unictype/property-test-tests: New file.
43155         * modules/unictype/property-titlecase-tests: New file.
43156         * modules/unictype/property-unassigned-code-value-tests: New file.
43157         * modules/unictype/property-unified-ideograph-tests: New file.
43158         * modules/unictype/property-uppercase-tests: New file.
43159         * modules/unictype/property-variation-selector-tests: New file.
43160         * modules/unictype/property-white-space-tests: New file.
43161         * modules/unictype/property-xid-continue-tests: New file.
43162         * modules/unictype/property-xid-start-tests: New file.
43163         * modules/unictype/property-zero-width-tests: New file.
43164         * modules/unictype/scripts-tests: New file.
43165         * modules/unictype/syntax-c-ident-tests: New file.
43166         * modules/unictype/syntax-c-whitespace-tests: New file.
43167         * modules/unictype/syntax-java-ident-tests: New file.
43168         * modules/unictype/syntax-java-whitespace-tests: New file.
43169         * tests/unictype/test-bidi_byname.c: New file.
43170         * tests/unictype/test-bidi_name.c: New file.
43171         * tests/unictype/test-bidi_of.c: New file.
43172         * tests/unictype/test-bidi_test.c: New file.
43173         * tests/unictype/test-block_list.c: New file.
43174         * tests/unictype/test-block_of.c: New file.
43175         * tests/unictype/test-block_test.c: New file.
43176         * tests/unictype/test-categ_and.c: New file.
43177         * tests/unictype/test-categ_and_not.c: New file.
43178         * tests/unictype/test-categ_byname.c: New file.
43179         * tests/unictype/test-categ_name.c: New file.
43180         * tests/unictype/test-categ_none.c: New file.
43181         * tests/unictype/test-categ_of.c: New file.
43182         * tests/unictype/test-categ_or.c: New file.
43183         * tests/unictype/test-categ_test_withtable.c: New file.
43184         * tests/unictype/test-combining.c: New file.
43185         * tests/unictype/test-decdigit.c: New file.
43186         * tests/unictype/test-digit.c: New file.
43187         * tests/unictype/test-mirror.c: New file.
43188         * tests/unictype/test-numeric.c: New file.
43189         * tests/unictype/test-pr_byname.c: New file.
43190         * tests/unictype/test-pr_test.c: New file.
43191         * tests/unictype/test-predicate-part1.h: New file.
43192         * tests/unictype/test-predicate-part2.h: New file.
43193         * tests/unictype/test-scripts.c: New file.
43194         * tests/unictype/test-sy_c_ident.c: New file.
43195         * tests/unictype/test-sy_java_ident.c: New file.
43196
43197         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
43198         for Unicode 5.0.0.
43199         * tests/unictype/test-categ_Cc.c: Likewise.
43200         * tests/unictype/test-categ_Cf.c: Likewise.
43201         * tests/unictype/test-categ_Cn.c: Likewise.
43202         * tests/unictype/test-categ_Co.c: Likewise.
43203         * tests/unictype/test-categ_Cs.c: Likewise.
43204         * tests/unictype/test-categ_L.c: Likewise.
43205         * tests/unictype/test-categ_Ll.c: Likewise.
43206         * tests/unictype/test-categ_Lm.c: Likewise.
43207         * tests/unictype/test-categ_Lo.c: Likewise.
43208         * tests/unictype/test-categ_Lt.c: Likewise.
43209         * tests/unictype/test-categ_Lu.c: Likewise.
43210         * tests/unictype/test-categ_M.c: Likewise.
43211         * tests/unictype/test-categ_Mc.c: Likewise.
43212         * tests/unictype/test-categ_Me.c: Likewise.
43213         * tests/unictype/test-categ_Mn.c: Likewise.
43214         * tests/unictype/test-categ_N.c: Likewise.
43215         * tests/unictype/test-categ_Nd.c: Likewise.
43216         * tests/unictype/test-categ_Nl.c: Likewise.
43217         * tests/unictype/test-categ_No.c: Likewise.
43218         * tests/unictype/test-categ_P.c: Likewise.
43219         * tests/unictype/test-categ_Pc.c: Likewise.
43220         * tests/unictype/test-categ_Pd.c: Likewise.
43221         * tests/unictype/test-categ_Pe.c: Likewise.
43222         * tests/unictype/test-categ_Pf.c: Likewise.
43223         * tests/unictype/test-categ_Pi.c: Likewise.
43224         * tests/unictype/test-categ_Po.c: Likewise.
43225         * tests/unictype/test-categ_Ps.c: Likewise.
43226         * tests/unictype/test-categ_S.c: Likewise.
43227         * tests/unictype/test-categ_Sc.c: Likewise.
43228         * tests/unictype/test-categ_Sk.c: Likewise.
43229         * tests/unictype/test-categ_Sm.c: Likewise.
43230         * tests/unictype/test-categ_So.c: Likewise.
43231         * tests/unictype/test-categ_Z.c: Likewise.
43232         * tests/unictype/test-categ_Zl.c: Likewise.
43233         * tests/unictype/test-categ_Zp.c: Likewise.
43234         * tests/unictype/test-categ_Zs.c: Likewise.
43235         * tests/unictype/test-ctype_alnum.c: Likewise.
43236         * tests/unictype/test-ctype_alpha.c: Likewise.
43237         * tests/unictype/test-ctype_blank.c: Likewise.
43238         * tests/unictype/test-ctype_cntrl.c: Likewise.
43239         * tests/unictype/test-ctype_digit.c: Likewise.
43240         * tests/unictype/test-ctype_graph.c: Likewise.
43241         * tests/unictype/test-ctype_lower.c: Likewise.
43242         * tests/unictype/test-ctype_print.c: Likewise.
43243         * tests/unictype/test-ctype_punct.c: Likewise.
43244         * tests/unictype/test-ctype_space.c: Likewise.
43245         * tests/unictype/test-ctype_upper.c: Likewise.
43246         * tests/unictype/test-ctype_xdigit.c: Likewise.
43247         * tests/unictype/test-decdigit.h: Likewise.
43248         * tests/unictype/test-digit.h: Likewise.
43249         * tests/unictype/test-numeric.h: Likewise.
43250         * tests/unictype/test-pr_alphabetic.c: Likewise.
43251         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
43252         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43253         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
43254         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
43255         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
43256         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
43257         * tests/unictype/test-pr_bidi_control.c: Likewise.
43258         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
43259         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
43260         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43261         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
43262         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43263         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43264         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43265         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43266         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
43267         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
43268         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
43269         * tests/unictype/test-pr_combining.c: Likewise.
43270         * tests/unictype/test-pr_composite.c: Likewise.
43271         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43272         * tests/unictype/test-pr_dash.c: Likewise.
43273         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43274         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
43275         * tests/unictype/test-pr_deprecated.c: Likewise.
43276         * tests/unictype/test-pr_diacritic.c: Likewise.
43277         * tests/unictype/test-pr_extender.c: Likewise.
43278         * tests/unictype/test-pr_format_control.c: Likewise.
43279         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43280         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43281         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43282         * tests/unictype/test-pr_hex_digit.c: Likewise.
43283         * tests/unictype/test-pr_hyphen.c: Likewise.
43284         * tests/unictype/test-pr_id_continue.c: Likewise.
43285         * tests/unictype/test-pr_id_start.c: Likewise.
43286         * tests/unictype/test-pr_ideographic.c: Likewise.
43287         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
43288         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
43289         * tests/unictype/test-pr_ignorable_control.c: Likewise.
43290         * tests/unictype/test-pr_iso_control.c: Likewise.
43291         * tests/unictype/test-pr_join_control.c: Likewise.
43292         * tests/unictype/test-pr_left_of_pair.c: Likewise.
43293         * tests/unictype/test-pr_line_separator.c: Likewise.
43294         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
43295         * tests/unictype/test-pr_lowercase.c: Likewise.
43296         * tests/unictype/test-pr_math.c: Likewise.
43297         * tests/unictype/test-pr_non_break.c: Likewise.
43298         * tests/unictype/test-pr_not_a_character.c: Likewise.
43299         * tests/unictype/test-pr_numeric.c: Likewise.
43300         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43301         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
43302         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
43303         * tests/unictype/test-pr_other_id_continue.c: Likewise.
43304         * tests/unictype/test-pr_other_id_start.c: Likewise.
43305         * tests/unictype/test-pr_other_lowercase.c: Likewise.
43306         * tests/unictype/test-pr_other_math.c: Likewise.
43307         * tests/unictype/test-pr_other_uppercase.c: Likewise.
43308         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
43309         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
43310         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
43311         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
43312         * tests/unictype/test-pr_private_use.c: Likewise.
43313         * tests/unictype/test-pr_punctuation.c: Likewise.
43314         * tests/unictype/test-pr_quotation_mark.c: Likewise.
43315         * tests/unictype/test-pr_radical.c: Likewise.
43316         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
43317         * tests/unictype/test-pr_soft_dotted.c: Likewise.
43318         * tests/unictype/test-pr_space.c: Likewise.
43319         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
43320         * tests/unictype/test-pr_titlecase.c: Likewise.
43321         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
43322         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
43323         * tests/unictype/test-pr_uppercase.c: Likewise.
43324         * tests/unictype/test-pr_variation_selector.c: Likewise.
43325         * tests/unictype/test-pr_white_space.c: Likewise.
43326         * tests/unictype/test-pr_xid_continue.c: Likewise.
43327         * tests/unictype/test-pr_xid_start.c: Likewise.
43328         * tests/unictype/test-pr_zero_width.c: Likewise.
43329         * tests/unictype/test-sy_c_whitespace.c: Likewise.
43330         * tests/unictype/test-sy_java_whitespace.c: Likewise.
43331
43332 2007-11-12  Bruno Haible  <bruno@clisp.org>
43333
43334         Unicode character classification functions.
43335         * lib/unictype.h: New file.
43336         * modules/unictype/base: New file.
43337         * modules/unictype/category-L: New file.
43338         * modules/unictype/category-Lu: New file.
43339         * modules/unictype/category-Ll: New file.
43340         * modules/unictype/category-Lt: New file.
43341         * modules/unictype/category-Lm: New file.
43342         * modules/unictype/category-Lo: New file.
43343         * modules/unictype/category-M: New file.
43344         * modules/unictype/category-Mn: New file.
43345         * modules/unictype/category-Mc: New file.
43346         * modules/unictype/category-Me: New file.
43347         * modules/unictype/category-N: New file.
43348         * modules/unictype/category-Nd: New file.
43349         * modules/unictype/category-Nl: New file.
43350         * modules/unictype/category-No: New file.
43351         * modules/unictype/category-P: New file.
43352         * modules/unictype/category-Pc: New file.
43353         * modules/unictype/category-Pd: New file.
43354         * modules/unictype/category-Ps: New file.
43355         * modules/unictype/category-Pe: New file.
43356         * modules/unictype/category-Pi: New file.
43357         * modules/unictype/category-Pf: New file.
43358         * modules/unictype/category-Po: New file.
43359         * modules/unictype/category-S: New file.
43360         * modules/unictype/category-Sm: New file.
43361         * modules/unictype/category-Sc: New file.
43362         * modules/unictype/category-Sk: New file.
43363         * modules/unictype/category-So: New file.
43364         * modules/unictype/category-Z: New file.
43365         * modules/unictype/category-Zs: New file.
43366         * modules/unictype/category-Zl: New file.
43367         * modules/unictype/category-Zp: New file.
43368         * modules/unictype/category-C: New file.
43369         * modules/unictype/category-Cc: New file.
43370         * modules/unictype/category-Cf: New file.
43371         * modules/unictype/category-Cs: New file.
43372         * modules/unictype/category-Co: New file.
43373         * modules/unictype/category-Cn: New file.
43374         * modules/unictype/category-or: New file.
43375         * modules/unictype/category-of: New file.
43376         * modules/unictype/category-test: New file.
43377         * modules/unictype/category-test-withtable: New file.
43378         * modules/unictype/category-byname: New file.
43379         * modules/unictype/category-none: New file.
43380         * modules/unictype/category-and: New file.
43381         * modules/unictype/category-and-not: New file.
43382         * modules/unictype/category-name: New file.
43383         * modules/unictype/combining-class: New file.
43384         * modules/unictype/category-all: New file.
43385         * modules/unictype/bidicategory-all: New file.
43386         * modules/unictype/bidicategory-byname: New file.
43387         * modules/unictype/bidicategory-name: New file.
43388         * modules/unictype/bidicategory-of: New file.
43389         * modules/unictype/bidicategory-test: New file.
43390         * modules/unictype/decimal-digit: New file.
43391         * modules/unictype/digit: New file.
43392         * modules/unictype/numeric: New file.
43393         * modules/unictype/mirror: New file.
43394         * modules/unictype/property-white-space: New file.
43395         * modules/unictype/property-alphabetic: New file.
43396         * modules/unictype/property-other-alphabetic: New file.
43397         * modules/unictype/property-not-a-character: New file.
43398         * modules/unictype/property-default-ignorable-code-point: New file.
43399         * modules/unictype/property-other-default-ignorable-code-point: New
43400         file.
43401         * modules/unictype/property-deprecated: New file.
43402         * modules/unictype/property-logical-order-exception: New file.
43403         * modules/unictype/property-variation-selector: New file.
43404         * modules/unictype/property-private-use: New file.
43405         * modules/unictype/property-unassigned-code-value: New file.
43406         * modules/unictype/property-uppercase: New file.
43407         * modules/unictype/property-other-uppercase: New file.
43408         * modules/unictype/property-lowercase: New file.
43409         * modules/unictype/property-other-lowercase: New file.
43410         * modules/unictype/property-titlecase: New file.
43411         * modules/unictype/property-soft-dotted: New file.
43412         * modules/unictype/property-id-start: New file.
43413         * modules/unictype/property-other-id-start: New file.
43414         * modules/unictype/property-id-continue: New file.
43415         * modules/unictype/property-other-id-continue: New file.
43416         * modules/unictype/property-xid-start: New file.
43417         * modules/unictype/property-xid-continue: New file.
43418         * modules/unictype/property-pattern-white-space: New file.
43419         * modules/unictype/property-pattern-syntax: New file.
43420         * modules/unictype/property-join-control: New file.
43421         * modules/unictype/property-grapheme-base: New file.
43422         * modules/unictype/property-grapheme-extend: New file.
43423         * modules/unictype/property-other-grapheme-extend: New file.
43424         * modules/unictype/property-grapheme-link: New file.
43425         * modules/unictype/property-bidi-control: New file.
43426         * modules/unictype/property-bidi-left-to-right: New file.
43427         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
43428         * modules/unictype/property-bidi-arabic-right-to-left: New file.
43429         * modules/unictype/property-bidi-european-digit: New file.
43430         * modules/unictype/property-bidi-eur-num-separator: New file.
43431         * modules/unictype/property-bidi-eur-num-terminator: New file.
43432         * modules/unictype/property-bidi-arabic-digit: New file.
43433         * modules/unictype/property-bidi-common-separator: New file.
43434         * modules/unictype/property-bidi-block-separator: New file.
43435         * modules/unictype/property-bidi-segment-separator: New file.
43436         * modules/unictype/property-bidi-whitespace: New file.
43437         * modules/unictype/property-bidi-non-spacing-mark: New file.
43438         * modules/unictype/property-bidi-boundary-neutral: New file.
43439         * modules/unictype/property-bidi-pdf: New file.
43440         * modules/unictype/property-bidi-embedding-or-override: New file.
43441         * modules/unictype/property-bidi-other-neutral: New file.
43442         * modules/unictype/property-hex-digit: New file.
43443         * modules/unictype/property-ascii-hex-digit: New file.
43444         * modules/unictype/property-ideographic: New file.
43445         * modules/unictype/property-unified-ideograph: New file.
43446         * modules/unictype/property-radical: New file.
43447         * modules/unictype/property-ids-binary-operator: New file.
43448         * modules/unictype/property-ids-trinary-operator: New file.
43449         * modules/unictype/property-zero-width: New file.
43450         * modules/unictype/property-space: New file.
43451         * modules/unictype/property-non-break: New file.
43452         * modules/unictype/property-iso-control: New file.
43453         * modules/unictype/property-format-control: New file.
43454         * modules/unictype/property-dash: New file.
43455         * modules/unictype/property-hyphen: New file.
43456         * modules/unictype/property-punctuation: New file.
43457         * modules/unictype/property-line-separator: New file.
43458         * modules/unictype/property-paragraph-separator: New file.
43459         * modules/unictype/property-quotation-mark: New file.
43460         * modules/unictype/property-sentence-terminal: New file.
43461         * modules/unictype/property-terminal-punctuation: New file.
43462         * modules/unictype/property-currency-symbol: New file.
43463         * modules/unictype/property-math: New file.
43464         * modules/unictype/property-other-math: New file.
43465         * modules/unictype/property-paired-punctuation: New file.
43466         * modules/unictype/property-left-of-pair: New file.
43467         * modules/unictype/property-combining: New file.
43468         * modules/unictype/property-composite: New file.
43469         * modules/unictype/property-decimal-digit: New file.
43470         * modules/unictype/property-numeric: New file.
43471         * modules/unictype/property-diacritic: New file.
43472         * modules/unictype/property-extender: New file.
43473         * modules/unictype/property-ignorable-control: New file.
43474         * modules/unictype/property-test: New file.
43475         * modules/unictype/property-byname: New file.
43476         * modules/unictype/property-all: New file.
43477         * modules/unictype/scripts: New file.
43478         * modules/unictype/scripts-all: New file.
43479         * modules/unictype/block-of: New file.
43480         * modules/unictype/block-test: New file.
43481         * modules/unictype/block-list: New file.
43482         * modules/unictype/block-all: New file.
43483         * modules/unictype/syntax-c-whitespace: New file.
43484         * modules/unictype/syntax-java-whitespace: New file.
43485         * modules/unictype/syntax-c-ident: New file.
43486         * modules/unictype/syntax-java-ident: New file.
43487         * modules/unictype/ctype-alnum: New file.
43488         * modules/unictype/ctype-alpha: New file.
43489         * modules/unictype/ctype-cntrl: New file.
43490         * modules/unictype/ctype-digit: New file.
43491         * modules/unictype/ctype-graph: New file.
43492         * modules/unictype/ctype-lower: New file.
43493         * modules/unictype/ctype-print: New file.
43494         * modules/unictype/ctype-punct: New file.
43495         * modules/unictype/ctype-space: New file.
43496         * modules/unictype/ctype-upper: New file.
43497         * modules/unictype/ctype-xdigit: New file.
43498         * modules/unictype/ctype-blank: New file.
43499         * lib/unictype/bidi_byname.c: New file.
43500         * lib/unictype/bidi_name.c: New file.
43501         * lib/unictype/bidi_of.c: New file.
43502         * lib/unictype/bidi_test.c: New file.
43503         * lib/unictype/bitmap.h: New file.
43504         * lib/unictype/block_test.c: New file.
43505         * lib/unictype/blocks.c: New file.
43506         * lib/unictype/categ_C.c: New file.
43507         * lib/unictype/categ_Cc.c: New file.
43508         * lib/unictype/categ_Cf.c: New file.
43509         * lib/unictype/categ_Cn.c: New file.
43510         * lib/unictype/categ_Co.c: New file.
43511         * lib/unictype/categ_Cs.c: New file.
43512         * lib/unictype/categ_L.c: New file.
43513         * lib/unictype/categ_Ll.c: New file.
43514         * lib/unictype/categ_Lm.c: New file.
43515         * lib/unictype/categ_Lo.c: New file.
43516         * lib/unictype/categ_Lt.c: New file.
43517         * lib/unictype/categ_Lu.c: New file.
43518         * lib/unictype/categ_M.c: New file.
43519         * lib/unictype/categ_Mc.c: New file.
43520         * lib/unictype/categ_Me.c: New file.
43521         * lib/unictype/categ_Mn.c: New file.
43522         * lib/unictype/categ_N.c: New file.
43523         * lib/unictype/categ_Nd.c: New file.
43524         * lib/unictype/categ_Nl.c: New file.
43525         * lib/unictype/categ_No.c: New file.
43526         * lib/unictype/categ_P.c: New file.
43527         * lib/unictype/categ_Pc.c: New file.
43528         * lib/unictype/categ_Pd.c: New file.
43529         * lib/unictype/categ_Pe.c: New file.
43530         * lib/unictype/categ_Pf.c: New file.
43531         * lib/unictype/categ_Pi.c: New file.
43532         * lib/unictype/categ_Po.c: New file.
43533         * lib/unictype/categ_Ps.c: New file.
43534         * lib/unictype/categ_S.c: New file.
43535         * lib/unictype/categ_Sc.c: New file.
43536         * lib/unictype/categ_Sk.c: New file.
43537         * lib/unictype/categ_Sm.c: New file.
43538         * lib/unictype/categ_So.c: New file.
43539         * lib/unictype/categ_Z.c: New file.
43540         * lib/unictype/categ_Zl.c: New file.
43541         * lib/unictype/categ_Zp.c: New file.
43542         * lib/unictype/categ_Zs.c: New file.
43543         * lib/unictype/categ_and.c: New file.
43544         * lib/unictype/categ_and_not.c: New file.
43545         * lib/unictype/categ_byname.c: New file.
43546         * lib/unictype/categ_name.c: New file.
43547         * lib/unictype/categ_none.c: New file.
43548         * lib/unictype/categ_of.c: New file.
43549         * lib/unictype/categ_or.c: New file.
43550         * lib/unictype/categ_test.c: New file.
43551         * lib/unictype/combining.c: New file.
43552         * lib/unictype/ctype_alnum.c: New file.
43553         * lib/unictype/ctype_alpha.c: New file.
43554         * lib/unictype/ctype_blank.c: New file.
43555         * lib/unictype/ctype_cntrl.c: New file.
43556         * lib/unictype/ctype_digit.c: New file.
43557         * lib/unictype/ctype_graph.c: New file.
43558         * lib/unictype/ctype_lower.c: New file.
43559         * lib/unictype/ctype_print.c: New file.
43560         * lib/unictype/ctype_punct.c: New file.
43561         * lib/unictype/ctype_space.c: New file.
43562         * lib/unictype/ctype_upper.c: New file.
43563         * lib/unictype/ctype_xdigit.c: New file.
43564         * lib/unictype/decdigit.c: New file.
43565         * lib/unictype/digit.c: New file.
43566         * lib/unictype/identsyntaxmap.h: New file.
43567         * lib/unictype/mirror.c: New file.
43568         * lib/unictype/numeric.c: New file.
43569         * lib/unictype/pr_alphabetic.c: New file.
43570         * lib/unictype/pr_ascii_hex_digit.c: New file.
43571         * lib/unictype/pr_bidi_arabic_digit.c: New file.
43572         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
43573         * lib/unictype/pr_bidi_block_separator.c: New file.
43574         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
43575         * lib/unictype/pr_bidi_common_separator.c: New file.
43576         * lib/unictype/pr_bidi_control.c: New file.
43577         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
43578         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
43579         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
43580         * lib/unictype/pr_bidi_european_digit.c: New file.
43581         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
43582         * lib/unictype/pr_bidi_left_to_right.c: New file.
43583         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
43584         * lib/unictype/pr_bidi_other_neutral.c: New file.
43585         * lib/unictype/pr_bidi_pdf.c: New file.
43586         * lib/unictype/pr_bidi_segment_separator.c: New file.
43587         * lib/unictype/pr_bidi_whitespace.c: New file.
43588         * lib/unictype/pr_byname.c: New file.
43589         * lib/unictype/pr_byname.gperf: New file.
43590         * lib/unictype/pr_combining.c: New file.
43591         * lib/unictype/pr_composite.c: New file.
43592         * lib/unictype/pr_currency_symbol.c: New file.
43593         * lib/unictype/pr_dash.c: New file.
43594         * lib/unictype/pr_decimal_digit.c: New file.
43595         * lib/unictype/pr_default_ignorable_code_point.c: New file.
43596         * lib/unictype/pr_deprecated.c: New file.
43597         * lib/unictype/pr_diacritic.c: New file.
43598         * lib/unictype/pr_extender.c: New file.
43599         * lib/unictype/pr_format_control.c: New file.
43600         * lib/unictype/pr_grapheme_base.c: New file.
43601         * lib/unictype/pr_grapheme_extend.c: New file.
43602         * lib/unictype/pr_grapheme_link.c: New file.
43603         * lib/unictype/pr_hex_digit.c: New file.
43604         * lib/unictype/pr_hyphen.c: New file.
43605         * lib/unictype/pr_id_continue.c: New file.
43606         * lib/unictype/pr_id_start.c: New file.
43607         * lib/unictype/pr_ideographic.c: New file.
43608         * lib/unictype/pr_ids_binary_operator.c: New file.
43609         * lib/unictype/pr_ids_trinary_operator.c: New file.
43610         * lib/unictype/pr_ignorable_control.c: New file.
43611         * lib/unictype/pr_iso_control.c: New file.
43612         * lib/unictype/pr_join_control.c: New file.
43613         * lib/unictype/pr_left_of_pair.c: New file.
43614         * lib/unictype/pr_line_separator.c: New file.
43615         * lib/unictype/pr_logical_order_exception.c: New file.
43616         * lib/unictype/pr_lowercase.c: New file.
43617         * lib/unictype/pr_math.c: New file.
43618         * lib/unictype/pr_non_break.c: New file.
43619         * lib/unictype/pr_not_a_character.c: New file.
43620         * lib/unictype/pr_numeric.c: New file.
43621         * lib/unictype/pr_other_alphabetic.c: New file.
43622         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
43623         * lib/unictype/pr_other_grapheme_extend.c: New file.
43624         * lib/unictype/pr_other_id_continue.c: New file.
43625         * lib/unictype/pr_other_id_start.c: New file.
43626         * lib/unictype/pr_other_lowercase.c: New file.
43627         * lib/unictype/pr_other_math.c: New file.
43628         * lib/unictype/pr_other_uppercase.c: New file.
43629         * lib/unictype/pr_paired_punctuation.c: New file.
43630         * lib/unictype/pr_paragraph_separator.c: New file.
43631         * lib/unictype/pr_pattern_syntax.c: New file.
43632         * lib/unictype/pr_pattern_white_space.c: New file.
43633         * lib/unictype/pr_private_use.c: New file.
43634         * lib/unictype/pr_punctuation.c: New file.
43635         * lib/unictype/pr_quotation_mark.c: New file.
43636         * lib/unictype/pr_radical.c: New file.
43637         * lib/unictype/pr_sentence_terminal.c: New file.
43638         * lib/unictype/pr_soft_dotted.c: New file.
43639         * lib/unictype/pr_space.c: New file.
43640         * lib/unictype/pr_terminal_punctuation.c: New file.
43641         * lib/unictype/pr_test.c: New file.
43642         * lib/unictype/pr_titlecase.c: New file.
43643         * lib/unictype/pr_unassigned_code_value.c: New file.
43644         * lib/unictype/pr_unified_ideograph.c: New file.
43645         * lib/unictype/pr_uppercase.c: New file.
43646         * lib/unictype/pr_variation_selector.c: New file.
43647         * lib/unictype/pr_white_space.c: New file.
43648         * lib/unictype/pr_xid_continue.c: New file.
43649         * lib/unictype/pr_xid_start.c: New file.
43650         * lib/unictype/pr_zero_width.c: New file.
43651         * lib/unictype/scripts.c: New file.
43652         * lib/unictype/sy_c_ident.c: New file.
43653         * lib/unictype/sy_c_whitespace.c: New file.
43654         * lib/unictype/sy_java_ident.c: New file.
43655         * lib/unictype/sy_java_whitespace.c: New file.
43656
43657         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
43658         Unicode 5.0.0.
43659         * lib/unictype/blocks.h: Likewise.
43660         * lib/unictype/categ_C.h: Likewise.
43661         * lib/unictype/categ_Cc.h: Likewise.
43662         * lib/unictype/categ_Cf.h: Likewise.
43663         * lib/unictype/categ_Cn.h: Likewise.
43664         * lib/unictype/categ_Co.h: Likewise.
43665         * lib/unictype/categ_Cs.h: Likewise.
43666         * lib/unictype/categ_L.h: Likewise.
43667         * lib/unictype/categ_Ll.h: Likewise.
43668         * lib/unictype/categ_Lm.h: Likewise.
43669         * lib/unictype/categ_Lo.h: Likewise.
43670         * lib/unictype/categ_Lt.h: Likewise.
43671         * lib/unictype/categ_Lu.h: Likewise.
43672         * lib/unictype/categ_M.h: Likewise.
43673         * lib/unictype/categ_Mc.h: Likewise.
43674         * lib/unictype/categ_Me.h: Likewise.
43675         * lib/unictype/categ_Mn.h: Likewise.
43676         * lib/unictype/categ_N.h: Likewise.
43677         * lib/unictype/categ_Nd.h: Likewise.
43678         * lib/unictype/categ_Nl.h: Likewise.
43679         * lib/unictype/categ_No.h: Likewise.
43680         * lib/unictype/categ_P.h: Likewise.
43681         * lib/unictype/categ_Pc.h: Likewise.
43682         * lib/unictype/categ_Pd.h: Likewise.
43683         * lib/unictype/categ_Pe.h: Likewise.
43684         * lib/unictype/categ_Pf.h: Likewise.
43685         * lib/unictype/categ_Pi.h: Likewise.
43686         * lib/unictype/categ_Po.h: Likewise.
43687         * lib/unictype/categ_Ps.h: Likewise.
43688         * lib/unictype/categ_S.h: Likewise.
43689         * lib/unictype/categ_Sc.h: Likewise.
43690         * lib/unictype/categ_Sk.h: Likewise.
43691         * lib/unictype/categ_Sm.h: Likewise.
43692         * lib/unictype/categ_So.h: Likewise.
43693         * lib/unictype/categ_Z.h: Likewise.
43694         * lib/unictype/categ_Zl.h: Likewise.
43695         * lib/unictype/categ_Zp.h: Likewise.
43696         * lib/unictype/categ_Zs.h: Likewise.
43697         * lib/unictype/categ_of.h: Likewise.
43698         * lib/unictype/combining.h: Likewise.
43699         * lib/unictype/ctype_alnum.h: Likewise.
43700         * lib/unictype/ctype_alpha.h: Likewise.
43701         * lib/unictype/ctype_blank.h: Likewise.
43702         * lib/unictype/ctype_cntrl.h: Likewise.
43703         * lib/unictype/ctype_digit.h: Likewise.
43704         * lib/unictype/ctype_graph.h: Likewise.
43705         * lib/unictype/ctype_lower.h: Likewise.
43706         * lib/unictype/ctype_print.h: Likewise.
43707         * lib/unictype/ctype_punct.h: Likewise.
43708         * lib/unictype/ctype_space.h: Likewise.
43709         * lib/unictype/ctype_upper.h: Likewise.
43710         * lib/unictype/ctype_xdigit.h: Likewise.
43711         * lib/unictype/decdigit.h: Likewise.
43712         * lib/unictype/digit.h: Likewise.
43713         * lib/unictype/mirror.h: Likewise.
43714         * lib/unictype/numeric.h: Likewise.
43715         * lib/unictype/pr_alphabetic.h: Likewise.
43716         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43717         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43718         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43719         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43720         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43721         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43722         * lib/unictype/pr_bidi_control.h: Likewise.
43723         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43724         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43725         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43726         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43727         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43728         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43729         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43730         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43731         * lib/unictype/pr_bidi_pdf.h: Likewise.
43732         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43733         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43734         * lib/unictype/pr_combining.h: Likewise.
43735         * lib/unictype/pr_composite.h: Likewise.
43736         * lib/unictype/pr_currency_symbol.h: Likewise.
43737         * lib/unictype/pr_dash.h: Likewise.
43738         * lib/unictype/pr_decimal_digit.h: Likewise.
43739         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43740         * lib/unictype/pr_deprecated.h: Likewise.
43741         * lib/unictype/pr_diacritic.h: Likewise.
43742         * lib/unictype/pr_extender.h: Likewise.
43743         * lib/unictype/pr_format_control.h: Likewise.
43744         * lib/unictype/pr_grapheme_base.h: Likewise.
43745         * lib/unictype/pr_grapheme_extend.h: Likewise.
43746         * lib/unictype/pr_grapheme_link.h: Likewise.
43747         * lib/unictype/pr_hex_digit.h: Likewise.
43748         * lib/unictype/pr_hyphen.h: Likewise.
43749         * lib/unictype/pr_id_continue.h: Likewise.
43750         * lib/unictype/pr_id_start.h: Likewise.
43751         * lib/unictype/pr_ideographic.h: Likewise.
43752         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43753         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43754         * lib/unictype/pr_ignorable_control.h: Likewise.
43755         * lib/unictype/pr_iso_control.h: Likewise.
43756         * lib/unictype/pr_join_control.h: Likewise.
43757         * lib/unictype/pr_left_of_pair.h: Likewise.
43758         * lib/unictype/pr_line_separator.h: Likewise.
43759         * lib/unictype/pr_logical_order_exception.h: Likewise.
43760         * lib/unictype/pr_lowercase.h: Likewise.
43761         * lib/unictype/pr_math.h: Likewise.
43762         * lib/unictype/pr_non_break.h: Likewise.
43763         * lib/unictype/pr_not_a_character.h: Likewise.
43764         * lib/unictype/pr_numeric.h: Likewise.
43765         * lib/unictype/pr_other_alphabetic.h: Likewise.
43766         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43767         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43768         * lib/unictype/pr_other_id_continue.h: Likewise.
43769         * lib/unictype/pr_other_id_start.h: Likewise.
43770         * lib/unictype/pr_other_lowercase.h: Likewise.
43771         * lib/unictype/pr_other_math.h: Likewise.
43772         * lib/unictype/pr_other_uppercase.h: Likewise.
43773         * lib/unictype/pr_paired_punctuation.h: Likewise.
43774         * lib/unictype/pr_paragraph_separator.h: Likewise.
43775         * lib/unictype/pr_pattern_syntax.h: Likewise.
43776         * lib/unictype/pr_pattern_white_space.h: Likewise.
43777         * lib/unictype/pr_private_use.h: Likewise.
43778         * lib/unictype/pr_punctuation.h: Likewise.
43779         * lib/unictype/pr_quotation_mark.h: Likewise.
43780         * lib/unictype/pr_radical.h: Likewise.
43781         * lib/unictype/pr_sentence_terminal.h: Likewise.
43782         * lib/unictype/pr_soft_dotted.h: Likewise.
43783         * lib/unictype/pr_space.h: Likewise.
43784         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43785         * lib/unictype/pr_titlecase.h: Likewise.
43786         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43787         * lib/unictype/pr_unified_ideograph.h: Likewise.
43788         * lib/unictype/pr_uppercase.h: Likewise.
43789         * lib/unictype/pr_variation_selector.h: Likewise.
43790         * lib/unictype/pr_white_space.h: Likewise.
43791         * lib/unictype/pr_xid_continue.h: Likewise.
43792         * lib/unictype/pr_xid_start.h: Likewise.
43793         * lib/unictype/pr_zero_width.h: Likewise.
43794         * lib/unictype/scripts.h: Likewise.
43795         * lib/unictype/scripts_byname.gperf: Likewise.
43796         * lib/unictype/sy_c_ident.h: Likewise.
43797         * lib/unictype/sy_c_whitespace.h: Likewise.
43798         * lib/unictype/sy_java_ident.h: Likewise.
43799         * lib/unictype/sy_java_whitespace.h: Likewise.
43800
43801         * lib/unictype/Makefile: New file.
43802         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
43803         glibc.
43804         * lib/unictype/3level.h: New file, copied from glibc.
43805         * lib/unictype/3levelbit.h: New file.
43806
43807 2007-11-11  Bruno Haible  <bruno@clisp.org>
43808
43809         * modules/gperf: New file.
43810         * modules/iconv_open (Depends-on): Add it.
43811         (Makefile.am): Remove the GPERF definition.
43812
43813 2007-11-11  Bruno Haible  <bruno@clisp.org>
43814
43815         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
43816         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
43817
43818 2007-11-11  Bruno Haible  <bruno@clisp.org>
43819
43820         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
43821         (usage): Remove function.
43822
43823 2007-11-11  Bruno Haible  <bruno@clisp.org>
43824
43825         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
43826         gl_FUNC_CEILF_LIBS.
43827         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
43828         gl_FUNC_CEIL_LIBS.
43829         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
43830         gl_FUNC_CEILL_LIBS.
43831         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
43832         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
43833         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
43834
43835 2007-11-11  Bruno Haible  <bruno@clisp.org>
43836
43837         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
43838         roundf were declared but do not exist on functions.
43839         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
43840         roundl were declared but do not exist on functions.
43841         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
43842         HAVE_FLOORL_AND_CEILL, respectively.
43843         Needed for Sun C on Solaris 10.
43844
43845 2007-11-11  Bruno Haible  <bruno@clisp.org>
43846
43847         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
43848         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
43849         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
43850         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
43851         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
43852         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
43853         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
43854         HAVE_DECL_ROUNDF.
43855         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
43856         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
43857         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
43858         of HAVE_DECL_ROUND*.
43859         * modules/math (Makefile.am): Update.
43860
43861 2007-11-10  Bruno Haible  <bruno@clisp.org>
43862
43863         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
43864         ptrdiff_t as m4/intl.m4.
43865
43866 2007-11-10  Jim Meyering  <meyering@redhat.com>
43867
43868         Avoid link failure for the argmatch test.
43869         * tests/test-argmatch.c (usage): Define function to avoid a link
43870         failure: argmatch_die requires a usage function.
43871
43872 2007-11-09  Bruno Haible  <bruno@clisp.org>
43873
43874         * doc/functions/snprintf.texi: Mention BeOS deficiency.
43875         * doc/functions/vsnprintf.texi: Likewise.
43876         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
43877         with a size argument < 2.
43878
43879 2007-11-09  Bruno Haible  <bruno@clisp.org>
43880
43881         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
43882         buffer. Fixes an inefficiency introduced on 2007-11-03.
43883
43884 2007-11-09  Bruno Haible  <bruno@clisp.org>
43885
43886         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
43887         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
43888
43889 2007-11-08  Jim Meyering  <meyering@redhat.com>
43890
43891         Change cache variable name prefix "jm_" to "gl_" everywhere.
43892         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
43893         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
43894         * m4/uptime.m4: s/gl_/jm_/
43895
43896 2007-11-07  Bruno Haible  <bruno@clisp.org>
43897
43898         Update to GNU gettext 0.17.
43899         * m4/intl.m4: Update to GNU gettext 0.17.
43900         * m4/po.m4: Likewise.
43901         * modules/gettext (Files): Remove m4/ulonglong.m4.
43902         (configure.ac): Require gettext infrastructure from version 0.17.
43903
43904 2007-11-06  Bruno Haible  <bruno@clisp.org>
43905
43906         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
43907         symbolic values are not defined in a public header.
43908         * lib/freadable.c (freadable) [QNX]: Likewise.
43909         * lib/freadahead.c (freadahead) [QNX]: Likewise.
43910         * lib/freading.c (freading) [QNX]: Likewise.
43911         * lib/fseterr.c (fseterr) [QNX]: Likewise.
43912         * lib/fwritable.c (fwritable) [QNX]: Likewise.
43913         * lib/fwriting.c (fwriting) [QNX]: Likewise.
43914         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
43915         Reported by Alain Magloire.
43916
43917         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
43918
43919 2007-11-05  Bruno Haible  <bruno@clisp.org>
43920
43921         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
43922         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
43923         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
43924         Reported by Eric Blake.
43925
43926 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43927             Bruno Haible  <bruno@clisp.org>
43928
43929         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
43930         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
43931         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
43932         (malloc): Undefine also before including <stdlib.h>.
43933         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
43934         Needed on OSF/1 4.0.
43935
43936 2007-11-05  Jim Meyering  <meyering@redhat.com>
43937
43938         git-version-gen: sync from coreutils.
43939         * build-aux/git-version-gen: Add comments.
43940         Change the first '-' to '.' in the snapshot version string,
43941         e.g., 6.9-377-08144 -> 6.9.377-08144
43942         Remove first parameter.
43943         Don't declare a version "-dirty" merely because a time
43944         stamp has changed.
43945
43946 2007-11-04  Bruno Haible  <bruno@clisp.org>
43947
43948         * lib/lock.h: Protect all macro definitions containing an 'if'
43949         statement through a "do { ... } while (0)".
43950         * lib/tls.h: Likewise.
43951
43952 2007-11-04  Bruno Haible  <bruno@clisp.org>
43953
43954         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
43955
43956 2007-11-04  Bruno Haible  <bruno@clisp.org>
43957
43958         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
43959         * modules/fprintf-posix (Depends-on): Add nocrash.
43960         * modules/snprintf-posix (Depends-on): Likewise.
43961         * modules/sprintf-posix (Depends-on): Likewise.
43962         * modules/vasnprintf-posix (Depends-on): Likewise.
43963         * modules/vasprintf-posix (Depends-on): Likewise.
43964         * modules/vfprintf-posix (Depends-on): Likewise.
43965         * modules/vsnprintf-posix (Depends-on): Likewise.
43966         * modules/vsprintf-posix (Depends-on): Likewise.
43967         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43968         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43969         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43970         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43971         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43972         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43973         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43974
43975 2007-11-04  Bruno Haible  <bruno@clisp.org>
43976
43977         * modules/nocrash: New file.
43978         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
43979         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
43980
43981 2007-11-04  Bruno Haible  <bruno@clisp.org>
43982
43983         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
43984         precision handling.
43985         * tests/test-vasprintf-posix.c (test_function): Likewise.
43986         * tests/test-snprintf-posix.h (test_function): Likewise.
43987         * tests/test-sprintf-posix.h (test_function): Likewise.
43988
43989         Fix *printf behaviour for large precisions on mingw and BeOS.
43990         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
43991         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
43992         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
43993         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43994         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43995         gl_PRINTF_PRECISION and test its result. Invoke
43996         gl_PREREQ_VASNPRINTF_PRECISION.
43997         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43998         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43999         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44000         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44001         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44002         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44003         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44004         * doc/functions/fprintf.texi: Update.
44005         * doc/functions/printf.texi: Update.
44006         * doc/functions/snprintf.texi: Update.
44007         * doc/functions/sprintf.texi: Update.
44008         * doc/functions/vfprintf.texi: Update.
44009         * doc/functions/vprintf.texi: Update.
44010         * doc/functions/vsnprintf.texi: Update.
44011         * doc/functions/vsprintf.texi: Update.
44012
44013 2007-11-04  Bruno Haible  <bruno@clisp.org>
44014
44015         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
44016
44017 2007-11-04  Bruno Haible  <bruno@clisp.org>
44018
44019         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
44020         Reported by Sylvain Beucler <beuc@gnu.org>.
44021
44022 2007-11-03  Bruno Haible  <bruno@clisp.org>
44023
44024         * tests/test-fprintf-posix2.sh: New file.
44025         * tests/test-fprintf-posix2.c: New file.
44026         * modules/fprintf-posix-tests (Files): Add them.
44027         (TESTS): Add test-fprintf-posix2.sh.
44028         (configure.ac): Check for getrlimit and setrlimit.
44029         (check_PROGRAMS): Add test-fprintf-posix2.
44030
44031         * tests/test-printf-posix2.sh: New file.
44032         * tests/test-printf-posix2.c: New file.
44033         * modules/printf-posix-tests (Files): Add them.
44034         (TESTS): Add test-printf-posix2.sh.
44035         (configure.ac): Check for getrlimit and setrlimit.
44036         (check_PROGRAMS): Add test-printf-posix2.
44037
44038         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
44039         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
44040         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
44041         (decode_double): New function, copied from decode_long_double.
44042         (scale10_round_decimal_decoded): New function, extracted from
44043         scale10_round_decimal_long_double.
44044         (scale10_round_decimal_long_double): Use it.
44045         (scale10_round_decimal_double): New function.
44046         (floorlog10): New function.
44047         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
44048         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
44049         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44050         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44051         gl_PRINTF_ENOMEM and test its result. Invoke
44052         gl_PREREQ_VASNPRINTF_ENOMEM.
44053         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44054         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44055         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44056         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44057         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44058         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44059         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44060         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
44061         * modules/snprintf-posix (Depends-on): Likewise.
44062         * modules/sprintf-posix (Depends-on): Likewise.
44063         * modules/vasnprintf-posix (Depends-on): Likewise.
44064         * modules/vasprintf-posix (Depends-on): Likewise.
44065         * modules/vfprintf-posix (Depends-on): Likewise.
44066         * modules/vsnprintf-posix (Depends-on): Likewise.
44067         * modules/vsprintf-posix (Depends-on): Likewise.
44068         * doc/functions/fprintf.texi: Update.
44069         * doc/functions/printf.texi: Update.
44070         * doc/functions/snprintf.texi: Update.
44071         * doc/functions/sprintf.texi: Update.
44072         * doc/functions/vfprintf.texi: Update.
44073         * doc/functions/vprintf.texi: Update.
44074         * doc/functions/vsnprintf.texi: Update.
44075         * doc/functions/vsprintf.texi: Update.
44076
44077 2007-11-03  Bruno Haible  <bruno@clisp.org>
44078
44079         * modules/frexp-nolibm-tests: New file.
44080
44081         * modules/frexp-nolibm: New file.
44082         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
44083
44084 2007-11-03  Bruno Haible  <bruno@clisp.org>
44085
44086         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
44087         value is C99 compliant.
44088         Needed for OSF/1 5.1.
44089
44090 2007-11-03  Bruno Haible  <bruno@clisp.org>
44091
44092         Fix out-of-memory handling of vasnprintf.
44093         * lib/printf-parse.c: Include <errno.h>.
44094         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
44095         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
44096         is already set.
44097
44098 2007-11-02  Eric Blake  <ebb9@byu.net>
44099
44100         Fix tests on cygwin.
44101         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
44102
44103 2007-11-01  Bruno Haible  <bruno@clisp.org>
44104
44105         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
44106         warning.
44107         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
44108         needed for POSIX compatibility.
44109
44110 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44111
44112         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
44113         for compatibility with GNU.
44114
44115 2007-11-01  Bruno Haible  <bruno@clisp.org>
44116
44117         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
44118         (putenv): Renamed from rpl_putenv. Change argument type from
44119         'const char *' to 'char *'.
44120         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
44121         of defining putenv in config.h, just set REPLACE_PUTENV.
44122         * modules/putenv (Depends-on): Add stdlib.
44123         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44124         (Include): Use <stdlib.h>.
44125         * lib/stdlib.in.h (putenv): New declaration.
44126         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
44127         REPLACE_PUTENV.
44128         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
44129         REPLACE_PUTENV.
44130         Needed for MacOS X 10.5.0.
44131         Reported by Peter O'Gorman <peter@pogma.com>.
44132
44133 2007-11-01  Jim Meyering  <meyering@redhat.com>
44134
44135         Treat an empty date string exactly like "0".
44136         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
44137         if the remaining date string (to be parsed) is empty, use "0".
44138         Reported by Mischa Molhoek and discussed in this thread:
44139         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
44140
44141 2007-10-31  Bruno Haible  <bruno@clisp.org>
44142
44143         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
44144         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
44145         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
44146         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
44147         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
44148         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
44149
44150 2007-10-31  Bruno Haible  <bruno@clisp.org>
44151
44152         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
44153         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
44154         (AC_TYPE_LONG_LONG_INT): Use it.
44155         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
44156         it as well.
44157         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
44158         to m4/longlong.m4.
44159         * modules/stdint (Files): Remove m4/ulonglong.m4.
44160         * modules/strtoull (Files): Use m4/longlong.m4 instead of
44161         m4/ulonglong.m4.
44162         * modules/strtoumax (Files): Likewise.
44163
44164 2007-10-30  Bruno Haible  <bruno@clisp.org>
44165
44166         * modules/xvasprintf-posix: New file.
44167         Suggested by Eric Blake.
44168
44169 2007-10-30  Bruno Haible  <bruno@clisp.org>
44170
44171         * modules/xprintf-posix-tests: New file.
44172         * tests/test-xprintf-posix.sh: New file.
44173         * tests/test-xprintf-posix.c: New file.
44174         * tests/test-xfprintf-posix.c: New file.
44175
44176         * modules/xprintf-posix: New file.
44177
44178 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44179
44180         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
44181         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
44182         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
44183
44184 2007-10-29  Bruno Haible  <bruno@clisp.org>
44185
44186         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
44187         contain the special marker '_cv_'.
44188         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44189         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44190         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44191         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
44192         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44193         Reported by Ralf Wildenhues.
44194
44195 2007-10-29  Bruno Haible  <bruno@clisp.org>
44196
44197         * gnulib-tool (func_import): When --lgpl is not specified, set
44198         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
44199         GPLv3.
44200         Reported by Simon Josefsson.
44201
44202 2007-10-28  Bruno Haible  <bruno@clisp.org>
44203
44204         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
44205         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
44206         HAVE_DECL_ISFINITE.
44207         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
44208         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
44209         HAVE_DECL_ISFINITE.
44210
44211 2007-10-28  Bruno Haible  <bruno@clisp.org>
44212
44213         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
44214         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
44215
44216 2007-10-28  Bruno Haible  <bruno@clisp.org>
44217
44218         Fix link errors with Sun C 5.0 on Solaris 10.
44219         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
44220         function is declared but not present in the compiler's libm.
44221         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
44222         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
44223         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
44224         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
44225         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
44226         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
44227         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
44228         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
44229         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
44230         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
44231         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
44232         HAVE_DECL_FLOORL.
44233
44234 2007-10-28  Bruno Haible  <bruno@clisp.org>
44235
44236         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
44237         gl_FUNC_FLOORL. Cache the result.
44238         (gl_FUNC_FLOORL): Use it.
44239         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
44240         gl_FUNC_CEILL. Cache the result.
44241         (gl_FUNC_CEILL): Use it.
44242
44243         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
44244         gl_FUNC_FLOOR. Cache the result.
44245         (gl_FUNC_FLOOR): Use it.
44246         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
44247         gl_FUNC_CEIL. Cache the result.
44248         (gl_FUNC_CEIL): Use it.
44249
44250         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
44251         gl_FUNC_FLOORF. Cache the result.
44252         (gl_FUNC_FLOORF): Use it.
44253         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
44254         gl_FUNC_CEILF. Cache the result.
44255         (gl_FUNC_CEILF): Use it.
44256
44257 2007-10-28  Bruno Haible  <bruno@clisp.org>
44258
44259         * gnulib-tool: Allow specifying the LGPL version number through
44260         --lgpl=2 or --lgpl=3.
44261         (func_usage): Document --lgpl with argument.
44262         Handle --lgpl=... arguments.
44263         (func_import): Recognize also gl_LGPL calls with an argument. When
44264         --lgpl=2 is used and the module's license is just LGPL, report an
44265         error. Set sed_transform_lib_file according to the lgpl variable. In
44266         the generated files, use --lgpl or gl_LGPL invocations with argument,
44267         if necessary.
44268         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
44269         an LGPv2+ license.
44270         * doc/gnulib-tool.texi (Modified imports): Update explanation of
44271         gl_LGPL macro.
44272
44273 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44274             Bruno Haible  <bruno@clisp.org>
44275
44276         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
44277         (u16_uctomb_aux): Likewise.
44278         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
44279         !HAVE_INLINE.
44280         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
44281
44282 2007-10-28  Bruno Haible  <bruno@clisp.org>
44283
44284         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
44285         Invoke AM_GETTEXT_OPTION if it exists.
44286         * modules/vasprintf: Likewise.
44287         * modules/verror: Likewise.
44288         * modules/xprintf: Likewise.
44289         * modules/xvasprintf: Likewise.
44290
44291 2007-10-27  Ben Pfaff  <blp@gnu.org>
44292
44293         * lib/math.in.h: Define isfinite macro and prototypes for
44294         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
44295         implementations.
44296         * m4/math_h.m4: New substitutions for isfinite module.
44297         * lib/isfinite.c: New file.
44298         * m4/isfinite.m4: New file.
44299         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
44300         * modules/isfinite: New file.
44301         * modules/isfinite-tests: New file.
44302         * tests/tests-isfinite.c: New file.
44303         * doc/functions/isfinite.texi: Mention isfinite module.
44304         * MODULES.html.sh: Mention new module.
44305
44306 2007-10-27  Ben Pfaff  <blp@gnu.org>
44307
44308         Ralf Wildenhues reported that Tru64 4.0D declares the round
44309         functions but does not have definitions.
44310         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
44311         cannot be found in any library, set the output variable to
44312         "missing" instead of "".
44313         * m4/round.m4: Also use our substitute if we cannot find round in
44314         any library, even if it is declared.
44315         * m4/roundf.m4: Likewise for roundf.
44316         * m4/roundl.m4: Likewise for roundl.
44317         * lib/math.in.h: Undefine roundf, round, roundl before defining
44318         their replacements, to allow for hypothetical systems where these
44319         may be defined as macros but not available in libraries.
44320
44321 2007-10-27  Bruno Haible  <bruno@clisp.org>
44322
44323         * doc/gnulib.texi: Invoke @firstparagraphindent.
44324         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
44325         changes in gnulib.
44326         (Source changes): New section.
44327
44328 2007-10-26  Bruno Haible  <bruno@clisp.org>
44329
44330         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
44331         borrowed from autoconf.
44332
44333 2007-10-26  Bruno Haible  <bruno@clisp.org>
44334
44335         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
44336         strerror returned the empty string. Needed on HP-UX 11.00.
44337
44338 2007-10-24  Micah Cowan  <micah@cowan.name>
44339
44340         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
44341         * build-aux/bootstrap: Remove support for now-unnecessary option,
44342         --cvs-user, and envvars CVS_USER, CVS_RSH.
44343
44344 2007-10-24  Jim Meyering  <meyering@redhat.com>
44345
44346         Avoid diagnostics from sha1sum when there is no cached checksum.
44347         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
44348         if the po.s1 file hasn't been created yet.
44349
44350         * build-aux/bootstrap: Sync from coreutils:
44351         2007-10-24  Jim Meyering  <meyering@redhat.com>
44352         Get gnulib from the git repository, not from an obsolete cvs one.
44353         * build-aux/bootstrap: Suggestion from Micah Cowan.
44354         2007-10-04  Jim Meyering  <jim@meyering.net>
44355         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
44356         (update_po_files): Work also when there are no .po files in po/.
44357
44358 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44359
44360         * README: Append ".git" to git and cg examples.
44361         Problem reported by Benoit Sigoure.
44362
44363 2007-10-23  Micah Cowan  <micah@cowan.name>
44364
44365         * users.txt: Add wget.
44366
44367 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44368
44369         Fix linking of some unistdio tests on FreeBSD.
44370         * modules/unistdio/u16-vsnprintf-tests
44371         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
44372         * modules/unistdio/u16-vsprintf-tests
44373         (test_u16_vsnprintf1_LDADD): Likewise.
44374         * modules/unistdio/u32-vsnprintf-tests
44375         (test_u32_vsnprintf1_LDADD): Likewise.
44376         * modules/unistdio/u32-vsprintf-tests
44377         (test_u32_vsprintf1_LDADD): Likewise.
44378         * modules/unistdio/u8-vsnprintf-tests
44379         (test_u8_vsnprintf1_LDADD): Likewise.
44380         * modules/unistdio/u8-vsprintf-tests
44381         (test_u8_vsprintf1_LDADD): Likewise.
44382         * modules/unistdio/ulc-vsnprintf-tests
44383         (test_ulc_vsnprintf1_LDADD): Likewise.
44384         * modules/unistdio/ulc-vsprintf-tests
44385         (test_ulc_vsprintf1_LDADD): Likewise.
44386
44387         Fix linking of some uniconv tests on FreeBSD.
44388         * modules/uniconv/u16-conv-from-enc-tests
44389         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
44390         * modules/uniconv/u16-conv-to-enc-tests
44391         (test_u16_conv_to_enc_LDADD): Likewise.
44392         * modules/uniconv/u16-strconv-from-enc-tests
44393         (test_u16_strconv_from_enc_LDADD): Likewise.
44394         * modules/uniconv/u16-strconv-to-enc-tests
44395         (test_u16_strconv_to_enc_LDADD): Likewise.
44396         * modules/uniconv/u32-conv-from-enc-tests
44397         (test_u32_conv_from_enc_LDADD): Likewise.
44398         * modules/uniconv/u32-conv-to-enc-tests
44399         (test_u32_conv_to_enc_LDADD): Likewise.
44400         * modules/uniconv/u32-strconv-from-enc-tests
44401         (test_u32_strconv_from_enc_LDADD): Likewise.
44402         * modules/uniconv/u32-strconv-to-enc-tests
44403         (test_u32_strconv_to_enc_LDADD): Likewise.
44404         * modules/uniconv/u8-conv-from-enc-tests
44405         (test_u8_conv_from_enc_LDADD): Likewise.
44406         * modules/uniconv/u8-conv-to-enc-tests
44407         (test_u8_conv_to_enc_LDADD): Likewise.
44408         * modules/uniconv/u8-strconv-from-enc-tests
44409         (test_u8_strconv_from_enc_LDADD): Likewise.
44410         * modules/uniconv/u8-strconv-to-enc-tests
44411         (test_u8_strconv_to_enc_LDADD): Likewise.
44412
44413 2007-10-22  Bruno Haible  <bruno@clisp.org>
44414
44415         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
44416         size.
44417
44418 2007-10-22  Eric Blake  <ebb9@byu.net>
44419
44420         Tweak x*printf documentation.
44421         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
44422         variable name and comments.
44423         Suggested by Bruno Haible.
44424
44425 2007-10-22  Bruno Haible  <bruno@clisp.org>
44426
44427         * lib/acl.c (copy_acl): Fix file name in comment.
44428
44429 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44430
44431         Fix Tru64 problem with stdbool.h.
44432         * lib/stdbool.in.h (false, true):
44433         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
44434         Don't declare as an enum in this situation; it runs afoul of Tru64.
44435         Problem reported by Steven M. Schweda in
44436         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
44437
44438 2007-10-22  Eric Blake  <ebb9@byu.net>
44439
44440         Also wrap vf?printf.
44441         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
44442         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
44443         (xvprintf, xvfprintf): New functions.
44444
44445 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44446
44447         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
44448         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
44449
44450         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
44451         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
44452
44453 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44454
44455         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
44456         by Bruno Haible.
44457
44458 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44459
44460         * lib/getloadavg.c
44461         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
44462         Undef `sys' after including sys/table.h, for Tru64 4.0D.
44463
44464         * tests/test-i-ring.c: Work for C89.
44465
44466 2007-10-22  Bruno Haible  <bruno@clisp.org>
44467
44468         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
44469         -1u, in preprocessor expression, so that we don't test for the bug
44470         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
44471         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
44472
44473 2007-10-22  Eric Blake  <ebb9@byu.net>
44474
44475         * tests/test-yesno.sh: Silence stderr during test.
44476
44477 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44478
44479         * modules/crypto/gc-camellia: New file.
44480
44481         * m4/gc-camellia.m4: New file.
44482
44483         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
44484
44485         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
44486
44487 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44488
44489         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
44490         --help to stdout.  Reported by sms@antinode.org (Steven
44491         M. Schweda).
44492
44493 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44494
44495         * users.txt: Fix link to libksba.
44496
44497 2007-10-21  Ben Pfaff  <blp@gnu.org>
44498
44499         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
44500         round.c roundf implementation that depends on floorf and ceilf to
44501         be tested unconditionally.
44502
44503 2007-10-21  Ben Pfaff  <blp@gnu.org>
44504
44505         * m4/check-libm-func.m4: Removed.
44506         * m4/check-math-lib.m4: New file.
44507         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
44508         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
44509         definition and lack of AC_LIBOBJ([roundf]).
44510         * m4/roundl.m4: Ditto, and similarly for roundl.
44511         * modules/round: Reference new m4 file.
44512         * modules/roundf: Ditto.
44513         * modules/roundl: Ditto.
44514         * tests/test-round2.c (main): Use ROUND instead of round.
44515         Bug report from Bruno Haible.
44516
44517 2007-10-21  Bruno Haible  <bruno@clisp.org>
44518
44519         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
44520         context.
44521
44522 2007-10-21  Bruno Haible  <bruno@clisp.org>
44523
44524         * tests/test-wcwidth.c (main): Allow negative result for some control
44525         characters.
44526
44527         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
44528         Needed on OSF/1 5.1.
44529
44530 2007-10-21  Bruno Haible  <bruno@clisp.org>
44531
44532         * tests/test-floorf1.c: Include isnanf.h.
44533         (main): Use isnanf() instead of isnan().
44534         * tests/test-ceilf1.c: Include isnanf.h.
44535         (main): Use isnanf() instead of isnan().
44536         * tests/test-truncf1.c: Include isnanf.h.
44537         (main): Use isnanf() instead of isnan().
44538         * tests/test-roundf1.c: Include isnanf.h.
44539         (main): Use isnanf() instead of isnan().
44540
44541 2007-10-21  Eric Blake  <ebb9@byu.net>
44542
44543         * users.txt: Update URL for m4.
44544
44545 2007-10-21  Bruno Haible  <bruno@clisp.org>
44546
44547         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
44548
44549 2007-10-21  Bruno Haible  <bruno@clisp.org>
44550
44551         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
44552         Git's management files if the CVS files are not present.
44553
44554 2007-10-20  Bruno Haible  <bruno@clisp.org>
44555
44556         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
44557         gcc-3.4.x.
44558
44559 2007-10-20  Ben Pfaff  <blp@gnu.org>
44560
44561         * lib/math.in.h: Declare round, roundf, roundl if we are providing
44562         implementations.
44563         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
44564         * lib/round.c: New file.
44565         * lib/roundf.c: New file.
44566         * lib/roundl.c: New file.
44567         * m4/round.m4: New file.
44568         * m4/roundf.m4: New file.
44569         * m4/roundl.m4: New file.
44570         * m4/check-libm-func-m4: New file.
44571         * modules/math: Replace round, roundf, roundl related @VARS@ in
44572         math.in.h.
44573         * modules/round: New file.
44574         * modules/round-tests: New file.
44575         * modules/roundf: New file.
44576         * modules/roundf-tests: New file.
44577         * modules/roundl: New file.
44578         * modules/roundl-tests: New file.
44579         * tests/test-round1.c: New file.
44580         * tests/test-round2.c: New file.
44581         * tests/test-roundf1.c: New file.
44582         * tests/test-roundf2.c: New file.
44583         * tests/test-roundl.c: New file.
44584         * doc/functions/round.texi: Mention round module.
44585         * doc/functions/roundf.texi: Mention roundf module.
44586         * doc/functions/roundl.texi: Mention roundl module.
44587         * MODULES.html.sh: Mention new modules.
44588         Thanks to Bruno Haible for suggestions.
44589
44590 2007-10-20  Jim Meyering  <meyering@redhat.com>
44591
44592         * lib/xprintf.c: Include <config.h> unconditionally.
44593
44594         Change xprintf's license to GPL.
44595         * modules/xprintf (License): s/LGPL/GPL/, since this module
44596         depends on modules (exit and exitfail) which are GPL.
44597         Suggestion from Bruno Haible.
44598
44599         xprintf fixes.
44600         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
44601         Use a clearer diagnostic.
44602         Patch from Bruno Haible.
44603
44604 2007-10-20  Bruno Haible  <bruno@clisp.org>
44605
44606         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
44607         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
44608         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44609
44610 2007-10-20  Bruno Haible  <bruno@clisp.org>
44611
44612         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
44613         precision in the comparison result > x - 1 or similar.
44614         * tests/test-ceilf2.c (correct_result_p): Likewise.
44615         * tests/test-truncf2.c (correct_result_p): Likewise.
44616         * tests/test-trunc2.c (correct_result_p): Likewise.
44617         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44618
44619 2007-10-20  Bruno Haible  <bruno@clisp.org>
44620
44621         * modules/ceil: New file.
44622         * m4/ceil.m4: New file.
44623         * doc/functions/ceil.texi: Mention the 'ceil' module.
44624
44625 2007-10-20  Bruno Haible  <bruno@clisp.org>
44626
44627         * modules/floor: New file.
44628         * m4/floor.m4: New file.
44629         * doc/functions/floor.texi: Mention the 'floor' module.
44630
44631 2007-10-20  Bruno Haible  <bruno@clisp.org>
44632
44633         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
44634         of %a.
44635         * modules/floorf-tests (Depends-on): Likewise.
44636         * modules/truncf-tests (Depends-on): Likewise.
44637         * modules/trunc-tests (Depends-on): Likewise.
44638         Reported by Ben Pfaff.
44639
44640 2007-10-19  Jim Meyering  <meyering@redhat.com>
44641
44642         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
44643         Don't bother testing specific errno values.  Just test ferror.
44644
44645         New module: xprintf
44646         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
44647
44648 2007-10-19  Bruno Haible  <bruno@clisp.org>
44649
44650         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
44651         syntax.
44652         * modules/javaexec (Makefile.am): Likewise.
44653         * modules/relocatable-prog (Makefile.am): Likewise.
44654         Suggested by Jim Meyering.
44655
44656 2007-10-18  Bruno Haible  <bruno@clisp.org>
44657
44658         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
44659         Reported by Jim Meyering.
44660
44661 2007-10-18  Eric Blake  <ebb9@byu.net>
44662
44663         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
44664
44665 2007-10-18  Bruno Haible  <bruno@clisp.org>
44666
44667         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
44668         the format string into writable memory. Needed in Fortify conditions.
44669
44670 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
44671             Bruno Haible  <bruno@clisp.org>
44672
44673         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
44674         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
44675         * modules/trim (Depends-on): Add mbchar.
44676         (configure.ac): Add gl_FUNC_MBRTOWC.
44677         (Makefile.am): Augment lib_SOURCES.
44678
44679 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44680
44681         Modify glob.c to use fstatat and dirfd, to simplify it.
44682         Suggested by Eric Blake.
44683         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
44684         Don't include <stdbool.h>; not used.
44685         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
44686         (link_exists_p): Simplify implementation, since we can now assume
44687         dirfd and fstatat.
44688         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
44689
44690 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44691
44692         * gnulib-tool (func_get_dependencies): Fix sed script to
44693         match only tests.
44694
44695 2007-10-17  Bruno Haible  <bruno@clisp.org>
44696
44697         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
44698         allow locale names without encoding suffix.
44699         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
44700         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44701
44702 2007-10-16  Bruno Haible  <bruno@clisp.org>
44703
44704         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
44705         * lib/getgroups.c (getgroups): Likewise.
44706         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
44707
44708 2007-10-16  Bruno Haible  <bruno@clisp.org>
44709
44710         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
44711         * modules/malloc-posix (License): Likewise.
44712         * modules/realloc-posix (License): Likewise.
44713         * modules/calloc-posix (License): Likewise.
44714         * modules/intprops (License): Change from GPL to LGPL, with
44715         Paul Eggert's approval.
44716
44717 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44718
44719         Merge glibc changes into lib/glob.c.
44720
44721         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
44722         2007-10-15 04:59:03 UTC.  Here are the changes:
44723
44724         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
44725
44726         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
44727
44728         * lib/glob.c: Add some branch prediction throughout.
44729
44730         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
44731
44732         [BZ #5103]
44733         * lib/glob.c (glob): Recognize patterns starting \/.
44734
44735         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
44736
44737         [BZ #3996]
44738         * lib/glob.c (attribute_hidden): Define if not defined.
44739         (glob): Unescape dirname, filename or username when needed and not
44740         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
44741         is NULL.  Handle unescaped [ in pattern without closing ].
44742         Don't pass GLOB_CHECK down to recursive glob for directories.
44743         (__glob_pattern_type): New function.
44744         (__glob_pattern_p): Implement using __glob_pattern_type.
44745         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
44746         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
44747         Remove unreachable code.
44748
44749         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
44750
44751         * lib/glob.c (glob_in_dir): Add some comments and asserts to
44752         explain why there are no leaks.
44753
44754         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
44755
44756         [BZ #3253]
44757         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
44758         time, rather allocate increasingly bigger arrays of pointers, if
44759         possible with alloca, if too large with malloc.
44760
44761 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44762
44763         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
44764         Problem reported by H.Merijn Brand in
44765         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
44766         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
44767         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
44768
44769 2007-10-15  Bruno Haible  <bruno@clisp.org>
44770
44771         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
44772         with explicit rpl_ prefix.
44773         * lib/fopen.c (fopen): Likewise.
44774         * lib/freopen.c (freopen): Likewise.
44775         * lib/iconv.c (iconv): Likewise.
44776         * lib/iconv_close.c (iconv_close): Likewise.
44777
44778 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44779
44780         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
44781
44782 2007-10-15  Bruno Haible  <bruno@clisp.org>
44783
44784         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
44785         <stddef.h> instead of <stdlib.h> since we only need NULL.
44786         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44787
44788 2007-10-15  Bruno Haible  <bruno@clisp.org>
44789
44790         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
44791         Replace paragraph talking about LIBOBJS.
44792         Reported by Colin Watson <cjwatson@debian.org>.
44793
44794 2007-10-15  Bruno Haible  <bruno@clisp.org>
44795
44796         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
44797         <stdlib.h> before using NULL.
44798
44799 2007-10-15  Simon Josefsson  <simon@josefsson.org>
44800
44801         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
44802         Reported by Albert Chin <china@thewrittenword.com>.
44803
44804 2007-10-14  Bruno Haible  <bruno@clisp.org>
44805
44806         * modules/iconv_open-utf-tests: New file.
44807         * tests/test-iconv-utf.c: New file.
44808
44809         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
44810         * modules/iconv_open-utf: New file.
44811         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
44812         (iconv, iconv_close): New declarations.
44813         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
44814         be defined.
44815         (iconv_open): Add special handling of conversion between UTF-8 and
44816         UTF-{16,32}{BE,LE}.
44817         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
44818         * lib/iconv_close.c: New file.
44819         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
44820         gl_FUNC_ICONV_OPEN.
44821         (gl_FUNC_ICONV_OPEN): Use it.
44822         (gl_FUNC_ICONV_OPEN_UTF): New macro.
44823         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
44824         and REPLACE_ICONV_UTF.
44825         * modules/iconv_open (Depends-on): Add c-strcase.
44826         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
44827         ICONV_CONST.
44828         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
44829
44830 2007-10-13  Albert Chin  <china@thewrittenword.com>
44831             Bruno Haible  <bruno@clisp.org>
44832
44833         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
44834         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
44835
44836 2007-10-13  Bruno Haible  <bruno@clisp.org>
44837
44838         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
44839         defined, use the ISO C99 inline semantics.
44840         * lib/argp.h (ARGP_EI): Likewise.
44841
44842 2007-10-13  Bruno Haible  <bruno@clisp.org>
44843
44844         Handle 'inline' change in gcc 4.3.0.
44845         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
44846         argp_fmtstream_write, argp_fmtstream_set_lmargin,
44847         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
44848         argp_fmtstream_point): Disable 'extern' declaration if the function
44849         definition is going to be provided inline.
44850         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
44851         semantics, not the ISO C99 inline semantics.
44852         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
44853         'extern' declaration if the function definition is going to be provided
44854         inline.
44855         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
44856         the GNU C inline semantics, not the ISO C99 inline semantics. With
44857         GCC 4.2, avoid a warning.
44858
44859 2007-10-13  Bruno Haible  <bruno@clisp.org>
44860
44861         * lib/freading.h (freading): Enable the use of __freading for
44862         glibc >= 2.7.
44863         * lib/freading.c (freading): Likewise.
44864
44865 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
44866
44867         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
44868         "warning: C99 inline functions are not supported; using GNU89".
44869
44870 2007-10-12  Bruno Haible  <bruno@clisp.org>
44871
44872         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
44873         of 2.
44874         * tests/test-ceilf2.c: New file.
44875         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
44876
44877         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
44878         * modules/ceilf-tests: Update.
44879
44880 2007-10-12  Bruno Haible  <bruno@clisp.org>
44881
44882         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
44883         of 2.
44884         * tests/test-floorf2.c: New file.
44885         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
44886
44887         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
44888         * modules/floorf-tests: Update.
44889
44890 2007-10-12  Bruno Haible  <bruno@clisp.org>
44891
44892         * tests/test-trunc2.c: New file.
44893         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
44894
44895         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
44896         * modules/trunc-tests: Update.
44897
44898 2007-10-12  Bruno Haible  <bruno@clisp.org>
44899
44900         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
44901         of 2.
44902         * tests/test-truncf2.c: New file.
44903         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
44904
44905         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
44906         * modules/truncf-tests: Update.
44907
44908 2007-10-11  Eric Blake  <ebb9@byu.net>
44909
44910         Don't claim strerror is broken on Interix.
44911         * doc/functions/strerror.texi (strerror): Known broken systems are
44912         now Solaris 8, and not Interix.
44913         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
44914         Interix on cross-compile.
44915         Reported by Martin Koeppe in
44916         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
44917
44918 2007-10-11  Bruno Haible  <bruno@clisp.org>
44919
44920         * modules/i-ring-tests: New file.
44921         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
44922         instead of assert.
44923
44924 2007-10-11  Bruno Haible  <bruno@clisp.org>
44925
44926         * modules/filenamecat-tests: New file.
44927         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
44928         * lib/filenamecat.c: Remove test code.
44929
44930 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
44931
44932         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
44933
44934         * lib/strerror.c: Include <string.h> always, to test interface,
44935         and to remove the need for the dummy.
44936         Include intprops.h to compute width instead of doing it ourselves
44937         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
44938         (strerror): Define it to return NULL if there's no system strerror.
44939         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
44940         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
44941         ancient pre-strerror Unix systems well any more.  Saying "unknown
44942         system error" is enough.
44943         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
44944         simpler strerror.c implementation.
44945         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
44946         Simplify the tests to reflect the simpler strerror implementation.
44947         * modules/strerror (Depends-on): Add intprops.
44948
44949 2007-10-09  Eric Blake  <ebb9@byu.net>
44950
44951         Silence test-fpending.
44952         * modules/fpending-tests (Files): Add wrapper script.
44953         * tests/test-fpending.sh: New file.
44954
44955 2007-10-09  Bruno Haible  <bruno@clisp.org>
44956
44957         * MODULES.html.sh (func_module): Don't create a hyperlink for
44958         function names like 'printf_frexp'.
44959         (Misc): Add crc, memxor.
44960         (Characteristics of floating types): New section.
44961         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
44962         isnanf-nolibm, signbit, trunc, truncf, truncl.
44963         (Enhancements for ISO C 99 functions): New subsection Input/output.
44964         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
44965         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
44966         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
44967         (Compatibility checks for POSIX:2001 functions): Add clock-time.
44968         (Enhancements for POSIX:2001 functions): Add chdir-long.
44969         (File system functions): Add areadlink, chdir-safer, read-file.
44970         Remove cycle-check.
44971         (File system as inode set): New section.
44972         (Date and time): Add gethrxtime.
44973         (Multithreading): Add openmp.
44974         (Internationalization functions): Add localename.
44975         (Unicode string functions): Add unistr/u*-mbsnlen.
44976         (Support for maintaining and releasing projects): Add git-version-gen.
44977         (Lone files): Remove directories.
44978
44979 2007-10-08  Ben Pfaff  <blp@gnu.org>
44980
44981         * lib/xmalloca.h: Fix typo in comment.
44982
44983 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
44984
44985         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
44986         when avoiding problems with integer overflow.  Use a portable test
44987         instead.
44988
44989 2007-10-08  Simon Josefsson  <simon@josefsson.org>
44990
44991         * modules/dummy (License): Change to LGPLv2+.
44992         * modules/float (License): Likewise
44993         * modules/realloc (License): Likewise
44994         * modules/stdlib (License): Likewise
44995
44996 2007-10-07  Bruno Haible  <bruno@clisp.org>
44997
44998         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
44999         * floor.c (TWO_MANT_DIG): Likewise.
45000         * ceil.c (TWO_MANT_DIG): Likewise.
45001         Reported by Ben Pfaff.
45002
45003 2007-10-07  Bruno Haible  <bruno@clisp.org>
45004
45005         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
45006         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
45007         * lib/frexp.c (FUNC): Likewise.
45008         * lib/printf-frexp.h (printf_frexp): Likewise.
45009         * lib/printf-frexpl.h (printf_frexpl): Likewise.
45010         * lib/printf-frexp.c (FUNC): Likewise.
45011         Suggested by Jim Meyering.
45012
45013 2007-10-07  Jim Meyering  <meyering@redhat.com>
45014
45015         Make xnanosleep's integer overflow test more robust.
45016         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
45017         so that gcc-4.3.0 doesn't optimize away this test for overflow.
45018
45019 2007-10-07  Bruno Haible  <bruno@clisp.org>
45020
45021         * NEWS: Mention the license change.
45022
45023         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
45024         abbreviations in the modules files.
45025
45026         Change copyright notice from GPLv2+ to GPLv3+.
45027         * README: Change copyright notice.
45028         * MODULES.html.sh: Likewise.
45029         * build-aux/bootstrap.conf: Likewise.
45030         * build-aux/config.libpath: Likewise.
45031         * build-aux/csharpcomp.sh.in: Likewise.
45032         * build-aux/csharpexec.sh.in: Likewise.
45033         * build-aux/install-reloc: Likewise.
45034         * build-aux/javacomp.sh.in: Likewise.
45035         * build-aux/javaexec.sh.in: Likewise.
45036         * build-aux/ldd.sh.in: Likewise.
45037         * build-aux/reloc-ldflags: Likewise.
45038         * build-aux/relocatable.sh.in: Likewise.
45039         * build-aux/x-to-1.in: Likewise.
45040         * check-module: Likewise.
45041         * config/srclistvars.sh: Likewise.
45042         * gnulib-tool: Likewise.
45043         * lib/acl-internal.h: Likewise.
45044         * lib/acl.c: Likewise.
45045         * lib/acl.h: Likewise.
45046         * lib/acl_entries.c: Likewise.
45047         * lib/areadlink-with-size.c: Likewise.
45048         * lib/areadlink.c: Likewise.
45049         * lib/areadlink.h: Likewise.
45050         * lib/argmatch.c: Likewise.
45051         * lib/argmatch.h: Likewise.
45052         * lib/argp-ba.c: Likewise.
45053         * lib/argp-eexst.c: Likewise.
45054         * lib/argp-fmtstream.c: Likewise.
45055         * lib/argp-fmtstream.h: Likewise.
45056         * lib/argp-fs-xinl.c: Likewise.
45057         * lib/argp-help.c: Likewise.
45058         * lib/argp-namefrob.h: Likewise.
45059         * lib/argp-parse.c: Likewise.
45060         * lib/argp-pin.c: Likewise.
45061         * lib/argp-pv.c: Likewise.
45062         * lib/argp-pvh.c: Likewise.
45063         * lib/argp-xinl.c: Likewise.
45064         * lib/argp.h: Likewise.
45065         * lib/at-func.c: Likewise.
45066         * lib/atanl.c: Likewise.
45067         * lib/backupfile.c: Likewise.
45068         * lib/backupfile.h: Likewise.
45069         * lib/basename.c: Likewise.
45070         * lib/binary-io.h: Likewise.
45071         * lib/byteswap.in.h: Likewise.
45072         * lib/c-stack.c: Likewise.
45073         * lib/c-stack.h: Likewise.
45074         * lib/c-strcasestr.c: Likewise.
45075         * lib/c-strcasestr.h: Likewise.
45076         * lib/c-strstr.c: Likewise.
45077         * lib/c-strstr.h: Likewise.
45078         * lib/c-strtod.c: Likewise.
45079         * lib/calloc.c: Likewise.
45080         * lib/canon-host.c: Likewise.
45081         * lib/canon-host.h: Likewise.
45082         * lib/canonicalize-lgpl.c: Likewise.
45083         * lib/canonicalize.c: Likewise.
45084         * lib/canonicalize.h: Likewise.
45085         * lib/ceil.c: Likewise.
45086         * lib/ceilf.c: Likewise.
45087         * lib/ceill.c: Likewise.
45088         * lib/chdir-long.c: Likewise.
45089         * lib/chdir-long.h: Likewise.
45090         * lib/chdir-safer.c: Likewise.
45091         * lib/chdir-safer.h: Likewise.
45092         * lib/chown.c: Likewise.
45093         * lib/classpath.c: Likewise.
45094         * lib/classpath.h: Likewise.
45095         * lib/clean-temp.c: Likewise.
45096         * lib/clean-temp.h: Likewise.
45097         * lib/cloexec.c: Likewise.
45098         * lib/close-stream.c: Likewise.
45099         * lib/closein.c: Likewise.
45100         * lib/closein.h: Likewise.
45101         * lib/closeout.c: Likewise.
45102         * lib/closeout.h: Likewise.
45103         * lib/concat-filename.c: Likewise.
45104         * lib/copy-file.c: Likewise.
45105         * lib/copy-file.h: Likewise.
45106         * lib/count-one-bits.h: Likewise.
45107         * lib/crc.c: Likewise.
45108         * lib/crc.h: Likewise.
45109         * lib/creat-safer.c: Likewise.
45110         * lib/csharpcomp.c: Likewise.
45111         * lib/csharpcomp.h: Likewise.
45112         * lib/csharpexec.c: Likewise.
45113         * lib/csharpexec.h: Likewise.
45114         * lib/cycle-check.c: Likewise.
45115         * lib/cycle-check.h: Likewise.
45116         * lib/diacrit.c: Likewise.
45117         * lib/diacrit.h: Likewise.
45118         * lib/diffseq.h: Likewise.
45119         * lib/dirchownmod.c: Likewise.
45120         * lib/dirent.in.h: Likewise.
45121         * lib/dirfd.c: Likewise.
45122         * lib/dirfd.h: Likewise.
45123         * lib/dirname.c: Likewise.
45124         * lib/dirname.h: Likewise.
45125         * lib/dummy.c: Likewise.
45126         * lib/dup-safer.c: Likewise.
45127         * lib/dup2.c: Likewise.
45128         * lib/eealloc.h: Likewise.
45129         * lib/error.c: Likewise.
45130         * lib/error.h: Likewise.
45131         * lib/euidaccess.c: Likewise.
45132         * lib/exclude.c: Likewise.
45133         * lib/exclude.h: Likewise.
45134         * lib/execute.c: Likewise.
45135         * lib/execute.h: Likewise.
45136         * lib/exitfail.c: Likewise.
45137         * lib/exitfail.h: Likewise.
45138         * lib/expl.c: Likewise.
45139         * lib/fatal-signal.c: Likewise.
45140         * lib/fatal-signal.h: Likewise.
45141         * lib/fbufmode.c: Likewise.
45142         * lib/fbufmode.h: Likewise.
45143         * lib/fchdir.c: Likewise.
45144         * lib/fchmodat.c: Likewise.
45145         * lib/fchownat.c: Likewise.
45146         * lib/fcntl--.h: Likewise.
45147         * lib/fcntl-safer.h: Likewise.
45148         * lib/fcntl.in.h: Likewise.
45149         * lib/fd-safer.c: Likewise.
45150         * lib/fflush.c: Likewise.
45151         * lib/file-has-acl.c: Likewise.
45152         * lib/file-set.c: Likewise.
45153         * lib/file-type.c: Likewise.
45154         * lib/file-type.h: Likewise.
45155         * lib/fileblocks.c: Likewise.
45156         * lib/filemode.c: Likewise.
45157         * lib/filemode.h: Likewise.
45158         * lib/filename.h: Likewise.
45159         * lib/filenamecat.c: Likewise.
45160         * lib/filenamecat.h: Likewise.
45161         * lib/findprog.c: Likewise.
45162         * lib/findprog.h: Likewise.
45163         * lib/float.in.h: Likewise.
45164         * lib/floor.c: Likewise.
45165         * lib/floorf.c: Likewise.
45166         * lib/floorl.c: Likewise.
45167         * lib/fopen-safer.c: Likewise.
45168         * lib/fopen.c: Likewise.
45169         * lib/fpending.c: Likewise.
45170         * lib/fpending.h: Likewise.
45171         * lib/fprintf.c: Likewise.
45172         * lib/fprintftime.h: Likewise.
45173         * lib/fpucw.h: Likewise.
45174         * lib/fpurge.c: Likewise.
45175         * lib/fpurge.h: Likewise.
45176         * lib/freadable.c: Likewise.
45177         * lib/freadable.h: Likewise.
45178         * lib/freadahead.c: Likewise.
45179         * lib/freadahead.h: Likewise.
45180         * lib/freading.c: Likewise.
45181         * lib/freading.h: Likewise.
45182         * lib/free.c: Likewise.
45183         * lib/freopen.c: Likewise.
45184         * lib/frexp.c: Likewise.
45185         * lib/frexpl.c: Likewise.
45186         * lib/fseek.c: Likewise.
45187         * lib/fseterr.c: Likewise.
45188         * lib/fseterr.h: Likewise.
45189         * lib/fstatat.c: Likewise.
45190         * lib/fstrcmp.c: Likewise.
45191         * lib/fstrcmp.h: Likewise.
45192         * lib/fsusage.c: Likewise.
45193         * lib/fsusage.h: Likewise.
45194         * lib/ftell.c: Likewise.
45195         * lib/ftello.c: Likewise.
45196         * lib/fts-cycle.c: Likewise.
45197         * lib/fts.c: Likewise.
45198         * lib/fts_.h: Likewise.
45199         * lib/full-read.c: Likewise.
45200         * lib/full-read.h: Likewise.
45201         * lib/full-write.c: Likewise.
45202         * lib/full-write.h: Likewise.
45203         * lib/fwritable.c: Likewise.
45204         * lib/fwritable.h: Likewise.
45205         * lib/fwriteerror.c: Likewise.
45206         * lib/fwriteerror.h: Likewise.
45207         * lib/fwriting.c: Likewise.
45208         * lib/fwriting.h: Likewise.
45209         * lib/gcd.c: Likewise.
45210         * lib/gcd.h: Likewise.
45211         * lib/getcwd.c: Likewise.
45212         * lib/getdate.h: Likewise.
45213         * lib/getdate.y: Likewise.
45214         * lib/getdomainname.c: Likewise.
45215         * lib/getdomainname.h: Likewise.
45216         * lib/getgroups.c: Likewise.
45217         * lib/gethostname.c: Likewise.
45218         * lib/gethrxtime.c: Likewise.
45219         * lib/gethrxtime.h: Likewise.
45220         * lib/getloadavg.c: Likewise.
45221         * lib/getndelim2.c: Likewise.
45222         * lib/getndelim2.h: Likewise.
45223         * lib/getnline.c: Likewise.
45224         * lib/getnline.h: Likewise.
45225         * lib/getopt.c: Likewise.
45226         * lib/getopt.in.h: Likewise.
45227         * lib/getopt1.c: Likewise.
45228         * lib/getopt_int.h: Likewise.
45229         * lib/getpagesize.h: Likewise.
45230         * lib/getsubopt.c: Likewise.
45231         * lib/gettime.c: Likewise.
45232         * lib/getugroups.c: Likewise.
45233         * lib/getugroups.h: Likewise.
45234         * lib/getusershell.c: Likewise.
45235         * lib/gl_anyavltree_list1.h: Likewise.
45236         * lib/gl_anyavltree_list2.h: Likewise.
45237         * lib/gl_anyhash_list1.h: Likewise.
45238         * lib/gl_anyhash_list2.h: Likewise.
45239         * lib/gl_anylinked_list1.h: Likewise.
45240         * lib/gl_anylinked_list2.h: Likewise.
45241         * lib/gl_anyrbtree_list1.h: Likewise.
45242         * lib/gl_anyrbtree_list2.h: Likewise.
45243         * lib/gl_anytree_list1.h: Likewise.
45244         * lib/gl_anytree_list2.h: Likewise.
45245         * lib/gl_anytree_oset.h: Likewise.
45246         * lib/gl_anytreehash_list1.h: Likewise.
45247         * lib/gl_anytreehash_list2.h: Likewise.
45248         * lib/gl_array_list.c: Likewise.
45249         * lib/gl_array_list.h: Likewise.
45250         * lib/gl_array_oset.c: Likewise.
45251         * lib/gl_array_oset.h: Likewise.
45252         * lib/gl_avltree_list.c: Likewise.
45253         * lib/gl_avltree_list.h: Likewise.
45254         * lib/gl_avltree_oset.c: Likewise.
45255         * lib/gl_avltree_oset.h: Likewise.
45256         * lib/gl_avltreehash_list.c: Likewise.
45257         * lib/gl_avltreehash_list.h: Likewise.
45258         * lib/gl_carray_list.c: Likewise.
45259         * lib/gl_carray_list.h: Likewise.
45260         * lib/gl_linked_list.c: Likewise.
45261         * lib/gl_linked_list.h: Likewise.
45262         * lib/gl_linkedhash_list.c: Likewise.
45263         * lib/gl_linkedhash_list.h: Likewise.
45264         * lib/gl_list.c: Likewise.
45265         * lib/gl_list.h: Likewise.
45266         * lib/gl_oset.c: Likewise.
45267         * lib/gl_oset.h: Likewise.
45268         * lib/gl_rbtree_list.c: Likewise.
45269         * lib/gl_rbtree_list.h: Likewise.
45270         * lib/gl_rbtree_oset.c: Likewise.
45271         * lib/gl_rbtree_oset.h: Likewise.
45272         * lib/gl_rbtreehash_list.c: Likewise.
45273         * lib/gl_rbtreehash_list.h: Likewise.
45274         * lib/gl_sublist.c: Likewise.
45275         * lib/gl_sublist.h: Likewise.
45276         * lib/group-member.c: Likewise.
45277         * lib/group-member.h: Likewise.
45278         * lib/hard-locale.c: Likewise.
45279         * lib/hard-locale.h: Likewise.
45280         * lib/hash-pjw.c: Likewise.
45281         * lib/hash-pjw.h: Likewise.
45282         * lib/hash-triple.c: Likewise.
45283         * lib/hash.c: Likewise.
45284         * lib/hash.h: Likewise.
45285         * lib/human.c: Likewise.
45286         * lib/human.h: Likewise.
45287         * lib/i-ring.c: Likewise.
45288         * lib/i-ring.h: Likewise.
45289         * lib/idcache.c: Likewise.
45290         * lib/imaxabs.c: Likewise.
45291         * lib/imaxdiv.c: Likewise.
45292         * lib/inet_pton.c: Likewise.
45293         * lib/inet_pton.h: Likewise.
45294         * lib/intprops.h: Likewise.
45295         * lib/inttostr.c: Likewise.
45296         * lib/inttostr.h: Likewise.
45297         * lib/inttypes.in.h: Likewise.
45298         * lib/isapipe.c: Likewise.
45299         * lib/isdir.c: Likewise.
45300         * lib/isnan.c: Likewise.
45301         * lib/isnan.h: Likewise.
45302         * lib/isnanf.c: Likewise.
45303         * lib/isnanf.h: Likewise.
45304         * lib/isnanl-nolibm.h: Likewise.
45305         * lib/isnanl.c: Likewise.
45306         * lib/isnanl.h: Likewise.
45307         * lib/javacomp.c: Likewise.
45308         * lib/javacomp.h: Likewise.
45309         * lib/javaexec.c: Likewise.
45310         * lib/javaexec.h: Likewise.
45311         * lib/javaversion.c: Likewise.
45312         * lib/javaversion.h: Likewise.
45313         * lib/javaversion.java: Likewise.
45314         * lib/lbrkprop.h: Likewise.
45315         * lib/lchmod.h: Likewise.
45316         * lib/lchown.c: Likewise.
45317         * lib/ldexpl.c: Likewise.
45318         * lib/linebreak.c: Likewise.
45319         * lib/linebreak.h: Likewise.
45320         * lib/linebuffer.c: Likewise.
45321         * lib/linebuffer.h: Likewise.
45322         * lib/locale.in.h: Likewise.
45323         * lib/logl.c: Likewise.
45324         * lib/long-options.c: Likewise.
45325         * lib/long-options.h: Likewise.
45326         * lib/lstat.c: Likewise.
45327         * lib/lstat.h: Likewise.
45328         * lib/math.in.h: Likewise.
45329         * lib/mbchar.c: Likewise.
45330         * lib/mbchar.h: Likewise.
45331         * lib/mbfile.h: Likewise.
45332         * lib/mbiter.h: Likewise.
45333         * lib/mbscasecmp.c: Likewise.
45334         * lib/mbscasestr.c: Likewise.
45335         * lib/mbschr.c: Likewise.
45336         * lib/mbscspn.c: Likewise.
45337         * lib/mbslen.c: Likewise.
45338         * lib/mbsncasecmp.c: Likewise.
45339         * lib/mbsnlen.c: Likewise.
45340         * lib/mbspbrk.c: Likewise.
45341         * lib/mbspcasecmp.c: Likewise.
45342         * lib/mbsrchr.c: Likewise.
45343         * lib/mbssep.c: Likewise.
45344         * lib/mbsspn.c: Likewise.
45345         * lib/mbsstr.c: Likewise.
45346         * lib/mbstok_r.c: Likewise.
45347         * lib/mbswidth.c: Likewise.
45348         * lib/mbswidth.h: Likewise.
45349         * lib/mbuiter.h: Likewise.
45350         * lib/memcasecmp.c: Likewise.
45351         * lib/memcasecmp.h: Likewise.
45352         * lib/memchr.c: Likewise.
45353         * lib/memcmp.c: Likewise.
45354         * lib/memcoll.c: Likewise.
45355         * lib/memcoll.h: Likewise.
45356         * lib/memcpy.c: Likewise.
45357         * lib/memrchr.c: Likewise.
45358         * lib/mkancesdirs.c: Likewise.
45359         * lib/mkdir-p.c: Likewise.
45360         * lib/mkdir-p.h: Likewise.
45361         * lib/mkdir.c: Likewise.
45362         * lib/mkdirat.c: Likewise.
45363         * lib/mkdtemp.c: Likewise.
45364         * lib/mkstemp-safer.c: Likewise.
45365         * lib/mkstemp.c: Likewise.
45366         * lib/modechange.c: Likewise.
45367         * lib/modechange.h: Likewise.
45368         * lib/mountlist.c: Likewise.
45369         * lib/mountlist.h: Likewise.
45370         * lib/mpsort.c: Likewise.
45371         * lib/nanosleep.c: Likewise.
45372         * lib/obstack.c: Likewise.
45373         * lib/obstack.h: Likewise.
45374         * lib/open-safer.c: Likewise.
45375         * lib/open.c: Likewise.
45376         * lib/openat-die.c: Likewise.
45377         * lib/openat-priv.h: Likewise.
45378         * lib/openat-proc.c: Likewise.
45379         * lib/openat.c: Likewise.
45380         * lib/openat.h: Likewise.
45381         * lib/pagealign_alloc.c: Likewise.
45382         * lib/pagealign_alloc.h: Likewise.
45383         * lib/physmem.c: Likewise.
45384         * lib/physmem.h: Likewise.
45385         * lib/pipe-safer.c: Likewise.
45386         * lib/pipe.c: Likewise.
45387         * lib/pipe.h: Likewise.
45388         * lib/posixtm.c: Likewise.
45389         * lib/posixtm.h: Likewise.
45390         * lib/posixver.c: Likewise.
45391         * lib/printf-frexp.c: Likewise.
45392         * lib/printf-frexp.h: Likewise.
45393         * lib/printf-frexpl.c: Likewise.
45394         * lib/printf-frexpl.h: Likewise.
45395         * lib/printf.c: Likewise.
45396         * lib/progname.c: Likewise.
45397         * lib/progname.h: Likewise.
45398         * lib/progreloc.c: Likewise.
45399         * lib/putenv.c: Likewise.
45400         * lib/quote.c: Likewise.
45401         * lib/quote.h: Likewise.
45402         * lib/quotearg.c: Likewise.
45403         * lib/quotearg.h: Likewise.
45404         * lib/raise.c: Likewise.
45405         * lib/readline.c: Likewise.
45406         * lib/readline.h: Likewise.
45407         * lib/readlink.c: Likewise.
45408         * lib/readtokens.c: Likewise.
45409         * lib/readtokens.h: Likewise.
45410         * lib/readtokens0.c: Likewise.
45411         * lib/readtokens0.h: Likewise.
45412         * lib/readutmp.c: Likewise.
45413         * lib/readutmp.h: Likewise.
45414         * lib/realloc.c: Likewise.
45415         * lib/relocwrapper.c: Likewise.
45416         * lib/rename-dest-slash.c: Likewise.
45417         * lib/rename.c: Likewise.
45418         * lib/rmdir.c: Likewise.
45419         * lib/rpmatch.c: Likewise.
45420         * lib/safe-read.c: Likewise.
45421         * lib/safe-read.h: Likewise.
45422         * lib/safe-write.c: Likewise.
45423         * lib/safe-write.h: Likewise.
45424         * lib/same-inode.h: Likewise.
45425         * lib/same.c: Likewise.
45426         * lib/same.h: Likewise.
45427         * lib/save-cwd.c: Likewise.
45428         * lib/save-cwd.h: Likewise.
45429         * lib/savedir.c: Likewise.
45430         * lib/savedir.h: Likewise.
45431         * lib/savewd.c: Likewise.
45432         * lib/savewd.h: Likewise.
45433         * lib/search.in.h: Likewise.
45434         * lib/setenv.c: Likewise.
45435         * lib/setenv.h: Likewise.
45436         * lib/settime.c: Likewise.
45437         * lib/sh-quote.c: Likewise.
45438         * lib/sh-quote.h: Likewise.
45439         * lib/sig2str.c: Likewise.
45440         * lib/sig2str.h: Likewise.
45441         * lib/signal.in.h: Likewise.
45442         * lib/signbitd.c: Likewise.
45443         * lib/signbitf.c: Likewise.
45444         * lib/signbitl.c: Likewise.
45445         * lib/sigprocmask.c: Likewise.
45446         * lib/sincosl.c: Likewise.
45447         * lib/sleep.c: Likewise.
45448         * lib/sprintf.c: Likewise.
45449         * lib/sqrtl.c: Likewise.
45450         * lib/stat-time.h: Likewise.
45451         * lib/stdio--.h: Likewise.
45452         * lib/stdio-safer.h: Likewise.
45453         * lib/stdlib--.h: Likewise.
45454         * lib/stdlib-safer.h: Likewise.
45455         * lib/stdlib.in.h: Likewise.
45456         * lib/stpcpy.c: Likewise.
45457         * lib/stpncpy.c: Likewise.
45458         * lib/strchrnul.c: Likewise.
45459         * lib/strcspn.c: Likewise.
45460         * lib/strerror.c: Likewise.
45461         * lib/strftime.c: Likewise.
45462         * lib/strftime.h: Likewise.
45463         * lib/striconveh.c: Likewise.
45464         * lib/striconveh.h: Likewise.
45465         * lib/striconveha.c: Likewise.
45466         * lib/striconveha.h: Likewise.
45467         * lib/stripslash.c: Likewise.
45468         * lib/strnlen1.c: Likewise.
45469         * lib/strnlen1.h: Likewise.
45470         * lib/strtod.c: Likewise.
45471         * lib/strtoimax.c: Likewise.
45472         * lib/strtok_r.c: Likewise.
45473         * lib/strtol.c: Likewise.
45474         * lib/strtoll.c: Likewise.
45475         * lib/strtoul.c: Likewise.
45476         * lib/strtoull.c: Likewise.
45477         * lib/sysexits.in.h: Likewise.
45478         * lib/tempname.c: Likewise.
45479         * lib/tempname.h: Likewise.
45480         * lib/timespec.h: Likewise.
45481         * lib/tls.c: Likewise.
45482         * lib/tls.h: Likewise.
45483         * lib/tmpdir.c: Likewise.
45484         * lib/tmpdir.h: Likewise.
45485         * lib/tmpfile-safer.c: Likewise.
45486         * lib/tmpfile.c: Likewise.
45487         * lib/trigl.c: Likewise.
45488         * lib/trigl.h: Likewise.
45489         * lib/trim.c: Likewise.
45490         * lib/trim.h: Likewise.
45491         * lib/trunc.c: Likewise.
45492         * lib/truncf.c: Likewise.
45493         * lib/truncl.c: Likewise.
45494         * lib/tsearch.c: Likewise.
45495         * lib/unicodeio.c: Likewise.
45496         * lib/unicodeio.h: Likewise.
45497         * lib/unistd--.h: Likewise.
45498         * lib/unistd-safer.h: Likewise.
45499         * lib/unistdio/ulc-fprintf.c: Likewise.
45500         * lib/unistdio/ulc-vfprintf.c: Likewise.
45501         * lib/unlinkdir.c: Likewise.
45502         * lib/unlinkdir.h: Likewise.
45503         * lib/unlocked-io.h: Likewise.
45504         * lib/unsetenv.c: Likewise.
45505         * lib/userspec.c: Likewise.
45506         * lib/utime.c: Likewise.
45507         * lib/utimecmp.c: Likewise.
45508         * lib/utimecmp.h: Likewise.
45509         * lib/utimens.c: Likewise.
45510         * lib/verify.h: Likewise.
45511         * lib/verror.c: Likewise.
45512         * lib/verror.h: Likewise.
45513         * lib/version-etc-fsf.c: Likewise.
45514         * lib/version-etc.c: Likewise.
45515         * lib/version-etc.h: Likewise.
45516         * lib/vfprintf.c: Likewise.
45517         * lib/vprintf.c: Likewise.
45518         * lib/vsprintf.c: Likewise.
45519         * lib/w32spawn.h: Likewise.
45520         * lib/wait-process.c: Likewise.
45521         * lib/wait-process.h: Likewise.
45522         * lib/wcwidth.c: Likewise.
45523         * lib/write-any-file.c: Likewise.
45524         * lib/xalloc-die.c: Likewise.
45525         * lib/xalloc.h: Likewise.
45526         * lib/xasprintf.c: Likewise.
45527         * lib/xgetcwd.c: Likewise.
45528         * lib/xgetcwd.h: Likewise.
45529         * lib/xgetdomainname.c: Likewise.
45530         * lib/xgetdomainname.h: Likewise.
45531         * lib/xgethostname.c: Likewise.
45532         * lib/xmalloc.c: Likewise.
45533         * lib/xmalloca.c: Likewise.
45534         * lib/xmalloca.h: Likewise.
45535         * lib/xmemcoll.c: Likewise.
45536         * lib/xnanosleep.c: Likewise.
45537         * lib/xreadlink.c: Likewise.
45538         * lib/xreadlink.h: Likewise.
45539         * lib/xsetenv.c: Likewise.
45540         * lib/xsetenv.h: Likewise.
45541         * lib/xstriconv.c: Likewise.
45542         * lib/xstriconv.h: Likewise.
45543         * lib/xstrndup.c: Likewise.
45544         * lib/xstrndup.h: Likewise.
45545         * lib/xstrtod.c: Likewise.
45546         * lib/xstrtod.h: Likewise.
45547         * lib/xstrtol-error.c: Likewise.
45548         * lib/xstrtol.c: Likewise.
45549         * lib/xstrtol.h: Likewise.
45550         * lib/xtime.h: Likewise.
45551         * lib/xvasprintf.c: Likewise.
45552         * lib/xvasprintf.h: Likewise.
45553         * lib/yesno.c: Likewise.
45554         * lib/yesno.h: Likewise.
45555         * posix-modules: Likewise.
45556         * tests/test-alloca-opt.c: Likewise.
45557         * tests/test-arcfour.c: Likewise.
45558         * tests/test-arctwo.c: Likewise.
45559         * tests/test-argmatch.c: Likewise.
45560         * tests/test-argp-2.sh: Likewise.
45561         * tests/test-argp.c: Likewise.
45562         * tests/test-arpa_inet.c: Likewise.
45563         * tests/test-array_list.c: Likewise.
45564         * tests/test-array_oset.c: Likewise.
45565         * tests/test-atexit.c: Likewise.
45566         * tests/test-avltree_list.c: Likewise.
45567         * tests/test-avltree_oset.c: Likewise.
45568         * tests/test-avltreehash_list.c: Likewise.
45569         * tests/test-base64.c: Likewise.
45570         * tests/test-binary-io.c: Likewise.
45571         * tests/test-byteswap.c: Likewise.
45572         * tests/test-c-ctype.c: Likewise.
45573         * tests/test-c-strcasecmp.c: Likewise.
45574         * tests/test-c-strcasestr.c: Likewise.
45575         * tests/test-c-strncasecmp.c: Likewise.
45576         * tests/test-c-strstr.c: Likewise.
45577         * tests/test-canonicalize-lgpl.c: Likewise.
45578         * tests/test-canonicalize.c: Likewise.
45579         * tests/test-carray_list.c: Likewise.
45580         * tests/test-ceilf.c: Likewise.
45581         * tests/test-ceill.c: Likewise.
45582         * tests/test-count-one-bits.c: Likewise.
45583         * tests/test-crc.c: Likewise.
45584         * tests/test-dirname.c: Likewise.
45585         * tests/test-fbufmode.c: Likewise.
45586         * tests/test-fcntl.c: Likewise.
45587         * tests/test-fflush.c: Likewise.
45588         * tests/test-floorf.c: Likewise.
45589         * tests/test-floorl.c: Likewise.
45590         * tests/test-fopen.c: Likewise.
45591         * tests/test-fprintf-posix.c: Likewise.
45592         * tests/test-fprintf-posix.h: Likewise.
45593         * tests/test-fpurge.c: Likewise.
45594         * tests/test-freadable.c: Likewise.
45595         * tests/test-freadahead.c: Likewise.
45596         * tests/test-freading.c: Likewise.
45597         * tests/test-freopen.c: Likewise.
45598         * tests/test-frexp.c: Likewise.
45599         * tests/test-frexpl.c: Likewise.
45600         * tests/test-fseek.c: Likewise.
45601         * tests/test-fseeko.c: Likewise.
45602         * tests/test-fseterr.c: Likewise.
45603         * tests/test-fstrcmp.c: Likewise.
45604         * tests/test-ftell.c: Likewise.
45605         * tests/test-ftello.c: Likewise.
45606         * tests/test-fwritable.c: Likewise.
45607         * tests/test-fwriting.c: Likewise.
45608         * tests/test-getaddrinfo.c: Likewise.
45609         * tests/test-getpass.c: Likewise.
45610         * tests/test-gettimeofday.c: Likewise.
45611         * tests/test-hmac-md5.c: Likewise.
45612         * tests/test-hmac-sha1.c: Likewise.
45613         * tests/test-iconv.c: Likewise.
45614         * tests/test-iconvme.c: Likewise.
45615         * tests/test-inttypes.c: Likewise.
45616         * tests/test-isnan.c: Likewise.
45617         * tests/test-isnanf.c: Likewise.
45618         * tests/test-isnanl-nolibm.c: Likewise.
45619         * tests/test-isnanl.c: Likewise.
45620         * tests/test-isnanl.h: Likewise.
45621         * tests/test-ldexpl.c: Likewise.
45622         * tests/test-linked_list.c: Likewise.
45623         * tests/test-linkedhash_list.c: Likewise.
45624         * tests/test-locale.c: Likewise.
45625         * tests/test-localename.c: Likewise.
45626         * tests/test-lock.c: Likewise.
45627         * tests/test-lseek.c: Likewise.
45628         * tests/test-malloca.c: Likewise.
45629         * tests/test-math.c: Likewise.
45630         * tests/test-mbscasecmp.c: Likewise.
45631         * tests/test-mbscasestr1.c: Likewise.
45632         * tests/test-mbscasestr2.c: Likewise.
45633         * tests/test-mbscasestr3.c: Likewise.
45634         * tests/test-mbscasestr4.c: Likewise.
45635         * tests/test-mbschr.c: Likewise.
45636         * tests/test-mbscspn.c: Likewise.
45637         * tests/test-mbsncasecmp.c: Likewise.
45638         * tests/test-mbspbrk.c: Likewise.
45639         * tests/test-mbspcasecmp.c: Likewise.
45640         * tests/test-mbsrchr.c: Likewise.
45641         * tests/test-mbsspn.c: Likewise.
45642         * tests/test-mbsstr1.c: Likewise.
45643         * tests/test-mbsstr2.c: Likewise.
45644         * tests/test-mbsstr3.c: Likewise.
45645         * tests/test-md5.c: Likewise.
45646         * tests/test-memmem.c: Likewise.
45647         * tests/test-netinet_in.c: Likewise.
45648         * tests/test-open.c: Likewise.
45649         * tests/test-printf-frexp.c: Likewise.
45650         * tests/test-printf-frexpl.c: Likewise.
45651         * tests/test-printf-posix.c: Likewise.
45652         * tests/test-printf-posix.h: Likewise.
45653         * tests/test-rbtree_list.c: Likewise.
45654         * tests/test-rbtree_oset.c: Likewise.
45655         * tests/test-rbtreehash_list.c: Likewise.
45656         * tests/test-read-file.c: Likewise.
45657         * tests/test-rijndael.c: Likewise.
45658         * tests/test-search.c: Likewise.
45659         * tests/test-signbit.c: Likewise.
45660         * tests/test-sleep.c: Likewise.
45661         * tests/test-snprintf-posix.c: Likewise.
45662         * tests/test-snprintf-posix.h: Likewise.
45663         * tests/test-snprintf.c: Likewise.
45664         * tests/test-sprintf-posix.c: Likewise.
45665         * tests/test-sprintf-posix.h: Likewise.
45666         * tests/test-stat-time.c: Likewise.
45667         * tests/test-stdbool.c: Likewise.
45668         * tests/test-stdint.c: Likewise.
45669         * tests/test-stdio.c: Likewise.
45670         * tests/test-stdlib.c: Likewise.
45671         * tests/test-stpncpy.c: Likewise.
45672         * tests/test-strcasestr.c: Likewise.
45673         * tests/test-striconv.c: Likewise.
45674         * tests/test-striconveh.c: Likewise.
45675         * tests/test-striconveha.c: Likewise.
45676         * tests/test-string.c: Likewise.
45677         * tests/test-sys_select.c: Likewise.
45678         * tests/test-sys_socket.c: Likewise.
45679         * tests/test-sys_stat.c: Likewise.
45680         * tests/test-sys_time.c: Likewise.
45681         * tests/test-sysexits.c: Likewise.
45682         * tests/test-time.c: Likewise.
45683         * tests/test-tls.c: Likewise.
45684         * tests/test-trunc.c: Likewise.
45685         * tests/test-truncf.c: Likewise.
45686         * tests/test-truncl.c: Likewise.
45687         * tests/test-unistd.c: Likewise.
45688         * tests/test-vasnprintf-posix.c: Likewise.
45689         * tests/test-vasnprintf-posix2.c: Likewise.
45690         * tests/test-vasnprintf.c: Likewise.
45691         * tests/test-vasprintf-posix.c: Likewise.
45692         * tests/test-vasprintf.c: Likewise.
45693         * tests/test-verify.c: Likewise.
45694         * tests/test-vfprintf-posix.c: Likewise.
45695         * tests/test-vprintf-posix.c: Likewise.
45696         * tests/test-vsnprintf-posix.c: Likewise.
45697         * tests/test-vsnprintf.c: Likewise.
45698         * tests/test-vsprintf-posix.c: Likewise.
45699         * tests/test-wchar.c: Likewise.
45700         * tests/test-wctype.c: Likewise.
45701         * tests/test-wcwidth.c: Likewise.
45702         * tests/test-xstrtol.c: Likewise.
45703         * tests/test-xvasprintf.c: Likewise.
45704         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
45705         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
45706         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
45707         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
45708         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
45709         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
45710         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
45711         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
45712         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
45713         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
45714         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
45715         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
45716         * tests/uniname/test-uninames.c: Likewise.
45717         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
45718         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
45719         * tests/unistdio/test-u16-printf1.h: Likewise.
45720         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
45721         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
45722         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
45723         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
45724         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
45725         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
45726         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
45727         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
45728         * tests/unistdio/test-u32-printf1.h: Likewise.
45729         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
45730         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
45731         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
45732         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
45733         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
45734         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
45735         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
45736         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
45737         * tests/unistdio/test-u8-printf1.h: Likewise.
45738         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
45739         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
45740         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
45741         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
45742         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
45743         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
45744         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
45745         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
45746         * tests/unistdio/test-ulc-printf1.h: Likewise.
45747         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
45748         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
45749         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
45750         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
45751         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
45752         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
45753         * tests/uniwidth/test-u16-strwidth.c: Likewise.
45754         * tests/uniwidth/test-u16-width.c: Likewise.
45755         * tests/uniwidth/test-u32-strwidth.c: Likewise.
45756         * tests/uniwidth/test-u32-width.c: Likewise.
45757         * tests/uniwidth/test-u8-strwidth.c: Likewise.
45758         * tests/uniwidth/test-u8-width.c: Likewise.
45759         * tests/uniwidth/test-uc_width.c: Likewise.
45760         * config/srclist-update: Likewise.
45761         (fixlicense): Update to GPLv3+.
45762
45763         Change copyright notice from LGPLv2.1+ to LGPLv3+.
45764         * tests/test-tsearch.c: Change copyright notice.
45765
45766         Change copyright notice from LGPLv2.0+ to LGPLv3+.
45767         * lib/c-strcaseeq.h: Change copyright notice.
45768         * lib/streq.h: Likewise.
45769         * lib/uniconv.h: Likewise.
45770         * lib/uniconv/u-conv-from-enc.h: Likewise.
45771         * lib/uniconv/u-conv-to-enc.h: Likewise.
45772         * lib/uniconv/u-strconv-from-enc.h: Likewise.
45773         * lib/uniconv/u-strconv-to-enc.h: Likewise.
45774         * lib/uniconv/u16-conv-from-enc.c: Likewise.
45775         * lib/uniconv/u16-conv-to-enc.c: Likewise.
45776         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
45777         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
45778         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
45779         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
45780         * lib/uniconv/u32-conv-from-enc.c: Likewise.
45781         * lib/uniconv/u32-conv-to-enc.c: Likewise.
45782         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
45783         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
45784         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
45785         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
45786         * lib/uniconv/u8-conv-from-enc.c: Likewise.
45787         * lib/uniconv/u8-conv-to-enc.c: Likewise.
45788         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
45789         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
45790         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
45791         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
45792         * lib/uniname.h: Likewise.
45793         * lib/uniname/uniname.c: Likewise.
45794         * lib/unistdio.h: Likewise.
45795         * lib/unistdio/u-asnprintf.h: Likewise.
45796         * lib/unistdio/u-asprintf.h: Likewise.
45797         * lib/unistdio/u-printf-args.c: Likewise.
45798         * lib/unistdio/u-printf-args.h: Likewise.
45799         * lib/unistdio/u-printf-parse.h: Likewise.
45800         * lib/unistdio/u-snprintf.h: Likewise.
45801         * lib/unistdio/u-sprintf.h: Likewise.
45802         * lib/unistdio/u-vasprintf.h: Likewise.
45803         * lib/unistdio/u-vsnprintf.h: Likewise.
45804         * lib/unistdio/u-vsprintf.h: Likewise.
45805         * lib/unistdio/u16-asnprintf.c: Likewise.
45806         * lib/unistdio/u16-asprintf.c: Likewise.
45807         * lib/unistdio/u16-printf-parse.c: Likewise.
45808         * lib/unistdio/u16-snprintf.c: Likewise.
45809         * lib/unistdio/u16-sprintf.c: Likewise.
45810         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
45811         * lib/unistdio/u16-u16-asprintf.c: Likewise.
45812         * lib/unistdio/u16-u16-snprintf.c: Likewise.
45813         * lib/unistdio/u16-u16-sprintf.c: Likewise.
45814         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
45815         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
45816         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
45817         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
45818         * lib/unistdio/u16-vasnprintf.c: Likewise.
45819         * lib/unistdio/u16-vasprintf.c: Likewise.
45820         * lib/unistdio/u16-vsnprintf.c: Likewise.
45821         * lib/unistdio/u16-vsprintf.c: Likewise.
45822         * lib/unistdio/u32-asnprintf.c: Likewise.
45823         * lib/unistdio/u32-asprintf.c: Likewise.
45824         * lib/unistdio/u32-printf-parse.c: Likewise.
45825         * lib/unistdio/u32-snprintf.c: Likewise.
45826         * lib/unistdio/u32-sprintf.c: Likewise.
45827         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
45828         * lib/unistdio/u32-u32-asprintf.c: Likewise.
45829         * lib/unistdio/u32-u32-snprintf.c: Likewise.
45830         * lib/unistdio/u32-u32-sprintf.c: Likewise.
45831         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
45832         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
45833         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
45834         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
45835         * lib/unistdio/u32-vasnprintf.c: Likewise.
45836         * lib/unistdio/u32-vasprintf.c: Likewise.
45837         * lib/unistdio/u32-vsnprintf.c: Likewise.
45838         * lib/unistdio/u32-vsprintf.c: Likewise.
45839         * lib/unistdio/u8-asnprintf.c: Likewise.
45840         * lib/unistdio/u8-asprintf.c: Likewise.
45841         * lib/unistdio/u8-printf-parse.c: Likewise.
45842         * lib/unistdio/u8-snprintf.c: Likewise.
45843         * lib/unistdio/u8-sprintf.c: Likewise.
45844         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
45845         * lib/unistdio/u8-u8-asprintf.c: Likewise.
45846         * lib/unistdio/u8-u8-snprintf.c: Likewise.
45847         * lib/unistdio/u8-u8-sprintf.c: Likewise.
45848         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
45849         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
45850         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
45851         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
45852         * lib/unistdio/u8-vasnprintf.c: Likewise.
45853         * lib/unistdio/u8-vasprintf.c: Likewise.
45854         * lib/unistdio/u8-vsnprintf.c: Likewise.
45855         * lib/unistdio/u8-vsprintf.c: Likewise.
45856         * lib/unistdio/ulc-asnprintf.c: Likewise.
45857         * lib/unistdio/ulc-asprintf.c: Likewise.
45858         * lib/unistdio/ulc-printf-parse.c: Likewise.
45859         * lib/unistdio/ulc-snprintf.c: Likewise.
45860         * lib/unistdio/ulc-sprintf.c: Likewise.
45861         * lib/unistdio/ulc-vasnprintf.c: Likewise.
45862         * lib/unistdio/ulc-vasprintf.c: Likewise.
45863         * lib/unistdio/ulc-vsnprintf.c: Likewise.
45864         * lib/unistdio/ulc-vsprintf.c: Likewise.
45865         * lib/unistr.h: Likewise.
45866         * lib/unistr/u-cpy-alloc.h: Likewise.
45867         * lib/unistr/u-cpy.h: Likewise.
45868         * lib/unistr/u-endswith.h: Likewise.
45869         * lib/unistr/u-move.h: Likewise.
45870         * lib/unistr/u-set.h: Likewise.
45871         * lib/unistr/u-startswith.h: Likewise.
45872         * lib/unistr/u-stpcpy.h: Likewise.
45873         * lib/unistr/u-stpncpy.h: Likewise.
45874         * lib/unistr/u-strcat.h: Likewise.
45875         * lib/unistr/u-strcpy.h: Likewise.
45876         * lib/unistr/u-strcspn.h: Likewise.
45877         * lib/unistr/u-strdup.h: Likewise.
45878         * lib/unistr/u-strlen.h: Likewise.
45879         * lib/unistr/u-strncat.h: Likewise.
45880         * lib/unistr/u-strncpy.h: Likewise.
45881         * lib/unistr/u-strnlen.h: Likewise.
45882         * lib/unistr/u-strpbrk.h: Likewise.
45883         * lib/unistr/u-strspn.h: Likewise.
45884         * lib/unistr/u-strstr.h: Likewise.
45885         * lib/unistr/u-strtok.h: Likewise.
45886         * lib/unistr/u16-check.c: Likewise.
45887         * lib/unistr/u16-chr.c: Likewise.
45888         * lib/unistr/u16-cmp.c: Likewise.
45889         * lib/unistr/u16-cpy-alloc.c: Likewise.
45890         * lib/unistr/u16-cpy.c: Likewise.
45891         * lib/unistr/u16-endswith.c: Likewise.
45892         * lib/unistr/u16-mblen.c: Likewise.
45893         * lib/unistr/u16-mbsnlen.c: Likewise.
45894         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45895         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45896         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45897         * lib/unistr/u16-mbtouc.c: Likewise.
45898         * lib/unistr/u16-mbtoucr.c: Likewise.
45899         * lib/unistr/u16-move.c: Likewise.
45900         * lib/unistr/u16-next.c: Likewise.
45901         * lib/unistr/u16-prev.c: Likewise.
45902         * lib/unistr/u16-set.c: Likewise.
45903         * lib/unistr/u16-startswith.c: Likewise.
45904         * lib/unistr/u16-stpcpy.c: Likewise.
45905         * lib/unistr/u16-stpncpy.c: Likewise.
45906         * lib/unistr/u16-strcat.c: Likewise.
45907         * lib/unistr/u16-strchr.c: Likewise.
45908         * lib/unistr/u16-strcmp.c: Likewise.
45909         * lib/unistr/u16-strcpy.c: Likewise.
45910         * lib/unistr/u16-strcspn.c: Likewise.
45911         * lib/unistr/u16-strdup.c: Likewise.
45912         * lib/unistr/u16-strlen.c: Likewise.
45913         * lib/unistr/u16-strmblen.c: Likewise.
45914         * lib/unistr/u16-strmbtouc.c: Likewise.
45915         * lib/unistr/u16-strncat.c: Likewise.
45916         * lib/unistr/u16-strncmp.c: Likewise.
45917         * lib/unistr/u16-strncpy.c: Likewise.
45918         * lib/unistr/u16-strnlen.c: Likewise.
45919         * lib/unistr/u16-strpbrk.c: Likewise.
45920         * lib/unistr/u16-strrchr.c: Likewise.
45921         * lib/unistr/u16-strspn.c: Likewise.
45922         * lib/unistr/u16-strstr.c: Likewise.
45923         * lib/unistr/u16-strtok.c: Likewise.
45924         * lib/unistr/u16-to-u32.c: Likewise.
45925         * lib/unistr/u16-to-u8.c: Likewise.
45926         * lib/unistr/u16-uctomb-aux.c: Likewise.
45927         * lib/unistr/u16-uctomb.c: Likewise.
45928         * lib/unistr/u32-check.c: Likewise.
45929         * lib/unistr/u32-chr.c: Likewise.
45930         * lib/unistr/u32-cmp.c: Likewise.
45931         * lib/unistr/u32-cpy-alloc.c: Likewise.
45932         * lib/unistr/u32-cpy.c: Likewise.
45933         * lib/unistr/u32-endswith.c: Likewise.
45934         * lib/unistr/u32-mblen.c: Likewise.
45935         * lib/unistr/u32-mbsnlen.c: Likewise.
45936         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45937         * lib/unistr/u32-mbtouc.c: Likewise.
45938         * lib/unistr/u32-mbtoucr.c: Likewise.
45939         * lib/unistr/u32-move.c: Likewise.
45940         * lib/unistr/u32-next.c: Likewise.
45941         * lib/unistr/u32-prev.c: Likewise.
45942         * lib/unistr/u32-set.c: Likewise.
45943         * lib/unistr/u32-startswith.c: Likewise.
45944         * lib/unistr/u32-stpcpy.c: Likewise.
45945         * lib/unistr/u32-stpncpy.c: Likewise.
45946         * lib/unistr/u32-strcat.c: Likewise.
45947         * lib/unistr/u32-strchr.c: Likewise.
45948         * lib/unistr/u32-strcmp.c: Likewise.
45949         * lib/unistr/u32-strcpy.c: Likewise.
45950         * lib/unistr/u32-strcspn.c: Likewise.
45951         * lib/unistr/u32-strdup.c: Likewise.
45952         * lib/unistr/u32-strlen.c: Likewise.
45953         * lib/unistr/u32-strmblen.c: Likewise.
45954         * lib/unistr/u32-strmbtouc.c: Likewise.
45955         * lib/unistr/u32-strncat.c: Likewise.
45956         * lib/unistr/u32-strncmp.c: Likewise.
45957         * lib/unistr/u32-strncpy.c: Likewise.
45958         * lib/unistr/u32-strnlen.c: Likewise.
45959         * lib/unistr/u32-strpbrk.c: Likewise.
45960         * lib/unistr/u32-strrchr.c: Likewise.
45961         * lib/unistr/u32-strspn.c: Likewise.
45962         * lib/unistr/u32-strstr.c: Likewise.
45963         * lib/unistr/u32-strtok.c: Likewise.
45964         * lib/unistr/u32-to-u16.c: Likewise.
45965         * lib/unistr/u32-to-u8.c: Likewise.
45966         * lib/unistr/u32-uctomb.c: Likewise.
45967         * lib/unistr/u8-check.c: Likewise.
45968         * lib/unistr/u8-chr.c: Likewise.
45969         * lib/unistr/u8-cmp.c: Likewise.
45970         * lib/unistr/u8-cpy-alloc.c: Likewise.
45971         * lib/unistr/u8-cpy.c: Likewise.
45972         * lib/unistr/u8-endswith.c: Likewise.
45973         * lib/unistr/u8-mblen.c: Likewise.
45974         * lib/unistr/u8-mbsnlen.c: Likewise.
45975         * lib/unistr/u8-mbtouc-aux.c: Likewise.
45976         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45977         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45978         * lib/unistr/u8-mbtouc.c: Likewise.
45979         * lib/unistr/u8-mbtoucr.c: Likewise.
45980         * lib/unistr/u8-move.c: Likewise.
45981         * lib/unistr/u8-next.c: Likewise.
45982         * lib/unistr/u8-prev.c: Likewise.
45983         * lib/unistr/u8-set.c: Likewise.
45984         * lib/unistr/u8-startswith.c: Likewise.
45985         * lib/unistr/u8-stpcpy.c: Likewise.
45986         * lib/unistr/u8-stpncpy.c: Likewise.
45987         * lib/unistr/u8-strcat.c: Likewise.
45988         * lib/unistr/u8-strchr.c: Likewise.
45989         * lib/unistr/u8-strcmp.c: Likewise.
45990         * lib/unistr/u8-strcpy.c: Likewise.
45991         * lib/unistr/u8-strcspn.c: Likewise.
45992         * lib/unistr/u8-strdup.c: Likewise.
45993         * lib/unistr/u8-strlen.c: Likewise.
45994         * lib/unistr/u8-strmblen.c: Likewise.
45995         * lib/unistr/u8-strmbtouc.c: Likewise.
45996         * lib/unistr/u8-strncat.c: Likewise.
45997         * lib/unistr/u8-strncmp.c: Likewise.
45998         * lib/unistr/u8-strncpy.c: Likewise.
45999         * lib/unistr/u8-strnlen.c: Likewise.
46000         * lib/unistr/u8-strpbrk.c: Likewise.
46001         * lib/unistr/u8-strrchr.c: Likewise.
46002         * lib/unistr/u8-strspn.c: Likewise.
46003         * lib/unistr/u8-strstr.c: Likewise.
46004         * lib/unistr/u8-strtok.c: Likewise.
46005         * lib/unistr/u8-to-u16.c: Likewise.
46006         * lib/unistr/u8-to-u32.c: Likewise.
46007         * lib/unistr/u8-uctomb-aux.c: Likewise.
46008         * lib/unistr/u8-uctomb.c: Likewise.
46009         * lib/unitypes.h: Likewise.
46010         * lib/uniwidth.h: Likewise.
46011         * lib/uniwidth/cjk.h: Likewise.
46012         * lib/uniwidth/u16-strwidth.c: Likewise.
46013         * lib/uniwidth/u16-width.c: Likewise.
46014         * lib/uniwidth/u32-strwidth.c: Likewise.
46015         * lib/uniwidth/u32-width.c: Likewise.
46016         * lib/uniwidth/u8-strwidth.c: Likewise.
46017         * lib/uniwidth/u8-width.c: Likewise.
46018         * lib/uniwidth/width.c: Likewise.
46019
46020 2007-10-07  Bruno Haible  <bruno@clisp.org>
46021
46022         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
46023         The file is still under LGPL (see modules/inttypes).
46024
46025 2007-10-06  Bruno Haible  <bruno@clisp.org>
46026
46027         * modules/trunc (Dependencies): Add 'extensions'.
46028         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
46029         Reported by Ben Pfaff <blp@gnu.org>.
46030
46031 2007-10-06  Bruno Haible  <bruno@clisp.org>
46032
46033         * modules/freopen-tests: New file.
46034         * tests/test-freopen.c: New file.
46035
46036         * modules/fopen-tests: New file.
46037         * tests/test-fopen.c: New file.
46038
46039         * modules/fopen: New file.
46040         * lib/fopen.c: New file.
46041         * m4/fopen.m4: New file.
46042         * modules/freopen: New file.
46043         * lib/freopen.c: New file.
46044         * m4/freopen.m4: New file.
46045         * lib/stdio.in.h (fopen, freopen): New declarations.
46046         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
46047         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
46048         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
46049         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
46050         * doc/functions/fopen.texi: Mention the 'fopen' module.
46051         * doc/functions/freopen.texi: Mention the 'freopen' module.
46052
46053 2007-10-06  Bruno Haible  <bruno@clisp.org>
46054
46055         * modules/open-tests: New file.
46056         * tests/test-open.c: New file.
46057
46058         * modules/open: New file.
46059         * lib/open.c: New file.
46060         * m4/open.m4: New file.
46061         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
46062         lib/open.c does.
46063         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
46064         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
46065         macros.
46066         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
46067         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
46068         REPLACE_OPEN.
46069         * doc/functions/open.texi: Mention the 'open' module.
46070
46071 2007-10-04  Bruno Haible  <bruno@clisp.org>
46072
46073         * modules/ceill-tests: New file.
46074         * tests/test-ceill.c: New file.
46075
46076         * modules/ceill: New file.
46077         * lib/ceill.c: Replace entire file.
46078         * m4/ceill.m4: New file.
46079         * lib/math.in.h (ceill): Replace declaration.
46080         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
46081         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
46082         * doc/functions/ceill.texi: Mention the 'ceill' module.
46083         * modules/mathl (Files): Remove lib/ceill.c.
46084         (Depends-on): Add ceill.
46085
46086 2007-10-04  Bruno Haible  <bruno@clisp.org>
46087
46088         * modules/ceilf-tests: New file.
46089         * tests/test-ceilf.c: New file.
46090
46091         * modules/ceilf: New file.
46092         * lib/ceil.c: New file.
46093         * lib/ceilf.c: New file.
46094         * m4/ceilf.m4: New file.
46095         * lib/math.in.h (ceilf): New declaration.
46096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
46097         HAVE_DECL_CEILF.
46098         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
46099         HAVE_DECL_CEILF.
46100         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
46101
46102 2007-10-04  Bruno Haible  <bruno@clisp.org>
46103
46104         * modules/floorl-tests: New file.
46105         * tests/test-floorl.c: New file.
46106
46107         * modules/floorl: New file.
46108         * lib/floorl.c: Replace entire file.
46109         * m4/floorl.m4: New file.
46110         * lib/math.in.h (floorl): Replace declaration.
46111         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
46112         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
46113         * doc/functions/floorl.texi: Mention the 'floorl' module.
46114         * modules/mathl (Files): Remove lib/floorl.c.
46115         (Depends-on): Add floorl.
46116
46117 2007-10-04  Bruno Haible  <bruno@clisp.org>
46118
46119         * modules/floorf-tests: New file.
46120         * tests/test-floorf.c: New file.
46121
46122         * modules/floorf: New file.
46123         * lib/floor.c: New file.
46124         * lib/floorf.c: New file.
46125         * m4/floorf.m4: New file.
46126         * lib/math.in.h (floorf): New declaration.
46127         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
46128         HAVE_DECL_FLOORF.
46129         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
46130         HAVE_DECL_FLOORF.
46131         * doc/functions/floorf.texi: Mention the 'floorf' module.
46132
46133 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
46134             Bruno Haible  <bruno@clisp.org>
46135
46136         Advertise for the Git server instead of the CVS server.
46137         * doc/gnulib-intro.texi (Steady Development): Mention the Git
46138         repository instead of the CVS one.
46139         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
46140         about all VCS systems generically.
46141         * doc/gnulib.texi (Introduction): Capitalize `Git'.
46142
46143 2007-10-04  Bruno Haible  <bruno@clisp.org>
46144
46145         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
46146         means.
46147         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
46148
46149 2007-10-04  Bruno Haible  <bruno@clisp.org>
46150
46151         * modules/truncl-tests: New file.
46152         * tests/test-truncl.c: New file.
46153
46154         * modules/truncl: New file.
46155         * lib/truncl.c: New file.
46156         * m4/truncl.m4: New file.
46157         * lib/math.in.h (truncl): New declaration.
46158         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
46159         HAVE_DECL_TRUNCL.
46160         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
46161         HAVE_DECL_TRUNCL.
46162         * doc/functions/truncl.texi: Mention the 'truncl' module.
46163
46164 2007-10-04  Bruno Haible  <bruno@clisp.org>
46165
46166         * modules/truncf-tests: New file.
46167         * tests/test-truncf.c: New file.
46168
46169         * modules/truncf: New file.
46170         * lib/trunc.c: Make paramerizable through USE_* macros.
46171         * lib/truncf.c: New file.
46172         * m4/truncf.m4: New file.
46173         * lib/math.in.h (truncf): New declaration.
46174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
46175         HAVE_DECL_TRUNCF.
46176         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
46177         HAVE_DECL_TRUNCF.
46178         * doc/functions/truncf.texi: Mention the 'truncf' module.
46179
46180 2007-10-03  Bruno Haible  <bruno@clisp.org>
46181
46182         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
46183         augmentation also for tests modules.
46184         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
46185         * modules/atexit-tests (Makefile.am): Likewise.
46186         * modules/binary-io-tests (Makefile.am): Likewise.
46187         * modules/c-strcase-tests (Makefile.am): Likewise.
46188         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
46189         * modules/canonicalize-tests (Makefile.am): Likewise.
46190         * modules/closein-tests (Makefile.am): Likewise.
46191         * modules/fprintf-posix-tests (Makefile.am): Likewise.
46192         * modules/freadahead-tests (Makefile.am): Likewise.
46193         * modules/fseek-tests (Makefile.am): Likewise.
46194         * modules/fseeko-tests (Makefile.am): Likewise.
46195         * modules/ftell-tests (Makefile.am): Likewise.
46196         * modules/ftello-tests (Makefile.am): Likewise.
46197         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
46198         * modules/isnanl-tests (Makefile.am): Likewise.
46199         * modules/lseek-tests (Makefile.am): Likewise.
46200         * modules/mbscasecmp-tests (Makefile.am): Likewise.
46201         * modules/mbscasestr-tests (Makefile.am): Likewise.
46202         * modules/mbschr-tests (Makefile.am): Likewise.
46203         * modules/mbscspn-tests (Makefile.am): Likewise.
46204         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
46205         * modules/mbspbrk-tests (Makefile.am): Likewise.
46206         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
46207         * modules/mbsrchr-tests (Makefile.am): Likewise.
46208         * modules/mbsspn-tests (Makefile.am): Likewise.
46209         * modules/mbsstr-tests (Makefile.am): Likewise.
46210         * modules/printf-posix-tests (Makefile.am): Likewise.
46211         * modules/snprintf-posix-tests (Makefile.am): Likewise.
46212         * modules/sprintf-posix-tests (Makefile.am): Likewise.
46213         * modules/tsearch-tests (Makefile.am): Likewise.
46214         * modules/uniname/uniname-tests (Makefile.am): Likewise.
46215         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
46216         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
46217         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
46218         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
46219         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
46220         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
46221         * modules/vprintf-posix-tests (Makefile.am): Likewise.
46222         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
46223         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
46224         * modules/xstrtoimax-tests (Makefile.am): Likewise.
46225         * modules/xstrtol-tests (Makefile.am): Likewise.
46226         * modules/xstrtoumax-tests (Makefile.am): Likewise.
46227         * modules/yesno-tests (Makefile.am): Likewise.
46228
46229 2007-10-03  Bruno Haible  <bruno@clisp.org>
46230
46231         * modules/trunc-tests: New file.
46232         * tests/test-trunc.c: New file.
46233
46234         * modules/trunc: New file.
46235         * lib/trunc.c: New file.
46236         * m4/trunc.m4: New file.
46237         * lib/math.in.h (trunc): New declaration.
46238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
46239         HAVE_DECL_TRUNC.
46240         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
46241         HAVE_DECL_TRUNC.
46242         * doc/functions/trunc.texi: Mention the 'trunc' module.
46243
46244 2007-10-03  Bruno Haible  <bruno@clisp.org>
46245
46246         * tests/test-fpending.c: New file, mostly copied
46247         from coreutils/lib/t-fpending.c.
46248         * modules/fpending-tests: New file.
46249
46250 2007-10-03  Bruno Haible  <bruno@clisp.org>
46251
46252         Port the stdio extensions to QNX (untested).
46253         * lib/fseterr.c (fseterr): Add support for QNX.
46254         * lib/fbufmode.c (fbufmode): Likewise.
46255         * lib/freadable.c (freadable): Likewise.
46256         * lib/fwritable.c (fwritable): Likewise.
46257         * lib/freading.c (freading): Likewise.
46258         * lib/fwriting.c (fwriting): Likewise.
46259         * lib/freadahead.c (freadahed): Likewise.
46260         * lib/fpurge.c (fpurge): Likewise.
46261         * lib/fseeko.c (rpl_fseeko): Likewise.
46262
46263 2007-10-03  Bruno Haible  <bruno@clisp.org>
46264             Jim Meyering  <jim@meyering.net>
46265             Eric Blake  <ebb9@byu.net>
46266
46267         * doc/relocatable.texi: Use @command instead of @program.
46268
46269 2007-10-02  Jim Meyering  <jim@meyering.net>
46270
46271         Perform one more "_.h" -> ".in.h" substitution.
46272         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
46273         instead of unistd_.h here, too.
46274
46275 2007-10-01  Bruno Haible  <bruno@clisp.org>
46276
46277         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
46278         Needed for the alloca-opt module.
46279
46280 2007-09-30  Bruno Haible  <bruno@clisp.org>
46281
46282         * lib/alloca.in.h: Renamed from lib/alloca_.h.
46283         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
46284         alloca_.h.
46285         * lib/argz.in.h: Renamed from lib/argz_.h.
46286         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
46287         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
46288         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
46289         byteswap_.h.
46290         * lib/dirent.in.h: Renamed from lib/dirent_.h.
46291         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
46292         dirent_.h.
46293         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
46294         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
46295         fcntl_.h.
46296         * lib/float.in.h: Renamed from lib/float_.h.
46297         * modules/float (Files, Makefile.am): Use float.in.h instead of
46298         float_.h.
46299         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
46300         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
46301         fnmatch_.h.
46302         * lib/getopt.in.h: Renamed from lib/getopt_.h.
46303         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
46304         getopt_.h.
46305         * lib/glob.in.h: Renamed from lib/glob_.h.
46306         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
46307         * lib/iconv.in.h: Renamed from lib/iconv_.h.
46308         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
46309         iconv_.h.
46310         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
46311         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
46312         inttypes_.h.
46313         * lib/locale.in.h: Renamed from lib/locale_.h.
46314         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
46315         locale_.h.
46316         * lib/math.in.h: Renamed from lib/math_.h.
46317         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
46318         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
46319         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
46320         of netinet_in_.h. Add dependency.
46321         * lib/poll.in.h: Renamed from lib/poll_.h.
46322         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
46323         * lib/search.in.h: Renamed from lib/search_.h.
46324         * modules/search (Files, Makefile.am): Use search.in.h instead of
46325         search_.h.
46326         * lib/signal.in.h: Renamed from lib/signal_.h.
46327         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
46328         _signal.h.
46329         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
46330         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
46331         stdbool_.h.
46332         * lib/stdint.in.h: Renamed from lib/stdint_.h.
46333         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
46334         stdint_.h.
46335         * lib/stdio.in.h: Renamed from lib/stdio_.h.
46336         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
46337         stdio_.h.
46338         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
46339         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
46340         stdlib_.h.
46341         * lib/string.in.h: Renamed from lib/string_.h.
46342         * modules/string (Files, Makefile.am): Use string.in.h instead of
46343         string_.h.
46344         * doc/gnulib-tool.texi (Initial import): Update.
46345         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
46346         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
46347         of sys_select_.h. Add dependency.
46348         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
46349         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
46350         of sys_socket_.h.
46351         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
46352         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
46353         sys_stat_.h.
46354         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
46355         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
46356         sys_time_.h.
46357         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
46358         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
46359         sysexits_.h.
46360         * lib/time.in.h: Renamed from lib/time_.h.
46361         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
46362         * lib/unistd.in.h: Renamed from lib/unistd_.h.
46363         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
46364         unistd_.h.
46365         * lib/wchar.in.h: Renamed from lib/wchar_.h.
46366         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
46367         wchar_.h.
46368         * lib/wctype.in.h: Renamed from lib/wctype_.h.
46369         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
46370         wctype_.h.
46371         * build-aux/bootstrap (slurp): Update.
46372         * lib/.cppi-disable: Update.
46373
46374 2007-09-30  Bruno Haible  <bruno@clisp.org>
46375
46376         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
46377         Needed on BeOS.
46378
46379 2007-09-30  Bruno Haible  <bruno@clisp.org>
46380
46381         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
46382
46383 2007-09-29  Bruno Haible  <bruno@clisp.org>
46384
46385         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
46386
46387 2007-09-29  Bruno Haible  <bruno@clisp.org>
46388
46389         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
46390         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
46391         * build-aux/install-reloc: Compile also areadlink.c.
46392         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
46393
46394 2007-09-29  Bruno Haible  <bruno@clisp.org>
46395
46396         * gnulib-tool (func_emit_initmacro_done): Indentation.
46397
46398 2007-09-29  Bruno Haible  <bruno@clisp.org>
46399
46400         * README: Add CVS checkout update instructions.
46401         Info from Bob Proulx <bob@proulx.com>.
46402
46403 2007-09-28  Eric Blake  <ebb9@byu.net>
46404
46405         Provide move-if-change.
46406         * build-aux/move-if-change: New file, based on best practice
46407         rather than any canonical upstream location.
46408
46409 2007-09-28  Jim Meyering  <jim@meyering.net>
46410
46411         Fix canonicalize loop-detection corner case.
46412         Do not attempt to stat the symlink values stored via seen_triple.
46413         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
46414         on linux-2.6.18, (but not 2.6.22).
46415         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
46416         triple_compare.  The former compares dev,ino,filename, while the latter
46417         would actually stat dirname(filename) when dev and ino were equal.
46418         * lib/hash-triple.c: Install <string.h>.
46419         (STREQ): Define.
46420         (triple_compare_ino_str): New function.
46421         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
46422
46423 2007-09-28  Eric Blake  <ebb9@byu.net>
46424
46425         Enforce that AC_REPLACE_FUNCS files exist.
46426         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
46427         override check for typos.
46428
46429         Fix test-closein on Solaris 10.
46430         * tests/test-closein.c (main): Don't assume stdin can be inherited
46431         closed on all systems.
46432         * tests/test-closein.sh: Likewise.
46433         Reported by Piotr Tarnowski.
46434
46435 2007-09-28  Jim Meyering  <jim@meyering.net>
46436
46437         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
46438
46439 2007-09-27  Jim Meyering  <jim@meyering.net>
46440
46441         canonicalize: Avoid a false-positive cycle failure.
46442         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
46443         Sort.  Remove cycle-check.
46444         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
46445         not cycle-check.h.
46446         (seen_triple): New function.
46447         (canonicalize_filename_mode): Use it instead of cycle-check.
46448         * tests/test-canonicalize.c: Add a test for this bug.
46449         * tests/test-canonicalize.sh: Set up and run the test.
46450
46451         New module, file-set, from coreutils.
46452         * modules/file-set: Define it.
46453         * lib/file-set.c, lib/file-set.h: Implement.
46454
46455         New module, hash-triple, from coreutils.
46456         * modules/hash-triple: Define it.
46457         * lib/hash-triple.c, lib/hash-triple.h: Implement.
46458
46459 2007-09-25  Eric Blake  <ebb9@byu.net>
46460
46461         Fix strerror on Interix.
46462         * lib/string_.h (strerror): Declare replacement.
46463         * doc/functions/strerror.texi (strerror): Document the Interix
46464         shortcoming.
46465         * modules/string (Makefile.am): Support new hooks.
46466         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
46467         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
46468         gl_FUNC_STRERROR_SEPARATE.
46469         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
46470         * lib/strerror.c (rpl_strerror): Provide replacement.
46471         * modules/strerror (Depends-on): Add string.
46472         (configure.ac): Detect use of module.
46473         * tests/test-strerror.c: New file.
46474         * modules/strerror-tests: New test module.
46475         * modules/argp (Depends-on): Add strerror.
46476         * modules/error (Depends-on): Likewise.
46477         Reported by Martin Koeppe.
46478
46479 2007-09-24  Bruno Haible  <bruno@clisp.org>
46480
46481         * README: Update git instructions.
46482
46483 2007-09-24  Eric Blake  <ebb9@byu.net>
46484
46485         Revert fpending breakage from 2007-09-08.
46486         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
46487         __fpending.c.
46488
46489 2007-09-24  Jim Meyering  <jim@meyering.net>
46490
46491         filenamecat.c: Add a test.
46492         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
46493         showing how the function works when DIR is the empty string.
46494
46495 2007-09-21  Simon Josefsson  <simon@josefsson.org>
46496
46497         * tests/test-canonicalize.sh: Turn on executable bit.
46498
46499 2007-09-19  Eric Blake  <ebb9@byu.net>
46500
46501         * README: Update CVS instructions.
46502
46503 2007-09-18  Bruno Haible  <bruno@clisp.org>
46504
46505         * modules/areadlink: New file.
46506         * lib/areadlink.h (areadlink): New declaration.
46507         * lib/areadlink.c: New file, based on lib/xreadlink.c.
46508
46509 2007-09-17  Jim Meyering  <jim@meyering.net>
46510
46511         * lib/savewd.c (ESTALE) [!defined]: Define.
46512         Reported to be required on Interix by Martin Koeppe.
46513
46514 2007-09-17  Bruno Haible  <bruno@clisp.org>
46515
46516         * gnulib-tool (func_version): Use $version.
46517
46518 2007-09-16  Bruno Haible  <bruno@clisp.org>
46519
46520         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
46521         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
46522         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
46523         Reported by Greg Schafer <gschafer@zip.com.au>.
46524
46525 2007-09-15  Bruno Haible  <bruno@clisp.org>
46526
46527         * gnulib-tool (sed): Try a little harder to make bash understand the
46528         alias.
46529         Reported by Bruce Korb <bruce.korb@gmail.com>.
46530
46531 2007-09-13  Eric Blake  <ebb9@byu.net>
46532
46533         * ChangeLog: Remove conflict markers.
46534
46535 2007-09-13  Simon Josefsson  <simon@josefsson.org>
46536
46537         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
46538         Reported by Bruno Haible <bruno@clisp.org>.
46539
46540 2007-09-12  Bruno Haible  <bruno@clisp.org>
46541
46542         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
46543         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
46544         is not defined.
46545
46546 2007-09-12  Eric Blake  <ebb9@byu.net>
46547
46548         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
46549         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
46550         Autoconf definition.
46551         * modules/euidaccess (Depends-on): Add extensions, for
46552         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
46553         * modules/fnmatch (Depends-on): Likewise.
46554         * modules/getaddrinfo (Depends-on): Likewise.
46555         * modules/getdelim (Depends-on): Likewise.
46556         * modules/getline (Depends-on): Likewise.
46557         * modules/getsubopt (Depends-on): Likewise.
46558         * modules/gettext (Depends-on): Likewise.
46559         * modules/group-member (Depends-on): Likewise.
46560         * modules/mbchar (Depends-on): Likewise.
46561         * modules/memmem (Depends-on): Likewise.
46562         * modules/mempcpy (Depends-on): Likewise.
46563         * modules/memrchr (Depends-on): Likewise.
46564         * modules/pagealign_alloc (Depends-on): Likewise.
46565         * modules/readutmp (Depends-on): Likewise.
46566         * modules/stpcpy (Depends-on): Likewise.
46567         * modules/stpncpy (Depends-on): Likewise.
46568         * modules/strchrnul (Depends-on): Likewise.
46569         * modules/strndup (Depends-on): Likewise.
46570         * modules/strsep (Depends-on): Likewise.
46571         * modules/strverscmp (Depends-on): Likewise.
46572         * modules/vasprintf (Depends-on): Likewise.
46573         * modules/wcwidth (Depends-on): Likewise.
46574         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
46575         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
46576         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
46577         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
46578         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46579         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46580         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
46581         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46582         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
46583         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
46584         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46585         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
46586         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
46587         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46588         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
46589         * m4/readutmp.m4 (gl_READUTMP): Likewise.
46590         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46591         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
46592         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46593         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
46594         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
46595         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
46596         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
46597         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
46598         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
46599         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46600         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
46601         so that lock.m4 can be used in gettext without extensions module.
46602
46603 2007-09-11  Bruno Haible  <bruno@clisp.org>
46604
46605         * m4/isc-posix.m4: Remove file.
46606         Suggested by Eric Blake.
46607
46608 2007-09-11  Eric Blake  <ebb9@byu.net>
46609
46610         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
46611
46612 2007-09-10  Bruno Haible  <bruno@clisp.org>
46613
46614         * posix-modules: Fix typo in error message.
46615         Reported by Matt <mkraai@beckman.com>.
46616
46617 2007-09-09  Bruno Haible  <bruno@clisp.org>
46618
46619         * doc/functions/getdelim.texi: Update list of platforms lacking the
46620         function.
46621         * doc/functions/getline.texi: Likewise.
46622
46623 2007-09-09  Jim Meyering  <jim@meyering.net>
46624
46625         * lib/hash.c (hash_initialize): Detect calloc failure.
46626         Reported by Bruno Haible.
46627
46628 2007-09-09  Bruno Haible  <bruno@clisp.org>
46629
46630         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
46631         malloc or realloc fails.
46632
46633 2007-09-09  Bruno Haible  <bruno@clisp.org>
46634
46635         * modules/getcwd (Depends-on): Add malloc-posix.
46636         * modules/glob (Depends-on): Likewise.
46637         * modules/putenv (Depends-on): Likewise.
46638         * modules/strdup (Depends-on): Likewise.
46639         * modules/getdelim (Depends-on): Add realloc-posix.
46640         * modules/read-file (Depends-on): Likewise.
46641
46642 2007-09-09  Bruno Haible  <bruno@clisp.org>
46643
46644         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
46645         (gl_FUNC_MALLOC_POSIX): Require it.
46646         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
46647         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
46648         * modules/realloc (Files): Add m4/malloc.m4.
46649         * modules/calloc (Files): Likewise.
46650
46651 2007-09-09  Bruno Haible  <bruno@clisp.org>
46652
46653         * modules/malloc-posix: New file.
46654         * modules/malloc (Depends-on): Add malloc-posix.
46655         * lib/malloc.c: Include errno.h.
46656         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
46657         and a POSIX-compatible malloc into a single function. Set ENOMEM
46658         when returning NULL.
46659         * m4/malloc.m4: New file.
46660         * doc/functions/malloc.texi: Mention the malloc-posix module.
46661         * lib/stdlib_.h (malloc): New declaration.
46662         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46663         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
46664         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
46665         and HAVE_MALLOC_POSIX.
46666
46667 2007-09-09  Bruno Haible  <bruno@clisp.org>
46668
46669         * modules/realloc-posix: New file.
46670         * modules/realloc (Depends-on): Add realloc-posix.
46671         * lib/realloc.c: Include errno.h.
46672         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
46673         and a POSIX-compatible realloc into a single function. Set ENOMEM
46674         when returning NULL.
46675         * m4/realloc.m4: New file.
46676         * doc/functions/realloc.texi: Mention the realloc-posix module.
46677         * lib/stdlib_.h (realloc): New declaration.
46678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46679         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
46680         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
46681         and HAVE_REALLOC_POSIX.
46682
46683 2007-09-09  Bruno Haible  <bruno@clisp.org>
46684
46685         * modules/calloc-posix: New file.
46686         * modules/calloc (Depends-on): Add calloc-posix.
46687         * lib/calloc.c: Include errno.h.
46688         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
46689         and a POSIX-compatible calloc into a single function. Set ENOMEM
46690         when returning NULL.
46691         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
46692         * doc/functions/calloc.texi: Mention the calloc-posix module.
46693         * lib/stdlib_.h (calloc): New declaration.
46694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46695         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
46696         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
46697         and HAVE_CALLOC_POSIX.
46698
46699 2007-09-09  Bruno Haible  <bruno@clisp.org>
46700
46701         Allow for modules to show an arbitrary notice.
46702         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
46703         * gnulib-tool: New option --extract-notice.
46704         (func_usage): Document it.
46705         (sed_extract_prog): Update.
46706         (func_get_notice): New function.
46707         (func_modules_notice): New function.
46708         (func_import, func_create_testdir): Invoke it.
46709         Suggested by Jim Meyering.
46710
46711 2007-09-09  Bruno Haible  <bruno@clisp.org>
46712
46713         * gnulib-tool: New options --verbose, --quiet.
46714         (func_usage): Document them.
46715         (verbose): New variable.
46716         (func_execute_command): New function.
46717         (func_import): Don't show the module list and the file list if
46718         $verbose < 0.
46719         (func_create_testdir): Likewise. Use func_execute_command.
46720         (func_create_megatestdir): Use func_execute_command.
46721
46722 2007-09-08  Bruno Haible  <bruno@clisp.org>
46723
46724         * gnulib-tool (func_import): Prefer rsync over wget when available,
46725         for fetching the PO files.
46726
46727 2007-09-08  Bruno Haible  <bruno@clisp.org>
46728
46729         * posix-modules: New file. Portions copied from gnulib-tool.
46730         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
46731
46732 2007-09-08  Jim Meyering  <jim@meyering.net>
46733
46734         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
46735         * lib/fpending.h: Rename from __fpending.h.
46736         * lib/fpending.c: Rename from __fpending.c.
46737         Include "fpending.h", not "__fpending.h".
46738         * lib/__fpending.h, lib/__fpending.c: Remove files.
46739         * modules/fpending (Files): Reflect new file names.
46740         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
46741
46742 2007-09-08  Bruno Haible  <bruno@clisp.org>
46743
46744         * m4/inttypes-h.m4: Remove stub file.
46745
46746 2007-09-07  Simon Josefsson  <simon@josefsson.org>
46747
46748         * doc/headers/stdint.texi: Discuss #include_next issue.
46749
46750 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46751
46752         * build-aux/bootstrap: Remove obsolete comment about wget --help.
46753
46754 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46755
46756         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
46757         in variable name.
46758
46759 2007-09-03  Jim Meyering  <jim@meyering.net>
46760
46761         New module: git-version-gen.
46762         * modules/git-version-gen: New file.
46763
46764         Import changes from coreutils for bootstrap script.
46765
46766         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
46767
46768         bootstrap: uses rsync to download the .po files
46769         * build-aux/bootstrap (po_download_command_format): New global.
46770         (download_po_files): Use rsync.
46771         (update_po_files): Don't remove .po files after download,
46772         so future rsync runs can take advantage of the copies.
46773
46774         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
46775
46776         Solve the unnecessary-.po-file-regeneration problem once and for all.
46777         * build-aux/bootstrap (download_po_files): New function, renamed from
46778         get_translations.  Now, downloads, but doesn't update LINGUAS.
46779         (update_po_files): New function.
46780
46781         bootstrap: Ignore more.
46782         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
46783         uniwidth to e.g., lib/.gitignore.
46784         (slurp): Handle the sys_stat_.h -> sys mapping, too.
46785
46786         * build-aux/bootstrap: New setting: vc_ignore.
46787         (insert_sorted_if_absent): Create $file if absent.
46788         Adapt to new, possibly empty, list: $vc_ignore.
46789
46790         bootstrap: generate more ignorable names
46791         * build-aux/bootstrap (slurp): When generating ignorable names,
46792         also map .sin to .sed, .gperf to .c, and .y to .c.
46793
46794 2007-09-03  Jim Meyering  <jim@meyering.net>
46795
46796         * build-aux/git-version-gen: New file, from coreutils.  For details, see
46797         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
46798
46799 2007-09-02  Bruno Haible  <bruno@clisp.org>
46800
46801         Fix mis-recognition of 'mcs' on QNX 6.
46802         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
46803         output contains the string "Mono".
46804         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
46805         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
46806
46807 2007-09-01  Bruno Haible  <bruno@clisp.org>
46808
46809         Fix collision between uniwidth/* and linebreak modules.
46810         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
46811         u32_width): Remove declarations.
46812         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
46813         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
46814         streq3, streq2, streq1, streq0): Remove functions.
46815         (STREQ): Remove macro.
46816         (is_cjk_encoding): Remove function.
46817         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
46818         (uc_width, u8_width, u16_width, u32_width): Remove functions.
46819         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
46820         * NEWS: Document the change.
46821
46822 2007-09-01  Bruno Haible  <bruno@clisp.org>
46823
46824         * lib/streq.h: Add double-inclusion guard.
46825
46826 2007-09-01  Karl Berry  <karl@gnu.org>
46827
46828         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
46829
46830 2007-08-28  Jim Meyering  <jim@meyering.net>
46831
46832         Rename mreadlink_with_size to areadlink_with_size.
46833         * NEWS: Document the change.
46834         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
46835         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
46836         * lib/mreadlink.h: Rename this to...
46837         * lib/areadlink.h: ...this.
46838         * modules/mreadlink-with-size: Rename this to...
46839         * modules/areadlink-with-size: ...this.
46840         * lib/canonicalize.c: Reflect the renaming.
46841         * modules/canonicalize: Likewise.
46842
46843 2007-08-26  Bruno Haible  <bruno@clisp.org>
46844
46845         * gnulib-tool (func_import): When deciding which files to remove,
46846         consider also dangling symbolic links.
46847         Reported by Eric Blake.
46848
46849 2007-08-26  Bruno Haible  <bruno@clisp.org>
46850
46851         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
46852
46853 2007-08-23  Simon Josefsson  <simon@josefsson.org>
46854
46855         * lib/readline.c: Don't include getline.h, the prototype is now
46856         found in stdio.h.
46857
46858 2007-08-23  Jim Meyering  <jim@meyering.net>
46859
46860         Getdelim touchup.
46861         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
46862         around the funlockfile call, since funlockfile never sets errno.
46863         Don't set errno upon failed realloc.
46864
46865 2007-08-22  Eric Blake  <ebb9@byu.net>
46866
46867         Getline touchups.
46868         * lib/getdelim.c (getdelim): Revert regression that required *n to
46869         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
46870         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
46871         getdelim, rather than whether implementation is missing.
46872         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
46873         * lib/stdio_.h (getline): Also declare if replacement is
46874         required.
46875         * doc/functions/getdelim.texi: New file.
46876         * doc/functions/getline.texi: Likewise.
46877         * doc/gnulib.texi (Function Substitutes): Add new files.
46878         Reported by Bruno Haible.
46879
46880 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
46881
46882         * users.txt: Add Guile.
46883
46884 2007-08-22  Eric Blake  <ebb9@byu.net>
46885
46886         * tests/test-getdelim.c (main): Use remove, not unlink.
46887         * tests/test-getline.c (main): Likewise.
46888
46889         Move getline and getdelim into stdio.h, per POSIX 200x.
46890         * modules/getline (Files): Remove getline.h.
46891         (Depends-on): Add stdio.
46892         (configure.ac): Add module indicator.
46893         * modules/getdelim (Files): Remove getdelim.h.
46894         (Depends-on): Add stdio.
46895         (configure.ac): Add module indicator.
46896         * modules/stdio (Makefile.am): Work with new indicators.
46897         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
46898         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
46899         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46900         * lib/getdelim.h: Delete.
46901         * lib/getline.h: Delete.
46902         * lib/stdio_.h (getdelim, getline): Declare.
46903         * modules/getdelim-tests: New module.
46904         * modules/getline-tests: Likewise.
46905         * tests/test-getdelim.c: New file.
46906         * tests/test-getline.c: Likewise.
46907         * NEWS: Document the change.
46908         * lib/getline.c: Update choice of header.
46909         * lib/csharpcomp.c: Likewise.
46910         * lib/getpass.c: Likewise.
46911         * lib/javacomp.c: Likewise.
46912         * lib/javaversion.c: Likewise.
46913         * lib/yesno.c: Likewise.
46914         * lib/getdelim.c: Likewise.
46915         (getdelim): Set errno on failure, and avoid memory leak.
46916
46917 2007-08-19  Bruno Haible  <bruno@clisp.org>
46918
46919         * modules/closein (Depends-on): Add freadahead.
46920         * lib/closein.c: Include freadahead.h.
46921         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
46922         is zero.
46923
46924 2007-08-19  Bruno Haible  <bruno@clisp.org>
46925
46926         * modules/freadahead-tests: New file.
46927         * tests/test-freadahead.sh: New file.
46928         * tests/test-freadahead.c: New file.
46929
46930         * modules/freadahead: New file.
46931         * lib/freadahead.h: New file.
46932         * lib/freadahead.c: New file.
46933         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
46934         fbufmode, fpurge, freadable, fwritable.
46935
46936 2007-08-19  Eric Blake  <ebb9@byu.net>
46937
46938         Test yesno in combination with closein.
46939         * lib/yesno.c (yesno): Document use of stdin.
46940         * modules/yesno-tests (Files): New module.
46941         * tests/test-yesno.c (main): New file.
46942         * tests/test-yesno.sh: Likewise.
46943
46944 2007-08-19  Bruno Haible  <bruno@clisp.org>
46945
46946         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
46947         * lib/fseeko.c (rpl_fseeko): Likewise.
46948         * lib/fseterr.c (fseterr): Likewise.
46949
46950 2007-08-19  Bruno Haible  <bruno@clisp.org>
46951
46952         * tests/test-lseek.c (main): Disable a test for BeOS.
46953         * doc/functions/lseek.texi: Document the BeOS bug.
46954
46955 2007-08-19  Bruno Haible  <bruno@clisp.org>
46956             Eric Blake  <ebb9@byu.net>
46957
46958         * lib/lseek.c: Include <sys/stat.h>.
46959         (rpl_lseek): Add workaround code also for Unix platforms.
46960         Needed for BeOS.
46961         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
46962         * doc/functions/lseek.texi: Document BeOS definiency.
46963
46964 2007-08-18  Bruno Haible  <bruno@clisp.org>
46965
46966         * modules/fstrcmp-tests: New file.
46967         * tests/test-fstrcmp.c: New file.
46968
46969 2007-08-18  Bruno Haible  <bruno@clisp.org>
46970
46971         * modules/fstrcmp: New file, from GNU gettext with modifications.
46972         * lib/fstrcmp.h: New file, from GNU gettext.
46973         * lib/fstrcmp.c: New file, from GNU gettext.
46974         * MODULES.html.sh (String handling): Add fstrcmp.
46975
46976 2007-08-18  Bruno Haible  <bruno@clisp.org>
46977
46978         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
46979         'bool'.
46980         (diag, compareseq): Remove const from the ctxt argument.
46981         (USE_HEURISTIC): Undefine at the end.
46982
46983 2007-08-18  Jim Meyering  <jim@meyering.net>
46984
46985         New file: lib/idcache.h
46986         * NEWS: Mention the addition.
46987         * modules/idcache (Files): Add lib/idcache.h
46988         * lib/idcache.c: Include "idcache.h".
46989         Don't include <sys/types.h>.
46990         Add a FIXME comment.
46991         Move file-scoped "static" declarations to the top.
46992         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
46993
46994 2007-08-17  Bruno Haible  <bruno@clisp.org>
46995         and Paul Eggert  <eggert@cs.ucla.edu>
46996
46997         * MODULES.html.sh: Add diffseq.
46998         * modules/diffseq: New file.
46999         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
47000         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
47001
47002 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47003
47004         Import changes from coreutils for bootstrap script.
47005
47006         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
47007
47008         * build-aux/bootstrap (slurp): Work even in environments where
47009         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
47010         current code does not slurp files whose names start with ".", and
47011         this looks like it might be a troublesome area.
47012
47013         2007-07-11  Jim Meyering  <jim@meyering.net>
47014
47015         If there's a GPL vN copyright comment, require that N == 3.
47016
47017         2007-07-08  Jim Meyering  <jim@meyering.net>
47018
47019         Run the coreutils-specific code only if tests/Makefile.am.in exists.
47020         * build-aux/bootstrap (mam_template): Move definition out of loop.
47021
47022         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
47023
47024         * build-aux/bootstrap (symlink_to_dir): Rename function from
47025         symlink_to_gnulib.  Add a directory parameter.  Update all
47026         callers.
47027         (cp_mark_as_generated): Also check for -- and link to -- files in
47028         gl/.
47029
47030         2007-07-08  Jim Meyering  <jim@meyering.net>
47031
47032         Adapt to deeper hierarchy in gnulib.
47033         * build-aux/bootstrap (symlink_to_dir): If the destination
47034         directory doesn't exist, create it. This is required at least for
47035         "lib/uniwidth/cjk.h".
47036
47037         2007-05-15  Jim Meyering  <jim@meyering.net>
47038
47039         * build-aux/bootstrap: Now that generated Makefile.am files
47040         are no longer under version control, they must be created at
47041         bootstrap time.
47042
47043 2007-08-14  Ben Pfaff  <blp@gnu.org>
47044
47045         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
47046
47047 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47048
47049         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
47050         given the changes below.
47051         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
47052         even on hosts that have padding bits beyond the supported 64.
47053
47054 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47055
47056         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
47057         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
47058         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
47059         depends on it.
47060         (xstrtol_error): Remove.
47061         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
47062         but with a different signature.
47063         (ATTRIBUTE_NORETURN, __attribute__): New macros.
47064         * lib/xstrtol-error.c: Include exitfail.h.
47065         (xstrtol_fatal): New function, with a different signature from the
47066         old xstrtol_error, so that the caller need not worry about passing
47067         in an exit status, or about storage management of the option argument.
47068         (xstrtol_error): Now a static function.  Redo signature to
47069         implement xstrtol_fatal.  Output the correct number of hyphens in
47070         front of the option so that the caller need not worry about
47071         storage management.
47072         (N_): New macro.
47073         (_): Remove; not used now.
47074         * modules/xstrtol: Depend on getopt.
47075         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
47076         of old STRTOL_FATAL_ERROR macro.
47077         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
47078         of test program.
47079         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
47080         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
47081
47082 2007-08-08  Eric Blake  <ebb9@byu.net>
47083
47084         * lib/xstrtol-error.c: Add missing include.
47085
47086         Move xstrtol messages into gnulib domain, when --pobase is used.
47087         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
47088         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
47089         * modules/xstrtol (Files): Distribute new file.
47090         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
47091         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
47092         * tests/test-xstrtol.c: ...into new file.
47093         * tests/test-xstrtoul.c: Also test xstrtoul.
47094         * tests/test-xstrtoimax.c: Also test xstrtoimax.
47095         * tests/test-xstrtoumax.c: Also test xstrtoumax.
47096         * tests/test-xstrtol.sh: Drive the tests.
47097         * tests/test-xstrtoimax.sh: Likewise.
47098         * tests/test-xstrtoumax.sh: Likewise.
47099         * modules/xstrtol-tests: New module.
47100         * modules/xstrtoimax-tests: Likewise.
47101         * modules/xstrtoumax-tests: Likewise.
47102
47103 2007-08-08  Jim Meyering  <jim@meyering.net>
47104
47105         New function: mfile_name_concat.
47106         * lib/filenamecat.c (mfile_name_concat): New function, just like
47107         file_name_concat, but return NULL upon failure rather than exiting
47108         with a diagnostic.
47109         * lib/filenamecat.h: Declare it.
47110
47111 2007-08-07  Bruno Haible  <bruno@clisp.org>
47112
47113         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
47114         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
47115         warning from gcc.
47116         Reported by Eric Blake.
47117
47118 2007-08-07  Simon Josefsson  <simon@josefsson.org>
47119
47120         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
47121         * modules/crypto/arcfour (License): Likewise.
47122         * modules/crypto/des-tests (License): Likewise.
47123         * modules/crypto/gc-arctwo-tests (License): Likewise.
47124         * modules/crypto/gc-des-tests (License): Likewise.
47125         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
47126         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
47127         * modules/crypto/gc-md2-tests (License): Likewise.
47128         * modules/crypto/gc-md4-tests (License): Likewise.
47129         * modules/crypto/gc-md5-tests (License): Likewise.
47130         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
47131         * modules/crypto/gc-rijndael-tests (License): Likewise.
47132         * modules/crypto/gc-sha1-tests (License): Likewise.
47133         * modules/crypto/gc-tests (License): Likewise.
47134         * modules/crypto/hmac-md5 (License): Likewise.
47135         * modules/crypto/hmac-sha1 (License): Likewise.
47136         * modules/crypto/md2-tests (License): Likewise.
47137         * modules/crypto/md4-tests (License): Likewise.
47138         * modules/crypto/md5 (License): Likewise.
47139         * modules/crypto/rijndael (License): Likewise.
47140         * modules/crypto/sha1 (License): Likewise.
47141         * modules/memxor (License): Likewise.
47142
47143 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47144         and Bruno Haible  <bruno@clisp.org>
47145
47146         * NEWS: Describe interface changes to human, xstrtol.
47147         * lib/human.h: Include <xstrtol.h>.
47148         (human_options): Return enum strtol_error, not int.  Remove
47149         bool arg; take int * instead.
47150         * lib/human.c: Don't include "gettext.h".
47151         (_): Remove; no longer used.
47152         Don't include <xstrtol.h>, since human.h does it.
47153         (human_options): Adjust to abovementioned interface changes.
47154         Do not report error to stderr; that's now the caller's
47155         responsibility.
47156         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
47157         interface change.
47158         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
47159         Str, Argument_type_string.  All uses changed.  Put " argument"
47160         in diagnostics to make them clearer.  Change wording of suffix
47161         message for clarity.
47162         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
47163         Argument_type_string.
47164         (STRTOL_FATAL_WARN): Remove; no longer used.
47165         * modules/human (Depends-on): Remove gettext-h.
47166
47167 2007-08-06  Simon Josefsson  <simon@josefsson.org>
47168
47169         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
47170
47171 2007-07-31  Bruno Haible  <bruno@clisp.org>
47172
47173         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
47174         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
47175         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
47176
47177 2007-07-31  Bruno Haible  <bruno@clisp.org>
47178
47179         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
47180         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
47181
47182 2007-07-30  Bruno Haible  <bruno@clisp.org>
47183
47184         * modules/base64 (License): Use the synonymous term "LGPLv2+".
47185         * modules/c-ctype (License): Likewise.
47186         * modules/c-strcase (License): Likewise.
47187         * modules/check-version (License): Likewise.
47188         * modules/iconv (License): Likewise.
47189         * modules/iconv_open (License): Likewise.
47190         * modules/read-file (License): Likewise.
47191         * modules/striconv (License): Likewise.
47192         * modules/strverscmp (License): Likewise.
47193         * modules/vasprintf (License): Likewise.
47194         * modules/crypto/des (License): Likewise.
47195         * modules/crypto/gc (License): Likewise.
47196         * modules/crypto/gc-arcfour (License): Likewise.
47197         * modules/crypto/gc-arctwo (License): Likewise.
47198         * modules/crypto/gc-des (License): Likewise.
47199         * modules/crypto/gc-hmac-md5 (License): Likewise.
47200         * modules/crypto/gc-hmac-sha1 (License): Likewise.
47201         * modules/crypto/gc-md2 (License): Likewise.
47202         * modules/crypto/gc-md4 (License): Likewise.
47203         * modules/crypto/gc-md5 (License): Likewise.
47204         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
47205         * modules/crypto/gc-random (License): Likewise.
47206         * modules/crypto/gc-rijndael (License): Likewise.
47207         * modules/crypto/gc-sha1 (License): Likewise.
47208         * modules/crypto/md2 (License): Likewise.
47209         * modules/crypto/md4 (License): Likewise.
47210
47211 2007-07-30  Jim Meyering  <jim@meyering.net>
47212
47213         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
47214         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
47215         it has valid stat data.  This bug would cause du not to count the
47216         sizes of inaccessible directories.
47217         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
47218         in <http://bugzilla.redhat.com/250077>.
47219
47220 2007-07-25  Peter O'Gorman  <peter@pogma.com>
47221             Bruno Haible  <bruno@clisp.org>
47222
47223         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
47224         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
47225         #include_next, gives a diagnostic about it, but reports no error in
47226         the exit code.
47227         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47228
47229 2007-07-24  Ben Pfaff  <blp@gnu.org>
47230
47231         Improve name: "count-one-bits" is better than "popcount".
47232         * MODULES.html.sh: Update name.
47233         * lib/popcount.h: Renamed lib/count-one-bits.h.
47234         (popcount): Renamed count_one_bits.
47235         (popcountl): Renamed count_one_bits_l.
47236         (popcountll): Renamed count_one_bits_ll.
47237         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
47238         * modules/popcount: Renamed module/count-one-bits.
47239         * modules/popcount-tests: Renamed module/count-one-bits-tests.
47240         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
47241
47242 2007-07-23  Ben Pfaff  <blp@gnu.org>
47243
47244         * lib/popcount.h (popcount32): Reduce size of constants, to allow
47245         better code generation, and add U to large constants to avoid
47246         warnings, in non-GCC case.
47247         Suggested by Bruno Haible.
47248
47249 2007-07-23  Ben Pfaff  <blp@gnu.org>
47250
47251         * lib/popcount.h: Use verify_true instead of if...abort.
47252         * modules/popcount: Depend on verify module.
47253         Suggested by Jim Meyering.
47254
47255 2007-07-23  Bruno Haible  <bruno@clisp.org>
47256
47257         * gnulib-tool (func_import): Create a .cvsignore file also when the
47258         directory is not yet in CVS but the toplevel directory is. When
47259         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
47260         Reported by Karl Berry.
47261
47262 2007-07-22  Ben Pfaff  <blp@gnu.org>
47263
47264         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
47265         case.
47266         Suggested by Eric Blake.
47267
47268 2007-07-22  Ben Pfaff  <blp@gnu.org>
47269
47270         New module: popcount.
47271         * MODULES.html.sh: Add popcount.
47272         * modules/popcount: New file.
47273         * modules/popcount-tests: New file.
47274         * tests/test-popcount.c: New file.
47275         * lib/popcount.h: New file.
47276         * m4/popcount.m4: New file.
47277
47278 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
47279
47280         * build-aux/announce-gen: Update to GPLv3.
47281
47282         * build-aux/config.guess: Update from config.
47283
47284 2007-07-21  Bruno Haible  <bruno@clisp.org>
47285
47286         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
47287         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
47288
47289 2007-07-20  Jim Meyering  <jim@meyering.net>
47290
47291         * check-module: Diagnose a self-dependency.
47292
47293 2007-07-19  Bruno Haible  <bruno@clisp.org>
47294
47295         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
47296         empty.
47297         Reported by Eric Blake.
47298
47299 2007-07-18  Bruno Haible  <bruno@clisp.org>
47300
47301         * gnulib-tool: New options --po-base, --po-domain.
47302         (func_usage): Document them.
47303         (pobase, po_domain): New variables.
47304         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
47305         DEFAULT_TEXT_DOMAIN.
47306         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
47307         (func_import): Consider pobase and po_domain. Create a po/ directory.
47308         (func_create_testdir): Set pobase and po_domain to empty.
47309         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
47310         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
47311
47312 2007-07-18  Bruno Haible  <bruno@clisp.org>
47313
47314         * gnulib-tool (func_get_automake_snippet): Synthesize also an
47315         EXTRA_DIST augmentation for files in build-aux/.
47316
47317 2007-07-16  Bruno Haible  <bruno@clisp.org>
47318
47319         * modules/lseek (License): Use the synonymous term "LGPLv2+".
47320         * modules/getdelim (License): Likewise.
47321
47322 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47323
47324         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
47325         * modules/d-type (License): Likewise.
47326         * modules/extensions (License): Likewise.
47327         * modules/fnmatch (License): Likewise.
47328         * modules/fseeko (License): Likewise.
47329         * modules/getaddrinfo (License): Likewise.
47330         * modules/getline (License): Likewise.
47331         * modules/getlogin_r (License): Likewise.
47332         * modules/getpass (License): Likewise.
47333         * modules/gettimeofday (License): Likewise.
47334         * modules/glob (License): Likewise.
47335         * modules/inet_ntop (License): Likewise.
47336         * modules/malloc (License): Likewise.
47337         * modules/malloca (License): Likewise.
47338         * modules/memmem (License): Likewise.
47339         * modules/mempcpy (License): Likewise.
47340         * modules/memset (License): Likewise.
47341         * modules/minmax (License): Likewise.
47342         * modules/mktime (License): Likewise.
47343         * modules/netinet_in (License): Likewise.
47344         * modules/pathmax (License): Likewise.
47345         * modules/poll (License): Likewise.
47346         * modules/regex (License): Likewise.
47347         * modules/snprintf (License): Likewise.
47348         * modules/stdbool (License): Likewise.
47349         * modules/stdint (License): Likewise.
47350         * modules/stdio (License): Likewise.
47351         * modules/strcase (License): Likewise.
47352         * modules/strcasestr (License): Likewise.
47353         * modules/strdup (License): Likewise.
47354         * modules/string (License): Likewise.
47355         * modules/strndup (License): Likewise.
47356         * modules/strnlen (License): Likewise.
47357         * modules/strpbrk (License): Likewise.
47358         * modules/strptime (License): Likewise.
47359         * modules/strsep (License): Likewise.
47360         * modules/sys_select (License): Likewise.
47361         * modules/sys_socket (License): Likewise.
47362         * modules/sys_stat (License): Likewise.
47363         * modules/sys_time (License): Likewise.
47364         * modules/time (License): Likewise.
47365         * modules/time_r (License): Likewise.
47366         * modules/timegm (License): Likewise.
47367         * modules/unistd (License): Likewise.
47368         * modules/vsnprintf (License): Likewise.
47369         * modules/wctype (License): Likewise.
47370
47371 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47372
47373         * modules/argz (License): LGPLv2+.
47374
47375 2007-07-15  Karl Berry  <karl@gnu.org>
47376
47377         * doc/gnulib.texi: revise node structure per new fdl.texi.
47378
47379 2007-07-14  Bruno Haible  <bruno@clisp.org>
47380
47381         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
47382         the output file.
47383         * lib/uniname/uninames.h: Regenerated.
47384
47385 2007-07-14  Karl Berry  <karl@gnu.org>
47386
47387         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
47388         omitting sectioning and index commands.
47389
47390 2007-07-13  Bruno Haible  <bruno@clisp.org>
47391
47392         New gnulib-tool option --more-symlinks.
47393         * gnulib-tool (func_usage): Document --more-symlinks.
47394         (do_copyrights): New variable.
47395         Recognize option --more-symlinks.
47396         (func_import): Don't add a copyright notice transform to
47397         sed_transform_lib_file if do_copyrights is empty.
47398
47399 2007-07-13  Bruno Haible  <bruno@clisp.org>
47400
47401         * lib/vasnprintf.c (decimal_point_char): Define also if
47402         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
47403         && !NEED_PRINTF_DIRECTIVE_A.
47404         Reported by Clemens Koller <clemens.koller@anagramm.de> via
47405         Gary V. Vaughan <gary@gnu.org>.
47406
47407 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
47408
47409         * lib/inttypes_.h: Undo previous change, since it was fixed
47410         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
47411
47412 2007-07-13  Bruno Haible  <bruno@clisp.org>
47413
47414         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
47415         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
47416
47417 2007-07-13  Jim Meyering  <jim@meyering.net>
47418
47419         df: Don't fail for Tru64's "file-on-file mount".
47420         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
47421         so we fall through and use statfs instead.  Details here:
47422         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
47423         Reported by Albert Chin.
47424
47425 2007-07-13  Bruno Haible  <bruno@clisp.org>
47426
47427         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
47428         * modules/configmake (License): Likewise.
47429         * modules/gettext (License): Likewise.
47430         * modules/gettext-h (License): Likewise.
47431         * modules/include_next (License): Likewise.
47432         * modules/link-warning (License): Likewise.
47433         * modules/localcharset (License): Likewise.
47434         * modules/localename (License): Likewise.
47435         * modules/lock (License): Likewise.
47436         * modules/relocatable-lib-lgpl (License): Likewise.
47437         * modules/size_max (License): Likewise.
47438         * modules/vasnprintf (License): Likewise.
47439         * modules/wchar (License): Likewise.
47440         * modules/xsize (License): Likewise.
47441
47442 2007-07-13  Bruno Haible  <bruno@clisp.org>
47443
47444         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
47445         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
47446
47447 2007-07-12  Bruno Haible  <bruno@clisp.org>
47448
47449         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
47450         in the modules files.
47451
47452 2007-07-11  Karl Berry  <karl@gnu.org>
47453
47454         * MODULES.html.sh (func_module): use
47455          sed -e '\|^'"${includefile}"'$|d'
47456          instead of /.../d, to avoid errors on $includefile's containing /.
47457
47458 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47459
47460         * gnulib-tool (func_import): Avoid duplication of --avoid
47461         statements
47462         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
47463         names to `_' in variable names.
47464
47465 2007-07-10  Eric Blake  <ebb9@byu.net>
47466
47467         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
47468         * NEWS: Document this change.
47469
47470 2007-07-08  Bruno Haible  <bruno@clisp.org>
47471
47472         Update to Unicode 5.0.
47473         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
47474         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
47475         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
47476         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
47477         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
47478         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
47479         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
47480         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
47481         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
47482         U+10A3F, U+1D242..U+1D244.
47483         (nonspacing_table_ind): Update.
47484         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
47485         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
47486
47487 2007-07-08  Bruno Haible  <bruno@clisp.org>
47488
47489         Update to Unicode 5.0.
47490         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
47491         code transform. Extend the name index field of unicode_name_to_code and
47492         unicode_code_to_name from 16 to 24 bits.
47493         * lib/uniname/uniname.c (unicode_character_name,
47494         unicode_name_character): Add the range 0x12xxx to the code transform.
47495         * lib/uniname/uninames.h: Regenerated.
47496         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
47497
47498 2007-07-07  Bruno Haible  <bruno@clisp.org>
47499
47500         * modules/wcwidth-tests: New file.
47501         * tests/test-wcwidth.c: New file.
47502
47503         Work around MacOS X wcwidth() bug.
47504         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
47505         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
47506         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
47507         original wcwidth in non-UTF-8 locales.
47508         * modules/wcwidth (Depends-on): Add localcharset, streq,
47509         uniwidth/width.
47510         * doc/functions/wcwidth.texi: Update.
47511
47512 2007-07-07  Bruno Haible  <bruno@clisp.org>
47513
47514         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
47515         (wcwidth): New declaration.
47516         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
47517         macros.
47518         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
47519         here. Prepare for creating <wchar.h> unconditionally.
47520         * modules/wchar (Depends-on): Add link-warning.
47521         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
47522         REPLACE_WCWIDTH, and GL_LINK_WARNING.
47523         * lib/wcwidth.h: Remove file.
47524         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
47525         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
47526         * modules/wcwidth (Files): Remove lib/wcwidth.h.
47527         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
47528         (Include): Replace wcwidth.h with <wchar.h>.
47529         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
47530         * lib/mbchar.h: Don't include wcwidth.h.
47531         * lib/mbswidth.c: Likewise.
47532         * NEWS: Mention the change.
47533
47534 2007-07-07  Bruno Haible  <bruno@clisp.org>
47535
47536         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
47537         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
47538         definition with an external declaration.
47539         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
47540         defined as a function. Remove AC_C_INLINE requirement.
47541         * modules/wcwidth (Files): Add lib/wcwidth.c.
47542         (Makefile.am): Remove redundant statement.
47543
47544 2007-07-07  Bruno Haible  <bruno@clisp.org>
47545
47546         * MODULES.html.sh (Unicode string functions): Add the new modules.
47547
47548         * tests/uniwidth/test-u32-strwidth.c: New file.
47549         * modules/uniwidth/u32-strwidth-tests: New file.
47550
47551         * lib/uniwidth/u32-strwidth.c: New file.
47552         * modules/uniwidth/u32-strwidth: New file.
47553
47554         * tests/uniwidth/test-u16-strwidth.c: New file.
47555         * modules/uniwidth/u16-strwidth-tests: New file.
47556
47557         * lib/uniwidth/u16-strwidth.c: New file.
47558         * modules/uniwidth/u16-strwidth: New file.
47559
47560         * tests/uniwidth/test-u8-strwidth.c: New file.
47561         * modules/uniwidth/u8-strwidth-tests: New file.
47562
47563         * lib/uniwidth/u8-strwidth.c: New file.
47564         * modules/uniwidth/u8-strwidth: New file.
47565
47566         * tests/uniwidth/test-u32-width.c: New file.
47567         * modules/uniwidth/u32-width-tests: New file.
47568
47569         * lib/uniwidth/u32-width.c: New file.
47570         * modules/uniwidth/u32-width: New file.
47571
47572         * tests/uniwidth/test-u16-width.c: New file.
47573         * modules/uniwidth/u16-width-tests: New file.
47574
47575         * lib/uniwidth/u16-width.c: New file.
47576         * modules/uniwidth/u16-width: New file.
47577
47578         * tests/uniwidth/test-u8-width.c: New file.
47579         * modules/uniwidth/u8-width-tests: New file.
47580
47581         * lib/uniwidth/u8-width.c: New file.
47582         * modules/uniwidth/u8-width: New file.
47583
47584         * tests/uniwidth/test-uc_width.c: New file.
47585         * modules/uniwidth/width-tests: New file.
47586
47587         * lib/uniwidth/width.c: New file, from GNU libiconv.
47588         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
47589         * modules/uniwidth/width: New file.
47590
47591         * lib/uniwidth.h: New file, from GNU libiconv.
47592         * modules/uniwidth/base: New file.
47593
47594 2007-07-07  Bruno Haible  <bruno@clisp.org>
47595
47596         * lib/uniname.h: New file, from GNU gettext.
47597         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
47598         * lib/uniname/uninames.h: New file, from GNU gettext.
47599         * lib/uniname/uniname.c: New file, from GNU gettext.
47600         * tests/uniname/test-uninames.sh: New file.
47601         * tests/uniname/test-uninames.c: New file, from GNU gettext.
47602         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
47603         * modules/uniname/base: New file.
47604         * modules/uniname/uniname: New file.
47605         * modules/uniname/uniname-tests: New file.
47606         * MODULES.html.sh (Unicode string functions): Add the new modules.
47607
47608 2007-07-06  Bruno Haible  <bruno@clisp.org>
47609
47610         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
47611
47612 2007-07-06  Bruno Haible  <bruno@clisp.org>
47613
47614         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
47615         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
47616         includes <cygwin/sys_time.h> which includes <sys/select.h> which
47617         include <sys/time.h>.
47618         Reported by Eric Blake.
47619
47620 2007-07-06  Eric Blake  <ebb9@byu.net>
47621
47622         Fix testing canonicalize on cygwin.
47623         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47624         Revert patch from 2007-06-19.
47625         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
47626         canonicalize module is also in use.
47627         * tests/test-canonicalize.c: New file.
47628         * tests/test-canonicalize.sh: Likewise.
47629         * modules/canonicalize-tests: Likewise.
47630
47631 2007-07-06  Jim Meyering  <jim@meyering.net>
47632
47633         * lib/getugroups.c (getugroups): Detect getgrent failure.
47634         Adjust comment to reflect reality: this function may return -1.
47635
47636 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
47637
47638         * build-aux/bootstrap (TP_URL,get_translations): Update to use
47639         the new TP address.
47640         (usage): Fix typo
47641         (gnulib_mk): New variable.
47642
47643 2007-07-05  Jim Meyering  <jim@meyering.net>
47644
47645         Don't let endgrent clobber errno, no matter how improbable.
47646         * lib/getugroups.c (getugroups): Save and restore errno around
47647         endgrent call.
47648
47649         Close the group DB even when failing with 2^31 or more members.
47650         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
47651
47652 2007-07-04  Jim Meyering  <jim@meyering.net>
47653
47654         * lib/getugroups.h: New file.
47655         * lib/getugroups.c: Include "getugroups.h".
47656         Remove uses of "register" keyword.
47657         Move local variable, "cp", down into scope where used.
47658         Give "username" parameter the "const" attribute.
47659         * modules/getugroups (Files): Add lib/getugroups.h
47660
47661 2007-07-04  Karl Berry  <karl@gnu.org>
47662
47663         * MODULES.html.sh (func_all_modules): Complete rename of
47664         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
47665
47666 2007-07-02  Bruno Haible  <bruno@clisp.org>
47667
47668         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
47669         mode, when inttypes.h comes from gnulib.
47670         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47671
47672 2007-07-02  Simon Josefsson  <simon@josefsson.org>
47673
47674         * NEWS: Mention lgpl module name change.
47675
47676         * modules/lgpl-2.1: Renamed from lgpl.
47677
47678         * NEWS: Mention gpl module name change.
47679
47680         * modules/gpl-3.0: New file, based on gpl-2.0.
47681
47682         * modules/gpl-2.0: Renamed from gpl.
47683
47684         * modules/gpl: Fix filename, doc/gpl.texi is now found at
47685         doc/gpl-2.0.texi.
47686
47687 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47688
47689         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
47690         #define __STDC_LIMIT_MACROS temporarily while including
47691         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
47692         Problem reported by Joel E. Denny in
47693         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
47694
47695 2007-07-01  Bruno Haible  <bruno@clisp.org>
47696
47697         * lib/unistdio.h: New file.
47698         * lib/unistdio/u-asnprintf.h: New file.
47699         * lib/unistdio/u-asprintf.h: New file.
47700         * lib/unistdio/u-printf-args.c: New file.
47701         * lib/unistdio/u-printf-args.h: New file.
47702         * lib/unistdio/u-printf-parse.h: New file.
47703         * lib/unistdio/u-snprintf.h: New file.
47704         * lib/unistdio/u-sprintf.h: New file.
47705         * lib/unistdio/u-vasprintf.h: New file.
47706         * lib/unistdio/u-vsnprintf.h: New file.
47707         * lib/unistdio/u-vsprintf.h: New file.
47708         * lib/unistdio/ulc-asnprintf.c: New file.
47709         * lib/unistdio/ulc-asprintf.c: New file.
47710         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
47711         * lib/unistdio/ulc-printf-parse.c: New file.
47712         * lib/unistdio/ulc-snprintf.c: New file.
47713         * lib/unistdio/ulc-sprintf.c: New file.
47714         * lib/unistdio/ulc-vasnprintf.c: New file.
47715         * lib/unistdio/ulc-vasprintf.c: New file.
47716         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
47717         * lib/unistdio/ulc-vsnprintf.c: New file.
47718         * lib/unistdio/ulc-vsprintf.c: New file.
47719         * lib/unistdio/u8-asnprintf.c: New file.
47720         * lib/unistdio/u8-asprintf.c: New file.
47721         * lib/unistdio/u8-printf-parse.c: New file.
47722         * lib/unistdio/u8-snprintf.c: New file.
47723         * lib/unistdio/u8-sprintf.c: New file.
47724         * lib/unistdio/u8-vasnprintf.c: New file.
47725         * lib/unistdio/u8-vasprintf.c: New file.
47726         * lib/unistdio/u8-vsnprintf.c: New file.
47727         * lib/unistdio/u8-vsprintf.c: New file.
47728         * lib/unistdio/u8-u8-asnprintf.c: New file.
47729         * lib/unistdio/u8-u8-asprintf.c: New file.
47730         * lib/unistdio/u8-u8-snprintf.c: New file.
47731         * lib/unistdio/u8-u8-sprintf.c: New file.
47732         * lib/unistdio/u8-u8-vasnprintf.c: New file.
47733         * lib/unistdio/u8-u8-vasprintf.c: New file.
47734         * lib/unistdio/u8-u8-vsnprintf.c: New file.
47735         * lib/unistdio/u8-u8-vsprintf.c: New file.
47736         * lib/unistdio/u16-asnprintf.c: New file.
47737         * lib/unistdio/u16-asprintf.c: New file.
47738         * lib/unistdio/u16-printf-parse.c: New file.
47739         * lib/unistdio/u16-snprintf.c: New file.
47740         * lib/unistdio/u16-sprintf.c: New file.
47741         * lib/unistdio/u16-vasnprintf.c: New file.
47742         * lib/unistdio/u16-vasprintf.c: New file.
47743         * lib/unistdio/u16-vsnprintf.c: New file.
47744         * lib/unistdio/u16-vsprintf.c: New file.
47745         * lib/unistdio/u16-u16-asnprintf.c: New file.
47746         * lib/unistdio/u16-u16-asprintf.c: New file.
47747         * lib/unistdio/u16-u16-snprintf.c: New file.
47748         * lib/unistdio/u16-u16-sprintf.c: New file.
47749         * lib/unistdio/u16-u16-vasnprintf.c: New file.
47750         * lib/unistdio/u16-u16-vasprintf.c: New file.
47751         * lib/unistdio/u16-u16-vsnprintf.c: New file.
47752         * lib/unistdio/u16-u16-vsprintf.c: New file.
47753         * lib/unistdio/u32-asnprintf.c: New file.
47754         * lib/unistdio/u32-asprintf.c: New file.
47755         * lib/unistdio/u32-printf-parse.c: New file.
47756         * lib/unistdio/u32-snprintf.c: New file.
47757         * lib/unistdio/u32-sprintf.c: New file.
47758         * lib/unistdio/u32-vasnprintf.c: New file.
47759         * lib/unistdio/u32-vasprintf.c: New file.
47760         * lib/unistdio/u32-vsnprintf.c: New file.
47761         * lib/unistdio/u32-vsprintf.c: New file.
47762         * lib/unistdio/u32-u32-asnprintf.c: New file.
47763         * lib/unistdio/u32-u32-asprintf.c: New file.
47764         * lib/unistdio/u32-u32-snprintf.c: New file.
47765         * lib/unistdio/u32-u32-sprintf.c: New file.
47766         * lib/unistdio/u32-u32-vasnprintf.c: New file.
47767         * lib/unistdio/u32-u32-vasprintf.c: New file.
47768         * lib/unistdio/u32-u32-vsnprintf.c: New file.
47769         * lib/unistdio/u32-u32-vsprintf.c: New file.
47770         * tests/unistdio/test-ulc-asnprintf1.c: New file.
47771         * tests/unistdio/test-ulc-asnprintf1.h: New file.
47772         * tests/unistdio/test-ulc-printf1.h: New file.
47773         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
47774         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
47775         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
47776         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
47777         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
47778         * tests/unistdio/test-ulc-vasprintf1.c: New file.
47779         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
47780         * tests/unistdio/test-ulc-vsprintf1.c: New file.
47781         * tests/unistdio/test-u8-asnprintf1.c: New file.
47782         * tests/unistdio/test-u8-asnprintf1.h: New file.
47783         * tests/unistdio/test-u8-printf1.h: New file.
47784         * tests/unistdio/test-u8-vasnprintf1.c: New file.
47785         * tests/unistdio/test-u8-vasnprintf2.c: New file.
47786         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
47787         * tests/unistdio/test-u8-vasnprintf3.c: New file.
47788         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
47789         * tests/unistdio/test-u8-vasprintf1.c: New file.
47790         * tests/unistdio/test-u8-vsnprintf1.c: New file.
47791         * tests/unistdio/test-u8-vsprintf1.c: New file.
47792         * tests/unistdio/test-u16-asnprintf1.c: New file.
47793         * tests/unistdio/test-u16-asnprintf1.h: New file.
47794         * tests/unistdio/test-u16-printf1.h: New file.
47795         * tests/unistdio/test-u16-vasnprintf1.c: New file.
47796         * tests/unistdio/test-u16-vasnprintf2.c: New file.
47797         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
47798         * tests/unistdio/test-u16-vasnprintf3.c: New file.
47799         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
47800         * tests/unistdio/test-u16-vasprintf1.c: New file.
47801         * tests/unistdio/test-u16-vsnprintf1.c: New file.
47802         * tests/unistdio/test-u16-vsprintf1.c: New file.
47803         * tests/unistdio/test-u32-asnprintf1.c: New file.
47804         * tests/unistdio/test-u32-asnprintf1.h: New file.
47805         * tests/unistdio/test-u32-printf1.h: New file.
47806         * tests/unistdio/test-u32-vasnprintf1.c: New file.
47807         * tests/unistdio/test-u32-vasnprintf2.c: New file.
47808         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
47809         * tests/unistdio/test-u32-vasnprintf3.c: New file.
47810         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
47811         * tests/unistdio/test-u32-vasprintf1.c: New file.
47812         * tests/unistdio/test-u32-vsnprintf1.c: New file.
47813         * tests/unistdio/test-u32-vsprintf1.c: New file.
47814         * modules/unistdio/base: New file.
47815         * modules/unistdio/u-printf-args: New file.
47816         * modules/unistdio/ulc-asnprintf: New file.
47817         * modules/unistdio/ulc-asprintf: New file.
47818         * modules/unistdio/ulc-fprintf: New file.
47819         * modules/unistdio/ulc-printf-parse: New file.
47820         * modules/unistdio/ulc-snprintf: New file.
47821         * modules/unistdio/ulc-sprintf: New file.
47822         * modules/unistdio/ulc-vasnprintf: New file.
47823         * modules/unistdio/ulc-vasprintf: New file.
47824         * modules/unistdio/ulc-vfprintf: New file.
47825         * modules/unistdio/ulc-vsnprintf: New file.
47826         * modules/unistdio/ulc-vsprintf: New file.
47827         * modules/unistdio/u8-asnprintf: New file.
47828         * modules/unistdio/u8-asprintf: New file.
47829         * modules/unistdio/u8-printf-parse: New file.
47830         * modules/unistdio/u8-snprintf: New file.
47831         * modules/unistdio/u8-sprintf: New file.
47832         * modules/unistdio/u8-vasnprintf: New file.
47833         * modules/unistdio/u8-vasprintf: New file.
47834         * modules/unistdio/u8-vsnprintf: New file.
47835         * modules/unistdio/u8-vsprintf: New file.
47836         * modules/unistdio/u8-u8-asnprintf: New file.
47837         * modules/unistdio/u8-u8-asprintf: New file.
47838         * modules/unistdio/u8-u8-snprintf: New file.
47839         * modules/unistdio/u8-u8-sprintf: New file.
47840         * modules/unistdio/u8-u8-vasnprintf: New file.
47841         * modules/unistdio/u8-u8-vasprintf: New file.
47842         * modules/unistdio/u8-u8-vsnprintf: New file.
47843         * modules/unistdio/u8-u8-vsprintf: New file.
47844         * modules/unistdio/u16-asnprintf: New file.
47845         * modules/unistdio/u16-asprintf: New file.
47846         * modules/unistdio/u16-printf-parse: New file.
47847         * modules/unistdio/u16-snprintf: New file.
47848         * modules/unistdio/u16-sprintf: New file.
47849         * modules/unistdio/u16-vasnprintf: New file.
47850         * modules/unistdio/u16-vasprintf: New file.
47851         * modules/unistdio/u16-vsnprintf: New file.
47852         * modules/unistdio/u16-vsprintf: New file.
47853         * modules/unistdio/u16-u16-asnprintf: New file.
47854         * modules/unistdio/u16-u16-asprintf: New file.
47855         * modules/unistdio/u16-u16-snprintf: New file.
47856         * modules/unistdio/u16-u16-sprintf: New file.
47857         * modules/unistdio/u16-u16-vasnprintf: New file.
47858         * modules/unistdio/u16-u16-vasprintf: New file.
47859         * modules/unistdio/u16-u16-vsnprintf: New file.
47860         * modules/unistdio/u16-u16-vsprintf: New file.
47861         * modules/unistdio/u32-asnprintf: New file.
47862         * modules/unistdio/u32-asprintf: New file.
47863         * modules/unistdio/u32-printf-parse: New file.
47864         * modules/unistdio/u32-snprintf: New file.
47865         * modules/unistdio/u32-sprintf: New file.
47866         * modules/unistdio/u32-vasnprintf: New file.
47867         * modules/unistdio/u32-vasprintf: New file.
47868         * modules/unistdio/u32-vsnprintf: New file.
47869         * modules/unistdio/u32-vsprintf: New file.
47870         * modules/unistdio/u32-u32-asnprintf: New file.
47871         * modules/unistdio/u32-u32-asprintf: New file.
47872         * modules/unistdio/u32-u32-snprintf: New file.
47873         * modules/unistdio/u32-u32-sprintf: New file.
47874         * modules/unistdio/u32-u32-vasnprintf: New file.
47875         * modules/unistdio/u32-u32-vasprintf: New file.
47876         * modules/unistdio/u32-u32-vsnprintf: New file.
47877         * modules/unistdio/u32-u32-vsprintf: New file.
47878         * modules/unistdio/ulc-asnprintf-tests: New file.
47879         * modules/unistdio/ulc-vasnprintf-tests: New file.
47880         * modules/unistdio/ulc-vasprintf-tests: New file.
47881         * modules/unistdio/ulc-vsnprintf-tests: New file.
47882         * modules/unistdio/ulc-vsprintf-tests: New file.
47883         * modules/unistdio/u8-asnprintf-tests: New file.
47884         * modules/unistdio/u8-vasnprintf-tests: New file.
47885         * modules/unistdio/u8-vasprintf-tests: New file.
47886         * modules/unistdio/u8-vsnprintf-tests: New file.
47887         * modules/unistdio/u8-vsprintf-tests: New file.
47888         * modules/unistdio/u16-asnprintf-tests: New file.
47889         * modules/unistdio/u16-vasnprintf-tests: New file.
47890         * modules/unistdio/u16-vasprintf-tests: New file.
47891         * modules/unistdio/u16-vsnprintf-tests: New file.
47892         * modules/unistdio/u16-vsprintf-tests: New file.
47893         * modules/unistdio/u32-asnprintf-tests: New file.
47894         * modules/unistdio/u32-vasnprintf-tests: New file.
47895         * modules/unistdio/u32-vasprintf-tests: New file.
47896         * modules/unistdio/u32-vsnprintf-tests: New file.
47897         * modules/unistdio/u32-vsprintf-tests: New file.
47898         * MODULES.html.sh (Unicode string functions): Add the new modules.
47899
47900 2007-07-01  Bruno Haible  <bruno@clisp.org>
47901
47902         * lib/sprintf.c (sprintf): Limit the available length estimation,
47903         to avoid address wraparound.
47904         * lib/vsprintf.c (vsprintf): Likewise.
47905         * modules/sprintf-posix (Dependencies): Add stdint.
47906         * modules/vsprintf-posix (Dependencies): Likewise.
47907
47908 2007-07-01  Bruno Haible  <bruno@clisp.org>
47909
47910         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
47911         Windows PATH as well. Conservative double-quoting. Comments.
47912
47913 2007-07-01  Bruno Haible  <bruno@clisp.org>
47914             Eric Blake  <ebb9@byu.net>
47915             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47916
47917         * gnulib-tool (self_abspathname): Fix algorithm to cope with
47918         empty components in $PATH, denoting '.'.
47919
47920 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47921
47922         * gnulib-tool: Fix indentation.
47923         (func_create_megatestdir): Likewise.
47924         Report by Bruno Haible.
47925
47926 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47927
47928         Sync from Automake.
47929         * build-aux/gnupload: Fix shell portability issues with for loops.
47930         Report by Karl Berry.
47931
47932 2007-06-29  Simon Josefsson  <simon@josefsson.org>
47933
47934         * build-aux/maint.mk (POURL): Use translationproject.org.
47935
47936 2007-06-27  Simon Josefsson  <simon@josefsson.org>
47937             Bruno Haible  <bruno@clisp.org>
47938
47939         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
47940         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
47941         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
47942         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
47943         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
47944
47945 2007-06-27  Bruno Haible  <bruno@clisp.org>
47946
47947         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
47948         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
47949
47950 2007-06-26  Karl Berry  <karl@gnu.org>
47951
47952         * MODULES.html.sh: remove xreadlink-with-size.
47953
47954 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47955
47956         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
47957         method that I hope also handles the double-include problem noted
47958         by Bruno Haible in
47959         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
47960
47961 2007-06-23  Bruno Haible  <bruno@clisp.org>
47962
47963         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47964         Don't let the 'mostlyclean' target fail if the last subdirectory could
47965         not be removed.
47966         Reported by Karl Berry.
47967
47968 2007-06-23  Bruno Haible  <bruno@clisp.org>
47969
47970         * gnulib-tool (echo): Add a speedier workaround for ksh.
47971         * tests/test-echo.sh: Likewise.
47972
47973 2007-06-23  Bruno Haible  <bruno@clisp.org>
47974
47975         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
47976         * tests/test-echo.sh: Likewise.
47977
47978 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47979
47980         * gnulib-tool (IFS): Initialize early, so we don't set it to
47981         empty later.
47982         (self_abspathname): Rewrite algorithm to set it, reindent.
47983         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
47984         (func_create_megatestdir): Merge some sed scripts.
47985
47986 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47987
47988         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
47989         exposed by Sun Studio 11 cc on Solaris 8.
47990
47991 2007-06-22  Bruno Haible  <bruno@clisp.org>
47992
47993         * gnulib-tool (echo): Ensure the echo primitive does not interpret
47994         backslashes.
47995         * tests/test-echo.sh: New file.
47996
47997 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47998
47999         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
48000         simplify `sed_replace_build_aux' scripts, they are portable but
48001         echoing them with `echo' is not.
48002         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
48003
48004 2007-06-21  Karl Berry  <karl@gnu.org>
48005
48006         * config/srclist.txt: guess we can't handle the licenses via
48007         srclist at the moment.
48008
48009 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
48010
48011         * MODULES.html.sh: Add include_next.
48012         * modules/include_next: New file.
48013
48014 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
48015
48016         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
48017         INCLUDE_NEXT.
48018         (gl_CHECK_NEXT_HEADERS): New macro.
48019         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
48020         the obsolescent gl_ABSOLUTE_HEADER.
48021         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
48022         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
48023         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
48024         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
48025         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
48026         * m4/math_h.m4 (gl_MATH_H): Likewise.
48027         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
48028         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
48029         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
48030         * m4/stdint.m4 (gl_STDINT_H): Likewise.
48031         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
48032         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
48033         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
48034         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48035         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
48036         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48037         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
48038         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
48039         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
48040         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
48041         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
48042         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
48043         * m4/inttypes.m4 (gl_INTTYPES_H): Define
48044         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
48045         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
48046         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
48047         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
48048         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
48049         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
48050         * lib/float_.h: Likewise.
48051         * lib/inttypes_.h: Likewise.
48052         * lib/math_.h: Likewise.
48053         * lib/search_.h: Likewise.
48054         * lib/signal_.h: Likewise.
48055         * lib/stdint_.h: Likewise.
48056         * lib/stdio_.h: Likewise.
48057         * lib/stdlib_.h: Likewise.
48058         * lib/string_.h: Likewise.
48059         * lib/sys_stat_.h: Likewise.
48060         * lib/sys_time_.h: Likewise.
48061         * lib/time_.h: Likewise.
48062         * lib/unistd_.h: Likewise.
48063         * lib/wchar_.h: Likewise.
48064         * lib/wctype_.h: Likewise.
48065         * lib/dirent_.h: Likewise.
48066         * lib/iconv_.h: Likewise.
48067         * lib/locale_.h: Likewise.
48068         * lib/netinet_in_.h: Likewise.
48069         * lib/sys_select_.h: Likewise.
48070         * lib/sys_socket_.h: Likewise.
48071         * lib/sysexits_.h: Likewise.
48072         * modules/fcntl (Depends-on): Depend on include_next, not
48073         absolute_header.
48074         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
48075         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
48076         * modules/fchdir: Likewise.
48077         * modules/float: Likewise.
48078         * modules/iconv_open: Likewise.
48079         * modules/inttypes: Likewise.
48080         * modules/locale: Likewise.
48081         * modules/math: Likewise.
48082         * modules/netinet_in: Likewise.
48083         * modules/search: Likewise.
48084         * modules/signal: Likewise.
48085         * modules/stdint: Likewise.
48086         * modules/stdio: Likewise.
48087         * modules/stdlib: Likewise.
48088         * modules/string: Likewise.
48089         * modules/sys_select: Likewise.
48090         * modules/sys_socket: Likewise.
48091         * modules/sys_stat: Likewise.
48092         * modules/sys_time: Likewise.
48093         * modules/sysexits: Likewise.
48094         * modules/time: Likewise.
48095         * modules/unistd: Likewise.
48096         * modules/wchar: Likewise.
48097         * modules/wctype: Likewise.
48098         * modules/sys_stat: Change maintainer to "all".
48099         * modules/unistd: Likewise.
48100
48101 2007-06-20  Karl Berry  <karl@gnu.org>
48102
48103         * config/srclist.txt: track www changes in license files.
48104
48105 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
48106
48107         * build-aux/bootstrap: Remove stray dot.
48108         Make sure build_aux settings are honored when linking
48109         gnulib_extra_files.
48110
48111 2007-06-19  Eric Blake  <ebb9@byu.net>
48112
48113         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48114         Allow compilation on cygwin.
48115
48116 2007-06-19  Jim Meyering  <jim@meyering.net>
48117
48118         xreadlink-with-size: Remove module.  No longer used.
48119         Ex-callers now use xreadlink or mreadlink-with-size.
48120         * modules/xreadlink-with-size: Remove module.
48121         * lib/xreadlink-with-size.c: Remove file.
48122         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
48123         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
48124         just before the function definition *is* accurate.
48125
48126         Eliminate one way canonicalize_filename_mode could exit.
48127         * lib/canonicalize.c (canonicalize_filename_mode):
48128         Use mreadlink_with_size, not xreadlink_with_size.
48129
48130 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
48131
48132         Detect porting problems to FreeBSD/arm, which has time_t wider than
48133         long int.  Original problem reported for GNU diff by Xin Li in
48134         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
48135         * modules/getdate (Depends-on): Add intprops, verify.
48136         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
48137         is an integer type no wider than long int.
48138
48139 2007-06-18  Jim Meyering  <jim@meyering.net>
48140
48141         New module: mreadlink-with-size.
48142         * MODULES.html.sh: Add mreadlink-with-size.
48143         * modules/mreadlink-with-size: New module
48144         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
48145         not xreadlink-with-size.
48146         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
48147
48148 2007-06-16  Bruno Haible  <bruno@clisp.org>
48149
48150         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
48151         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
48152         Reported by Gary V. Vaughan <gary@gnu.org>.
48153
48154 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
48155
48156         Revamp lchown so that it lives in unistd.h where it belongs.
48157         * lib/lchown.h: Remove.
48158         * lib/dirchownmod.c: Don't include lib/lchown.h.
48159         * lib/fchownat.c: Likewise.
48160         * lib/openat.c: Likewise.
48161         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
48162         does not follow symlinks.
48163         (EOPNOTSUPP): Define if not defined.
48164         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
48165         is defined to 0.
48166         (lchown): New decl.
48167         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
48168         Do not check for lchown decl.
48169         Set REPLACE_LCHOWN.
48170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
48171         REPLACE_LCHOWN.
48172         * modules/chown: Make it clear it follows symlinks.
48173         * modules/lchown: Make it clear it doesn't follow symlinks.
48174         (Files): Remove lib/lchown.h
48175         (Depends-on): Add unistd.
48176         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
48177         (Include): Include <unistd.h>, not "lchown.h".
48178         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
48179         REPLACE_LCHOWN.
48180
48181 2007-06-15  Jim Meyering  <jim@meyering.net>
48182
48183         Change license (GPL to LGPL) of fsusage and dependents.
48184         * modules/fsusage (License): Change to LGPL.
48185         * modules/full-read (License): Likewise.
48186         * modules/full-write (License): Likewise.
48187         * modules/safe-read (License): Likewise.
48188         * modules/safe-write (License): Likewise.
48189
48190 2007-06-14  Ben Pfaff  <blp@gnu.org>
48191
48192         Missing part of allocsa -> malloca transition.
48193         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
48194         gl_MALLOCA.
48195
48196 2007-06-12  Bruno Haible  <bruno@clisp.org>
48197
48198         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
48199         to ia64, x86_64, i386.
48200         Reported by Eric Blake.
48201
48202 2007-06-12  Bruno Haible  <bruno@clisp.org>
48203
48204         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
48205         cross-compiling to x86_64.
48206
48207 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
48208
48209         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
48210         glitch reported by Ralf Wildenhues in
48211         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
48212
48213         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
48214         Vin Shelton.
48215
48216 2007-06-11  Bruno Haible  <bruno@clisp.org>
48217
48218         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
48219         replacement string.
48220         Reported by Eric Blake.
48221
48222 2007-06-10  Bruno Haible  <bruno@clisp.org>
48223
48224         Prepare vasnprintf code for use with Unicode strings.
48225         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
48226         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
48227         TYPE_U32_STRING.
48228         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
48229         a_u32_string variants.
48230         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
48231         * lib/printf-args.c: Don't include config.h and the specification
48232         header if PRINTF_FETCHARGS is already defined.
48233         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
48234         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
48235         TYPE_U16_STRING, TYPE_U32_STRING.
48236         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
48237         u16_directive, u16_directives, u32_directive, u32_directives): New
48238         types.
48239         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
48240         New declarations.
48241         * lib/printf-parse.c: Don't include config.h and the specification
48242         header if PRINTF_PARSE is already defined. Eliminate the set of
48243         parameters for WIDE_CHAR_VERSION; the user of this file must provide
48244         them now. Include c-ctype.h.
48245         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
48246         directive and CHAR_T_ONLY_ASCII.
48247         * lib/vasnprintf.c: Don't include config.h and the specification header
48248         if VASNPRINTF is already defined.
48249         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
48250         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
48251         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
48252         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
48253         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
48254         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
48255         code accordingly.
48256         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
48257         pad_ourselves also in this case, with the 'c' and 's' directives, and
48258         with a different notion of "width".
48259         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
48260
48261 2007-06-10  Bruno Haible  <bruno@clisp.org>
48262
48263         * modules/unistr/u32-mbsnlen: New file.
48264         * lib/unistr/u32-mbsnlen.c: New file.
48265
48266         * modules/unistr/u16-mbsnlen: New file.
48267         * lib/unistr/u16-mbsnlen.c: New file.
48268
48269         * modules/unistr/u8-mbsnlen: New file.
48270         * lib/unistr/u8-mbsnlen.c: New file.
48271
48272         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
48273         declarations.
48274
48275 2007-06-10  Bruno Haible  <bruno@clisp.org>
48276
48277         * lib/string_.h (mbsnlen): New declaration.
48278         * lib/mbsnlen.c: New file.
48279         * m4/mbsnlen.m4: New file.
48280         * modules/mbsnlen: New file.
48281         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
48282         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
48283         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
48284
48285 2007-06-10  Bruno Haible  <bruno@clisp.org>
48286
48287         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
48288
48289 2007-06-10  Bruno Haible  <bruno@clisp.org>
48290
48291         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
48292         * lib/mbuiter.h: Likewise.
48293
48294 2007-06-10  Bruno Haible  <bruno@clisp.org>
48295
48296         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
48297         declaration.
48298
48299 2007-06-10  Karl Berry  <karl@gnu.org>
48300
48301         * config/srclist.txt: remove gettext entries, Bruno prefers
48302         to update individually.
48303
48304 2007-06-10  Bruno Haible  <bruno@clisp.org>
48305
48306         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
48307         'maxlen'. Ensure only length + width bytes are allocated, not
48308         length + 1 + width.
48309
48310 2007-06-09  Bruno Haible  <bruno@clisp.org>
48311
48312         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
48313         (CHAR_T): Remove macro.
48314         (VASNPRINTF): Update.
48315
48316 2007-06-09  Bruno Haible  <bruno@clisp.org>
48317
48318         * MODULES.html.sh (Unicode string functions): Add the new modules.
48319
48320         * modules/uniconv/u32-conv-to-enc: New file.
48321         * lib/uniconv/u32-conv-to-enc.c: New file.
48322         * modules/uniconv/u32-conv-to-enc-tests: New file.
48323         * tests/uniconv/test-u32-conv-to-enc.c: New file.
48324
48325         * modules/uniconv/u16-conv-to-enc: New file.
48326         * lib/uniconv/u16-conv-to-enc.c: New file.
48327         * lib/uniconv/u-conv-to-enc.h: New file.
48328         * modules/uniconv/u16-conv-to-enc-tests: New file.
48329         * tests/uniconv/test-u16-conv-to-enc.c: New file.
48330
48331         * modules/uniconv/u8-conv-to-enc: New file.
48332         * lib/uniconv/u8-conv-to-enc.c: New file.
48333         * modules/uniconv/u8-conv-to-enc-tests: New file.
48334         * tests/uniconv/test-u8-conv-to-enc.c: New file.
48335
48336         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48337         u32_conv_to_encoding): New declarations.
48338
48339 2007-06-09  Bruno Haible  <bruno@clisp.org>
48340
48341         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
48342
48343 2007-06-09  Bruno Haible  <bruno@clisp.org>
48344
48345         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
48346         * modules/malloca: Renamed from modules/allocsa, updated.
48347         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
48348         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
48349         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
48350         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
48351         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
48352         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
48353         * modules/xmalloca: Renamed from modules/xallocsa, updated.
48354         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
48355         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
48356         * modules/c-strcasestr (Depends-on): Update.
48357         * lib/c-strcasestr.c: Update.
48358         * modules/c-strstr (Depends-on): Update.
48359         * lib/c-strstr.c: Update.
48360         * modules/canonicalize-lgpl (Depends-on): Update.
48361         * lib/canonicalize-lgpl.c: Update.
48362         * modules/clean-temp (Depends-on): Update.
48363         * lib/clean-temp.c: Update.
48364         * modules/csharpcomp (Depends-on): Update.
48365         * lib/csharpcomp.c: Update.
48366         * modules/csharpexec (Depends-on): Update.
48367         * lib/csharpexec.c: Update.
48368         * modules/javacomp (Depends-on): Update.
48369         * lib/javacomp.c: Update.
48370         * modules/javaexec (Depends-on): Update.
48371         * lib/javaexec.c: Update.
48372         * modules/mbscasestr (Depends-on): Update.
48373         * lib/mbscasestr.c: Update.
48374         * modules/mbsstr (Depends-on): Update.
48375         * lib/mbsstr.c: Update.
48376         * modules/setenv (Depends-on): Update.
48377         * lib/setenv.c: Update.
48378         * modules/strcasestr (Depends-on): Update.
48379         * lib/strcasestr.c: Update.
48380         * modules/striconveha (Depends-on): Update.
48381         * lib/striconveha.c: Update.
48382         * modules/relocatable-prog-wrapper (Files): Update.
48383         * lib/relocwrapper.c: Update.
48384         * build-aux/install-reloc: Update.
48385         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
48386
48387 2007-06-08  Bruno Haible  <bruno@clisp.org>
48388
48389         Port to uClibc.
48390         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
48391         * lib/fpurge.c (fpurge): Likewise.
48392         * lib/freading.c (freading): Likewise.
48393         * lib/fseeko.c (rpl_fseeko): Likewise.
48394         * lib/fseterr.c (fseterr): Likewise.
48395         * lib/fwriting.c (fwriting): Likewise.
48396         * tests/test-fflush.c (main): Avoid a failure on uClibc.
48397
48398 2007-06-08  Bruno Haible  <bruno@clisp.org>
48399
48400         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
48401         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
48402         * modules/gettext (Files): Add m4/intlmacosx.m4.
48403
48404 2007-06-07  Bruno Haible  <bruno@clisp.org>
48405
48406         * modules/localename-tests: New file.
48407         * tests/test-localename.c: New file.
48408
48409         New module 'localename'.
48410         * lib/localename.h: New file.
48411         * lib/localename.c: New file, from GNU gettext.
48412         * m4/localename.m4: New file.
48413         * modules/localename: New file.
48414
48415 2007-06-07  Bruno Haible  <bruno@clisp.org>
48416
48417         Work around the lack of <wchar.h> on some builds of uClibc.
48418         * doc/headers/wchar.texi: Update.
48419         * lib/wchar_.h: Include <wchar.h> only if it exists.
48420         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
48421         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
48422         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
48423         doesn't exist.
48424         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
48425         * modules/mbfile (Depends-on): Add wchar.
48426         * modules/mbiter (Depends-on): Likewise.
48427         * modules/mbuiter (Depends-on): Likewise.
48428         Reported by Simon Josefsson.
48429
48430 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
48431
48432         Work around problem reported by Steven M. Schweda in
48433         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
48434         Tru64 5.1B with the Compaq compiler environment installed declares
48435         an 'isblank' function but does not define it in the C library.
48436         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
48437         * lib/regex_internal.h (isblank): Likewise.
48438         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
48439         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48440
48441 2007-06-05  Bruno Haible  <bruno@clisp.org>
48442
48443         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
48444         ia64.
48445         * modules/printf-safe: New file.
48446         * modules/fprintf-posix (Depends-on): Add printf-safe.
48447         * modules/printf-posix (Depends-on): Likewise.
48448         * modules/snprintf-posix (Depends-on): Likewise.
48449         * modules/sprintf-posix (Depends-on): Likewise.
48450         * modules/vasnprintf-posix (Depends-on): Likewise.
48451         * modules/vasprintf-posix (Depends-on): Likewise.
48452         * modules/vfprintf-posix (Depends-on): Likewise.
48453         * modules/vprintf-posix (Depends-on): Likewise.
48454         * modules/vsnprintf-posix (Depends-on): Likewise.
48455         * modules/vsprintf-posix (Depends-on): Likewise.
48456         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
48457         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
48458         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
48459         "no" on i386, x86_64, ia64.
48460         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
48461         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48462         on i386, x86_64, ia64.
48463         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
48464         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48465         on i386, x86_64, ia64.
48466         * tests/test-vasnprintf-posix.c: Include float.h.
48467         (LDBL80_WORDS): New macro.
48468         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48469         on i386, x86_64, ia64.
48470         * tests/test-vasprintf-posix.c: Include float.h.
48471         (LDBL80_WORDS): New macro.
48472         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48473         on i386, x86_64, ia64.
48474         * tests/test-snprintf-posix.c: Include float.h.
48475         * tests/test-sprintf-posix.c: Likewise.
48476         * tests/test-vsnprintf-posix.c: Likewise.
48477         * tests/test-vsprintf-posix.c: Likewise.
48478
48479 2007-06-05  Bruno Haible  <bruno@clisp.org>
48480
48481         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
48482         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
48483         non-IEEE numbers on i386, x86_64, ia64.
48484         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
48485         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
48486         * tests/test-isnanl.h: Include float.h.
48487         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
48488
48489 2007-06-05  Bruno Haible  <bruno@clisp.org>
48490
48491         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
48492         also the %a / %A. Handle the %a / %A code before this extra handling.
48493
48494 2007-06-05  Bruno Haible  <bruno@clisp.org>
48495
48496         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
48497         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
48498
48499 2007-06-05  Bruno Haible  <bruno@clisp.org>
48500
48501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
48502         typo in variable name.
48503
48504 2007-06-05  Eric Blake  <ebb9@byu.net>
48505
48506         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
48507         Reported by Simon Josefsson.
48508
48509 2007-06-04  Bruno Haible  <bruno@clisp.org>
48510
48511         Avoid test failures on some PowerPC platforms.
48512         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
48513         Define differently for PowerPC.
48514         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
48515         Reported by Gary V. Vaughan <gary@gnu.org>.
48516
48517 2007-06-02  Bruno Haible  <bruno@clisp.org>
48518
48519         Fix test-stdint failure on FreeBSD/ia64.
48520         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
48521         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
48522         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
48523         * doc/headers/stdint.texi: Update.
48524
48525 2007-06-01  Bruno Haible  <bruno@clisp.org>
48526
48527         * tests/test-binary-io.c (main): Pass a third argument to open().
48528         Reported by Gary V. Vaughan <gary@gnu.org>.
48529
48530 2007-06-01  Bruno Haible  <bruno@clisp.org>
48531
48532         * doc/functions/frexpl.texi: Update for mingw.
48533
48534 2007-06-01  Bruno Haible  <bruno@clisp.org>
48535
48536         * tests/test-lseek.c (main): Disable test of errno for invalid third
48537         argument.
48538         * doc/functions/lseek.texi: Update.
48539         Reported by Gary V. Vaughan <gary@gnu.org>.
48540
48541 2007-05-28  Bruno Haible  <bruno@clisp.org>
48542
48543         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
48544
48545 2007-05-31  Eric Blake  <ebb9@byu.net>
48546
48547         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
48548         cross compiling.
48549
48550 2007-05-30  Eric Blake  <ebb9@byu.net>
48551         and Bruno Haible  <bruno@clisp.org>
48552
48553         Work around mingw test failures exposed by m4-1.4.9b.
48554         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
48555         * tests/test-unistd.c: Disable uid_t and git_t tests for the
48556         moment.
48557
48558 2007-05-30  Bruno Haible  <bruno@clisp.org>
48559
48560         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
48561         assuming that they are closed. Needed on HP-UX 11.
48562
48563 2007-05-29  Bruno Haible  <bruno@clisp.org>
48564
48565         Fix a problem with #include_next.
48566         * lib/dirent_.h: Split the double-inclusion guard.
48567         * lib/fcntl_.h: Likewise.
48568         * lib/float_.h: Likewise.
48569         * lib/iconv_.h: Likewise.
48570         * lib/inttypes_.h: Likewise.
48571         * lib/locale_.h: Likewise.
48572         * lib/math_.h: Likewise.
48573         * lib/netinet_in_.h: Likewise.
48574         * lib/search_.h: Likewise.
48575         * lib/signal_.h: Likewise.
48576         * lib/stdint_.h: Likewise.
48577         * lib/stdio_.h: Likewise.
48578         * lib/stdlib_.h: Likewise.
48579         * lib/string_.h: Likewise.
48580         * lib/sys_select_.h: Likewise.
48581         * lib/sys_socket_.h: Likewise.
48582         * lib/sys_stat_.h: Likewise.
48583         * lib/sys_time_.h: Likewise.
48584         * lib/sysexits_.h: Likewise.
48585         * lib/time_.h: Likewise.
48586         * lib/unistd_.h: Likewise.
48587         * lib/wchar_.h: Likewise.
48588         * lib/wctype_.h: Likewise.
48589
48590 2007-05-29  Bruno Haible  <bruno@clisp.org>
48591
48592         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
48593         for the moment.
48594
48595 2007-05-29  Bruno Haible  <bruno@clisp.org>
48596
48597         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
48598         invocation.
48599         Reported by Eric Blake.
48600
48601 2007-05-29  Bruno Haible  <bruno@clisp.org>
48602
48603         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
48604         compiling case.
48605
48606 2007-05-29  Eric Blake  <ebb9@byu.net>
48607             Bruno Haible  <bruno@clisp.org>
48608
48609         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
48610         cross compiles.
48611
48612 2007-05-28  Eric Blake  <ebb9@byu.net>
48613
48614         * modules/closein-tests (test_closein_LDADD): Support test on
48615         cygwin with libtool.
48616
48617 2007-05-28  Bruno Haible  <bruno@clisp.org>
48618
48619         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
48620         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
48621         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
48622         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
48623         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
48624         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
48625         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
48626         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
48627         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
48628
48629 2007-05-28  Eric Blake  <ebb9@byu.net>
48630
48631         Unconditionally include <config.h> in unit tests.
48632         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
48633         * tests/test-allocsa.c, tests/test-arcfour.c,
48634         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
48635         tests/test-array_list.c, tests/test-array_oset.c,
48636         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
48637         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
48638         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
48639         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
48640         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
48641         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
48642         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
48643         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
48644         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
48645         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
48646         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
48647         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
48648         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
48649         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
48650         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
48651         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
48652         test-md5.c, test-memmem.c, test-printf-posix.c,
48653         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
48654         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
48655         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
48656         test-strcasestr.c, test-striconv.c, test-striconveh.c,
48657         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
48658         test-vasnprintf-posix2.c, test-vasnprintf.c,
48659         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
48660         test-vfprintf-posix.c, test-vprintf-posix.c,
48661         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
48662         test-xvasprintf.c: Likewise.
48663
48664 2007-05-28  Bruno Haible  <bruno@clisp.org>
48665
48666         * gnulib-tool (func_import): Remember the --with-tests command-line
48667         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
48668         Reported by Eric Blake.
48669
48670 2007-05-28  Bruno Haible  <bruno@clisp.org>
48671
48672         * modules/ftell-tests: New file.
48673         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
48674         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
48675
48676         * lib/ftell.c: New file.
48677         * modules/ftell: New file.
48678         * m4/ftell.m4: New file.
48679         * doc/functions/ftell.texi: Update.
48680         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
48681         REPLACE_FTELL.
48682         * lib/stdio_.h (rpl_ftell): New declaration.
48683         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
48684         REPLACE_FTELL.
48685
48686 2007-05-28  Eric Blake  <ebb9@byu.net>
48687
48688         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
48689
48690 2007-05-28  Bruno Haible  <bruno@clisp.org>
48691
48692         * modules/fseek-tests: New file.
48693         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
48694         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
48695
48696         * lib/fseek.c: New file.
48697         * modules/fseek: New file.
48698         * m4/fseek.m4: New file.
48699         * doc/functions/fseek.texi: Update.
48700         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
48701         REPLACE_FSEEK.
48702         * lib/stdio_.h (rpl_fseek): New declaration.
48703         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
48704         REPLACE_FSEEK.
48705
48706 2007-05-28  Bruno Haible  <bruno@clisp.org>
48707
48708         * lib/stdio_.h (fflush): More comments.
48709
48710 2007-05-28  Bruno Haible  <bruno@clisp.org>
48711
48712         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
48713         runtime test.
48714
48715 2007-05-28  Eric Blake  <ebb9@byu.net>
48716
48717         Improve lseek module.
48718         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
48719         * lib/unistd_.h (lseek): Scale back link warning message.
48720         * tests/test-lseek.c: Beef up test.
48721         * tests/test-lseek.sh: Exercise more facets of lseek.
48722         Reported by Bruno Haible.
48723
48724 2007-05-28  Bruno Haible  <bruno@clisp.org>
48725
48726         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
48727         to define.
48728
48729 2007-05-27  Bruno Haible  <bruno@clisp.org>
48730
48731         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
48732
48733 2007-05-27  Bruno Haible  <bruno@clisp.org>
48734
48735         * modules/openmp: New file.
48736         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
48737         Noah Misch.
48738
48739 2007-05-26  Bruno Haible  <bruno@clisp.org>
48740
48741         * modules/chdir-long (Depends-on): Add fchdir.
48742         * modules/chdir-safer (Depends-on): Likewise.
48743         * modules/fts (Depends-on): Likewise.
48744         * modules/fts-lgpl (Depends-on): Likewise.
48745         * modules/openat (Depends-on): Likewise.
48746         * modules/savewd (Depends-on): Likewise.
48747
48748 2007-05-24  Eric Blake  <ebb9@byu.net>
48749
48750         Fix lseek on mingw.
48751         * modules/lseek: New module.
48752         * m4/lseek.m4: New file.
48753         * lib/lseek.c: New file.
48754         * modules/lseek-tests: New file.
48755         * tests/test-lseek.c: New file.
48756         * tests/test-lseek.sh: New file.
48757         * MODULES.html.sh: Document lseek module.
48758         * modules/fflush (Depends-on): Add lseek, fseeko.
48759         * modules/fseeko (Depends-on): Likewise.
48760         * modules/ftello (Depends-on): Likewise.
48761         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
48762         broken.
48763         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
48764         broken.
48765         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
48766         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
48767         * lib/ftello.c (rpl_ftello): Likewise.
48768         * tests/test-fseeko.c (main): Test this.
48769         * tests/test-fseeko.sh: Likewise.
48770         * tests/test-ftello.c (main): Likewise.
48771         * tests/test-ftello.sh: Likewise.
48772         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
48773         implies replacing fseek.
48774         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
48775         HAVE_FTELLO.
48776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
48777         * modules/unistd (Makefile.am): Likewise.
48778         * lib/unistd_.h (lseek): Declare a replacement.
48779         * doc/functions/lseek.texi (lseek): Document this fix.
48780         * doc/functions/fseek.texi (fseek): Likewise.
48781         * doc/functions/ftell.texi (ftell): Likewise.
48782
48783 2007-05-24  Bruno Haible  <bruno@clisp.org>
48784
48785         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
48786         in the printed representation of a NaN.
48787         * tests/test-vasprintf-posix.c (test_function): Likewise.
48788         * tests/test-snprintf-posix.h (test_function): Likewise.
48789         * tests/test-sprintf-posix.h (test_function): Likewise.
48790         Reported by Eric Blake.
48791
48792 2007-05-23  Eric Blake  <ebb9@byu.net>
48793
48794         Fix fseeko/ftello on cygwin 1.5.24.
48795         * doc/functions/fseeko.texi (fseeko): Document the fix.
48796         * doc/functions/ftello.texi (ftello): Document the fix.
48797         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
48798         * doc/functions/stdout.text (stdout): New file.
48799         * doc/functions/stderr.text (stderr): New file.
48800         * doc/gnulib.texi (Function Substitutes): Use new files.
48801         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
48802         prior to 1.7.0.
48803         * tests/test-ftello.c (main): Likewise for ftello.
48804         * tests/test-fseeko.sh: New file.
48805         * tests/test-ftello.sh: New file.
48806         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
48807         with seekable stdin.
48808         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
48809         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
48810         (gl_REPLACE_FSEEKO): New macro.
48811         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
48812         * modules/fseeko (Files): Distribute fseeko.c.
48813         * modules/ftello (Files): Distribute ftello.c.
48814         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
48815         mode.
48816         * lib/ftello.c (rpl_ftello): New file.
48817         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
48818         fseeko, ftello.
48819         (gl_STDIN_LARGE_OFFSET): New macro.
48820         * modules/stdio (Makefile.am): Perform the replacement.
48821         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
48822
48823 2007-05-23  Bruno Haible  <bruno@clisp.org>
48824
48825         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
48826         GNULIB_POSIXCHECK is defined.
48827
48828 2007-05-21  Bruno Haible  <bruno@clisp.org>
48829
48830         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
48831         Check also the output for NaN arguments. When cross-compiling, guess
48832         no on IRIX.
48833         * lib/vasnprintf.c: Update comments.
48834         * tests/test-vasnprintf-posix.c (strisnan): New function.
48835         (test_function): Use it.
48836         * tests/test-vasprintf-posix.c (strisnan): New function.
48837         (test_function): Use it.
48838         * tests/test-snprintf-posix.h (strisnan): New function.
48839         (test_function): Use it.
48840         * tests/test-sprintf-posix.h (strisnan): New function.
48841         (test_function): Use it.
48842         Reported by Eric Blake.
48843
48844 2007-05-20  Bruno Haible  <bruno@clisp.org>
48845
48846         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
48847         numbers that fails on BeOS.
48848         * doc/functions/frexpl.texi: Update.
48849
48850 2007-05-20  Jim Meyering  <jim@meyering.net>
48851
48852         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
48853         forced upon us by glibc-2.6.
48854
48855 2007-05-20  Bruno Haible  <bruno@clisp.org>
48856
48857         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
48858         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
48859         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
48860         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
48861         NEED_PRINTF_INFINITE.
48862         (is_infinitel): New function.
48863         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
48864         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
48865         gl_PREREQ_VASNPRINTF_INFINITE.
48866         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
48867         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48868         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
48869         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
48870         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
48871         gl_PREREQ_VASNPRINTF_INFINITE.
48872         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48873         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48874         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48875         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48876         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48877         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48878         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48879         * doc/functions/fprintf.texi: Update.
48880         * doc/functions/printf.texi: Update.
48881         * doc/functions/snprintf.texi: Update.
48882         * doc/functions/sprintf.texi: Update.
48883         * doc/functions/vfprintf.texi: Update.
48884         * doc/functions/vprintf.texi: Update.
48885         * doc/functions/vsnprintf.texi: Update.
48886         * doc/functions/vsprintf.texi: Update.
48887
48888 2007-05-20  Bruno Haible  <bruno@clisp.org>
48889
48890         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
48891         was not found in libc.
48892         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48893
48894 2007-05-20  Bruno Haible  <bruno@clisp.org>
48895
48896         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48897         printed as "-nan" instead of "nan".
48898         * tests/test-vasprintf-posix.c (test_function): Likewise.
48899         * tests/test-snprintf-posix.h (test_function): Likewise.
48900         * tests/test-sprintf-posix.h (test_function): Likewise.
48901         Needed for HP-UX 11.
48902
48903 2007-05-20  Jim Meyering  <jim@meyering.net>
48904
48905         Fix buggy test for the fchownat-deref bug.
48906         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
48907         symlink required for the run-test.  Without it, this test would
48908         always declare that fchownat doesn't work, and client code would
48909         unnecessarily use the replacement function with fixed libc.
48910         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
48911         Reported by Greg Schafer.
48912
48913 2007-05-19  Bruno Haible  <bruno@clisp.org>
48914
48915         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
48916         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
48917         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
48918         Needed for IRIX 6.5 and Solaris 2.5.1.
48919
48920 2007-05-19  Bruno Haible  <bruno@clisp.org>
48921
48922         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
48923         (test_function): Skip tests involving -0.0 on platforms where
48924         -0.0 = 0.0.
48925         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
48926         (test_function): Skip tests involving -0.0 on platforms where
48927         -0.0 = 0.0.
48928         * tests/test-snprintf-posix.h (have_minus_zero): New function.
48929         (test_function): Skip tests involving -0.0 on platforms where
48930         -0.0 = 0.0.
48931         * tests/test-sprintf-posix.h (have_minus_zero): New function.
48932         (test_function): Skip tests involving -0.0 on platforms where
48933         -0.0 = 0.0.
48934         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
48935         tests.
48936         * tests/test-printf-posix.h (test_function): Likewise.
48937         * tests/test-printf-posix.output: Remove all -0.0 related results.
48938         Needed for IRIX 6.5.
48939
48940 2007-05-19  Bruno Haible  <bruno@clisp.org>
48941
48942         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48943         printed as "nan0x7fffffff" instead of "nan".
48944         * tests/test-vasprintf-posix.c (test_function): Likewise.
48945         * tests/test-snprintf-posix.h (test_function): Likewise.
48946         * tests/test-sprintf-posix.h (test_function): Likewise.
48947         * tests/test-fprintf-posix.h (NaN): Remove macro.
48948         (test_function): Remove all NaN related tests.
48949         * tests/test-printf-posix.h (NaN): Remove macro.
48950         (test_function): Remove all NaN related tests.
48951         * tests/test-printf-posix.output: Remove all NaN related results.
48952         Needed for IRIX 6.5.
48953
48954 2007-05-19  Bruno Haible  <bruno@clisp.org>
48955
48956         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
48957         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48958
48959 2007-05-19  Bruno Haible  <bruno@clisp.org>
48960
48961         * lib/float_.h: New file.
48962         * m4/float_h.m4: New file.
48963         * modules/float: New file.
48964         * modules/isnanl (Dependencies): Add float.
48965         * modules/isnanl-nolibm (Dependencies): Likewise.
48966         * modules/mathl (Dependencies): Likewise.
48967         * modules/printf-frexpl (Dependencies): Likewise.
48968         * modules/signbit (Dependencies): Likewise.
48969         * modules/vasnprintf (Dependencies): Likewise.
48970         * doc/headers/float.texi: Update.
48971
48972 2007-05-19  Jim Meyering  <jim@meyering.net>
48973
48974         * lib/utimens.c (gl_futimens): Rename from futimens,
48975         now that glibc-2.6 declares futimens.
48976         * lib/utimens.h: Likewise.
48977
48978 2007-05-19  Bruno Haible  <bruno@clisp.org>
48979
48980         Avoid test failures on mingw.
48981         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
48982         * tests/test-printf-posix.sh: Likewise.
48983         * tests/test-vfprintf-posix.sh: Likewise.
48984         * tests/test-vprintf-posix.sh: Likewise.
48985
48986 2007-05-19  Bruno Haible  <bruno@clisp.org>
48987
48988         Fix *printf result for NaN, Inf, -0.0 on mingw.
48989         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
48990         * lib/vasnprintf.c: Include math.h and isnan.h.
48991         (is_infinite_or_zero): New function.
48992         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
48993         values in the %f, %F, %e, %E, %g, %G directives.
48994         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
48995         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48996         gl_PRINTF_INFINITE and test its result. Invoke
48997         gl_PREREQ_VASNPRINTF_INFINITE.
48998         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48999         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49000         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49001         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49002         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49003         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49004         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49005         * doc/functions/fprintf.texi: Update.
49006         * doc/functions/printf.texi: Update.
49007         * doc/functions/snprintf.texi: Update.
49008         * doc/functions/sprintf.texi: Update.
49009         * doc/functions/vfprintf.texi: Update.
49010         * doc/functions/vprintf.texi: Update.
49011         * doc/functions/vsnprintf.texi: Update.
49012         * doc/functions/vsprintf.texi: Update.
49013
49014 2007-05-19  Bruno Haible  <bruno@clisp.org>
49015
49016         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
49017         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
49018         Instead of multiplying with 10^k, set extra_zeroes to k.
49019         (scale10_round_long_double): Remove function.
49020
49021 2007-05-18  Bruno Haible  <bruno@clisp.org>
49022
49023         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
49024         introduced on 2007-05-06.
49025
49026 2007-05-18  Bruno Haible  <bruno@clisp.org>
49027
49028         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
49029         %g directives.
49030         * tests/test-vasprintf-posix.c (test_function): Likewise.
49031         * tests/test-snprintf-posix.h (test_function): Likewise.
49032         * tests/test-sprintf-posix.h (test_function): Likewise.
49033
49034 2007-05-18  Bruno Haible  <bruno@clisp.org>
49035
49036         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
49037         (strmatch): New function.
49038         (test_function): Test the %f directive on numbers of various exponents.
49039         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
49040         (strmatch): New function.
49041         (test_function): Test the %f directive on numbers of various exponents.
49042         * tests/test-snprintf-posix.h (strmatch): New function.
49043         (test_function): Test the %f directive on numbers of various exponents.
49044         * tests/test-sprintf-posix.h (strmatch): New function.
49045         (test_function): Test the %f directive on numbers of various exponents.
49046         * tests/test-snprintf-posix.c (SIZEOF): New macro.
49047         * tests/test-sprintf-posix.c (SIZEOF): New macro.
49048         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
49049         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
49050
49051 2007-05-18  Bruno Haible  <bruno@clisp.org>
49052
49053         Add support for 'long double' number output.
49054         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
49055         * lib/vasnprintf.c: Include math.h and float+.h.
49056         (mp_limb_t): New type.
49057         (GMP_LIMB_BITS): New macro.
49058         (mp_twolimb_t): New type.
49059         (GMP_TWOLIMB_BITS): New macro.
49060         (mpn_t): New type.
49061         (multiply, divide, convert_to_decimal, decode_long_double,
49062         scale10_round_long_double, scale10_round_decimal_long_double,
49063         floorlog10l): New functions.
49064         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
49065         for the %f, %F, %e, %E, %g, %G directives.
49066         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
49067         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49068         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
49069         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
49070         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49071         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49072         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49073         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49074         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49075         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49076         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49077         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
49078         * modules/snprintf-posix (Depends-on): Likewise.
49079         * modules/sprintf-posix (Depends-on): Likewise.
49080         * modules/vasnprintf-posix (Depends-on): Likewise.
49081         * modules/vasprintf-posix (Depends-on): Likewise.
49082         * modules/vfprintf-posix (Depends-on): Likewise.
49083         * modules/vsnprintf-posix (Depends-on): Likewise.
49084         * modules/vsprintf-posix (Depends-on): Likewise.
49085         * modules/vasnprintf (Files): Add lib/float+.h.
49086         * doc/functions/fprintf.texi: Update.
49087         * doc/functions/printf.texi: Update.
49088         * doc/functions/snprintf.texi: Update.
49089         * doc/functions/sprintf.texi: Update.
49090         * doc/functions/vfprintf.texi: Update.
49091         * doc/functions/vprintf.texi: Update.
49092         * doc/functions/vsnprintf.texi: Update.
49093         * doc/functions/vsprintf.texi: Update.
49094
49095 2007-05-18  Bruno Haible  <bruno@clisp.org>
49096
49097         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
49098
49099 2007-05-18  Bruno Haible  <bruno@clisp.org>
49100
49101         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
49102         for printing 64-bit integers. Needed for mingw.
49103
49104 2007-05-18  Bruno Haible  <bruno@clisp.org>
49105
49106         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
49107         gl_FUNC_FREXPL_WORKS.
49108         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
49109
49110 2007-05-18  Bruno Haible  <bruno@clisp.org>
49111
49112         * modules/frexpl-nolibm-tests: New file.
49113
49114         * modules/frexpl-nolibm: New file.
49115         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
49116
49117 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
49118
49119         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
49120         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
49121         GCC 4.2, which otherwise issues a lot of warnings.
49122         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
49123         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
49124         Likewise.
49125         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
49126         * modules/iconv_open (iconv.h): Likewise.
49127         * modules/locale (locale.h): Likewise.
49128         * modules/netinet_in (netinet/in.h): Likewise.
49129         * modules/sys_select (sys_select.h): Likewise.
49130         * modules/sys_socket (sys/socket.h): Likewise.
49131         * modules/sys_stat (sys/stat.h): Likewise.
49132         * modules/sysexits (sysexits.h): Likewise.
49133         * modules/unistd (unistd.h): Likewise.
49134
49135 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49136
49137         * modules/closein-tests (Makefile.am): Distribute
49138         `test-closein.sh'.
49139
49140 2007-05-17  Bruno Haible  <bruno@clisp.org>
49141
49142         * tests/test-printf-posix.output: Renamed from
49143         tests/test-fprintf-posix.out.
49144         * modules/fprintf-posix-tests: Update.
49145         * modules/printf-posix-tests: Update.
49146         * modules/vfprintf-posix-tests: Update.
49147         * modules/vprintf-posix-tests: Update.
49148         * tests/test-fprintf-posix.sh: Update.
49149         * tests/test-printf-posix.sh: Update.
49150         * tests/test-vfprintf-posix.sh: Update.
49151         * tests/test-vprintf-posix.sh: Update.
49152         Reported by Ralf Wildenhues.
49153
49154 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
49155
49156         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
49157         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
49158         GCC 4.2, which otherwise issues a lot of warnings.
49159         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
49160         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
49161         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
49162         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
49163         it should no longer be needed.
49164         * lib/string_.h: Likewise.
49165         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
49166         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
49167         * modules/inttypes (inttypes.h): Likewise.
49168         * modules/math (math.h): Likewise.
49169         * modules/search (search.h): Likewise.
49170         * modules/signal (signal.h): Likewise.
49171         * modules/stdint (stdint.h): Likewise.
49172         * modules/stdio (stdio.h): Likewise.
49173         * modules/stdlib (stdlib.h): Likewise.
49174         * modules/string (string.h): Likewise.
49175         * modules/sys_time (sys/time.h): Likewise.
49176         * modules/time (time.h): Likewise.
49177         * modules/wchar (wchar.h): Likewise.
49178         * modules/wctype (wtype.h): Likewise.
49179
49180 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
49181
49182         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
49183
49184 2007-05-13  Bruno Haible  <bruno@clisp.org>
49185
49186         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
49187         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49188         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
49189         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
49190         (gl_PREREQ_STRTOK_R): Don't require it here.
49191
49192 2007-05-13  Bruno Haible  <bruno@clisp.org>
49193
49194         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
49195         when used in C++ mode.
49196
49197 2007-05-12  Bruno Haible  <bruno@clisp.org>
49198
49199         * lib/linebuffer.h: Tweak doc.
49200         * lib/linebuffer.c: Likewise.
49201
49202 2007-05-12  James Youngman  <jay@gnu.org>
49203
49204         * lib/linebuffer.c (readlinebuffer_delim): New function,
49205         like readlinebuffer, but use a caller-specified delimiter.
49206         (readlinebuffer): Just call readlinebuffer_delim with '\n'
49207         as the delimiter.
49208         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
49209
49210 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
49211
49212         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
49213         * modules/openat (Files): Remove openat-die.c.
49214         (Depends-on): Add openat-die.
49215         * modules/openat-die: New module.
49216
49217 2007-05-06  Bruno Haible  <bruno@clisp.org>
49218
49219         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
49220         Update with info about Cygwin.
49221         * doc/functions/fprintf.texi: Update.
49222         * doc/functions/printf.texi: Update.
49223         * doc/functions/snprintf.texi: Update.
49224         * doc/functions/sprintf.texi: Update.
49225         * doc/functions/vfprintf.texi: Update.
49226         * doc/functions/vprintf.texi: Update.
49227         * doc/functions/vsnprintf.texi: Update.
49228         * doc/functions/vsprintf.texi: Update.
49229         Reported by Eric Blake.
49230
49231 2007-05-06  Bruno Haible  <bruno@clisp.org>
49232
49233         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
49234         padding ourselves for the floating-point directives.
49235         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
49236         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
49237         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49238         gl_PRINTF_FLAG_ZERO and test its result. Invoke
49239         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
49240         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49241         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
49242         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49243         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49244         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49245         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49246         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49247         * tests/test-snprintf-posix.h (test_function): Also check the width
49248         and some flags in the %f directive.
49249         * tests/test-sprintf-posix.h (test_function): Likewise.
49250         * tests/test-vasnprintf-posix.c (test_function): Likewise.
49251         * tests/test-vasprintf-posix.c (test_function): Likewise.
49252         * doc/functions/fprintf.texi: Update.
49253         * doc/functions/printf.texi: Update.
49254         * doc/functions/snprintf.texi: Update.
49255         * doc/functions/sprintf.texi: Update.
49256         * doc/functions/vfprintf.texi: Update.
49257         * doc/functions/vprintf.texi: Update.
49258         * doc/functions/vsnprintf.texi: Update.
49259         * doc/functions/vsprintf.texi: Update.
49260
49261 2007-05-06  Bruno Haible  <bruno@clisp.org>
49262
49263         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
49264         pass the ' flag character to sprintf or snprintf.
49265         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
49266         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
49267         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49268         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
49269         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
49270         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49271         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
49272         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49273         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49274         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49275         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49276         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49277         * tests/test-snprintf-posix.h (test_function): Also check the grouping
49278         flag.
49279         * tests/test-sprintf-posix.h (test_function): Likewise.
49280         * tests/test-vasnprintf-posix.c (test_function): Likewise.
49281         * tests/test-vasprintf-posix.c (test_function): Likewise.
49282         * doc/functions/fprintf.texi: Update.
49283         * doc/functions/printf.texi: Update.
49284         * doc/functions/snprintf.texi: Update.
49285         * doc/functions/sprintf.texi: Update.
49286         * doc/functions/vfprintf.texi: Update.
49287         * doc/functions/vprintf.texi: Update.
49288         * doc/functions/vsnprintf.texi: Update.
49289         * doc/functions/vsprintf.texi: Update.
49290
49291 2007-05-01  Bruno Haible  <bruno@clisp.org>
49292
49293         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
49294
49295 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
49296
49297         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
49298         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
49299
49300 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49301
49302         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
49303         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
49304         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
49305
49306 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
49307
49308         * lib/argp-help.c (struct hol_entry): New member `ord'.
49309         (HOL_ENTRY_PTRCMP): Use ord for comparison
49310         (hol_sort): Initialize ord.
49311
49312 2007-05-01  Bruno Haible  <bruno@clisp.org>
49313
49314         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
49315         Reported by Eric Blake.
49316         * doc/gnulib.texi (Function Substitutes): Update.
49317
49318 2007-05-01  Bruno Haible  <bruno@clisp.org>
49319
49320         * doc/functions.texi: Remove file, now redundant through
49321         doc/functions/*.texi.
49322
49323 2007-05-01  Bruno Haible  <bruno@clisp.org>
49324
49325         * modules/argp (Depends-on): Add sleep.
49326
49327 2007-05-01  Bruno Haible  <bruno@clisp.org>
49328
49329         * modules/sleep-tests: New file.
49330         * tests/test-sleep.c: New file.
49331
49332         * modules/sleep: New file.
49333         * lib/sleep.c: New file.
49334         * m4/sleep.m4: New file.
49335         * lib/unistd_.h (sleep): New declaration.
49336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
49337         HAVE_SLEEP.
49338         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
49339         * doc/functions/sleep.texi: Document the sleep module.
49340
49341 2007-05-01  Bruno Haible  <bruno@clisp.org>
49342
49343         * lib/sigprocmask.h: Remove file.
49344         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
49345         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
49346         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
49347         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
49348         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
49349         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
49350         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
49351         HAVE_SIGSET_T as a shell variable.
49352         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
49353         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
49354         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
49355         (Depends-on): Add signal. Remove verify.
49356         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
49357         (Include): Mention <signal.h> instead of sigprocmask.h.
49358         * NEWS: Mention the change.
49359         * lib/fatal-signal.c: Don't include sigprocmask.h.
49360
49361 2007-05-01  Bruno Haible  <bruno@clisp.org>
49362
49363         * modules/signal: New file.
49364         * lib/signal_.h: New file.
49365         * m4/signal_h.m4: New file.
49366
49367 2007-05-01  Bruno Haible  <bruno@clisp.org>
49368
49369         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
49370         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
49371         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
49372         HAVE_WCTYPE_CTMP_BUG into wctype.h.
49373
49374 2007-05-01  Bruno Haible  <bruno@clisp.org>
49375
49376         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
49377         configure time.
49378         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
49379         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
49380         * modules/sys_stat (Makefile.am): Substitute their values into
49381         sys/stat.h.
49382
49383 2007-05-01  Bruno Haible  <bruno@clisp.org>
49384
49385         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
49386         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
49387         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
49388
49389 2007-05-01  Bruno Haible  <bruno@clisp.org>
49390
49391         * doc/header/assert.texi: Undo last change: don't mention the gnulib
49392         'assert' module here.
49393
49394 2007-05-01  Bruno Haible  <bruno@clisp.org>
49395
49396         * doc/functions/*.texi: New files.
49397         * doc/functions/google-ranking.txt: New file.
49398         * doc/gnulib.texi (Function Substitutes): New chapter.
49399         (ctime, inet_ntoa): Remove sections.
49400         * doc/ctime.texi: Remove file.
49401         * doc/inet_ntoa.texi: Remove file.
49402         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
49403         dependencies.
49404         (%.info): New rule, specifying a --reference-limit.
49405
49406 2007-05-01  Bruno Haible  <bruno@clisp.org>
49407
49408         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
49409
49410 2007-05-01  Bruno Haible  <bruno@clisp.org>
49411
49412         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
49413         the portability of 'mkdir' to mingw systems.
49414
49415 2007-05-01  Bruno Haible  <bruno@clisp.org>
49416
49417         * doc/headers/google-ranking.txt: New file.
49418
49419 2007-04-30  Eric Blake  <ebb9@byu.net>
49420
49421         Prefer fseeko to fseek.
49422         * modules/getpass (Depends-on): Add fseeko.
49423         * lib/getpass.c (getpass): Use fseeko, not fseek.
49424
49425 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
49426
49427         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
49428         assumes the sorting is stable, while most qsort implementations
49429         are not.  Use argument addresses to ensure they never compare as
49430         equal.
49431
49432         * tests/test-argp-2.sh (usage-indent test): Fix output
49433         (func_compare): Restore diff options
49434         * tests/test-argp.c: Restore #include "progname.h"
49435
49436 2007-04-29  Bruno Haible  <bruno@clisp.org>
49437
49438         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
49439         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49440         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
49441         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49442         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
49443         (configure.ac): Define CHECK_SNPRINTF_POSIX.
49444         (TESTS, check_PROGRAMS): Add test-snprintf.
49445         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
49446         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
49447         (TESTS, check_PROGRAMS): Add test-vsnprintf.
49448         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
49449         assertions that fail on HP-UX, OSF/1, or IRIX.
49450         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
49451
49452 2007-04-29  Bruno Haible  <bruno@clisp.org>
49453
49454         * MODULES.html.sh (posix_functions): Remove 'contents'.
49455
49456 2007-04-29  Karl Berry  <karl@gnu.org>
49457
49458         * config/srclist.txt (gendocs_template_min): new entry.
49459
49460 2007-04-29  Bruno Haible  <bruno@clisp.org>
49461
49462         Work around fpurge bug on BSD systems.
49463         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
49464         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
49465         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
49466         fpurge to rpl_fpurge if the system already has this function.
49467         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
49468         the case where the system already has this function. Correct invariants
49469         on BSD systems.
49470         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
49471         BSD systems.
49472
49473 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
49474
49475         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
49476         proposed by Sven Verdoolaege.
49477
49478         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
49479         options.
49480         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
49481         (usage and help tests): Update
49482
49483 2007-04-29  Bruno Haible  <bruno@clisp.org>
49484
49485         * tests/test-fflush.c (main): Use a file of size 17, not 10.
49486         Print more information in case of failure. Disable a test on BeOS.
49487
49488 2007-04-29  Bruno Haible  <bruno@clisp.org>
49489
49490         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
49491         This helps debugging on systems on which no gdb is available.
49492
49493 2007-04-29  Bruno Haible  <bruno@clisp.org>
49494
49495         * lib/freading.h: Improve comments.
49496         * lib/fwriting.h: Likewise.
49497         * tests/test-freading.c (main): Don't check freading immediately after
49498         repositioning. Needed for glibc.
49499
49500 2007-04-29  Bruno Haible  <bruno@clisp.org>
49501
49502         * lib/freading.c (freading): Trivial simplification.
49503
49504 2007-04-28  Bruno Haible  <bruno@clisp.org>
49505
49506         * tests/test-fwriting.c (main): Also test the interaction between
49507         fflush and fwriting.
49508         * modules/fwriting-tests (Depends-on): Add fflush.
49509
49510         * tests/test-freading.c (main): Also test the interaction between
49511         fflush and freading.
49512         * modules/freading-tests (Depends-on): Add fflush.
49513
49514 2007-04-28  Bruno Haible  <bruno@clisp.org>
49515
49516         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
49517         fseeko and ftello.
49518         Suggested by Eric Blake.
49519
49520 2007-04-28  Jim Meyering  <jim@meyering.net>
49521
49522         Avoid false-negative in gl_STDINT_H's C99 conformance test.
49523         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
49524         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
49525
49526 2007-04-27  Eric Blake  <ebb9@byu.net>
49527
49528         * doc/headers/assert.texi (assert.h): Document assert module use.
49529
49530 2007-04-27  Bruno Haible  <bruno@clisp.org>
49531
49532         * doc/headers/*.texi: New files.
49533         * doc/gnulib.texi (Header File Substitutes): New chapter.
49534         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
49535         dependencies.
49536         (standards.info ,standards.html, standards.dvi): Update dependencies.
49537         (mostlyclean, clean): New targets.
49538
49539 2007-04-27  Bruno Haible  <bruno@clisp.org>
49540
49541         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
49542         * modules/sysexits (Files, Makefile.am): Update.
49543
49544         * lib/sys_socket_.h: Renamed from lib/socket_.h.
49545         * modules/sys_socket (Files, Makefile.am): Update.
49546
49547         * lib/sys_stat_.h: Renamed from lib/stat_.h.
49548         * modules/sys_stat (Files, Makefile.am): Update.
49549
49550 2007-04-27  Eric Blake  <ebb9@byu.net>
49551
49552         * lib/freading.h: Improve comments.
49553         * lib/fwriting.h: Likewise.
49554         * lib/fflush.c: Likewise.
49555
49556         Fix closein for mingw.
49557         * modules/closein-tests: Add tests for closein.
49558         * tests/test-closein.c: New file.
49559         * tests/test-closein.sh: Likewise.
49560         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
49561         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
49562
49563 2007-04-27  Bruno Haible  <bruno@clisp.org>
49564
49565         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
49566         version is < 6.
49567         * lib/math_.h [__DECC]: Likewise.
49568         * lib/stdio_.h [__DECC]: Likewise.
49569         * lib/stdlib_.h [__DECC]: Likewise.
49570         * lib/string_.h [__DECC]: Likewise.
49571         * lib/time_.h [__DECC]: Likewise.
49572         * lib/wchar_.h [__DECC]: Likewise.
49573         * lib/wctype_.h [__DECC]: Likewise.
49574
49575 2007-04-27  Bruno Haible  <bruno@clisp.org>
49576
49577         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
49578
49579 2007-04-27  Bruno Haible  <bruno@clisp.org>
49580
49581         * lib/fflush.c: Add comments.
49582         * modules/fpurge-tests (Depends-on): Add fflush.
49583         * modules/freadable-tests (Depends-on): Likewise.
49584         * modules/fwritable-tests (Depends-on): Likewise.
49585
49586 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
49587
49588         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
49589         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
49590         Report by Bruno Haible <bruno@clisp.org>.
49591
49592 2007-04-26  Eric Blake  <ebb9@byu.net>
49593
49594         Fix fflush on mingw.
49595         * modules/fflush (Depends-on): Add freading.
49596         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
49597         but unread data.
49598
49599 2007-04-26  Eric Blake  <ebb9@byu.net>
49600         and Bruno Haible  <bruno@clisp.org>
49601
49602         Implement freading and fwriting.
49603         * lib/freading.c: New file.
49604         * lib/freading.h: Likewise.
49605         * m4/freading.m4: Likewise.
49606         * modules/freading: Likewise.
49607         * modules/freading-tests: Likewise.
49608         * tests/test-freading.c: Likewise.
49609         * lib/fwriting.c: New file.
49610         * lib/fwriting.h: Likewise.
49611         * m4/fwriting.m4: Likewise.
49612         * modules/fwriting: Likewise.
49613         * modules/fwriting-tests: Likewise.
49614         * tests/test-fwriting.c: Likewise.
49615         * MODULES.html.sh (File stream based Input/Output): Mention them.
49616
49617 2007-04-26  Bruno Haible  <bruno@clisp.org>
49618
49619         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
49620         'long' when we assume it.
49621         Suggested by Eric Blake.
49622
49623 2007-04-26  Bruno Haible  <bruno@clisp.org>
49624
49625         Ensure fseeko, ftello are declared on glibc systems.
49626         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
49627         * modules/fseeko (configure.ac-early): Likewise.
49628         * modules/ftello (configure.ac-early): Likewise.
49629         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
49630         AC_FUNC_FSEEKO for this.
49631         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
49632         (gl_CHECK_FSEEKO): Remove macro.
49633
49634 2007-04-26  Bruno Haible  <bruno@clisp.org>
49635
49636         * tests/test-fflush.c (main): Also check the ftell result after
49637         fflush and fseek/fseeko.
49638         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
49639         file descriptor position cache in the stream.
49640         * lib/fseeko.c (rpl_fseeko): Likewise.
49641
49642 2007-04-26  Bruno Haible  <bruno@clisp.org>
49643
49644         * modules/fflush-tests (Depends-on): Add fseeko.
49645
49646 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
49647             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49648
49649         * lib/argz_.h: ensure error_t definition is obtained in same
49650         mechanism system argz.h would have.
49651         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
49652         argz facilities are known bad.  Err on the side of caution if
49653         cross-compiling.
49654
49655 2007-04-25  Eric Blake  <ebb9@byu.net>
49656
49657         * lib/fpurge.c (includes): Use stdlib.h for free.
49658         * tests/test-fflush.c (main): Also test fflush-fseeko.
49659
49660 2007-04-25  Bruno Haible  <bruno@clisp.org>
49661
49662         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
49663         * lib/fseeko.c: New file.
49664         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
49665         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
49666         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
49667         gl_FUNC_FSEEKO.
49668         (gl_FUNC_FSEEKO): Invoke it.
49669         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
49670         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
49671         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
49672
49673 2007-04-25  Bruno Haible  <bruno@clisp.org>
49674
49675         * modules/fflush (Depends-on): Add ftello.
49676
49677 2007-04-25  Bruno Haible  <bruno@clisp.org>
49678
49679         * modules/ftello-tests: New file.
49680         * tests/test-ftello.c: New file.
49681
49682         * modules/ftello: New file.
49683         * m4/ftello.m4: New file.
49684         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
49685         HAVE_FTELLO.
49686         * lib/stdio_.h (ftello): New declaration.
49687         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
49688         HAVE_FTELLO.
49689
49690 2007-04-25  Bruno Haible  <bruno@clisp.org>
49691
49692         * modules/fseeko-tests: New file.
49693         * tests/test-fseeko.c: New file.
49694
49695         * modules/fseeko: New file.
49696         * m4/fseeko.m4: New file.
49697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
49698         HAVE_FSEEKO.
49699         * lib/stdio_.h (fseeko): New declaration.
49700         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
49701         HAVE_FSEEKO.
49702
49703 2007-04-25  Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
49706
49707 2007-04-25  Bruno Haible  <bruno@clisp.org>
49708
49709         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
49710         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
49711         * tests/test-unistd.c: Likewise.
49712         * tests/test-fcntl.c: Likewise.
49713
49714 2007-04-23  Eric Blake  <ebb9@byu.net>
49715
49716         * lib/fflush.c: Fix missing include.
49717         Reported by Bruno Haible.
49718
49719 2007-04-23  Bruno Haible  <bruno@clisp.org>
49720
49721         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
49722         Reported by Eric Blake.
49723
49724 2007-04-23  Bruno Haible  <bruno@clisp.org>
49725
49726         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
49727
49728 2007-04-23  Bruno Haible  <bruno@clisp.org>
49729
49730         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
49731
49732 2007-04-23  Bruno Haible  <bruno@clisp.org>
49733
49734         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
49735         Needed on HP-UX 11.
49736
49737 2007-04-16  Eric Blake  <ebb9@byu.net>
49738
49739         Make fflush rely on fpurge.
49740         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
49741         open coding all variants.
49742         * modules/fflush (Depends-on): Add fpurge and unistd.
49743         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
49744         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
49745
49746         Fix --with-tests compilation on cygwin.
49747         * modules/argmatch-tests (Makefile.am): List gnulib library first
49748         in LDADD.
49749         * modules/argp-tests (Makefile.am): Likewise.
49750         * modules/array-list-tests (Makefile.am): Likewise.
49751         * modules/array-oset-tests (Makefile.am): Likewise.
49752         * modules/avltree-list-tests (Makefile.am): Likewise.
49753         * modules/avltree-oset-tests (Makefile.am): Likewise.
49754         * modules/avltreehash-list-tests (Makefile.am): Likewise.
49755         * modules/carray-list-tests (Makefile.am): Likewise.
49756         * modules/dirname-tests (Makefile.am): Likewise.
49757         * modules/frexp-tests (Makefile.am): Likewise.
49758         * modules/isnanl-tests (Makefile.am): Likewise.
49759         * modules/linked-list-tests (Makefile.am): Likewise.
49760         * modules/linkedhash-list-tests (Makefile.am): Likewise.
49761         * modules/lock-tests (Makefile.am): Likewise.
49762         * modules/rbtree-list-tests (Makefile.am): Likewise.
49763         * modules/rbtree-oset-tests (Makefile.am): Likewise.
49764         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
49765         * modules/tls-tests (Makefile.am): Likewise.
49766         * modules/tsearch-tests (Makefile.am): Likewise.
49767         * modules/xvasprintf-tests (Makefile.am): Likewise.
49768
49769         Fix fpurge for cygwin.
49770         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
49771         value.
49772         * modules/fpurge-tests (Depends-on): Clean up trash.
49773
49774 2007-04-16  Simon Josefsson  <simon@josefsson.org>
49775
49776         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
49777
49778         * m4/autobuild.m4: Re-indent.
49779
49780 2007-04-13  Bruno Haible  <bruno@clisp.org>
49781
49782         * modules/fpurge-tests: New file.
49783         * tests/test-fpurge.c: New file.
49784
49785         * modules/fpurge: New file.
49786         * lib/fpurge.h: New file.
49787         * lib/fpurge.c: New file.
49788         * m4/fpurge.m4: New file.
49789
49790 2007-04-13  Bruno Haible  <bruno@clisp.org>
49791
49792         * modules/fbufmode-tests: New file.
49793         * tests/test-fbufmode.c: New file.
49794
49795         * modules/fbufmode: New file.
49796         * lib/fbufmode.h: New file.
49797         * lib/fbufmode.c: New file.
49798         * m4/fbufmode.m4: New file.
49799
49800 2007-04-13  Bruno Haible  <bruno@clisp.org>
49801
49802         * modules/fwritable-tests: New file.
49803         * tests/test-fwritable.c: New file.
49804
49805         * modules/fwritable: New file.
49806         * lib/fwritable.h: New file.
49807         * lib/fwritable.c: New file.
49808         * m4/fwritable.m4: New file.
49809
49810 2007-04-13  Bruno Haible  <bruno@clisp.org>
49811
49812         * modules/freadable-tests: New file.
49813         * tests/test-freadable.c: New file.
49814
49815         * modules/freadable: New file.
49816         * lib/freadable.h: New file.
49817         * lib/freadable.c: New file.
49818         * m4/freadable.m4: New file.
49819
49820 2007-04-13  Bruno Haible  <bruno@clisp.org>
49821
49822         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
49823         MOSTLYCLEANFILES.
49824
49825 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
49826
49827         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
49828         gzip bootstrap.conf to avoid dragging in i18n machinery.
49829         (gnulib_tool_option): Use it.
49830
49831 2007-04-13  Bruno Haible  <bruno@clisp.org>
49832
49833         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
49834         %F directives.
49835         * tests/test-vasprintf-posix.c (test_function): Likewise.
49836         * tests/test-snprintf-posix.h (test_function): Likewise.
49837         * tests/test-sprintf-posix.h (test_function): Likewise.
49838         * tests/test-fprintf-posix.h (test_function): Likewise.
49839         * tests/test-printf-posix.h (test_function): Likewise.
49840         * tests/test-fprintf-posix.out: Likewise.
49841
49842 2007-04-13  Bruno Haible  <bruno@clisp.org>
49843
49844         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
49845         * modules/tls-tests (configure.ac): Likewise.
49846         Reported by Arto C. Nirkko <anirkko@insel.ch>.
49847
49848 2007-04-13  Bruno Haible  <bruno@clisp.org>
49849
49850         * lib/tls.c (glthread_tls_get): Fix return type.
49851         Patch by Arto C. Nirkko <anirkko@insel.ch>.
49852
49853 2007-04-12  Eric Blake  <ebb9@byu.net>
49854
49855         * modules/gettime (Depends-on): Remove gettime.
49856         Reported by Dmitry V. Levin.
49857
49858 2007-04-12  Bruno Haible  <bruno@clisp.org>
49859
49860         * modules/fflush (Include): Mention <stdio.h>.
49861         * modules/strtoimax (Include): Mention <inttypes.h>.
49862         * modules/strtoumax (Include): Likewise.
49863
49864 2007-04-12  Eric Blake  <ebb9@byu.net>
49865
49866         * .cvsignore: New file.
49867         * .gitignore: Likewise.
49868
49869 2007-04-12  Bruno Haible  <bruno@clisp.org>
49870
49871         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
49872         not before, since $(LDADD) often contains libgnu.a.
49873         * modules/striconv-tests (test_striconv_LDADD): Likewise.
49874         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
49875         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
49876         Needed on Cygwin.
49877
49878 2007-04-12  Eric Blake  <ebb9@byu.net>
49879
49880         Work around glibc's failure to flush stdin on fclose.
49881         * lib/closein.c (close_stdin): Flush stdin before closing.
49882
49883         Work around glibc's failure to reset seekable stdin on exit.
49884         * modules/closein: New module.
49885         * lib/closein.c: New file.
49886         * lib/closein.h: Likewise.
49887         * m4/closein.m4: Likewise.
49888         * MODULES.html.sh (File stream based Input/Output): Document it.
49889
49890 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49891
49892         * gnulib-tool: Rename generated 'autobuild' script to
49893         'do-autobuild' in --create-megatestdir output.
49894
49895         * doc/gnulib.texi (Build robot for gnulib): Fix.
49896
49897 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49898
49899         * modules/sysexits (Depends-on): Add absolute-header.
49900
49901 2007-04-12  Eric Blake  <ebb9@byu.net>
49902
49903         No need to preserve errno on success.
49904         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
49905         Reported by Bruno Haible.
49906
49907 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49908
49909         * MODULES.html.sh (Support for maintaining and releasing
49910         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
49911
49912 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49913
49914         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
49915
49916 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49917
49918         * modules/autobuild: New module.
49919
49920         * m4/autobuild.m4: New file.
49921
49922 2007-04-11  Bruno Haible  <bruno@clisp.org>
49923
49924         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
49925         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
49926         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
49927         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
49928         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49929         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49930         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49931         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49932         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49933         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49934         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
49935         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49936         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49937         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
49938         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49939         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49940         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
49941         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49942         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49943         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
49944         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49945         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49946         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
49947         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49948         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49949         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
49950         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49951         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49952         Reported by Eric Blake.
49953
49954 2007-04-11  Bruno Haible  <bruno@clisp.org>
49955
49956         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
49957
49958 2007-04-10  Bruno Haible  <bruno@clisp.org>
49959
49960         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
49961         for NaN and Infinity. Needed on FreeBSD 6.1.
49962         * tests/test-vasnprintf-posix.c (test_function): Undo last change
49963         regarding results for "%010a" of Infinity and NaN.
49964         * tests/test-vasprintf-posix.c (test_function): Likewise.
49965         * tests/test-snprintf-posix.h (test_function): Likewise.
49966         * tests/test-sprintf-posix.h (test_function): Likewise.
49967         * tests/test-fprintf-posix.h (test_function): Likewise.
49968         * tests/test-printf-posix.h (test_function): Likewise.
49969         * tests/test-fprintf-posix.out: Likewise.
49970
49971 2007-04-10  Bruno Haible  <bruno@clisp.org>
49972
49973         * modules/locale-tests: New file.
49974         * tests/test-locale.c: New file.
49975
49976         * modules/locale: New file.
49977         * lib/locale_.h: New file.
49978         * m4/locale_h.m4: New file.
49979
49980 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
49981             Bruno Haible  <bruno@clisp.org>
49982
49983         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
49984         be determined, test for availability of the copysignf, copysign,
49985         copysignl functions.
49986         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
49987         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
49988         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
49989
49990 2007-04-09  Eric Blake  <ebb9@byu.net>
49991
49992         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
49993         * modules/stdio (Makefile.am): Support fflush.
49994         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49995         * modules/fflush: New file.
49996         * lib/fflush.c: Likewise.
49997         * m4/fflush.m4: Likewise.
49998         * modules/fflush-tests: New test.
49999         * tests/test-fflush.c: Likewise.
50000         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
50001
50002 2007-04-06  Bruno Haible  <bruno@clisp.org>
50003
50004         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
50005         (VASNPRINTF): Use signbit for faster determination whether to print a
50006         minus sign.
50007         * modules/vasnprintf (Files): Remove lib/float+.h.
50008         * modules/fprintf-posix (Depends-on): Add signbit.
50009         * modules/snprintf-posix (Depends-on): Likewise.
50010         * modules/sprintf-posix (Depends-on): Likewise.
50011         * modules/vasnprintf-posix (Depends-on): Likewise.
50012         * modules/vasprintf-posix (Depends-on): Likewise.
50013         * modules/vfprintf-posix (Depends-on): Likewise.
50014         * modules/vsnprintf-posix (Depends-on): Likewise.
50015         * modules/vsprintf-posix (Depends-on): Likewise.
50016
50017 2007-04-06  Bruno Haible  <bruno@clisp.org>
50018
50019         * tests/test-frexp.c (main): Test also the sign bit of zero results.
50020         * tests/test-frexpl.c (main): Likewise.
50021         * tests/test-ldexpl.c (main): Likewise.
50022         * modules/frexp-tests (Depends-on): Add signbit.
50023         * modules/frexpl-tests (Depdends-on): Likewise.
50024         * modules/ldexpl-tests (Depdends-on): Likewise.
50025
50026 2007-04-06  Bruno Haible  <bruno@clisp.org>
50027
50028         * modules/signbit-tests: New file.
50029         * tests/test-signbit.c: New file.
50030
50031         * modules/signbit: New file.
50032         * lib/signbitf.c: New file.
50033         * lib/signbitd.c: New file.
50034         * lib/signbitl.c: New file.
50035         * m4/signbit.m4: New file.
50036         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
50037         (signbit): New macro.
50038         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
50039         REPLACE_SIGNBIT.
50040         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
50041         REPLACE_FREXPL into math.h.
50042
50043 2007-04-06  Bruno Haible  <bruno@clisp.org>
50044
50045         * modules/isnanf-nolibm-tests: New file.
50046         * tests/test-isnanf.c: New file.
50047
50048         * modules/isnanf-nolibm: New file.
50049         * lib/isnanf.h: New file.
50050         * lib/isnanf.c: New file.
50051         * lib/isnan.c: Consider the USE_FLOAT macro.
50052         * m4/isnanf.m4: New file.
50053
50054 2007-04-06  Bruno Haible  <bruno@clisp.org>
50055
50056         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
50057         (Link): New section.
50058
50059         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
50060
50061 2007-04-06  Bruno Haible  <bruno@clisp.org>
50062
50063         Assume the 'long double' type.
50064         * m4/longdouble.m4: Remove file.
50065         * config/srclist.txt: Don't mention longdouble.m4.
50066         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
50067         * lib/float+.h: Likewise.
50068         * lib/frexp.c: Likewise.
50069         * lib/printf-args.h: Likewise.
50070         * lib/printf-args.c: Likewise.
50071         * lib/printf-frexp.c: Likewise.
50072         * lib/printf-parse.c: Likewise.
50073         * lib/vasnprintf.c: Likewise.
50074         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
50075         * m4/intl.m4: Likewise.
50076         * m4/isnanl.m4: Likewise.
50077         * m4/printf.m4: Likewise.
50078         * m4/printf-frexpl.m4: Likewise.
50079         * m4/vasnprintf.m4: Likewise.
50080         * modules/allocsa (Files): Remove m4/longdouble.m4.
50081         * modules/gettext (Files): Likewise.
50082         * modules/relocatable-prog-wrapper (Files): Likewise.
50083         * modules/vasnprintf (Files): Likewise.
50084         * modules/isnanl (Files): Likewise.
50085         (Include): Simplify.
50086         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
50087         (Include): Simplify.
50088         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
50089         (Include): Simplify.
50090         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
50091         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50092         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
50093         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50094         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
50095         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50096         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
50097         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50098         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
50099         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50100         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
50101         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50102         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
50103         * tests/test-isnanl.c: Likewise.
50104         * tests/test-snprintf-posix.h: Likewise.
50105         * tests/test-sprintf-posix.h: Likewise.
50106         * tests/test-vasnprintf-posix.c: Likewise.
50107         * tests/test-vasnprintf-posix2.c: Likewise.
50108         * tests/test-vasprintf-posix.c: Likewise.
50109
50110 2007-04-06  Bruno Haible  <bruno@clisp.org>
50111
50112         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
50113         * lib/math_.h [__DECC]: Include the overridden include file through
50114         #include_next, outside the double-inclusion guard.
50115         * lib/stdio_.h [__DECC]: Likewise.
50116         * lib/stdlib_.h [__DECC]: Likewise.
50117         * lib/string_.h [__DECC]: Likewise.
50118         * lib/time_.h [__DECC]: Likewise.
50119         * lib/wchar_.h [__DECC]: Likewise.
50120         * lib/wctype_.h [__DECC]: Likewise.
50121         * lib/inttypes_.h [__DECC]: Likewise.
50122         Reported by Albert Chin <china@thewrittenword.com> in
50123         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
50124
50125 2007-04-04  Eric Blake  <ebb9@byu.net>
50126
50127         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
50128         1.5.x.
50129
50130 2007-04-04  Bruno Haible  <bruno@clisp.org>
50131
50132         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
50133         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
50134
50135 2007-04-04  Bruno Haible  <bruno@clisp.org>
50136
50137         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
50138         results for "%010a" of Infinity and NaN.
50139         * tests/test-vasprintf-posix.c (test_function): Likewise.
50140         * tests/test-snprintf-posix.h (test_function): Likewise.
50141         * tests/test-sprintf-posix.h (test_function): Likewise.
50142         * tests/test-fprintf-posix.h (test_function): Remove these tests.
50143         * tests/test-printf-posix.h (test_function): Likewise.
50144         * tests/test-fprintf-posix.out: Update.
50145         Needed for FreeBSD 6.1.
50146
50147 2007-04-04  Bruno Haible  <bruno@clisp.org>
50148
50149         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
50150         directly used by the gnulib modules nor by gnulib-tool.
50151
50152 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50153
50154         * DEPENDENCIES: Give overall description of version dependency
50155         desirability.  Use more-typical names for apps.
50156         Add shell, coreutils, diffutils, grep, tar, gzip.
50157
50158 2007-04-04  Simon Josefsson  <simon@josefsson.org>
50159
50160         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
50161
50162 2007-04-04  Karl Berry  <karl@gnu.org>
50163
50164         * MODULES.html.sh (func_module): missing '.
50165
50166 2007-04-03  Bruno Haible  <bruno@clisp.org>
50167
50168         * modules/argmatch-tests (Makefile.am): New variable
50169         test_argmatch_LDADD.
50170         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
50171         * modules/array-list-tests (Makefile.am): New variable
50172         test_array_list_LDADD.
50173         * modules/array-oset-tests (Makefile.am): New variable
50174         test_array_oset_LDADD.
50175         * modules/avltree-list-tests (Makefile.am): New variable
50176         test_avltree_list_LDADD.
50177         * modules/avltree-oset-tests (Makefile.am): New variable
50178         test_avltree_oset_LDADD.
50179         * modules/avltreehash-list-tests (Makefile.am): New variable
50180         test_avltreehash_list_LDADD.
50181         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
50182         test_canonicalize_lgpl_LDADD.
50183         * modules/carray-list-tests (Makefile.am): New variable
50184         test_carray_list_LDADD.
50185         * modules/dirname-tests (Makefile.am): New variable
50186         test_dirname_LDADD.
50187         * modules/linked-list-tests (Makefile.am): New variable
50188         test_linked_list_LDADD.
50189         * modules/linkedhash-list-tests (Makefile.am): New variable
50190         test_linkedhash_list_LDADD.
50191         * modules/rbtree-list-tests (Makefile.am): New variable
50192         test_rbtree_list_LDADD.
50193         * modules/rbtree-oset-tests (Makefile.am): New variable
50194         test_rbtree_oset_LDADD.
50195         * modules/rbtreehash-list-tests (Makefile.am): New variable
50196         test_rbtreehash_list_LDADD.
50197         * modules/xvasprintf-tests (Makefile.am): New variable
50198         test_xvasprintf_LDADD.
50199         Reported by Eric Blake.
50200
50201 2007-04-03  Eric Blake  <ebb9@byu.net>
50202
50203         * DEPENDENCIES: Weaken m4 requirements.
50204
50205 2007-04-03  Bruno Haible  <bruno@clisp.org>
50206
50207         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
50208         * modules/isnanl-tests (configure.ac): Likewise.
50209
50210 2007-04-03  Ben Pfaff  <blp@gnu.org>
50211
50212         * modules/iconv_open: Add $(srcdir)/ to source directory
50213         references in Makefile fragments that call gperf, to fix VPATH
50214         builds.
50215
50216 2007-04-03  Bruno Haible  <bruno@clisp.org>
50217
50218         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
50219         * lib/ldexpl.c: Undo last change.
50220
50221 2007-04-03  Bruno Haible  <bruno@clisp.org>
50222
50223         * modules/printf-frexpl (Depends-on): Undo last change.
50224         (Files): Add m4/ldexpl.m4.
50225
50226 2007-04-03  Bruno Haible  <bruno@clisp.org>
50227
50228         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
50229         * modules/isnanl (Link): New section.
50230
50231         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
50232         * modules/frexp (Link): New section.
50233
50234         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
50235         * modules/frexpl (Link): New section.
50236
50237         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
50238         * modules/ldexpl (Link): New section.
50239
50240 2007-04-03  Bruno Haible  <bruno@clisp.org>
50241
50242         * modules/TEMPLATE-EXTENDED: New file.
50243         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
50244
50245 2007-04-03  Bruno Haible  <bruno@clisp.org>
50246
50247         * DEPENDENCIES: New file.
50248         Suggested by Simon Josefsson.
50249
50250 2007-04-03  Bruno Haible  <bruno@clisp.org>
50251
50252         * doc/gnulib.texi: Escape @.
50253
50254 2007-04-03  James Youngman  <jay@gnu.org>
50255         and Paul Eggert  <eggert@cs.ucla.edu>
50256
50257         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
50258         birthtime on all systems that have birthtime, not just those which
50259         use st_birthtimensec rather than st_birthtim.  Putting zero in
50260         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
50261         that the birth time is not available for files on an NFS mount.
50262
50263 2007-04-03  Simon Josefsson  <simon@josefsson.org>
50264
50265         * modules/memxor: Move back from crypto/, suggested by Bruno.
50266         * modules/crypto/hmac-sha1: Fix memxor dependency.
50267
50268         * modules/crypto/gc: Moved from ../.
50269
50270 2007-04-02  Eric Blake  <ebb9@byu.net>
50271
50272         * lib/ldexpl.c (includes): Avoid libm.
50273
50274         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
50275
50276 2007-04-02  Bruno Haible  <bruno@clisp.org>
50277
50278         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
50279         on IRIX.
50280
50281 2007-04-02  Bruno Haible  <bruno@clisp.org>
50282
50283         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
50284         x86 or x86_64 platforms running MacOS X.
50285         Reported by Ryan Schmidt <@ryandesign.com>.
50286
50287 2007-04-02  Bruno Haible  <bruno@clisp.org>
50288
50289         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
50290         i386.
50291
50292 2007-04-01  Simon Josefsson  <simon@josefsson.org>
50293
50294         * modules/crypto/arcfour: Moved from ../.
50295         * modules/crypto/arcfour-tests: Moved from ../.
50296         * modules/crypto/arctwo: Moved from ../.
50297         * modules/crypto/arctwo-tests: Moved from ../.
50298         * modules/crypto/des: Moved from ../.
50299         * modules/crypto/des-tests: Moved from ../.
50300         * modules/crypto/gc-arcfour: Moved from ../.
50301         * modules/crypto/gc-arcfour-tests: Moved from ../.
50302         * modules/crypto/gc-arctwo: Moved from ../.
50303         * modules/crypto/gc-arctwo-tests: Moved from ../.
50304         * modules/crypto/gc-des: Moved from ../.
50305         * modules/crypto/gc-des-tests: Moved from ../.
50306         * modules/crypto/gc-hmac-md5: Moved from ../.
50307         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
50308         * modules/crypto/gc-hmac-sha1: Moved from ../.
50309         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
50310         * modules/crypto/gc-md2: Moved from ../.
50311         * modules/crypto/gc-md2-tests: Moved from ../.
50312         * modules/crypto/gc-md4: Moved from ../.
50313         * modules/crypto/gc-md4-tests: Moved from ../.
50314         * modules/crypto/gc-md5: Moved from ../.
50315         * modules/crypto/gc-md5-tests: Moved from ../.
50316         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
50317         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
50318         * modules/crypto/gc-random: Moved from ../.
50319         * modules/crypto/gc-rijndael: Moved from ../.
50320         * modules/crypto/gc-rijndael-tests: Moved from ../.
50321         * modules/crypto/gc-sha1: Moved from ../.
50322         * modules/crypto/gc-sha1-tests: Moved from ../.
50323         * modules/crypto/gc-tests: Moved from ../.
50324         * modules/crypto/hmac-md5: Moved from ../.
50325         * modules/crypto/hmac-md5-tests: Moved from ../.
50326         * modules/crypto/hmac-sha1: Moved from ../.
50327         * modules/crypto/hmac-sha1-tests: Moved from ../.
50328         * modules/crypto/md2: Moved from ../.
50329         * modules/crypto/md2-tests: Moved from ../.
50330         * modules/crypto/md4: Moved from ../.
50331         * modules/crypto/md4-tests: Moved from ../.
50332         * modules/crypto/md5: Moved from ../.
50333         * modules/crypto/md5-tests: Moved from ../.
50334         * modules/crypto/memxor: Moved from ../.
50335         * modules/crypto/rijndael: Moved from ../.
50336         * modules/crypto/rijndael-tests: Moved from ../.
50337         * modules/crypto/sha1: Moved from ../.
50338
50339 2007-03-30  James Youngman  <jay@gnu.org>
50340
50341         * tests/test-stat-time.c (prepare_test): use chmod() rather than
50342         rename() to change the ctime of a file (because ctime is unaffected
50343         by rename on jfs2 on AIX 5.1).
50344         (main): Start by doing cleanup, in case a previous run failed leaving
50345         test files behind.
50346
50347 2007-03-31  Bruno Haible  <bruno@clisp.org>
50348
50349         Support old proprietary implementations of iconv.
50350         * modules/iconv_open: New file.
50351         * lib/iconv_.h: New file.
50352         * m4/iconv_h.m4: New file.
50353         * lib/iconv_open.c: New file.
50354         * lib/iconv_open-aix.gperf: New file.
50355         * lib/iconv_open-hpux.gperf: New file.
50356         * lib/iconv_open-irix.gperf: New file.
50357         * lib/iconv_open-osf.gperf: New file.
50358         * m4/iconv_open.m4: New file.
50359         * modules/linebreak (Depends-on): Add iconv_open.
50360         * modules/striconv (Depends-on): Likewise.
50361         * modules/striconveh (Depends-on): Likewise.
50362         * modules/unicodeio (Depends-on): Likewise.
50363         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
50364         (iconv_t)(-1).
50365         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
50366         conversion if cd is (iconv_t)(-1).
50367         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
50368         is not possible.
50369
50370 2007-03-31  Bruno Haible  <bruno@clisp.org>
50371
50372         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50373         work on Solaris either. Protect also second use of "autodetect_jp".
50374
50375 2007-03-31  Bruno Haible  <bruno@clisp.org>
50376
50377         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
50378         the function is not present.
50379
50380 2007-03-31  Bruno Haible  <bruno@clisp.org>
50381
50382         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
50383         the function is not present.
50384
50385 2007-03-31  Bruno Haible  <bruno@clisp.org>
50386
50387         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
50388         a bug in HP-UX iconv_open().
50389
50390 2007-03-31  Bruno Haible  <bruno@clisp.org>
50391
50392         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
50393         (Mathematics <math.h>): New section, add fpieee.
50394         (Input/output <stdio.h>): Add fseterr.
50395         (Mathematics <math.h>): New section, add printf-frexp.
50396         (Container data structures): Add sublist.
50397         (Core language properties): Add fpucw, inline.
50398         (Functions for greatest-width integer types <inttypes.h>): Add
50399         imaxabs, imaxdiv, inttypes.
50400         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
50401         isnanl-nolibm, ldexp.
50402         (Mathematics <math.h>): New section, add printf-frexpl.
50403         (Support for systems lacking POSIX:2001): Add fprintf-posix,
50404         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
50405         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
50406         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
50407         (Unicode string functions): Add unistr/u*-mbtoucr.
50408         (Java): Add javacomp-script, javaexec-script.
50409         (C#): Add csharpcomp-script, csharpexec-script.
50410         (Support for building libraries and executables): Add havelib,
50411         relocatable-*.
50412         (Support for maintaining and releasing projects): Renamed from
50413         'Support for maintaining and release projects'. Add announce-gen.
50414
50415 2007-03-31  Bruno Haible  <bruno@clisp.org>
50416
50417         * README: Talk primarily about git.
50418         (git and CVS): Renamed from CVS.
50419         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
50420         gnulib is available through git.
50421         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
50422
50423 2007-03-30  Bruno Haible  <bruno@clisp.org>
50424
50425         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
50426         * lib/poll_.h: Likewise.
50427         * lib/stat_.h: Likewise.
50428         * lib/sys_time_.h: Likewise.
50429         * lib/sysexit_.h: Likewise.
50430         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
50431         * lib/stdbool_.h: Likewise.
50432         * lib/byteswap_.h: Add double-inclusion guard.
50433
50434 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
50435
50436         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
50437
50438 2007-03-30  Karl Berry  <karl@gnu.org>
50439
50440         * config/srclist-update: double space after USA in the license
50441         substitution, since that's how it's usually (?) written.
50442
50443 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50444
50445         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
50446         reported by Bruno Haible.
50447
50448 2007-03-29  Bruno Haible  <bruno@clisp.org>
50449
50450         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
50451         a bug in AIX iconv().
50452
50453 2007-03-29  Bruno Haible  <bruno@clisp.org>
50454
50455         * modules/ldexpl-tests: New file.
50456         * tests/test-ldexpl.c: New file.
50457
50458 2007-03-29  Bruno Haible  <bruno@clisp.org>
50459
50460         * lib/ldexpl.c: Include fpucw.h.
50461         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
50462         multiplication.
50463         * modules/ldexpl (Depends-on): Add fpucw.
50464
50465 2007-03-29  Bruno Haible  <bruno@clisp.org>
50466
50467         * modules/ldexpl: New file.
50468         * m4/ldexpl.m4: New file.
50469         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
50470         set.
50471         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
50472         REPLACE_LDEXPL.
50473         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
50474         REPLACE_LDEXPL.
50475         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50476         gl_FUNC_LDEXPL_WORKS.
50477         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
50478         * modules/mathl (Files): Remove lib/ldexpl.c.
50479         (Depends-on): Add ldexpl.
50480
50481 2007-03-29  Bruno Haible  <bruno@clisp.org>
50482
50483         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
50484
50485 2007-03-29  Bruno Haible  <bruno@clisp.org>
50486
50487         * tests/test-striconveh.c (main): Don't assume that a direct conversion
50488         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
50489         and possibly also HP-UX.
50490         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50491         work on AIX, IRIX, HP-UX, OSF/1.
50492         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
50493         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
50494         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
50495         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
50496         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
50497         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
50498
50499 2007-03-29  Bruno Haible  <bruno@clisp.org>
50500
50501         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
50502
50503 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50504
50505         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
50506         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
50507
50508 2007-03-29  Eric Blake  <ebb9@byu.net>
50509
50510         * lib/acl-internal.h: Remove redundant include.
50511         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
50512         Cygwin when a file is locked.
50513
50514 2007-03-29  Bruno Haible  <bruno@clisp.org>
50515
50516         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
50517         file.
50518         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
50519
50520 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50521
50522         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
50523         try to remove a parent directory if the child couldn't be removed
50524         (except for the first rmdir, which could fail because the child
50525         doesn't exist).  Problem reported by Jeff Blaine in
50526         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
50527
50528 2007-03-28  Bruno Haible  <bruno@clisp.org>
50529
50530         * lib/striconveh.c (utf8conv_carefully): New function.
50531         (mem_cd_iconveh_internal): Invoke it.
50532
50533 2007-03-28  Bruno Haible  <bruno@clisp.org>
50534
50535         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
50536         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
50537         input.
50538         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
50539         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
50540         unistr/u8-uctomb.
50541
50542 2007-03-28  Bruno Haible  <bruno@clisp.org>
50543
50544         * modules/unistr/u8-mbtoucr: New file.
50545         * lib/unistr/u8-mbtoucr.c: New file.
50546         * modules/unistr/u16-mbtoucr: New file.
50547         * lib/unistr/u16-mbtoucr.c: New file.
50548         * modules/unistr/u16-mbtoucr: New file.
50549         * lib/unistr/u16-mbtoucr.c: New file.
50550         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
50551
50552 2007-03-27  Simon Josefsson  <simon@josefsson.org>
50553             Bruno Haible  <bruno@clisp.org>
50554
50555         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
50556         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
50557         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
50558
50559         * m4/stdio_h.m4: Add stubs for vasprintf too.
50560
50561         * modules/stdio: Support vasprintf in sed command.
50562
50563         * modules/vasprintf: Depend on stdio for prototypes.  Remove
50564         vasprintf.h.  Add stdio module indicator.
50565
50566         * lib/stdio_.h: Declare asprintf and vasprintf, based on
50567         vasprintf.h.
50568
50569         * lib/vasprintf.h: File removed.
50570
50571         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
50572         * lib/vasprintf.c: Ditto.
50573         * lib/xvasprintf.c: Ditto.
50574         * tests/test-vasprintf-posix.c: Ditto.
50575         * tests/test-vasprintf.c: Ditto.
50576
50577 2007-03-27  Bruno Haible  <bruno@clisp.org>
50578
50579         Make vasnprintf multithread-safe.
50580         * lib/vasnprintf.c (decimal_point_char): New function.
50581         (VASNPRINTF): Use it.
50582         Suggested by Simon Josefsson.
50583
50584 2007-03-27  Eric Blake  <ebb9@byu.net>
50585
50586         Support sub-second birthtime on cygwin.
50587         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
50588         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
50589         (get_stat_birthtime): Also work with st_birthtim.
50590
50591 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
50592
50593         * lib/stat-time.h (USE_BIRTHTIME): Remove.
50594         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
50595         (get_stat_birthtime_ns): Do not try to use "spare" fields.
50596         (get_stat_birthtime_ns): Simplify compile-time tests.
50597         (get_stat_birthtime): Change the API to look like
50598         get_stat_mtime etc., except return a negative tv_nsec on error.
50599         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
50600         Don't check for "spare" fields.
50601         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
50602         or for struct stat.st_birthtime, as these tests aren't used.
50603         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
50604
50605 2007-03-27  Bruno Haible  <bruno@clisp.org>
50606
50607         * lib/stat-time.h: Include <sys/stat.h>.
50608
50609 2007-03-27  James Youngman  <jay@gnu.org>
50610
50611         * lib/stat-time.h (get_stat_birthtime): New function for
50612           retrieving st_birthtime as provided by UFS2 (hence *BSD).
50613         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
50614           and its variants.
50615         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
50616         * modules/stat-time-test: New file.
50617         * tests/test-stat-time.c: New test, devised by Bruno Haible.
50618
50619 2007-03-26  Bruno Haible  <bruno@clisp.org>
50620
50621         Better support of signalling NaNs.
50622         * lib/atanl.c: Include isnanl.h.
50623         (atanl): Perform test for NaN at the beginning of the function and
50624         through a call to isnanl.
50625         * lib/cosl.c: Include isnanl.h.
50626         (cosl): Perform test for NaN at the beginning of the function and
50627         through a call to isnanl.
50628         * lib/ldexpl.c: Include isnanl.h.
50629         (ldexpl): Perform test for NaN through a call to isnanl.
50630         * lib/logl.c: Include isnanl.h.
50631         (logl): Perform test for NaN at the beginning of the function and
50632         through a call to isnanl.
50633         * lib/sinl.c: Include isnanl.h.
50634         (sinl): Perform test for NaN at the beginning of the function and
50635         through a call to isnanl.
50636         * lib/sqrtl.c: Include isnanl.h.
50637         (sqrtl): Perform test for NaN at the beginning of the function and
50638         through a call to isnanl.
50639         * lib/tanl.c: Include isnanl.h.
50640         (tanl): Perform test for NaN at the beginning of the function and
50641         through a call to isnanl.
50642         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
50643         * modules/mathl (Depends-on): Add isnanl.
50644
50645 2007-03-26  Eric Blake  <ebb9@byu.net>
50646
50647         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
50648         regression in logic sense of previous patch.
50649
50650 2007-03-26  Bruno Haible  <bruno@clisp.org>
50651
50652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
50653         unportable shell command "if ! ...".
50654         Reported by Ralf Wildenhues.
50655
50656 2007-03-25  Bruno Haible  <bruno@clisp.org>
50657
50658         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
50659         <sysexits.h> file, and only add EX_CONFIG.
50660         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
50661         absolute file name and whether it is sufficient. Substitute also
50662         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
50663         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
50664         ABSOLUTE_SYSEXITS_H into sysexits.h.
50665
50666 2007-03-25  Bruno Haible  <bruno@clisp.org>
50667
50668         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
50669         hints is NULL.
50670
50671 2007-03-25  Bruno Haible  <bruno@clisp.org>
50672
50673         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
50674         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
50675
50676 2007-03-25  Bruno Haible  <bruno@clisp.org>
50677
50678         * lib/vasnprintf.c: Include langinfo.h.
50679         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
50680         multithread-safe.
50681         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
50682         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
50683         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50684         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50685         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50686         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50687         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50688         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
50689         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50690         Reported by Simon Josefsson.
50691
50692 2007-03-25  Bruno Haible  <bruno@clisp.org>
50693
50694         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
50695         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
50696         * modules/vasnprintf (Depends-on): Add stdint.
50697
50698 2007-03-25  Bruno Haible  <bruno@clisp.org>
50699
50700         * modules/fpieee: New file.
50701         * m4/fpieee.m4: New file.
50702         * modules/isnan-nolibm (Depends-on): Add fpieee.
50703         * modules/isnanl-nolibm (Depends-on): Add fpieee.
50704         * modules/isnanl (Depends-on): Add fpieee.
50705
50706 2007-03-25  Bruno Haible  <bruno@clisp.org>
50707
50708         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
50709
50710 2007-03-25  Bruno Haible  <bruno@clisp.org>
50711
50712         Avoid test failures on IRIX 6.5.
50713         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
50714         (main): Use it.
50715         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
50716         macros.
50717         (main): Use them.
50718
50719 2007-03-25  Bruno Haible  <bruno@clisp.org>
50720
50721         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
50722         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
50723         exists but doesn't work.
50724         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
50725         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
50726         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
50727         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
50728
50729 2007-03-25  Bruno Haible  <bruno@clisp.org>
50730
50731         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
50732         returns inf. Needed on IRIX 6.5.
50733
50734 2007-03-25  Bruno Haible  <bruno@clisp.org>
50735
50736         * tests/test-frexpl.c: Include isnanl-nolibm.h.
50737         (main): Use isnanl instead of x != x idiom.
50738         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
50739
50740         * tests/test-frexp.c: Include isnan.h.
50741         (main): Use isnan instead of x != x idiom.
50742         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
50743
50744 2007-03-25  Bruno Haible  <bruno@clisp.org>
50745
50746         * tests/test-frexp.c (NaN): New function/macro.
50747         (main): Use it instead of 0.0 / 0.0.
50748         * tests/test-isnan.c (NaN): New function/macro.
50749         (main): Use it instead of 0.0 / 0.0.
50750         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
50751         (test_function): Use it instead of 0.0 / 0.0.
50752         * tests/test-vasprintf-posix.c (NaN): New function/macro.
50753         (test_function): Use it instead of 0.0 / 0.0.
50754         * tests/test-snprintf-posix.h (NaN): New function/macro.
50755         (test_function): Use it instead of 0.0 / 0.0.
50756         * tests/test-sprintf-posix.h (NaN): New function/macro.
50757         (test_function): Use it instead of 0.0 / 0.0.
50758         * tests/test-fprintf-posix.h (NaN): New function/macro.
50759         (test_function): Use it instead of 0.0 / 0.0.
50760         * tests/test-printf-posix.h (NaN): New function/macro.
50761         (test_function): Use it instead of 0.0 / 0.0.
50762
50763         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
50764
50765 2007-03-25  Bruno Haible  <bruno@clisp.org>
50766
50767         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
50768
50769 2007-03-25  Bruno Haible  <bruno@clisp.org>
50770
50771         * lib/regexec.c (merge_state_with_log): Make static.
50772
50773 2007-03-25  Bruno Haible  <bruno@clisp.org>
50774
50775         * lib/trigl.c (kernel_rem_pio2): Make static.
50776
50777 2007-03-25  Bruno Haible  <bruno@clisp.org>
50778
50779         * lib/sincosl.c (sincosl_table): Make static.
50780
50781 2007-03-25  Bruno Haible  <bruno@clisp.org>
50782
50783         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
50784         if the compiler does not support C99.
50785
50786 2007-03-25  Bruno Haible  <bruno@clisp.org>
50787
50788         * modules/time (Makefile.am): Ensure all rule action lines start with a
50789         tab.
50790
50791 2007-03-24  Bruno Haible  <bruno@clisp.org>
50792
50793         * modules/tsearch-tests: New file.
50794         * tests/test-tsearch.sh: New file.
50795         * tests/test-tsearch.c: New file, mostly copied from glibc.
50796
50797         * modules/search-tests: New file.
50798         * tests/test-search.c: New file.
50799
50800         * modules/search: New file.
50801         * lib/search_.h: New file, incorporating lib/tsearch.h.
50802         * m4/search_h.m4: New file.
50803         * lib/tsearch.h: Remove file.
50804         * lib/tsearch.c: Include search.h instead of tsearch.h.
50805         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
50806         HAVE_TSEARCH.
50807         * modules/tsearch (Files): Remove lib/tsearch.h.
50808         (Depends-on): Add search.
50809         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
50810         (Include): Change tsearch.h into search.h.
50811
50812 2007-03-24  Bruno Haible  <bruno@clisp.org>
50813
50814         * modules/fpucw: New file.
50815         * lib/fpucw.h: New file.
50816         * lib/frexp.c: Include fpucw.h.
50817         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50818         (FUNC): Use them.
50819         * lib/printf-frexp.c: Include fpucw.h.
50820         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50821         (FUNC): Use them.
50822         * lib/vasnprintf.c: Include fpucw.h.
50823         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
50824         'long double' calculations.
50825         * tests/test-frexpl.c: Include fpucw.h.
50826         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50827         * tests/test-printf-frexpl.c: Include fpucw.h.
50828         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50829         * modules/frexpl (Depends-on): Add fpucw.
50830         * modules/printf-frexpl (Depends-on): Likewise.
50831         * modules/fprintf-posix (Depends-on): Likewise.
50832         * modules/snprintf-posix (Depends-on): Likewise.
50833         * modules/sprintf-posix (Depends-on): Likewise.
50834         * modules/vasnprintf-posix (Depends-on): Likewise.
50835         * modules/vasprintf-posix (Depends-on): Likewise.
50836         * modules/vfprintf-posix (Depends-on): Likewise.
50837         * modules/vsnprintf-posix (Depends-on): Likewise.
50838         * modules/vsprintf-posix (Depends-on): Likewise.
50839         * modules/frexpl-tests (Depends-on): Likewise.
50840         * modules/printf-frexpl-tests (Depends-on): Likewise.
50841
50842 2007-03-24  Bruno Haible  <bruno@clisp.org>
50843
50844         * lib/float+.h: New file.
50845         * lib/isnan.c: Include float+.h.
50846         (SIZE): New macro.
50847         (FUNC): Compare only SIZE bytes of the value.
50848         * lib/vasnprintf.c: Include float+.h.
50849         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
50850         SIZEOF_LDBL or SIZEOF_DBL bytes.
50851         * modules/isnan-nolibm (Files): Add lib/float+.h.
50852         * modules/isnanl-nolibm (Files): Add lib/float+.h.
50853         * modules/isnanl (Files): Add lib/float+.h.
50854         * modules/vasnprintf (Files): Add lib/float+.h.
50855
50856 2007-03-24  Bruno Haible  <bruno@clisp.org>
50857
50858         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
50859         include isnanl-nolibm.h.
50860
50861 2007-03-24  Bruno Haible  <bruno@clisp.org>
50862
50863         * tests/test-read-file.c (main): Don't produce spurious output for
50864         expected situations. Make the test fail if it encountered unexpected
50865         results.
50866
50867 2007-03-24  Bruno Haible  <bruno@clisp.org>
50868
50869         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
50870         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
50871
50872 2007-03-24  Bruno Haible  <bruno@clisp.org>
50873
50874         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
50875
50876 2007-03-24  Bruno Haible  <bruno@clisp.org>
50877
50878         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
50879         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
50880
50881         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
50882         * modules/utf8-ucs4: Turn into a symbolic link to module
50883         unistr/u8-mbtouc.
50884
50885         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
50886         utf8-ucs4-unsafe.
50887         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
50888         unistr/u8-mbtouc-unsafe.
50889
50890         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
50891         * modules/utf16-ucs4: Turn into a symbolic link to module
50892         unistr/u16-mbtouc.
50893
50894         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
50895         utf16-ucs4-unsafe.
50896         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
50897         unistr/u16-mbtouc-unsafe.
50898
50899         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
50900         * modules/ucs4-utf8: Turn into a symbolic link to module
50901         unistr/u8-ubtomb.
50902
50903         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
50904         * modules/ucs4-utf16: Turn into a symbolic link to module
50905         unistr/u16-ubtomb.
50906
50907 2007-03-24  Bruno Haible  <bruno@clisp.org>
50908
50909         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
50910         Enable the function only if HAVE_INLINE.
50911         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
50912         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50913         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
50914         Enable the function only if HAVE_INLINE.
50915         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
50916         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50917         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
50918         Enable the function only if HAVE_INLINE.
50919         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
50920         Enable the function only if HAVE_INLINE.
50921         * modules/utf8-ucs4: Update.
50922         * modules/utf8-ucs4-unsafe: Update.
50923         * modules/utf16-ucs4: Update.
50924         * modules/utf16-ucs4-unsafe: Update.
50925         * modules/ucs4-utf8: Update.
50926         * modules/ucs4-utf16: Update.
50927
50928 2007-03-24  Bruno Haible  <bruno@clisp.org>
50929
50930         * lib/utf8-ucs4.h: Remove file.
50931         * lib/utf8-ucs4-unsafe.h: Remove file.
50932         * lib/utf16-ucs4.h: Remove file.
50933         * lib/utf16-ucs4-unsafe.h: Remove file.
50934         * lib/ucs4-utf8.h: Remove file.
50935         * lib/ucs4-utf16.h: Remove file.
50936         * lib/unistr.h: Include their previous contents.
50937         * m4/utf-ucs4.m4: Remove file.
50938         * m4/ucs4-utf.m4: Remove file.
50939         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
50940         (Depends-on): Add unistr/base.
50941         (configure.ac): Remove gl_UTF_UCS4.
50942         (Makefile.am): Update.
50943         (Include): Change to unistr.h.
50944         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
50945         (Depends-on): Add unistr/base.
50946         (configure.ac): Remove gl_UTF_UCS4.
50947         (Makefile.am): Update.
50948         (Include): Change to unistr.h.
50949         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
50950         (Depends-on): Add unistr/base.
50951         (configure.ac): Remove gl_UTF_UCS4.
50952         (Makefile.am): Update.
50953         (Include): Change to unistr.h.
50954         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
50955         (Depends-on): Add unistr/base.
50956         (configure.ac): Remove gl_UTF_UCS4.
50957         (Makefile.am): Update.
50958         (Include): Change to unistr.h.
50959         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
50960         (Depends-on): Add unistr/base.
50961         (configure.ac): Remove gl_UCS4_UTF.
50962         (Makefile.am): Update.
50963         (Include): Change to unistr.h.
50964         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
50965         (Depends-on): Add unistr/base.
50966         (configure.ac): Remove gl_UCS4_UTF.
50967         (Makefile.am): Update.
50968         (Include): Change to unistr.h.
50969         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
50970         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
50971         utf8-ucs4-unsafe.h.
50972         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
50973         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
50974         utf16-ucs4-unsafe.h.
50975         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
50976         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
50977         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
50978         * lib/unistr/u8-strchr.c: Likewise.
50979         * lib/unistr/u8-strrchr.c: Likewise.
50980         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
50981         * lib/unistr/u16-strchr.c: Likewise.
50982         * lib/unistr/u16-strrchr.c: Likewise.
50983         * lib/striconveh.c: Update.
50984         * lib/linebreak.c: Update.
50985
50986 2007-03-24  Bruno Haible  <bruno@clisp.org>
50987
50988         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
50989         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
50990
50991 2007-03-22  Bruno Haible  <bruno@clisp.org>
50992
50993         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
50994
50995 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
50996
50997         * MODULES.html.sh (File system functions): New module write-any-file.
50998         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
50999         * m4/write-any-file.m4: New files.
51000
51001 2007-03-23  Eric Blake  <ebb9@byu.net>
51002
51003         * gnulib-tool: Rearrange space-tab sequences, since some editors
51004         like to eat them.
51005
51006 2007-03-23  Eric Blake  <ebb9@byu.net>
51007
51008         * lib/version-etc.c (version_etc_va): Update license wording to
51009         be more concise.  Recommended by Richard Stallman.
51010
51011 2007-03-22  Bruno Haible  <bruno@clisp.org>
51012
51013         * lib/poll.c (MSG_PEEK): New fallback definition.
51014
51015 2007-03-22  Bruno Haible  <bruno@clisp.org>
51016
51017         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
51018         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
51019         (main): Update.
51020         Fixes a compilation error on BeOS.
51021
51022 2007-03-22  Bruno Haible  <bruno@clisp.org>
51023
51024         * modules/frexpl-tests: New file.
51025         * tests/test-frexpl.c: New file.
51026
51027         * modules/frexpl: New file.
51028         * m4/frexpl.m4: New file.
51029         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
51030         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
51031         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
51032         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
51033         (Depends-on): Add frexpl. Remove isnanl-nolibm.
51034         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
51035
51036 2007-03-22  Bruno Haible  <bruno@clisp.org>
51037
51038         * lib/frexpl.c: Share code with lib/frexp.c.
51039         * modules/mathl (Files): Add lib/frexp.c.
51040         (Depends-on): Add isnanl-nolibm.
51041
51042 2007-03-22  Bruno Haible  <bruno@clisp.org>
51043
51044         * modules/printf-frexp (Files): Add m4/frexp.m4.
51045         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
51046         only if the found frexp function actually works.
51047
51048 2007-03-22  Bruno Haible  <bruno@clisp.org>
51049
51050         * lib/frexp.c: Remove older implementation that uses divisions.
51051
51052 2007-03-21  Bruno Haible  <bruno@clisp.org>
51053
51054         * modules/frexp-tests: New file.
51055         * tests/test-frexp.c: New file.
51056
51057         * modules/frexp: New file.
51058         * lib/frexp.c: New file.
51059         * m4/frexp.m4: New file.
51060         * lib/math_.h (frexp): New declaration.
51061         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
51062         REPLACE_FREXP.
51063         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
51064
51065 2007-03-21  Bruno Haible  <bruno@clisp.org>
51066
51067         * modules/isnanl-tests: New file.
51068         * tests/test-isnanl.c: New file.
51069
51070         * modules/isnanl: New file.
51071         * lib/isnanl.h: New file.
51072         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
51073         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
51074         gl_FUNC_ISNANL_WORKS.
51075         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
51076         New macros.
51077
51078 2007-03-21  Bruno Haible  <bruno@clisp.org>
51079
51080         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
51081         lib/isnanl.h.
51082         (Include): Update.
51083         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
51084         * lib/vasnprintf.c: Update.
51085         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
51086         tests/test-isnanl.h, remove tests/test-isnanl.c.
51087         (Makefile.am): Update.
51088         * tests/test-isnanl-nolibm.c: New file.
51089         * tests/test-isnanl.h: New file.
51090         * tests/test-isnanl.c: Remove file.
51091
51092 2007-03-21  Jim Meyering  <jim@meyering.net>
51093
51094         When trying to open ".", treat ESTALE like EACCES.
51095         * lib/savewd.c (savewd_save): Resort to forking not just upon
51096         failure with EACCES, but also when errno is ESTALE.
51097
51098 2007-03-20  Bruno Haible  <bruno@clisp.org>
51099
51100         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
51101         Needed on AIX 5.1. Reported by Matthew Woehlke.
51102
51103 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51104
51105         Suggestions by Bruno Haible:
51106         * lib/acl-internal.h: Include "gettext.h" rather than rolling
51107         our own.
51108         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
51109         * modules/acl (Depends-on): Add gettext.
51110
51111 2007-03-19  Bruno Haible  <bruno@clisp.org>
51112
51113         * modules/iconvme: Remove file.
51114         * lib/iconvme.h: Remove file.
51115         * lib/iconvme.c: Remove file.
51116         * m4/iconvme.m4: Remove file.
51117
51118 2007-03-19  Bruno Haible  <bruno@clisp.org>
51119
51120         * doc/relocatable-maint.texi: Break long shell script line.
51121         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
51122
51123 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51124
51125         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
51126         handle file_has_acl.
51127         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
51128         * lib/acl.c: Move header inclusions and related macro defns into
51129         lib/acl-internal.h.
51130         (S_ISLNK): Remove defn, since that's now done for us.
51131         (file_has_acl): Move to lib/file-has-acl.c.
51132         Call acl_trivial if available.  This is the crucial part of the fix.
51133         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
51134         shared within the library.  Rewrite a bit, partly to make it compatible
51135         with the GNU coding style.
51136         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
51137         Remove unnecessary double-quotes.
51138         Don't test for acl_to_text; the build will catch that.
51139         Replace acl_entries if it doesn't exist and it is needed.
51140         Check for -lsec and acl_trivial (as used on Solaris 10).
51141         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
51142         lib/file-has-acl.c.
51143         (Depends-on): Add sys_stat, for S_ISLNK.
51144
51145 2007-03-19  Ben Pfaff  <blp@gnu.org>
51146
51147         * doc/gnulib.texi: Fix typos.
51148         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
51149
51150 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51151
51152         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
51153         If size is zero here, buf must be zero.
51154
51155 2007-03-19  Simon Josefsson  <simon@josefsson.org>
51156
51157         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
51158         <bruno@clisp.org>.
51159
51160 2007-03-18  Bruno Haible  <bruno@clisp.org>
51161
51162         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
51163         Suggested by Eric Blake.
51164
51165 2007-03-18  Ben Pfaff  <blp@gnu.org>
51166
51167         * doc/relocatable.texi: Recommend using as prefix a directory
51168         that does not exist and will never be created.  Based on
51169         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
51170         and others.
51171
51172 2007-03-17  Bruno Haible  <bruno@clisp.org>
51173
51174         * lib/fchownat.c: Include lchown.h.
51175
51176 2007-03-17  Bruno Haible  <bruno@clisp.org>
51177
51178         Fix endless loop when the given allocated size was > INT_MAX.
51179         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
51180         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
51181         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
51182         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
51183         * lib/sprintf.c (sprintf): Likewise.
51184
51185 2007-03-17  Bruno Haible  <bruno@clisp.org>
51186
51187         * tests/test-argp-2.sh (func_compare): Output a context diff.
51188
51189 2007-03-17  Bruno Haible  <bruno@clisp.org>
51190
51191         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
51192         locale's decimal-point character.
51193
51194 2007-03-17  Bruno Haible  <bruno@clisp.org>
51195
51196         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
51197         before comparing it. Needed because on some platforms (e.g. x86) a
51198         'long double' occupies less bytes than sizeof (long double).
51199
51200 2007-03-17  Bruno Haible  <bruno@clisp.org>
51201
51202         * tests/test-crc.c (main): Make printf statements 64-bit clean.
51203         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
51204         * tests/test-getaddrinfo.c (simple): Likewise.
51205         * tests/test-read-file.c (main): Likewise.
51206
51207 2007-03-17  Bruno Haible  <bruno@clisp.org>
51208
51209         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
51210
51211 2007-03-17  Bruno Haible  <bruno@clisp.org>
51212
51213         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
51214         unused variable.
51215
51216 2007-03-17  Bruno Haible  <bruno@clisp.org>
51217
51218         * tests/test-c-strcasecmp.c: Include c-strcase.h.
51219         * tests/test-c-strncasecmp.c: Likewise.
51220
51221 2007-03-17  Bruno Haible  <bruno@clisp.org>
51222
51223         * modules/stdlib (Depends-on): Add unistd.
51224         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
51225         Needed for MacOS X 10.3.
51226
51227 2007-03-17  Bruno Haible  <bruno@clisp.org>
51228
51229         * lib/unistr/u-strdup.h: Include <stdlib.h>.
51230
51231 2007-03-17  Bruno Haible  <bruno@clisp.org>
51232
51233         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
51234
51235 2007-03-17  Bruno Haible  <bruno@clisp.org>
51236
51237         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
51238         to reflect files copied from gnulib (with or without modifications).
51239         Suggested by Jim Meyering.
51240
51241 2007-03-17  Eric Blake  <ebb9@byu.net>
51242
51243         * NEWS: Document stdlib change from 2007-02-18.
51244
51245 2007-03-17  Jim Meyering  <jim@meyering.net>
51246
51247         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
51248         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
51249         someone uses a name containing shell meta-characters.
51250         Reported by Alfred M. Szmidt.
51251
51252         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
51253
51254 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
51255
51256         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
51257         and copy gettext configuration files only if configure.ac contains
51258         a use of AM_GNU_GETTEXT_VERSION.
51259
51260 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
51261
51262         * build-aux/bootstrap (gnulib_name): New variable.
51263         (gnulib_tool_options): Use it.
51264
51265 2007-03-13  Simon Josefsson  <simon@josefsson.org>
51266
51267         * tests/test-des.c: Use new namespace.
51268
51269 2007-03-15  Bruno Haible  <bruno@clisp.org>
51270
51271         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
51272         Reported by James Youngman <jay@gnu.org>.
51273
51274 2007-03-15  Bruno Haible  <bruno@clisp.org>
51275
51276         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
51277         declared prototype. Needed with cc on OSF/1 5.1.
51278
51279 2007-03-15  Bruno Haible  <bruno@clisp.org>
51280
51281         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
51282         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
51283         (struct gl_list_implementation): Add dispose_fn argument to the
51284         'create_empty', 'create' methods.
51285         (struct gl_list_impl_base): Add field 'dispose_fn'.
51286         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
51287         argument.
51288         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
51289         dispose_fn argument.
51290         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
51291         dispose_fn on the dropped values.
51292         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
51293         dispose_fn argument.
51294         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
51295         dropped values.
51296         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
51297         (gl_tree_remove_node): Call dispose_fn on the dropped value.
51298         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
51299         (gl_tree_remove_node): Call dispose_fn on the dropped value.
51300         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
51301         argument.
51302         (gl_tree_list_free): Call dispose_fn on the dropped values.
51303         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
51304         the dropped values.
51305         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
51306         Add dispose_fn argument.
51307         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
51308         Call dispose_fn on the dropped values.
51309         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
51310         Add dispose_fn argument.
51311         (gl_sublist_create): Initialize the 'dispose_fn' field.
51312         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
51313         * tests/test-array_list.c (main): Update.
51314         * tests/test-carray_list.c (main): Update.
51315         * tests/test-avltree_list.c (main): Update.
51316         * tests/test-rbtree_list.c (main): Update.
51317         * tests/test-avltreehash_list.c (main): Update.
51318         * tests/test-rbtreehash_list.c (main): Update.
51319         * tests/test-linked_list.c (main): Update.
51320         * tests/test-linkedhash_list.c (main): Update.
51321         * tests/test-array_oset.c (main): Update.
51322
51323 2007-03-15  Bruno Haible  <bruno@clisp.org>
51324
51325         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
51326         (gl_oset_create_empty): Add dispose_fn argument.
51327         (struct gl_oset_implementation): Add dispose_fn argument to
51328         'create_empty' method.
51329         (struct gl_oset_impl_base): Add dispose_fn field.
51330         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
51331         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
51332         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
51333         values.
51334         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
51335         (gl_tree_oset_free): Call dispose_fn on the dropped values.
51336         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51337         dropped value.
51338         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51339         dropped value.
51340         * tests/test-array_oset.c (main): Update.
51341         * tests/test-avltree_oset.c (main): Update.
51342         * tests/test-rbtree_oset.c (main): Update.
51343         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
51344
51345 2007-03-13  Bruno Haible  <bruno@clisp.org>
51346
51347         * tests/test-stdbool.c (i): Update after last patch.
51348
51349 2007-03-12  Bruno Haible  <bruno@clisp.org>
51350
51351         * lib/quotearg.c: Include <wctype.h> early, before the definition of
51352         the iswprint macro. Needed on Solaris 2.5.1.
51353
51354 2007-03-12  Bruno Haible  <bruno@clisp.org>
51355
51356         * tests/test-printf-frexp.c (main): Declare x as volatile.
51357
51358 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51359
51360         * doc/gnulib.texi (Build robot for gnulib): New section.
51361
51362 2007-03-12  Jim Meyering  <jim@meyering.net>
51363
51364         * build-aux/bootstrap: New file.
51365         * build-aux/bootstrap.conf: New file, from coreutils.
51366
51367 2007-03-11  Bruno Haible  <bruno@clisp.org>
51368
51369         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
51370
51371 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51372
51373         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
51374         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
51375         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
51376
51377 2007-03-11  Bruno Haible  <bruno@clisp.org>
51378
51379         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
51380         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
51381
51382 2007-03-11  Bruno Haible  <bruno@clisp.org>
51383
51384         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
51385         formula. Needed for SunPRO C 5.0.
51386
51387 2007-03-11  Bruno Haible  <bruno@clisp.org>
51388
51389         * modules/long-options (Depends-on): Add getopt.
51390
51391 2007-03-11  Bruno Haible  <bruno@clisp.org>
51392
51393         * modules/modechange (Depends-on): Add stdbool.
51394
51395 2007-03-11  Bruno Haible  <bruno@clisp.org>
51396
51397         * modules/i-ring (Depends-on): Add stdbool.
51398
51399 2007-03-11  Bruno Haible  <bruno@clisp.org>
51400
51401         * modules/gc-des (Depends-on): Add stdbool.
51402
51403 2007-03-11  Bruno Haible  <bruno@clisp.org>
51404
51405         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
51406
51407 2007-03-11  Bruno Haible  <bruno@clisp.org>
51408
51409         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
51410
51411 2007-03-11  Bruno Haible  <bruno@clisp.org>
51412
51413         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
51414
51415 2007-03-11  Bruno Haible  <bruno@clisp.org>
51416
51417         * lib/vasnprintf.c (sprintf): Undefine.
51418
51419 2007-03-11  Bruno Haible  <bruno@clisp.org>
51420
51421         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
51422         initializers in SunPRO C and Compaq C compilers.
51423
51424 2007-03-11  Bruno Haible  <bruno@clisp.org>
51425
51426         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
51427         decrementing code ANSI C compliant.
51428
51429 2007-03-11  Bruno Haible  <bruno@clisp.org>
51430
51431         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
51432         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
51433
51434 2007-03-11  Bruno Haible  <bruno@clisp.org>
51435
51436         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
51437         <stdbool.h> substitute doesn't pass.
51438
51439 2007-03-11  Bruno Haible  <bruno@clisp.org>
51440
51441         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
51442
51443 2007-03-11  Bruno Haible  <bruno@clisp.org>
51444
51445         * gnulib-tool (func_create_megatestdir): Create also an autobuild
51446         script, for submission to autobuild.josefsson.org.
51447
51448 2007-03-10  Bruno Haible  <bruno@clisp.org>
51449
51450         * modules/canonicalize-lgpl-tests: New file.
51451         * tests/test-canonicalize-lgpl.sh: New file.
51452         * tests/test-canonicalize-lgpl.c: New file.
51453
51454         * modules/c-strcase-tests: New file.
51455         * tests/test-c-strcase.sh: New file.
51456         * tests/test-c-strcasecmp.c: New file.
51457         * tests/test-c-strncasecmp.c: New file.
51458
51459         * modules/atexit-tests: New file.
51460         * tests/test-atexit.sh: New file.
51461         * tests/test-atexit.c: New file.
51462
51463 2007-03-10  Bruno Haible  <bruno@clisp.org>
51464
51465         * tests/test-binary-io.sh: Use temporary filenames that are not so
51466         likely to clash with those of other tests (in a parallel make).
51467         * tests/test-binary-io.c: Likewise.
51468
51469 2007-03-10  Bruno Haible  <bruno@clisp.org>
51470
51471         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
51472         fallback; use #error instead.
51473         Suggested by Simon Josefsson.
51474
51475 2007-03-10  Bruno Haible  <bruno@clisp.org>
51476
51477         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
51478         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
51479         first and the last.
51480
51481 2007-03-10  Bruno Haible  <bruno@clisp.org>
51482
51483         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
51484
51485 2007-03-10  Bruno Haible  <bruno@clisp.org>
51486
51487         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
51488         "make distcheck".
51489         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
51490         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
51491         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
51492
51493 2007-03-10  Bruno Haible  <bruno@clisp.org>
51494
51495         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
51496         variable.
51497         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
51498         variable.
51499
51500 2007-03-09  Eric Blake  <ebb9@byu.net>
51501         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
51502
51503         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
51504         types are not being provided by gnulib.
51505         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
51506         types are supported.
51507
51508 2007-03-10  Bruno Haible  <bruno@clisp.org>
51509
51510         * lib/stdio_.h (__attribute__): New macro.
51511         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
51512         vsprintf): Specify __attribute__ __format__ for GCC.
51513         Suggested by Eric Blake.
51514
51515 2007-03-09  Bruno Haible  <bruno@clisp.org>
51516
51517         * modules/printf-posix-tests: New file.
51518         * tests/test-printf-posix.sh: New file.
51519         * tests/test-printf-posix.c: New file.
51520
51521         * modules/printf-posix: New file.
51522         * lib/printf.c: New file.
51523         * m4/printf-posix-rpl.m4: New file.
51524         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
51525         REPLACE_PRINTF.
51526         * lib/stdio_.h (printf): New declaration.
51527         (format, __format__, ____printf____, ____scanf____, ____strftime____,
51528         ____strfmon____): New macros.
51529         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
51530         REPLACE_PRINTF.
51531
51532 2007-03-09  Bruno Haible  <bruno@clisp.org>
51533
51534         * tests/test-vasnprintf-posix2.sh: New file.
51535         * tests/test-vasnprintf-posix2.c: New file.
51536         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
51537         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51538         (Makefile.am): Activate test-vasnprintf-posix2.sh.
51539
51540         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
51541         a locale dependent decimal point, rather than always '.'.
51542
51543 2007-03-09  Eric Blake  <ebb9@byu.net>
51544
51545         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
51546         spite of platforms like Tandem/NSK that define it to -1.
51547
51548 2007-03-08  Bruno Haible  <bruno@clisp.org>
51549
51550         * modules/vprintf-posix-tests: New file.
51551         * tests/test-vprintf-posix.sh: New file.
51552         * tests/test-vprintf-posix.c: New file.
51553         * tests/test-printf-posix.h: New file.
51554
51555         * modules/vprintf-posix: New file.
51556         * lib/vprintf.c: New file.
51557         * m4/vprintf-posix.m4: New file.
51558         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
51559         REPLACE_VPRINTF.
51560         * lib/stdio_.h (vprintf): New declaration.
51561         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
51562         REPLACE_VPRINTF.
51563
51564 2007-03-08  Bruno Haible  <bruno@clisp.org>
51565
51566         * modules/fprintf-posix-tests: New file.
51567         * tests/test-fprintf-posix.sh: New file.
51568         * tests/test-fprintf-posix.c: New file.
51569
51570         * modules/fprintf-posix: New file.
51571         * lib/fprintf.c: New file.
51572         * m4/fprintf-posix.m4: New file.
51573         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
51574         REPLACE_FPRINTF.
51575         * lib/stdio_.h (fprintf): New declaration.
51576         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
51577         REPLACE_FPRINTF.
51578
51579 2007-03-08  Bruno Haible  <bruno@clisp.org>
51580
51581         * modules/vfprintf-posix-tests: New file.
51582         * tests/test-vfprintf-posix.sh: New file.
51583         * tests/test-vfprintf-posix.c: New file.
51584         * tests/test-fprintf-posix.h: New file.
51585         * tests/test-fprintf-posix.out: New file.
51586
51587         * modules/vfprintf-posix: New file.
51588         * lib/vfprintf.c: New file.
51589         * m4/vfprintf-posix.m4: New file.
51590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
51591         REPLACE_VFPRINTF.
51592         * lib/stdio_.h (vfprintf): New declaration.
51593         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
51594         REPLACE_VFPRINTF.
51595
51596 2007-03-08  Bruno Haible  <bruno@clisp.org>
51597
51598         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
51599
51600 2007-03-08  Bruno Haible  <bruno@clisp.org>
51601
51602         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
51603         instead of 'expr' invocations.
51604         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51605         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51606         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51607         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51608         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51609         Suggested by Paul Eggert.
51610
51611 2007-03-08  Bruno Haible  <bruno@clisp.org>
51612
51613         * modules/fseterr-tests: New file.
51614         * tests/test-fseterr.c: New file.
51615
51616         * modules/fseterr: New file.
51617         * lib/fseterr.h: New file.
51618         * lib/fseterr.c: New file.
51619
51620 2007-03-08  Bruno Haible  <bruno@clisp.org>
51621
51622         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
51623         * lib/getopt_.h: Likewise.
51624         * lib/mbswidth.h: Likewise.
51625         * lib/setenv.h: Likewise.
51626         * lib/vasnprintf.h: Likewise.
51627         * lib/vasprintf.h: Likewise.
51628         * lib/verror.h: Likewise.
51629         * lib/xsetenv.h: Likewise.
51630         * lib/xvasprintf.h: Likewise.
51631
51632 2007-03-08  Jim Meyering  <jim@meyering.net>
51633
51634         * users.txt: Add parted.
51635
51636         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
51637
51638 2007-03-07  Bruno Haible  <bruno@clisp.org>
51639
51640         * m4/printf.m4: Make the shell script snippets copy&pastable.
51641
51642 2007-03-02  Bruno Haible  <bruno@clisp.org>
51643
51644         * lib/netinet_in_.h: New file.
51645         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
51646         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
51647         * modules/netinet_in (Files): Add lib/netinet_in_.h.
51648         (Depends-on): Add absolute-header.
51649         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
51650         into netinet/in.h.
51651
51652 2007-03-03  Bruno Haible  <bruno@clisp.org>
51653
51654         * lib/sys_select_.h: New file.
51655         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
51656         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
51657         * modules/sys_select (Files): Add lib/sys_select_.h.
51658         (Depends-on): Add absolute-header.
51659         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
51660         into sys/select.h.
51661
51662 2007-03-02  Bruno Haible  <bruno@clisp.org>
51663
51664         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
51665         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
51666         values.
51667         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
51668         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
51669         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
51670         * modules/sys_socket (Depends-on): Add absolute-header.
51671         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
51672         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
51673         (Include): Remove requirement of inclusion of <sys/types.h>.
51674
51675 2007-03-02  Bruno Haible  <bruno@clisp.org>
51676
51677         * lib/byteswap_.h (bswap_32): Fix formula.
51678
51679 2007-03-06  Bruno Haible  <bruno@clisp.org>
51680
51681         * modules/sprintf-posix-tests: New file.
51682         * tests/test-sprintf-posix.c: New file.
51683
51684         * modules/sprintf-posix: New file.
51685         * lib/sprintf.c: New file.
51686         * m4/sprintf-posix.m4: New file.
51687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
51688         REPLACE_SPRINTF.
51689         * lib/stdio_.h (sprintf): New declaration.
51690         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
51691         REPLACE_SPRINTF.
51692
51693 2007-03-06  Bruno Haible  <bruno@clisp.org>
51694
51695         * modules/vsprintf-posix-tests: New file.
51696         * tests/test-vsprintf-posix.c: New file.
51697         * tests/test-sprintf-posix.h: New file.
51698
51699         * modules/vsprintf-posix: New file.
51700         * lib/vsprintf.c: New file.
51701         * m4/vsprintf-posix.m4: New file.
51702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
51703         REPLACE_VSPRINTF.
51704         * lib/stdio_.h (vsprintf): New declaration.
51705         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
51706         REPLACE_VSPRINTF.
51707
51708 2007-03-06  Bruno Haible  <bruno@clisp.org>
51709
51710         * modules/vsnprintf (Depend-on): Remove minmax.
51711
51712 2007-03-06  Bruno Haible  <bruno@clisp.org>
51713
51714         * modules/snprintf-posix-tests: New file.
51715         * tests/test-snprintf-posix.c: New file.
51716
51717         * modules/snprintf-posix: New file.
51718         * m4/snprintf-posix.m4: New file.
51719         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
51720         gl_FUNC_SNPRINTF.
51721         (gl_FUNC_SNPRINTF): Invoke it.
51722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
51723         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
51724         is set.
51725         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
51726
51727 2007-03-06  Bruno Haible  <bruno@clisp.org>
51728
51729         * modules/vsnprintf-posix-tests: New file.
51730         * tests/test-vsnprintf-posix.c: New file.
51731         * tests/test-snprintf-posix.h: New file.
51732
51733         * modules/vsnprintf-posix: New file.
51734         * m4/vsnprintf-posix.m4: New file.
51735         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
51736         gl_FUNC_VSNPRINTF.
51737         (gl_FUNC_VSNPRINTF): Invoke it.
51738         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
51739         * lib/stdio_.h (vsnprintf): Define as a replacement if
51740         REPLACE_VSNPRINTF is set.
51741         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
51742
51743 2007-03-06  Bruno Haible  <bruno@clisp.org>
51744
51745         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
51746         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
51747
51748 2007-03-06  Bruno Haible  <bruno@clisp.org>
51749
51750         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
51751         (asinl): Declare also if HAVE_DECL_ASINL is set.
51752         (atanl): Declare also if HAVE_DECL_ATANL is set.
51753         (ceill): Declare also if HAVE_DECL_CEILL is set.
51754         (cosl): Declare also if HAVE_DECL_COSL is set.
51755         (expl): Declare also if HAVE_DECL_EXPL is set.
51756         (floorl): Declare also if HAVE_DECL_FLOORL is set.
51757         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
51758         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
51759         (logl): Declare also if HAVE_DECL_LOGL is set.
51760         (sinl): Declare also if HAVE_DECL_SINL is set.
51761         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
51762         (tanl): Declare also if HAVE_DECL_TANL is set.
51763         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
51764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
51765         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
51766         declaration of frexpl, ldexpl.
51767         * modules/printf-frexpl (Depends-on): Add math.
51768         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
51769
51770 2007-03-05  Bruno Haible  <bruno@clisp.org>
51771
51772         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
51773         frexpl and ldexpl are declared.
51774         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
51775
51776 2007-03-05  Bruno Haible  <bruno@clisp.org>
51777
51778         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
51779         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
51780
51781 2007-03-05  Bruno Haible  <bruno@clisp.org>
51782
51783         * lib/stdio_.h: Include <stddef.h>.
51784
51785 2007-03-05  Bruno Haible  <bruno@clisp.org>
51786
51787         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
51788
51789 2007-03-05  Bruno Haible  <bruno@clisp.org>
51790
51791         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
51792         NetBSD 4, from Ralf Wildenhues.
51793
51794 2007-03-04  Bruno Haible  <bruno@clisp.org>
51795
51796         * lib/vasprintf.h: Update #if logic for the case when the functions
51797         exist but are overridden.
51798
51799 2007-03-04  Bruno Haible  <bruno@clisp.org>
51800
51801         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
51802         implementations: glibc-2.4 and MacOS X 10.3.
51803         * tests/test-vasnprintf-posix.c (test_function): Test also the case
51804         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
51805         * tests/test-vasprintf-posix.c (test_function): Likewise.
51806
51807 2007-03-04  Bruno Haible  <bruno@clisp.org>
51808
51809         * modules/vasprintf-posix-tests: New file.
51810         * tests/test-vasprintf-posix.c: New file.
51811
51812         * modules/vasprintf-posix: New file.
51813         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
51814         defined.
51815         * m4/vasprintf-posix.m4: New file.
51816         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
51817         gl_FUNC_VASPRINTF.
51818         (gl_FUNC_VASPRINTF): Invoke it.
51819         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
51820         here.
51821         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
51822
51823 2007-03-04  Bruno Haible  <bruno@clisp.org>
51824
51825         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
51826         REPLACE_GETTIMEOFDAY.
51827         * modules/sys_time (Makefile.am): Likewise.
51828         * m4/sys_time_h.m4: Likewise.
51829         * m4/gettimeofday.m4: Likewise.
51830
51831 2007-03-04  Bruno Haible  <bruno@clisp.org>
51832
51833         * modules/vasnprintf-posix-tests: New file.
51834         * tests/test-vasnprintf-posix.c: New file.
51835
51836         * modules/vasnprintf-posix: New file.
51837         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
51838         printf-frexpl.h.
51839         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
51840         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
51841         REPLACE_VASNPRINTF is defined.
51842         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
51843         gl_FUNC_VASNPRINTF.
51844         (gl_FUNC_VASNPRINTF): Invoke it.
51845         * m4/vasnprintf-posix.m4: New file.
51846         * m4/printf.m4: New file.
51847
51848 2007-03-04  Bruno Haible  <bruno@clisp.org>
51849
51850         Compile progreloc.c only if --enable-relocatable is specified.
51851         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
51852         if --enable-relocatable was specified.
51853         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
51854         lib_SOURCES.
51855
51856 2007-03-04  Jim Meyering  <jim@meyering.net>
51857
51858         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
51859         Use it consistently, rather than enumerating errno constants.
51860
51861 2007-03-04  Bruno Haible  <bruno@clisp.org>
51862
51863         * modules/xvasprintf-tests: New file.
51864         * tests/test-xvasprintf.c: New file.
51865
51866         * modules/vasprintf-tests: New file.
51867         * tests/test-vasprintf.c: New file.
51868
51869         * modules/vasnprintf-tests: New file.
51870         * tests/test-vasnprintf.c: New file.
51871
51872         * modules/vsnprintf-tests: New file.
51873         * tests/test-vsnprintf.c: New file.
51874
51875         * modules/snprintf-tests: New file.
51876         * tests/test-snprintf.c: New file.
51877
51878 2007-03-04  Bruno Haible  <bruno@clisp.org>
51879
51880         Compile relocatable.c only if --enable-relocatable is specified.
51881         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
51882         gl_RELOCATABLE_LIBRARY.
51883         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
51884         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
51885         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
51886         gl_RELOCATABLE_LIBRARY.
51887         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
51888         (Makefile.am): Remove lib_SOURCES.
51889         * modules/relocatable-lib-lgpl (configure.ac): Invoke
51890         gl_RELOCATABLE_LIBRARY.
51891         (Makefile.am): Remove lib_SOURCES.
51892         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
51893         always.
51894         * modules/relocatable-prog-wrapper (configure.ac): Invoke
51895         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
51896
51897 2007-03-04  Bruno Haible  <bruno@clisp.org>
51898
51899         * modules/argmatch-tests: New file.
51900         * tests/test-argmatch.c: New file.
51901
51902         * tests/test-allocsa.c (main): Halve the number of loop runs.
51903
51904         * modules/alloca-opt-tests: New file.
51905         * tests/test-alloca-opt.c: New file.
51906
51907 2007-03-04  Jim Meyering  <jim@meyering.net>
51908
51909         Work around difference between Linux ACLs and Solaris 10 ZFS.
51910         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
51911         for EINVAL.
51912
51913 2007-03-03  Bruno Haible  <bruno@clisp.org>
51914
51915         * modules/relocatable-prog (Depends-on): Add back progreloc's
51916         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
51917
51918 2007-03-03  Bruno Haible  <bruno@clisp.org>
51919
51920         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
51921         * modules/relocatable-lib: New file.
51922
51923 2007-03-03  Bruno Haible  <bruno@clisp.org>
51924
51925         * modules/relocatable-prog: Renamed from modules/relocatable.
51926         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
51927
51928 2007-03-03  Bruno Haible  <bruno@clisp.org>
51929
51930         * modules/relocatable-script (Files): Add doc/relocatable.texi,
51931         m4/relocatable-lib.m4.
51932         (Depends-on): Remove 'relocatable'.
51933         (configure.ac): Add gl_RELOCATABLE_NOP.
51934
51935 2007-03-03  Bruno Haible  <bruno@clisp.org>
51936
51937         * modules/relocatable-prog-wrapper: New file.
51938         * modules/relocatable (Depends-on): Add it. Remove all other
51939         dependencies except progname.
51940         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
51941
51942         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
51943         (gl_FUNC_STRERROR): Nop.
51944         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
51945
51946         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
51947         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
51948
51949         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
51950         (gl_FUNC_READLINK): Update.
51951
51952         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
51953
51954 2007-03-03  Bruno Haible  <bruno@clisp.org>
51955
51956         * lib/xreadlink.c: Include <unistd.h> unconditionally.
51957         * modules/xreadlink (Depends-on): Add unistd.
51958         * modules/xreadlink-with-size (Depends-on): Likewise.
51959
51960 2007-03-03  Bruno Haible  <bruno@clisp.org>
51961
51962         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
51963         extracted from gt_FUNC_SETENV.
51964         (gt_FUNC_SETENV): Remove macro.
51965         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
51966         remove gt_FUNC_SETENV.
51967
51968 2007-03-03  Bruno Haible  <bruno@clisp.org>
51969
51970         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
51971         ENABLE_RELOCATABLE here.
51972         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
51973
51974 2007-03-03  Bruno Haible  <bruno@clisp.org>
51975
51976         * modules/rbtreehash-list-tests (Depends-on): Add progname.
51977         * tests/test-rbtreehash_list.c: Include progname.h.
51978         (main): Call set_program_name.
51979
51980         * modules/rbtree-oset-tests (Depends-on): Add progname.
51981         * tests/test-rbtree_oset.c: Include progname.h.
51982         (main): Call set_program_name.
51983
51984         * modules/rbtree-list-tests (Depends-on): Add progname.
51985         * tests/test-rbtree_list.c: Include progname.h.
51986         (main): Call set_program_name.
51987
51988         * modules/linked-list-tests (Depends-on): Add progname.
51989         * tests/test-linked_list.c: Include progname.h.
51990         (main): Call set_program_name.
51991
51992 2007-03-03  Bruno Haible  <bruno@clisp.org>
51993
51994         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
51995         All uses of __restrict changed to _Restrict_.
51996         * lib/glob_.h (__restrict): Remove macro.
51997
51998 2007-03-02  Bruno Haible  <bruno@clisp.org>
51999
52000         * modules/gettext (configure.ac): Require gettext infrastructure
52001         from version 0.16.1.
52002
52003 2007-03-02  Bruno Haible  <bruno@clisp.org>
52004
52005         * modules/linkedhash-list-tests (Depends-on): Add progname.
52006         * tests/test-linkedhash_list.c: Include progname.h.
52007         (main): Call set_program_name.
52008
52009         * modules/carray-list-tests (Depends-on): Add progname.
52010         * tests/test-carray_list.c: Include progname.h.
52011         (main): Call set_program_name.
52012
52013         * modules/avltreehash-list-tests (Depends-on): Add progname.
52014         * tests/test-avltreehash_list.c: Include progname.h.
52015         (main): Call set_program_name.
52016
52017         * modules/avltree-oset-tests (Depends-on): Add progname.
52018         * tests/test-avltree_oset.c: Include progname.h.
52019         (main): Call set_program_name.
52020
52021         * modules/avltree-list-tests (Depends-on): Add progname.
52022         * tests/test-avltree_list.c: Include progname.h.
52023         (main): Call set_program_name.
52024
52025         * modules/array-oset-tests (Depends-on): Add progname.
52026         * tests/test-array_oset.c: Include progname.h.
52027         (main): Call set_program_name.
52028
52029         * modules/array-list-tests (Depends-on): Add progname.
52030         * tests/test-array_list.c: Include progname.h.
52031         (main): Call set_program_name.
52032
52033         * modules/argp-tests (Depends-on): Add progname.
52034         * tests/test-argp.c: Include argp.h first. Include progname.h.
52035         (main): Call set_program_name.
52036
52037 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52038
52039         * doc/gnulib-tool.texi (Initial import): Reword description of
52040         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
52041         limited effect even if defined after the first system include.
52042
52043 2007-03-01  Bruno Haible  <bruno@clisp.org>
52044
52045         * build-aux/config.libpath: Update to libtool-1.5.22.
52046         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52047
52048 2007-03-01  Bruno Haible  <bruno@clisp.org>
52049
52050         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
52051         foo_CFLAGS.
52052         Reported by Ralf Wildenhues.
52053
52054 2007-03-01  Bruno Haible  <bruno@clisp.org>
52055
52056         * build-aux/install-reloc: Remove object files left over by some
52057         compilers.
52058         Reported by Ralf Wildenhues.
52059
52060 2007-03-01  Bruno Haible  <bruno@clisp.org>
52061
52062         * build-aux/install-reloc: Break long lines.
52063
52064 2007-03-01  Bruno Haible  <bruno@clisp.org>
52065
52066         * doc/relocatable.texi: Document that it may not work on OpenBSD.
52067         Reported by Ralf Wildenhues.
52068
52069 2007-03-01  Bruno Haible  <bruno@clisp.org>
52070
52071         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
52072         include ordering constraints.
52073
52074 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
52075
52076         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
52077         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
52078         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
52079         as another example.
52080         * lib/time_.h: Fix misspelling.
52081         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52082         Require gl_HEADER_TIME_H_DEFAULTS.
52083         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
52084         * m4/time_r.m4 (gl_TIME_R): Likewise.
52085         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
52086
52087 2007-03-01  Bruno Haible  <bruno@clisp.org>
52088
52089         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
52090         * m4/utimens.m4 (gl_UTIMENS): Likewise.
52091
52092 2007-03-01  Jim Meyering  <jim@meyering.net>
52093
52094         * modules/xreadlink (Maintainer): Add my name.
52095         * modules/xreadlink-with-size (Depends-on): Alphabetize.
52096
52097 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
52098             Bruno Haible  <bruno@clisp.org>
52099
52100         * build-aux/install-reloc: Compile also c-ctype.c.
52101         * build-aux/relocatable.sh.in: New file.
52102         * doc/relocatable.texi: New file.
52103         * doc/relocatable-maint.texi: New file.
52104         * doc/gnulib.texi: Include relocatable-maint.texi.
52105         * lib/progreloc.c: Include unistd.h unconditionally.
52106         * lib/relocwrapper.c: Include unistd.h unconditionally.
52107         Include c-ctype.h.
52108         (add_dotbin): Use c_tolower.
52109         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
52110         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
52111         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
52112         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
52113         to m4/relocatable-lib.m4.
52114         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
52115         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
52116         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
52117         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
52118         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
52119         * modules/relocatable: New file.
52120         * modules/relocatable-lib: New file.
52121         * modules/relocatable-script: New file.
52122
52123 2007-02-28  Bruno Haible  <bruno@clisp.org>
52124
52125         Import --enable-relocatable infrastructure.
52126         * build-aux/config.libpath: New file, from GNU gettext.
52127         * build-aux/install-reloc: New file, from GNU gettext.
52128         * build-aux/reloc-ldflags: New file, from GNU gettext.
52129         * lib/relocatable.h: New file, from GNU gettext.
52130         * lib/relocatable.c: New file, from GNU gettext.
52131         * lib/relocwrapper.c: New file, from GNU gettext.
52132         * m4/relocatable.m4: New file, from GNU gettext.
52133
52134 2007-02-28  Bruno Haible  <bruno@clisp.org>
52135
52136         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
52137
52138         * modules/xreadlink: New file, from GNU gettext with modifications.
52139         * lib/xreadlink.c: New file, from GNU gettext.
52140         * lib/xreadlink.h: Add comments.
52141         (xreadlink): New declaration.
52142
52143         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
52144         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
52145         lib/xreadlink-with-size.c.
52146         (configure.ac): Remove gl_XREADLINK invocation.
52147         (Makefile.am): Augment lib_SOURCES.
52148         * m4/xreadlink.m4: Remove file.
52149         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
52150         (xreadlink_with_size): Renamed from xreadink.
52151         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
52152         * modules/canonicalize (Depends-on): Replace xreadlink with
52153         xreadlink-with-size.
52154         * lib/canonicalize.c (canonicalize_filename_mode): Update.
52155
52156 2007-02-25  Jim Meyering  <jim@meyering.net>
52157
52158         * build-aux/announce-gen: When complaining about excess arguments,
52159         list them.
52160
52161 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
52162
52163         * README: Document signed integer overflow situation more
52164         accurately.
52165
52166 2007-02-25  Bruno Haible  <bruno@clisp.org>
52167
52168         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
52169         'a' or 'A' conversion.
52170
52171 2007-02-25  Bruno Haible  <bruno@clisp.org>
52172
52173         * modules/filename: Renamed from modules/pathname.
52174         (Files): Replace lib/pathname.h with lib/filename.h. Replace
52175         lib/concatpath.c with lib/concat-filename.c.
52176         (Makefile.am): Update.
52177         (Include): Replace pathname.h with filename.h.
52178         * lib/filename.h: Renamed from lib/pathname.h.
52179         (concatenated_filename): Renamed from concatenated_pathname.
52180         * lib/concat-filename.c: Renamed from lib/concatpath.c.
52181         (concatenated_filename): Renamed from concatenated_pathname.
52182         * lib/findprog.c: Include filename.h instead of pathname.h.
52183         (find_in_path): Update.
52184         * lib/javacomp.c: Include filename.h instead of pathname.h.
52185         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
52186         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
52187         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
52188         is_oldgcj_14_13_usable, is_javac_usable): Update.
52189         * lib/javaexec.c: Include filename.h instead of pathname.h.
52190         (execute_java_class): Update.
52191         * modules/findprog: Update.
52192         * modules/javacomp: Update.
52193         * modules/javaexec: Update.
52194         * MODULES.html.sh (File system functions): Add 'filename', remove
52195         'pathname'.
52196
52197 2007-02-25  Bruno Haible  <bruno@clisp.org>
52198
52199         * modules/printf-frexpl-tests: New file.
52200         * tests/test-printf-frexpl.c: New file.
52201
52202         * modules/printf-frexpl: New file.
52203         * lib/printf-frexpl.h: New file.
52204         * lib/printf-frexpl.c: New file.
52205         * m4/printf-frexpl.m4: New file.
52206
52207 2007-02-25  Bruno Haible  <bruno@clisp.org>
52208
52209         * modules/printf-frexp-tests: New file.
52210         * tests/test-printf-frexp.c: New file.
52211
52212         * modules/printf-frexp: New file.
52213         * lib/printf-frexp.h: New file.
52214         * lib/printf-frexp.c: New file.
52215         * m4/printf-frexp.m4: New file.
52216
52217 2007-02-25  Bruno Haible  <bruno@clisp.org>
52218
52219         Assume automake >= 1.10 for the tests.
52220         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
52221         * modules/arctwo-tests: Likewise.
52222         * modules/argp-tests: Likewise.
52223         * modules/avltree-list-tests: Likewise.
52224         * modules/avltree-oset-tests: Likewise.
52225         * modules/avltreehash-list-tests: Likewise.
52226         * modules/carray-list-tests: Likewise.
52227         * modules/crc-tests: Likewise.
52228         * modules/des-tests: Likewise.
52229         * modules/gc-arcfour-tests: Likewise.
52230         * modules/gc-arctwo-tests: Likewise.
52231         * modules/gc-des-tests: Likewise.
52232         * modules/gc-hmac-md5-tests: Likewise.
52233         * modules/gc-hmac-sha1-tests: Likewise.
52234         * modules/gc-md2-tests: Likewise.
52235         * modules/gc-md4-tests: Likewise.
52236         * modules/gc-md5-tests: Likewise.
52237         * modules/gc-pbkdf2-sha1-tests: Likewise.
52238         * modules/gc-rijndael-tests: Likewise.
52239         * modules/gc-sha1-tests: Likewise.
52240         * modules/gc-tests: Likewise.
52241         * modules/getaddrinfo-tests: Likewise.
52242         * modules/hmac-md5-tests: Likewise.
52243         * modules/hmac-sha1-tests: Likewise.
52244         * modules/linked-list-tests: Likewise.
52245         * modules/linkedhash-list-tests: Likewise.
52246         * modules/lock-tests: Likewise.
52247         * modules/md2-tests: Likewise.
52248         * modules/md4-tests: Likewise.
52249         * modules/md5-tests: Likewise.
52250         * modules/rbtree-list-tests: Likewise.
52251         * modules/rbtree-oset-tests: Likewise.
52252         * modules/rbtreehash-list-tests: Likewise.
52253         * modules/read-file-tests: Likewise.
52254         * modules/rijndael-tests: Likewise.
52255         * modules/stdint-tests: Likewise.
52256         * modules/tls-tests: Likewise.
52257
52258 2007-02-24  Bruno Haible  <bruno@clisp.org>
52259
52260         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
52261         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
52262         function; instead check whether isnan with a double argument links.
52263         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
52264         function; instead check whether isnan with a 'long double' argument
52265         links.
52266         Reported by Eric Blake <ebb9@byu.net>.
52267
52268 2007-02-24  Bruno Haible  <bruno@clisp.org>
52269
52270         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
52271         defined.
52272         * lib/isnanl.c: Remove all code. Just include isnan.c.
52273         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
52274
52275 2007-02-25  Jim Meyering  <jim@meyering.net>
52276
52277         Avoid conflicting types for 'unsetenv' on FreeBSD.
52278         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
52279         conflicting with FreeBSD's (5.0 and 6.1) function declaration
52280         in stdlib.h.
52281
52282 2007-02-24  Bruno Haible  <bruno@clisp.org>
52283
52284         * modules/isnanl-nolibm-tests: New file.
52285         * tests/test-isnanl.c: New file.
52286
52287         * modules/isnanl-nolibm: New file.
52288         * lib/isnanl.h: New file.
52289         * lib/isnanl.c: New file.
52290         * m4/isnanl.m4: New file.
52291
52292 2007-02-24  Bruno Haible  <bruno@clisp.org>
52293
52294         * modules/isnan-nolibm-tests: New file.
52295         * tests/test-isnan.c: New file.
52296
52297         * modules/isnan-nolibm: New file.
52298         * lib/isnan.h: New file.
52299         * lib/isnan.c: New file.
52300         * m4/isnan.m4: New file.
52301
52302 2007-02-24  Bruno Haible  <bruno@clisp.org>
52303
52304         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
52305         assume that an exponent fits in 20 bits.
52306
52307 2007-02-24  Jim Meyering  <jim@meyering.net>
52308
52309         * m4/regex.m4: Update the description of the configure-time option,
52310         --without-included-regex, to state accurately what the defaults are,
52311         and perhaps to give people an idea why using this option is risky.
52312
52313 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
52314
52315         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
52316         loops on small arguments.  This attempts to avoid the problem
52317         Bruno Haible reported for AIX 4.3.2 in
52318         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
52319
52320 2007-02-23  Bruno Haible  <bruno@clisp.org>
52321
52322         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
52323         Needed for help2man.
52324
52325 2007-02-23  Karl Berry  <karl@gnu.org>
52326
52327         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
52328         exists, foo.h should be cvs-ignored, not committed.
52329
52330 2007-02-23  Eric Blake  <ebb9@byu.net>
52331
52332         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
52333         * lib/stat-time.h (includes): Likewise.
52334         * lib/utimecmp.c (includes): Likewise.
52335         * lib/utimens.h (includes): Likewise.
52336         * lib/getdate.y (includes): Also include "timespec.h" for use
52337         internal to the module.
52338         * modules/utimens (Depends-on): Revert yesterday's patch.
52339         * modules/nanosleep (Depends-on): Add missing dependency.
52340
52341 2007-02-22  Bruno Haible  <bruno@clisp.org>
52342
52343         * lib/glob.c: Don't include getlogin_r.h.
52344
52345 2007-02-22  Jim Meyering  <jim@meyering.net>
52346
52347         * modules/utimens (Depends-on): Add timespec, required for
52348         utimens.h's inclusion of timespec.h.
52349
52350 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
52351
52352         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
52353         long unreadable paths in GNU/Linux.  Problem reported by Andreas
52354         Schwab in
52355         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
52356         I'll try to think of a better way to fix the Solaris problem.
52357
52358         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
52359         like glibc; on Solaris 10, it fails with errno == EINVAL.
52360         POSIX says the behavior is unspecified if the first argument is NULL,
52361         so play it safe and never pass NULL to the system getcwd.
52362
52363 2007-02-21  Jim Meyering  <jim@meyering.net>
52364
52365         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
52366         of gettimeofday.  It would conflict with the one now always
52367         provided via sys_time_.h.  Reported by Matthew Woehlke, as
52368         an IRIX 6.5 build failure.
52369
52370 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
52371
52372         Minor fixups to port to Solaris 10 with Sun C 5.8.
52373         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
52374         * modules/getcwd (Depends-on): Add dirfd.
52375         * lib/putenv.c (putenv): #undef it.
52376         (rpl_putenv): New decl.
52377         (malloc, free): Include <stdlib.h> rather than prototyping separately.
52378
52379 2007-02-20  Bruno Haible  <bruno@clisp.org>
52380
52381         * modules/stdio-tests: New file.
52382         * tests/test-stdio.c: New file.
52383
52384         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
52385         (Depends-on): Add stdio.
52386         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52387         (Include): Use <stdio.h> instead of vsnprintf.h.
52388         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52389         HAVE_DECL_VSNPRINTF.
52390         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
52391
52392         * modules/snprintf (Files): Remove lib/snprintf.h.
52393         (Depends-on): Add stdio.
52394         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52395         (Include): Use <stdio.h> instead of snprintf.h.
52396         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52397         HAVE_DECL_SNPRINTF.
52398         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
52399         * lib/getaddrinfo.c: Likewise.
52400
52401         * modules/stdio: New file.
52402         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
52403         * lib/snprintf.h: Remove file.
52404         * lib/vsnprintf.h: Remove file.
52405         * lib/.cppi-disable: Remove snprintf.h.
52406         * m4/stdio_h.m4: New file.
52407         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
52408
52409 2007-02-20  Jim Meyering  <jim@meyering.net>
52410
52411         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
52412         used by e.g., mingw.  From Bruno Haible.
52413
52414 2007-02-19  Bruno Haible  <bruno@clisp.org>
52415
52416         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
52417         warnings.
52418         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52419
52420 2007-02-19  Bruno Haible  <bruno@clisp.org>
52421
52422         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
52423         from mingw users.
52424
52425 2007-02-19  Bruno Haible  <bruno@clisp.org>
52426
52427         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
52428         warnings.
52429         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
52430
52431 2007-02-19  Jim Meyering  <jim@meyering.net>
52432
52433         Don't use FD after a successful "fdopendir (fd)".
52434         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
52435         Reset it by calling dirfd on the just-obtained DIR*.
52436
52437         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
52438         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
52439
52440 2007-02-18  Bruno Haible  <bruno@clisp.org>
52441
52442         * lib/readlink.c: Include <unistd.h>.
52443         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
52444         HAVE_READLINK.
52445         * modules/readlink (Depends-on): Add unistd.
52446         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52447         (Include): Add <unistd.h>.
52448
52449         * lib/getlogin_r.h: Remove file.
52450         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
52451         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
52452         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
52453         HAVE_DECL_GETLOGIN_R.
52454         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
52455         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52456         (Include): Use <unistd.h> instead of getlogin_r.h.
52457
52458         * lib/getcwd.h: Remove file.
52459         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
52460         * lib/xgetcwd.c: Likewise.
52461         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
52462         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
52463         * modules/getcwd (Files): Remove lib/getcwd.h.
52464         (Depends-on): Add unistd.
52465         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52466         (Include): Use <unistd.h> instad of getcwd.h.
52467
52468         * lib/ftruncate.c: Include <unistd.h> first.
52469         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
52470         Set HAVE_FTRUNCATE.
52471         * modules/ftruncate (Depends-on): Add unistd.
52472         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52473
52474         * lib/fchdir.c: Include <unistd.h> first.
52475         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
52476         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
52477         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
52478         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52479         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
52480
52481         * lib/dup2.c: Include <unistd.h> first.
52482         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
52483         HAVE_DUP2.
52484         * modules/dup2 (Depends-on): Add unistd.
52485         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52486
52487         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
52488         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
52489         REPLACE_CHOWN. Don't define chown as a macro here.
52490         * modules/chown (Depends-on): Add unistd.
52491         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52492
52493         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
52494         Add definition for GL_LINK_WARNING.
52495         (chown, dup2): New declarations.
52496         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
52497         link warning.
52498         (ftruncate): New declaration.
52499         (getcwd): New declaration, taken from old getcwd.h.
52500         (getlogin_r): New declaration, taken from old getlogin_r.h.
52501         (readlink): New declaration.
52502         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
52503         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
52504         (gl_PREREQ_UNISTD): Remove macro.
52505         (gl_UNISTD_MODULE_INDICATOR): New macro.
52506         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
52507         many new variables. Don't set UNISTD_H.
52508         * modules/unistd (Description): Change.
52509         (Depends-on): Add link-warning.
52510         (configure.ac): Update.
52511         (Makefile.am): Create unistd.h always. Substitute many new variables
52512         into it.
52513
52514 2007-02-18  Bruno Haible  <bruno@clisp.org>
52515
52516         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
52517         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
52518         HAVE_GETSUBOPT.
52519         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
52520         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
52521         * lib/getsubopt.h: Remove file.
52522         * modules/getsubopt (Files): Remove lib/getsubopt.h.
52523         (Depends-on): Add stdlib.
52524         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52525         (Includes): Use <stdlib.h> instead of getsubopt.h.
52526         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
52527         Set HAVE_GETSUBOPT.
52528         * lib/getsubopt.c: Don't include getsubopt.h.
52529
52530 2007-02-18  Bruno Haible  <bruno@clisp.org>
52531
52532         * modules/fchdir (Depends-on): Add dup2.
52533
52534 2007-02-18  Bruno Haible  <bruno@clisp.org>
52535
52536         * lib/stdlib_.h: Handle glibc's special invocation convention
52537         specially.
52538
52539 2007-02-18  Bruno Haible  <bruno@clisp.org>
52540
52541         * modules/stdlib-tests: New file.
52542         * tests/test-stdlib.c: New file.
52543
52544         * modules/mkstemp (Files): Remove lib/mkstemp.h.
52545         (Depends-on): Add stdlib.
52546         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52547         (Includes): Use <stdlib.h> instead of mkstemp.h.
52548         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52549         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
52550         * lib/mkstemp.c: Don't include mkstemp.h.
52551         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
52552         * lib/stdlib--.h: Don't include mkstemp.h.
52553
52554         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
52555         (Depends-on): Add stdlib.
52556         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52557         (Includes): Use <stdlib.h> instead of mkdtemp.h.
52558         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52559         HAVE_MKDTEMP.
52560         * lib/mkdtemp.c: Don't include mkdtemp.h.
52561         * lib/clean-temp.c: Don't include mkdtemp.h.
52562
52563         * modules/exit (Files): Remove lib/exit.h.
52564         (Depends-on): Add stdlib.
52565         (Makefile.am): Remove lib_SOURCES.
52566         (Include): Use <stdlib.h> instead of exit.h.
52567         * lib/argmatch.c: Don't include exit.h.
52568         * lib/execute.c: Likewise.
52569         * lib/pagealign_alloc.c: Likewise.
52570         * lib/pipe.c: Likewise.
52571         * lib/wait-process.c: Likewise.
52572         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
52573         * lib/exitfail.c: Likewise.
52574         * lib/savewd.c: Likewise.
52575         * lib/xsetenv.c: Likewise.
52576
52577         * modules/stdlib: New file.
52578         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
52579         and extra comments about mkstemp().
52580         * lib/exit.h: Remove file.
52581         * lib/mkdtemp.h: Remove file.
52582         * lib/mkstemp.h: Remove file.
52583         * m4/stdlib_h.m4: New file.
52584         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
52585
52586 2007-02-18  Bruno Haible  <bruno@clisp.org>
52587
52588         * modules/math-tests: New file.
52589         * tests/test-math.c: New file.
52590
52591         * modules/math: New file.
52592         * modules/mathl (Files): Remove lib/mathl.h.
52593         (Depends-on): Add math.
52594         (Makefile.am): Don't mention mathl.h.
52595         (Include): Use <math.h> instead of mathl.h.
52596         * lib/math_.h: New file.
52597         * lib/mathl.h: Remove file.
52598         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
52599         mathl.h.
52600         * lib/asinl.c: Likewise.
52601         * lib/atanl.c: Likewise.
52602         * lib/ceill.c: Likewise.
52603         * lib/cosl.c: Likewise.
52604         * lib/expl.c: Likewise.
52605         * lib/floorl.c: Likewise.
52606         * lib/frexpl.c: Likewise.
52607         * lib/ldexpl.c: Likewise.
52608         * lib/logl.c: Likewise.
52609         * lib/sincosl.c: Likewise.
52610         * lib/sinl.c: Likewise.
52611         * lib/sqrtl.c: Likewise.
52612         * lib/tanl.c: Likewise.
52613         * lib/trigl.c: Likewise.
52614         * m4/math_h.m4: New file.
52615         * MODULES.html.sh (Mathematics): Add math.
52616
52617 2007-02-17  Bruno Haible  <bruno@clisp.org>
52618
52619         * modules/wctype-tests: New file.
52620         * tests/test-wctype.c: New file.
52621
52622         * modules/wchar-tests: New file.
52623         * tests/test-wchar.c: New file.
52624
52625         * modules/unistd-tests: New file.
52626         * tests/test-unistd.c: New file.
52627
52628         * modules/time-tests: New file.
52629         * tests/test-time.c: New file.
52630
52631         * modules/sysexits-tests: New file.
52632         * tests/test-sysexits.c: New file.
52633
52634         * modules/sys_time-tests: New file.
52635         * tests/test-sys_time.c: New file.
52636
52637         * modules/sys_stat-tests: New file.
52638         * tests/test-sys_stat.c: New file.
52639
52640         * modules/sys_socket-tests: New file.
52641         * tests/test-sys_socket.c: New file.
52642
52643         * modules/sys_select-tests: New file.
52644         * tests/test-sys_select.c: New file.
52645
52646         * modules/string-tests: New file.
52647         * tests/test-string.c: New file.
52648
52649         * modules/stdbool-tests: New file.
52650         * tests/test-stdbool.c: New file.
52651
52652         * modules/netinet_in-tests: New file.
52653         * tests/test-netinet_in.c: New file.
52654
52655         * modules/inttypes-tests: New file.
52656         * tests/test-inttypes.c: New file.
52657
52658         * modules/fcntl-tests: New file.
52659         * tests/test-fcntl.c: New file.
52660
52661         * modules/byteswap-tests: New file.
52662         * tests/test-byteswap.c: New file.
52663
52664         * modules/arpa_inet-tests: New file.
52665         * tests/test-arpa_inet.c: New file.
52666
52667 2007-02-17  Bruno Haible  <bruno@clisp.org>
52668
52669         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
52670         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
52671         if the corresponding module is not enabled. Emit link warnings if
52672         the function is used nevertheless.
52673         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
52674         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
52675         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
52676         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
52677         * modules/inttypes (Depends-on): Add link-warning.
52678         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52679         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
52680         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
52681         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
52682         * modules/imaxdiv (configure.ac): Likewise.
52683         * modules/strtoimax (configure.ac): Likewise.
52684         * modules/strtoumax (configure.ac): Likewise.
52685
52686 2007-02-17  Bruno Haible  <bruno@clisp.org>
52687
52688         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
52689         gl_STRING_MODULE_INDICATOR_DEFAULTS.
52690         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
52691         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
52692
52693 2007-02-17  Bruno Haible  <bruno@clisp.org>
52694
52695         * modules/link-warning: New file.
52696         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
52697         * lib/string_.h (GL_LINK_WARNING): Remove definition.
52698         * modules/string (Depends-on): Add link-warning.
52699         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52700         string.h.
52701         * MODULES.html.sh (Support for building libraries and executables): Add
52702         link-warning.
52703
52704 2007-02-17  Bruno Haible  <bruno@clisp.org>
52705
52706         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
52707         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
52708         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
52709         long lines.
52710
52711 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
52712             Bruno Haible  <bruno@clisp.org>
52713
52714         * modules/tmpfile: New file.
52715         * lib/tmpfile.c: New file.
52716         * m4/tmpfile.m4: New file.
52717         * MODULES.html.sh (func_all_modules): New section "Input/output".
52718
52719 2007-02-15  Bruno Haible  <bruno@clisp.org>
52720
52721         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
52722         (supports_delete_on_close): New function.
52723         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
52724
52725 2007-02-14  Bruno Haible  <bruno@clisp.org>
52726
52727         * modules/mbspcasecmp-tests: New file.
52728         * tests/test-mbspcasecmp.sh: New file.
52729         * tests/test-mbspcasecmp.c: New file.
52730
52731         New module mbspcasecmp.
52732         * modules/mbspcasecmp: New file.
52733         * lib/mbspcasecmp.c: New file.
52734         * lib/string_.h (strncasecmp): Change warning message.
52735         (mbspcasecmp): New declaration.
52736         * m4/mbspcasecmp.m4: New file.
52737         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52738         GNULIB_MBSPCASECMP.
52739         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
52740         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
52741
52742 2007-02-14  Bruno Haible  <bruno@clisp.org>
52743
52744         * modules/mbsncasecmp-tests: New file.
52745         * tests/test-mbsncasecmp.sh: New file.
52746         * tests/test-mbsncasecmp.c: New file.
52747
52748         New module mbsncasecmp.
52749         * modules/mbsncasecmp: New file.
52750         * lib/mbsncasecmp.c: New file.
52751         * lib/string_.h (mbsncasecmp): New declaration.
52752         * m4/mbsncasecmp.m4: New file.
52753         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52754         GNULIB_MBSNCASECMP.
52755         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
52756         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
52757
52758 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
52759
52760         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
52761         Verify that it doesn't overlap with our flags.
52762         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
52763         do not have the desired effect in multibyte locales; instead, use
52764         mbscasecmp.
52765         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
52766         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
52767         we don't require GNU fnmatch ourselves (if our users require it, they
52768         should do so explicitly).
52769
52770         Fix regex code so it doesn't rely on strcasecmp.
52771         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
52772         Otherwise, include gnulib's langinfo.h.
52773         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
52774         undesirable behavior in non-C locales.  Instead, rely on localecharset.
52775         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
52776         * modules/regex (FILES): Remove m4/codeset.m4.
52777         (Depends-on): Add localcharset.  Remove strcase.
52778
52779 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52780
52781         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
52782         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
52783
52784 2007-02-13  Bruno Haible  <bruno@clisp.org>
52785
52786         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
52787         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52788
52789 2007-02-12  Bruno Haible  <bruno@clisp.org>
52790
52791         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52792         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
52793         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
52794         time warning rather than a link error.
52795
52796 2007-02-12  Bruno Haible  <bruno@clisp.org>
52797
52798         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
52799         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52800         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52801
52802 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52803
52804         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
52805         args, not 2.
52806
52807 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52808
52809         New module 'time', so that apps can include <time.h> as per
52810         POSIX and GNU instead of separate include files like time_r.h
52811         and timegm.h.  This implementation tries out a simpler approach
52812         for replacing decls in standard include files (as compared to
52813         the string module), somewhat as an experiment.
52814
52815         * config/srclist.txt: Comment out mktime.c for now.
52816         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
52817         since it doesn't apply any more.  Use generic wording instead.
52818         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
52819         'time'.
52820         * lib/time_.h, m4/time_h.m4, modules/time: New files.
52821         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
52822         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
52823         Don't include <sys/types.h>; no longer needed since we assume C89.
52824         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
52825         * lib/strftime.c: Likewise.
52826         * lib/time_r.c: Likewise.
52827         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
52828         * lib/nanosleep.c: Include <time.h> first, to check interface.
52829         * lib/strptime.c: Likewise.
52830         * lib/time_r.c: Likewise.
52831         * lib/timegm.c: Likewise.
52832         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
52833         needed.
52834         * lib/timegm.c: Don't include timegm.h; no longer needed.
52835         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
52836         time.h now handles any problems in that area.
52837         (struct timespec, nanosleep): Remove; time.h now arranges for these.
52838         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
52839         that time.h defines struct timespec.
52840         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
52841         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
52842         handles that.
52843         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
52844         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
52845         needed.  Set REPLACE_LOCALTIME.
52846         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
52847         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
52848         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
52849         nanosleep; time_h.m4 now does that.  Don't require
52850         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
52851         module handles this now.
52852         * modules/getdate (Depends-on): Remove timespec.  Add time.
52853         * modules/nanosleep (Depends-on): Likewise.
52854         * modules/stat-time (Depends-on): Likewise.
52855         * modules/nanosleep (Include): Include time.h, not timespec.h.
52856         * modules/strptime (Files): Remove lib/strptime.h.
52857         (Depends-on): Add extensions, time.
52858         (Include): Include time.h, not strptime.h.
52859         * modules/time_r (Files): Remove lib/time_r.h.
52860         (Depends-on): Add time.
52861         (Include): Include time.h, not time_r.h.
52862         * modules/timegm: Likewise.
52863         * modules/timespec (Description): Now does timespec-related decls
52864         of our own, instead of struct timespec itself.
52865         (Depends-on): Add time; remove extensions.
52866         (Maintainer): Add self.
52867         * modules/utimecmp (Depends-on): Add time; remove timespec.
52868         * modules/utimens (Depends-on): Likewise.
52869         * modules/xnanosleep (Depends-on): Likewise.
52870
52871 2007-02-11  Bruno Haible  <bruno@clisp.org>
52872
52873         * lib/c-strstr.c: Include allocsa.h.
52874         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52875         * lib/c-strcasestr.c: Include allocsa.h.
52876         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52877         * lib/strcasestr.c: Include allocsa.h.
52878         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52879         * lib/mbsstr.c: Include allocsa.h.
52880         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52881         allocsa/freesa instead of malloc/free.
52882         * lib/mbscasestr.c: Include allocsa.h.
52883         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52884         allocsa/freesa instead of malloc/free.
52885         * modules/c-strstr (Depends-on): Add allocsa.
52886         * modules/c-strcasestr (Depends-on): Likewise.
52887         * modules/strcasestr (Depends-on): Likewise.
52888         * modules/mbsstr (Depends-on): Likewise.
52889         * modules/mbscasestr (Depends-on): Likewise.
52890
52891 2007-02-11  Bruno Haible  <bruno@clisp.org>
52892
52893         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
52894
52895         * modules/mbsspn-tests: New file.
52896         * tests/test-mbsspn.sh: New file.
52897         * tests/test-mbsspn.c: New file.
52898
52899 2007-02-11  Bruno Haible  <bruno@clisp.org>
52900
52901         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
52902
52903         * modules/mbspbrk-tests: New file.
52904         * tests/test-mbspbrk.sh: New file.
52905         * tests/test-mbspbrk.c: New file.
52906
52907 2007-02-11  Bruno Haible  <bruno@clisp.org>
52908
52909         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
52910         unneeded cast.
52911
52912         * modules/mbscspn-tests: New file.
52913         * tests/test-mbscspn.sh: New file.
52914         * tests/test-mbscspn.c: New file.
52915
52916 2007-02-11  Bruno Haible  <bruno@clisp.org>
52917
52918         * modules/mbscasecmp-tests: New file.
52919         * tests/test-mbscasecmp.sh: New file.
52920         * tests/test-mbscasecmp.c: New file.
52921
52922 2007-02-11  Bruno Haible  <bruno@clisp.org>
52923
52924         Ensure O(n) worst-case complexity of mbscasestr.
52925         * lib/mbscasestr.c: Include stdbool.h.
52926         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52927         functions.
52928         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
52929         the bookkeeping indicates that it's worth it.
52930         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
52931
52932         * modules/mbscasestr-tests: New file.
52933         * tests/test-mbscasestr1.c: New file.
52934         * tests/test-mbscasestr2.sh: New file.
52935         * tests/test-mbscasestr2.c: New file.
52936         * tests/test-mbscasestr3.sh: New file.
52937         * tests/test-mbscasestr3.c: New file.
52938         * tests/test-mbscasestr4.sh: New file.
52939         * tests/test-mbscasestr4.c: New file.
52940         * m4/locale-tr.m4: New file.
52941
52942 2007-02-11  Bruno Haible  <bruno@clisp.org>
52943
52944         Ensure O(n) worst-case complexity of mbsstr.
52945         * lib/mbsstr.c: Include stdbool.h.
52946         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52947         functions.
52948         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
52949         bookkeeping indicates that it's worth it.
52950         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
52951
52952         * modules/mbsstr-tests: New file.
52953         * tests/test-mbsstr1.c: New file.
52954         * tests/test-mbsstr2.sh: New file.
52955         * tests/test-mbsstr2.c: New file.
52956         * tests/test-mbsstr3.sh: New file.
52957         * tests/test-mbsstr3.c: New file.
52958         * m4/locale-fr.m4: New file.
52959
52960 2007-02-11  Bruno Haible  <bruno@clisp.org>
52961
52962         * lib/mbsrchr.c (mbsrchr): Fix bug.
52963
52964         * modules/mbsrchr-tests: New file.
52965         * tests/test-mbsrchr.sh: New file.
52966         * tests/test-mbsrchr.c: New file.
52967
52968 2007-02-11  Bruno Haible  <bruno@clisp.org>
52969
52970         * lib/mbschr.c (mbschr): Fix bug.
52971
52972         * modules/mbschr-tests: New file.
52973         * tests/test-mbschr.sh: New file.
52974         * tests/test-mbschr.c: New file.
52975         * m4/locale-zh.m4: New file.
52976
52977 2007-02-11  Bruno Haible  <bruno@clisp.org>
52978
52979         Support for copying multibyte string iterators.
52980         * lib/mbiter.h: Include <string.h>.
52981         (mbiter_multi_copy): New function.
52982         (mbi_copy): New macro.
52983         * lib/mbuiter.h: Include <string.h>.
52984         (mbuiter_multi_copy): New function.
52985         (mbui_copy): New macro.
52986
52987 2007-02-11  Bruno Haible  <bruno@clisp.org>
52988
52989         New module mbslen.
52990         * modules/mbslen: New file.
52991         * lib/mbslen.c: New file.
52992         * lib/string_.h (mbslen): New declaration.
52993         * m4/mbslen.m4: New file.
52994         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52995         GNULIB_MBSLEN.
52996         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
52997         * MODULES.html.sh (Internationalization functions): Add mbslen.
52998
52999 2007-02-11  Bruno Haible  <bruno@clisp.org>
53000
53001         Ensure O(n) worst-case complexity of strcasestr substitute.
53002         * lib/strcasestr.c: Include stdbool.h.
53003         (knuth_morris_pratt): New function.
53004         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
53005         bookkeeping indicates that it's worth it.
53006         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
53007
53008         * modules/strcasestr-tests: New file.
53009         * tests/test-strcasestr.c: New file.
53010
53011 2007-02-11  Bruno Haible  <bruno@clisp.org>
53012
53013         Ensure O(n) worst-case complexity of c_strcasestr.
53014         * lib/c-strcasestr.c: Include stdbool.h, string.h.
53015         (knuth_morris_pratt): New function.
53016         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
53017         the bookkeeping indicates that it's worth it.
53018         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
53019
53020         * modules/c-strcasestr-tests: New file.
53021         * tests/test-c-strcasestr.c: New file.
53022
53023 2007-02-11  Bruno Haible  <bruno@clisp.org>
53024
53025         Ensure O(n) worst-case complexity of c_strstr.
53026         * lib/c-strstr.c: Include stdbool.h, string.h.
53027         (knuth_morris_pratt): New function.
53028         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
53029         bookkeeping indicates that it's worth it.
53030         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
53031
53032         * lib/c-strstr.c: Complete rewrite for maintainability.
53033
53034         * modules/c-strstr-tests: New file.
53035         * tests/test-c-strstr.c: New file.
53036
53037 2007-02-11  Bruno Haible  <bruno@clisp.org>
53038
53039         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
53040         5.2.1 and earlier, whereby \055 was treated just like the range
53041         delimiter '-'.
53042         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53043
53044 2007-02-08  Bruno Haible  <bruno@clisp.org>
53045
53046         * modules/regex (Depends-on): Add stdbool.
53047         Reported by Dalibor Topic <robilad@kaffe.org>.
53048
53049 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
53050
53051         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
53052         Prefer returning from main to exiting from it.
53053         Remove unnecessary parens after sizeof.
53054
53055 2007-02-05  Bruno Haible  <bruno@clisp.org>
53056
53057         New module mbssep.
53058         * modules/mbssep: New file.
53059         * lib/mbssep.c: New file.
53060         * lib/string_.h (strsep): Add a conditional link warning.
53061         (mbssep): New declaration.
53062         * m4/mbssep.m4: New file.
53063         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53064         GNULIB_MBSSEP.
53065         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
53066         * MODULES.html.sh (Internationalization functions): Add mbssep.
53067
53068 2007-02-05  Bruno Haible  <bruno@clisp.org>
53069
53070         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
53071         Optimize search in case of 1 delimiter.
53072
53073 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
53074
53075         * lib/acl.h: Include sys/types.h before sys/acl.h.
53076
53077 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
53078
53079         Merge upstream fix for glibc bugzilla #3957:
53080
53081         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
53082
53083         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
53084         bit for RE_HAT_LISTS_NOT_NEWLINE.
53085         (build_charclass_op): Remove bogus comment.
53086
53087 2007-02-05  Simon Josefsson  <simon@josefsson.org>
53088
53089         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
53090
53091 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53092
53093         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
53094         * lib/memmem.c [!defined _LIBC]: Include config.h.
53095
53096 2007-02-04  Bruno Haible  <bruno@clisp.org>
53097
53098         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
53099         warning message.
53100
53101 2007-02-04  Bruno Haible  <bruno@clisp.org>
53102
53103         New module mbstok_r.
53104         * modules/mbstok_r: New file.
53105         * lib/mbstok_r.c: New file.
53106         * lib/string_.h (strtok_r): Change argument names to match the
53107         comments. Add a conditional link warning.
53108         (mbstok_r): New declaration.
53109         * m4/mbstok_r.m4: New file.
53110         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53111         GNULIB_MBSTOK_R.
53112         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
53113         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
53114
53115 2007-02-04  Bruno Haible  <bruno@clisp.org>
53116
53117         New module mbsspn.
53118         * modules/mbsspn: New file.
53119         * lib/mbsspn.c: New file.
53120         * lib/string_.h (strspn): Add a conditional link warning.
53121         (mbsspn): New declaration.
53122         * m4/mbsspn.m4: New file.
53123         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53124         GNULIB_MBSSPN.
53125         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
53126         * MODULES.html.sh (Internationalization functions): Add mbsspn.
53127
53128 2007-02-04  Bruno Haible  <bruno@clisp.org>
53129
53130         New module mbspbrk.
53131         * modules/mbspbrk: New file.
53132         * lib/mbspbrk.c: New file.
53133         * lib/string_.h (strpbrk): Add a conditional link warning.
53134         (mbspbrk): New declaration.
53135         * m4/mbspbrk.m4: New file.
53136         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53137         GNULIB_MBSPBRK.
53138         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
53139         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
53140
53141 2007-02-04  Bruno Haible  <bruno@clisp.org>
53142
53143         New module mbscspn.
53144         * modules/mbscspn: New file.
53145         * lib/mbscspn.c: New file.
53146         * lib/string_.h (strcspn): Add a conditional link warning.
53147         (mbscspn): New declaration.
53148         * m4/mbscspn.m4: New file.
53149         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53150         GNULIB_MBSCSPN.
53151         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
53152         * MODULES.html.sh (Internationalization functions): Add mbscspn.
53153
53154 2007-02-04  Bruno Haible  <bruno@clisp.org>
53155
53156         New module mbscasestr, reduced goal of strcasestr.
53157         * modules/mbscasestr: New file.
53158         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
53159         (mbscasestr): Renamed from strcasestr.
53160         * lib/strcasestr.c: Don't include mbuiter.h.
53161         (strcasestr): Remove support for multibyte locales.
53162         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
53163         Change the conditional link warning.
53164         (mbscasestr): New declaration.
53165         * m4/mbscasestr.m4: New file.
53166         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
53167         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
53168         REPLACE_STRCASESTR.
53169         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
53170         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53171         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
53172         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
53173         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
53174         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
53175         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
53176         (Depends-on): Remove mbuiter.
53177         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
53178
53179 2007-02-04  Bruno Haible  <bruno@clisp.org>
53180
53181         Simplify handling of strncasecmp.
53182         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
53183         the conditional link warning.
53184         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53185         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
53186         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
53187         * modules/strcase (configure.ac): Don't invoke
53188         gl_STRING_MODULE_INDICATOR.
53189         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
53190
53191 2007-02-04  Bruno Haible  <bruno@clisp.org>
53192
53193         New module mbscasecmp, reduced goal of strcasecmp.
53194         * modules/mbscasecmp: New file.
53195         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
53196         (mbscasecmp): Renamed from strcasecmp.
53197         * lib/strcasecmp.c: Don't include mbuiter.h.
53198         (strcasecmp): Remove support for multibyte locales.
53199         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
53200         Change the conditional link warning.
53201         (mbscasecmp): New declaration.
53202         * m4/mbscasecmp.m4: New file.
53203         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
53204         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
53205         REPLACE_STRCASECMP.
53206         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
53207         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53208         GNULIB_MBSCASECMP.
53209         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
53210         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
53211         * modules/strcase (Files): Remove m4/mbrtowc.m4.
53212         (Depends-on): Remove mbuiter.
53213         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
53214
53215 2007-02-04  Bruno Haible  <bruno@clisp.org>
53216
53217         New module mbsstr. Remove module strstr.
53218         * modules/mbsstr: New file.
53219         * modules/strstr: Remove file.
53220         * lib/mbsstr.c: Renamed from lib/strstr.c.
53221         (mbsstr): Renamed from strstr.
53222         * lib/string_.h (strstr): Remove declaration. Change the conditional
53223         link warning.
53224         (mbsstr): New declaration.
53225         * m4/mbsstr.m4: New file.
53226         * m4/strstr.m4: Remove file.
53227         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
53228         REPLACE_STRSTR.
53229         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
53230         Don't initialize GNULIB_STRSTR.
53231         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
53232         substitute GNULIB_STRSTR and REPLACE_STRSTR.
53233         * MODULES.html.sh (Internationalization functions): Add mbsstr.
53234         (Support for systems lacking ANSI C 89): Remove strstr.
53235
53236 2007-02-04  Bruno Haible  <bruno@clisp.org>
53237
53238         New module mbsrchr.
53239         * modules/mbsrchr: New file.
53240         * lib/mbsrchr.c: New file.
53241         * lib/string_.h (strrchr): Add a conditional link warning.
53242         (mbsrchr): New declaration.
53243         * m4/mbsrchr.m4: New file.
53244         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53245         GNULIB_MBSRCHR.
53246         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
53247         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
53248
53249 2007-02-04  Bruno Haible  <bruno@clisp.org>
53250
53251         New module mbschr.
53252         * modules/mbschr: New file.
53253         * lib/mbschr.c: New file.
53254         * lib/string_.h (strchr): Add a conditional link warning.
53255         (mbschr): New declaration.
53256         * m4/mbschr.m4: New file.
53257         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53258         GNULIB_MBSCHR.
53259         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
53260         * MODULES.html.sh (Internationalization functions): Add mbschr.
53261
53262 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53263
53264         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
53265
53266         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
53267
53268 2007-02-04  Bruno Haible  <bruno@clisp.org>
53269
53270         New module description section 'configure.ac-early'.
53271         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
53272         (func_get_autoconf_early_snippet): New function.
53273         (func_import, func_create_testdir): Use it. Remove special cases for
53274         modules 'extensions' and 'lock'.
53275         * modules/extensions (configure.ac-early): Require
53276         gl_USE_SYSTEM_EXTENSIONS.
53277         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
53278
53279 2007-02-04  Bruno Haible  <bruno@clisp.org>
53280
53281         Make use of gcj-4.3's -fsource and -ftarget option.
53282         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
53283         and if so try the options -fsource and -ftarget.
53284         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
53285         source_version, ftarget_option, target_version arguments.
53286         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
53287         (is_envjavac_oldgcj_14_14_usable): Renamed from
53288         is_envjavac_gcj_14_14_usable.
53289         (is_envjavac_oldgcj_14_13_usable): Renamed from
53290         is_envjavac_gcj_14_13_usable.
53291         (is_gcj_present): Update.
53292         (is_gcj_43, is_gcj43_usable): New functions.
53293         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
53294         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
53295         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
53296         try the options -fsource and -ftarget.
53297
53298 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53299
53300         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
53301         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
53302         larger value.
53303
53304 2007-02-03  Jim Meyering  <jim@meyering.net>
53305
53306         Give tools a better chance to allocate space for very large buffers.
53307         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
53308
53309         Make pwd and readlink work also when run with an unreadable parent dir
53310         on systems with openat support.
53311         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
53312         provided getcwd function, even when we have openat support.
53313         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
53314
53315 2007-02-02  Bruno Haible  <bruno@clisp.org>
53316
53317         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53318         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
53319         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
53320         portability problems if one of these functions is only used on specific
53321         platforms.
53322         Reported by Paul Eggert.
53323
53324 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
53325
53326         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
53327         is causing more trouble than it's curing.
53328         * lib/regex_internal.h (__mempcpy): Remove.
53329         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
53330         (and make the code a tad smaller to boot).
53331         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
53332
53333 2007-02-02  Jim Meyering  <jim@meyering.net>
53334
53335         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
53336         section, not in the Makefile.am: one.
53337
53338 2007-02-02  Eric Blake  <ebb9@byu.net>
53339
53340         * lib/strchrnul.c: Always include config.h first.
53341
53342         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
53343         gnulib strstr is not necessary here.
53344
53345 2007-02-02  Simon Josefsson  <simon@josefsson.org>
53346
53347         * m4/socklen.m4: Fix typo.
53348
53349 2007-02-02  Eric Blake  <ebb9@byu.net>
53350
53351         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
53352         * modules/netinet_in (Makefile.am): Likewise.
53353
53354 2007-02-01  Bruno Haible  <bruno@clisp.org>
53355
53356         * lib/string_.h (GL_LINK_WARNING): New macro.
53357         (strcasecmp, strstr, strcasestr): If provided by the system,
53358         conditionally define as a macro that leads to a warning instead of to
53359         an error.
53360         (strncasecmp): Conditionally define as a macro that leads to a warning.
53361
53362 2007-02-01  Karl Berry  <karl@gnu.org>
53363
53364         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
53365
53366 2007-02-01  Bruno Haible  <bruno@clisp.org>
53367
53368         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
53369         renamings.
53370
53371 2007-02-01  Eric Blake  <ebb9@byu.net>
53372
53373         * modules/regex (Depends-on): Revert dependence on mempcpy.
53374         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
53375         module's definition of mempcpy.
53376         Reported by Paul Eggert.
53377
53378 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
53379
53380         * lib/string_.h: If the gnulib module XYZ is not present, undefine
53381         the symbol XYZ before redefining it.  This fixes a problem with
53382         programs that don't use XYZ, when compiled on systems that define
53383         XYZ to something else.
53384
53385 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
53386
53387         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
53388         occurs when "mkdir -m foo" creates a setgid directory that is (1)
53389         writeable to group or other and (2) is intended to have a special
53390         mode bit that is set or cleared.  In such a case, the directory
53391         should be neither group- nor other-writeable until the special
53392         mode bits are right.
53393
53394 2007-01-31  Eric Blake  <ebb9@byu.net>
53395
53396         * modules/mountlist (Depends-on): Add strstr.
53397
53398         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
53399         bug.
53400         * modules/string (Makefile.am): Remove redundant replacement.
53401         * modules/regex (Depends-on): Add mempcpy.
53402
53403 2007-01-31  Bruno Haible  <bruno@clisp.org>
53404
53405         New module description field 'Link'.
53406         * gnulib-tool (func_usage): Document --extract-link-directive.
53407         (sed_extract_prog): Recognize 'Link' directive.
53408         (func_get_link_directive): New function.
53409         (func_import): Show summary of link directives.
53410         Handle --extract-link-directive option.
53411         * modules/acl (Link): New section.
53412         * modules/clock-time (Link): New section.
53413         * modules/euidaccess (Link): New section.
53414         * modules/gettext (Link): New section.
53415         * modules/iconv (Link): New section.
53416         * modules/lock (Link): New section.
53417         * modules/nanosleep (Link): New section.
53418         * modules/readline (Link): New section.
53419
53420 2007-01-27  Bruno Haible  <bruno@clisp.org>
53421
53422         Enforce the use of gnulib modules for unportable <string.h> functions.
53423         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
53424         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
53425         (gl_HEADER_STRING_H_BODY): Require it.
53426         * lib/string_.h: If the gnulib module XYZ is not present, redefine
53427         the symbol XYZ to one that gives a link error.
53428         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
53429         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
53430         * modules/mempcpy (configure.ac): Likewise.
53431         * modules/memrchr (configure.ac): Likewise.
53432         * modules/stpcpy (configure.ac): Likewise.
53433         * modules/stpncpy (configure.ac): Likewise.
53434         * modules/strcase (configure.ac): Likewise.
53435         * modules/strcasestr (configure.ac): Likewise.
53436         * modules/strchrnul (configure.ac): Likewise.
53437         * modules/strdup (configure.ac): Likewise.
53438         * modules/strndup (configure.ac): Likewise.
53439         * modules/strnlen (configure.ac): Likewise.
53440         * modules/strpbrk (configure.ac): Likewise.
53441         * modules/strsep (configure.ac): Likewise.
53442         * modules/strstr (configure.ac): Likewise.
53443         * modules/strtok_r (configure.ac): Likewise.
53444
53445 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
53446
53447         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
53448
53449 2007-01-30  Jim Meyering  <jim@meyering.net>
53450
53451         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
53452
53453 2007-01-29  Bruno Haible  <bruno@clisp.org>
53454
53455         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
53456         * lib/execute.c: Likewise.
53457         * lib/pipe.c: Likewise.
53458         * lib/printf-args.h: Likewise.
53459         * lib/printf-args.c: Likewise.
53460         * lib/printf-parse.c: Likewise.
53461         * lib/vasnprintf.c: Likewise.
53462
53463 2007-01-29  Eric Blake  <ebb9@byu.net>
53464
53465         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
53466         declaration.
53467
53468 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
53469
53470         * lib/strptime.h (strptime): Use 'restrict' for args where
53471         POSIX requires this.
53472         * lib/strptime.c (strptime): Likewise.
53473         Change license notice from LGPL to GPL, since gnulib-tool will
53474         change this as needed.
53475         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
53476         defined.
53477         Include "strptime.h" first, to check interface.
53478         Do not #undef _LIBC and _NL_CURRENT.
53479         Do not include <stdlib.h>; no longer needed.
53480         Include "time_r.h" and declare ptime_locale_status
53481         only if _LIBC is not defined.
53482         (__P): Remove unused macro.
53483         (match_string): Bring back glibc version, but use it only if _LIBC
53484         is defined.
53485         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
53486         Remove unnecessary assertion and abort() call.
53487         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
53488         * m4/strptime.m4: Fix serial number comment.
53489         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
53490         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
53491         (Depends-on): Add time_r.
53492
53493 2007-01-29  Bruno Haible  <bruno@clisp.org>
53494
53495         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53496         strptime.
53497         * modules/strptime (Depends-on): Add stdbool.
53498         * lib/strptime.h: Include <time.h> always. Add comments.
53499
53500 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53501
53502         * modules/strptime: New file.
53503         * lib/strptime.h: New file.
53504         * lib/strptime.c: New file.
53505         * m4/strptime.m4: New file.
53506
53507 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53508
53509         * MODULES.html.sh: New module mpsort.
53510         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
53511
53512         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
53513         a circularity problem with HP-UX ia64 reported by Bob Proulx in
53514         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
53515         All uses changed.
53516         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
53517         All uses changed.
53518         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
53519         to _Restrict_.
53520         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
53521         the parameter matches the prototype.
53522
53523 2007-01-28  Jim Meyering  <jim@meyering.net>
53524
53525         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
53526         sys/time.h here, reverting that part of the previous patch:
53527         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
53528
53529 2007-01-28  Bruno Haible  <bruno@clisp.org>
53530
53531         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
53532         value of $(SYS_TIME_H).
53533         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
53534         remove it conditionally, too. [added by Jim Meyering]
53535         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
53536         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53537         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
53538         GETTIMEOFDAY_REPLACEMENT to 1.
53539
53540 2007-01-28  Bruno Haible  <bruno@clisp.org>
53541
53542         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
53543         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
53544         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
53545         Set UNISTD_H instead of UNISTD_H2.
53546         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
53547
53548 2007-01-28  Bruno Haible  <bruno@clisp.org>
53549
53550         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
53551         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
53552
53553 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53554
53555         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
53556         (func_create_testdir): Ensure C locale for `grep' and `tr'
53557         character ranges.
53558         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
53559         ACLOCAL_AMFLAGS parsing state machine.
53560
53561 2007-01-27  Bruno Haible  <bruno@clisp.org>
53562
53563         * modules/unistr/base: Update.
53564
53565 2007-01-27  Bruno Haible  <bruno@clisp.org>
53566
53567         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
53568         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
53569         * modules/unistr/u32-mbtouc-unsafe: Renamed from
53570         modules/unistr/u32-mbtouc.
53571         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
53572         * lib/unistr.h: Update.
53573         * lib/linebreak.c: Update.
53574         * modules/unistr/u32-mbtouc: Renamed from
53575         modules/unistr/u32-mbtouc-safe.
53576         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
53577         * lib/unistr.h: Update.
53578         * lib/unistr/u32-to-u8.c: Update.
53579         * lib/unistr/u32-to-u16.c: Update.
53580
53581 2007-01-27  Bruno Haible  <bruno@clisp.org>
53582
53583         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
53584         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
53585         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
53586         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
53587         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
53588         * modules/unistr/u16-mbtouc-unsafe: Renamed from
53589         modules/unistr/u16-mbtouc.
53590         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
53591         * lib/unistr.h: Update.
53592         * lib/linebreak.c: Update.
53593         * modules/linebreak: Update.
53594         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
53595         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
53596         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
53597         * modules/unistr/u16-mbtouc: Renamed from
53598         modules/unistr/u16-mbtouc-safe.
53599         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
53600         * lib/unistr.h: Update.
53601         * lib/unistr/u16-to-u8.c: Update.
53602         * modules/unistr/u16-to-u8: Update.
53603         * lib/unistr/u16-to-u32.c: Update.
53604         * modules/unistr/u16-to-u32: Update.
53605
53606 2007-01-27  Bruno Haible  <bruno@clisp.org>
53607
53608         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
53609         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
53610         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
53611         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
53612         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
53613         * modules/unistr/u8-mbtouc-unsafe: Renamed from
53614         modules/unistr/u8-mbtouc.
53615         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
53616         * lib/unistr.h: Update.
53617         * lib/striconveh.c: Update.
53618         * modules/striconveh: Update.
53619         * lib/linebreak.c: Update.
53620         * modules/linebreak: Update.
53621         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
53622         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
53623         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
53624         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
53625         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
53626         * lib/unistr.h: Update.
53627         * lib/striconveh.c: Update.
53628         * modules/striconveh: Update.
53629         * lib/unistr/u8-to-u16.c: Update.
53630         * modules/unistr/u8-to-u16: Update.
53631         * lib/unistr/u8-to-u32.c: Update.
53632         * modules/unistr/u8-to-u32: Update.
53633
53634 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53635
53636         Sync from Libtool.
53637         * lib/argz.c: Do not include strings.h nor memory.h, include
53638         string.h unconditionally.  Patch by Simon Josefsson.
53639
53640 2007-01-27  Bruno Haible  <bruno@clisp.org>
53641
53642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
53643         from gl_HEADER_STRING_H_BODY.
53644         (gl_HEADER_STRING_H_BODY): Require it.
53645         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
53646         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
53647         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
53648         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
53649         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53650         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
53651         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53652         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
53653         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
53654         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53655         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
53656         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
53657         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
53658         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53659         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
53660
53661 2007-01-27  Bruno Haible  <bruno@clisp.org>
53662
53663         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
53664         check_PROGRAMS into noinst_PROGRAMS.
53665         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
53666         check_PROGRAMS in this case.
53667         (func_import): Set for_test to false.
53668         (func_create_testdir): Set for_test to true.
53669
53670 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53671             Bruno Haible  <bruno@clisp.org>
53672
53673         * modules/strcasestr (Files): Remove lib/strcasestr.h.
53674         (Depends-on): Add string.
53675         (Includes): Use <string.h> instead of strcasestr.h.
53676         * modules/string (Makefile.am): Also substitute the value of
53677         REPLACE_STRCASESTR.
53678         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
53679         assume strcasestr is declared in <string.h> not <strings.h>. Also
53680         set REPLACE_STRCASESTR.
53681         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
53682         REPLACE_STRCASESTR.
53683         * lib/strcasestr.h: Remove file.
53684         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
53685         * lib/string_.h (strcasestr): New declaration.
53686
53687 2007-01-27  Bruno Haible  <bruno@clisp.org>
53688
53689         * lib/string_.h: Use 'extern'.
53690
53691 2007-01-27  Jim Meyering  <jim@meyering.net>
53692
53693         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
53694         of set-but-not-used local, "q".
53695
53696         * lib/mempcpy.c: Include <config.h> before <string.h>.
53697         This fixes a compilation error on HP-UX, due to the system's
53698         "restrict"-using mempcpy prototype.
53699
53700 2007-01-26  Bruno Haible  <bruno@clisp.org>
53701
53702         Small optimization.
53703         * lib/javacomp.c: Include c-strstr.h.
53704          (is_envjavac_gcj): Use c_strstr instead of strstr.
53705         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
53706
53707 2007-01-26  Bruno Haible  <bruno@clisp.org>
53708
53709         * MODULES.html.sh (Unicode string functions): Add the new modules.
53710
53711         * modules/uniconv/u32-strconv-to-locale: New file.
53712         * lib/uniconv/u32-strconv-to-locale.c: New file.
53713
53714         * modules/uniconv/u16-strconv-to-locale: New file.
53715         * lib/uniconv/u16-strconv-to-locale.c: New file.
53716
53717         * modules/uniconv/u8-strconv-to-locale: New file.
53718         * lib/uniconv/u8-strconv-to-locale.c: New file.
53719
53720         * modules/uniconv/u32-strconv-from-locale: New file.
53721         * lib/uniconv/u32-strconv-from-locale.c: New file.
53722
53723         * modules/uniconv/u16-strconv-from-locale: New file.
53724         * lib/uniconv/u16-strconv-from-locale.c: New file.
53725
53726         * modules/uniconv/u8-strconv-from-locale: New file.
53727         * lib/uniconv/u8-strconv-from-locale.c: New file.
53728
53729         * modules/uniconv/u32-strconv-to-enc: New file.
53730         * lib/uniconv/u32-strconv-to-enc.c: New file.
53731         * modules/uniconv/u32-strconv-to-enc-tests: New file.
53732         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
53733
53734         * modules/uniconv/u16-strconv-to-enc: New file.
53735         * lib/uniconv/u16-strconv-to-enc.c: New file.
53736         * lib/uniconv/u-strconv-to-enc.h: New file.
53737         * modules/uniconv/u16-strconv-to-enc-tests: New file.
53738         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
53739
53740         * modules/uniconv/u8-strconv-to-enc: New file.
53741         * lib/uniconv/u8-strconv-to-enc.c: New file.
53742         * modules/uniconv/u8-strconv-to-enc-tests: New file.
53743         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
53744
53745         * modules/uniconv/u32-strconv-from-enc: New file.
53746         * lib/uniconv/u32-strconv-from-enc.c: New file.
53747         * modules/uniconv/u32-strconv-from-enc-tests: New file.
53748         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
53749
53750         * modules/uniconv/u16-strconv-from-enc: New file.
53751         * lib/uniconv/u16-strconv-from-enc.c: New file.
53752         * modules/uniconv/u16-strconv-from-enc-tests: New file.
53753         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
53754
53755         * modules/uniconv/u8-strconv-from-enc: New file.
53756         * lib/uniconv/u8-strconv-from-enc.c: New file.
53757         * lib/uniconv/u-strconv-from-enc.h: New file.
53758         * modules/uniconv/u8-strconv-from-enc-tests: New file.
53759         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
53760
53761         * modules/uniconv/u32-conv-from-enc: New file.
53762         * lib/uniconv/u32-conv-from-enc.c: New file.
53763         * modules/uniconv/u32-conv-from-enc-tests: New file.
53764         * tests/uniconv/test-u32-conv-from-enc.c: New file.
53765
53766         * modules/uniconv/u16-conv-from-enc: New file.
53767         * lib/uniconv/u16-conv-from-enc.c: New file.
53768         * lib/uniconv/u-conv-from-enc.h: New file.
53769         * modules/uniconv/u16-conv-from-enc-tests: New file.
53770         * tests/uniconv/test-u16-conv-from-enc.c: New file.
53771
53772         * modules/uniconv/u8-conv-from-enc: New file.
53773         * lib/uniconv/u8-conv-from-enc.c: New file.
53774         * modules/uniconv/u8-conv-from-enc-tests: New file.
53775         * tests/uniconv/test-u8-conv-from-enc.c: New file.
53776
53777         * modules/uniconv/base: New file.
53778         * lib/uniconv.h: New file.
53779
53780 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
53781
53782         * doc/gnulib-tool.texi (Initial import): Update to match current
53783         behavior with strdup module.
53784         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
53785         * lib/memmem.h: Remove; all uses removed.  This is now done
53786         by <string.h>.
53787         * lib/mempcpy.h: Likewise.
53788         * lib/memrchr.h: Likewise.
53789         * lib/stpcpy.h: Likewise.
53790         * lib/stpncpy.h: Likewise.
53791         * lib/strcase.h: Likewise.
53792         * lib/strchrnul.h: Likewise.
53793         * lib/strdup.h: Likewise.
53794         * lib/strndup.h: Likewise.
53795         * lib/strnlen.h: Likewise.
53796         * lib/strpbrk.h: Likewise.
53797         * lib/strsep.h: Likewise.
53798         * lib/strstr.h: Likewise.
53799         * lib/strtok_r.h: Likewise.
53800         * lib/string_.h: New file.
53801         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
53802         Rely on <string.h> instead.
53803         * lib/canon-host.c: Likewise.
53804         * lib/chdir-long.c: Likewise.
53805         * lib/concatpath.c: Likewise.
53806         * lib/exclude.c: Likewise.
53807         * lib/fchdir.c: Likewise.
53808         * lib/getaddrinfo.c: Likewise.
53809         * lib/getcwd.c: Likewise.
53810         * lib/getsubopt.c: Likewise.
53811         * lib/glob.c: Likewise.
53812         * lib/hard-locale.c: Likewise.
53813         * lib/iconvme.c: Likewise.
53814         * lib/javacomp.c: Likewise.
53815         * lib/mempcpy.c: Likewise.
53816         * lib/memrchr.c: Likewise.
53817         * lib/regex_internal.h: Likewise.
53818         * lib/stpncpy.c: Likewise.
53819         * lib/strcasecmp.c: Likewise.
53820         * lib/strchrnul.c: Likewise.
53821         * lib/strdup.c: Likewise.
53822         * lib/striconv.c: Likewise.
53823         * lib/striconveh.c: Likewise.
53824         * lib/striconveha.c: Likewise.
53825         * lib/strncasecmp.c: Likewise.
53826         * lib/strndup.c: Likewise.
53827         * lib/strnlen.c: Likewise.
53828         * lib/strsep.c: Likewise.
53829         * lib/strstr.c: Likewise.
53830         * lib/strtok_r.c: Likewise.
53831         * lib/userspec.c: Likewise.
53832         * lib/w32spawn.h: Likewise.
53833         * lib/xstrndup.c: Likewise.
53834         * lib/mountlist.c (strstr): Remove decl.
53835         * m4/string_h.m4: New file.
53836         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
53837         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
53838         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
53839         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
53840         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
53841         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
53842         Set REPLACE_STRCASECMP if necessary.
53843         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
53844         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
53845         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
53846         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
53847         HAVE_DECL_STRDUP if necessary.
53848         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
53849         since gl_FUNC_STRNDUP does that now.
53850         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
53851         Check for decl here...
53852         (gl_PREREQ_STRNLEN): ... not here.
53853         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
53854         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
53855         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
53856         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
53857         necessary.
53858         * modules/string: New file.
53859         * modules/memmem (Files): Remove special-purpose include file.
53860         (Depends-on): Add string.
53861         (Include): Include <string.h>, not the removed file.
53862         * modules/mempcpy: Likewise.
53863         * modules/memrchr: Likewise.
53864         * modules/stpcpy: Likewise.
53865         * modules/stpncpy: Likewise.
53866         * modules/strcase: Likewise.
53867         * modules/strchrnul: Likewise.
53868         * modules/strdup: Likewise.
53869         * modules/strndup: Likewise.
53870         * modules/strnlen: Likewise.
53871         * modules/strpbrk: Likewise.
53872         * modules/strsep: Likewise.
53873         * modules/strstr: Likewise.
53874         * modules/strtok_r: Likewise.
53875         * tests/test-dirname.c: Don't include "strdup.h", since
53876         <string.h> now suffices.
53877         * tests/test-memmem.c: Don't include "memmem.h", since
53878         <string.h> now suffices.
53879
53880 2007-01-25  Bruno Haible  <bruno@clisp.org>
53881
53882         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
53883         *resultp is 0.
53884
53885         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
53886         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
53887         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
53888         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
53889
53890         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
53891         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
53892         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
53893         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
53894         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
53895         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
53896
53897 2007-01-24  Bruno Haible  <bruno@clisp.org>
53898
53899         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
53900         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
53901         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
53902         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
53903         gl_FUNC_FTS_CORE.
53904         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
53905         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
53906         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53907         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
53908         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
53909         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
53910         gl_FUNC_FCHOWNAT.
53911         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
53912         gl_FUNC_STRFTIME.
53913         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
53914         Reported by Ralf Wildenhues.
53915
53916 2007-01-24  Bruno Haible  <bruno@clisp.org>
53917
53918         Drop AC_REQUIRE calls that are redundant with the module dependencies.
53919         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
53920         gl_GETADDRINFO.
53921         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
53922         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
53923         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
53924
53925 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
53926
53927         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
53928         Don't use 'exit'; just return from 'main'.
53929         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
53930
53931         * lib/fnmatch_.h: Readjust white space and comments to match
53932         glibc, to avoid spurious diffs.
53933
53934 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53935
53936         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
53937         2004-12-01 change by Jakub Jelinek, since this code won't compile
53938         if !LIBC.  Problem reported by Bob Proulx.
53939
53940 2007-01-23  Bruno Haible  <bruno@clisp.org>
53941
53942         * lib/striconveh.c: Include c-strcaseeq.h.
53943         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
53944         * modules/striconveh (Depends-on): Add c-strcaseeq.
53945
53946 2007-01-23  Bruno Haible  <bruno@clisp.org>
53947
53948         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
53949
53950         * modules/c-strcaseeq: New file.
53951         * lib/c-strcaseeq.h: New file.
53952
53953         * modules/streq: New file.
53954         * lib/streq.h: New file.
53955
53956 2007-01-23  Bruno Haible  <bruno@clisp.org>
53957
53958         * modules/striconveha-tests: New file.
53959         * tests/test-striconveha.c: New file.
53960
53961         * lib/striconveha.h: Include <stdbool.h>.
53962         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
53963         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
53964         (mem_iconveha_notranslit): Renamed from mem_iconveha.
53965         (mem_iconveha): New function.
53966         (str_iconveha_notranslit): Renamed from str_iconveha.
53967         (str_iconveha): New function.
53968         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
53969         c-strcase.
53970
53971 2007-01-23  Bruno Haible  <bruno@clisp.org>
53972
53973         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
53974         encodings without forgiving before trying any encoding with handler.
53975         (str_iconveha): Try all encodings without forgiving before trying any
53976         encoding with handler.
53977
53978 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53979
53980         Import the following changes from libc.
53981
53982         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
53983
53984         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
53985
53986         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
53987
53988         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
53989         normal_bracket label.
53990
53991         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
53992
53993         [BZ #361]
53994         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
53995         to normal_bracket after fetching the next character.
53996
53997 2007-01-22  Bruno Haible  <bruno@clisp.org>
53998
53999         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
54000         argument.
54001         * lib/striconveh.c (iconv_carefully_1): New function.
54002         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
54003         argument.
54004         (str_cd_iconveh): Update.
54005         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
54006         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
54007         * tests/test-striconveh.c (MAGIC): New macro.
54008         (new_offsets): New function.
54009         (main): Test call with and without offsets.
54010
54011 2007-01-22  Bruno Haible  <bruno@clisp.org>
54012
54013         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
54014         * modules/sys_select (Makefile.am): Likewise.
54015         * modules/sys_socket (Makefile.am): Likewise.
54016         * modules/sys_time (Makefile.am): Likewise.
54017
54018 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
54019
54020         * modules/gettimeofday (License): Change from GPL to LGPL, since
54021         gettimeofday is a library function.
54022
54023 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54024
54025         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
54026
54027 2007-01-21  Bruno Haible  <bruno@clisp.org>
54028
54029         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
54030
54031 2007-01-21  Bruno Haible  <bruno@clisp.org>
54032
54033         * modules/striconveha: New file.
54034         * lib/striconveha.h: New file.
54035         * lib/striconveha.c: New file.
54036         * MODULES.html.sh (Internationalization functions): Add striconveha.
54037         * lib/striconv.c (str_iconv): Optimize the case of an empty input
54038         string.
54039         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
54040
54041 2007-01-21  Bruno Haible  <bruno@clisp.org>
54042
54043         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
54044         * lib/striconveh.c (str_iconveh): Likewise.
54045
54046 2007-01-21  Bruno Haible  <bruno@clisp.org>
54047
54048         * lib/striconveh.h (mem_iconveh): New declaration.
54049         * lib/striconveh.c (mem_iconveh): New function.
54050         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
54051
54052 2007-01-21  Bruno Haible  <bruno@clisp.org>
54053
54054         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
54055
54056         * lib/striconveh.h (mem_cd_iconveh): Change specification.
54057         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
54058         original result buffer.
54059         (str_cd_iconveh): Update.
54060         * tests/test-striconveh.c (main): Update.
54061
54062         * lib/striconv.h (mem_cd_iconv): Change specification.
54063         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
54064         result buffer.
54065         (str_cd_iconv): Update.
54066         * tests/test-striconv.c (main): Update.
54067
54068 2007-01-21  Bruno Haible  <bruno@clisp.org>
54069
54070         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
54071
54072 2007-01-20  Jim Meyering  <jim@meyering.net>
54073
54074         * lib/userspec.c (parse_with_separator): If a user or group string
54075         starts with "+", skip the corresponding name-to-ID look-up, since
54076         such a look-up must fail: user and group names may not include "+".
54077
54078 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54079
54080         * lib/poll.c: Include sys/time.h and time.h unconditionally,
54081         since we now assume the sys_time module.
54082         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
54083         check for sys/time.h; no longer needed.
54084         * modules/poll (Depends-on): Depend on sys_time.
54085
54086 2007-01-18  Bruno Haible  <bruno@clisp.org>
54087
54088         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
54089         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
54090
54091         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
54092         gettimeofday.
54093
54094         * tests/test-gettimeofday.c: Include <time.h>.
54095         (dummy): Remove variable.
54096
54097         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
54098         gl_HEADER_SYS_TIME_H.
54099         (gl_HEADER_SYS_TIME_H): New macro.
54100
54101         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
54102         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54103         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54104         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
54105         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54106         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
54107         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
54108         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54109         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
54110         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
54111         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54112
54113         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
54114         last change; it caused a compilation error when cross-compiling to
54115         Cygwin.
54116
54117 2007-01-18  Jim Meyering  <jim@meyering.net>
54118
54119         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
54120         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
54121         than the race-prone "test -d sys || mkdir sys".
54122         (configure.ac): Use AC_PROG_MKDIR_P.
54123         * modules/sys_select: Likewise.
54124         * modules/sys_socket: Likewise.
54125         * modules/sys_time: Likewise.
54126
54127 2007-01-18  Eric Blake  <ebb9@byu.net>
54128
54129         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
54130         replace gettimeofday.
54131         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
54132         name, to avoid infinite recursion.
54133
54134 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
54135
54136         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
54137         module sys_time.
54138         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
54139         assume timespec.h defines struct timeval.
54140         * lib/settime.c: Likewise.
54141         * lib/utimens.c: Likewise.
54142         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
54143         since we now assume the gettimeofday module.
54144         * lib/tempname.c (__gen_tempname): Likewise.
54145         * lib/gettimeofday.h: Remove.
54146         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
54147         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
54148         Include <time.h>, for 'time()'.
54149         (localtime_buffer_addr): Also use this workaround if
54150         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
54151         to simplify the uses.  All uses changed.
54152         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
54153         that #undef is inside {}, and 'const' follows type name consistently.
54154         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
54155         (gettimeofday): Do not use the maximum possible value for
54156         tv->tv_usec, since that might break usages other than ls.c.
54157         Instead, we'll leave ls.c alone.  This undoes today's patch
54158         by Bruno.  Add a compile-time warning for 1s-clock resolution;
54159         we've never observed the problem but might as well keep the
54160         canary.
54161         * lib/nanosleep.c: Include timespec.h first, for interface check.
54162         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
54163         now assume the sys_time module.
54164         * lib/tempname.c: Likewise.
54165         * lib/timespec.h: Likewise.
54166         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
54167         needed.
54168         * lib/strftime.c: Likewise.
54169         * lib/timespec.h: Likewise.
54170         * lib/posixtm.c: Include posixtm.h first, for interface check.
54171         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
54172         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
54173         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
54174         * lib/sys_time_.h: New file.
54175         * lib/timespec.h (struct timespec): Use long int, not long.
54176         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54177         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
54178         Remove obsolescent call to AC_HEADER_TIME.
54179         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
54180         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
54181         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
54182         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
54183         Likewise.
54184         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
54185         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
54186         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
54187         into the sys_time module.  Check for gettimeofday just once.
54188         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
54189         for gettimeofday signature to just check the signature.  Merely
54190         compile it, since linking doesn't test signature.  Improve test for
54191         whether gettimeofday.o is actually needed.
54192         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
54193         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
54194         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
54195         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54196         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
54197         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
54198         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
54199         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
54200         than worrying about sys/time.h.
54201         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
54202         Don't bother worrying about TIME_WITH_SYS_TIME.
54203         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
54204         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
54205         * m4/sys_time_h.m4: New file.
54206         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
54207         Don't include sys/time.h.  Return from main rather than exiting.
54208         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
54209         all uses changed.
54210         * modules/gethrxtime (Depends-on): Add sys_time.
54211         * modules/gettime (Depends-on): Likewise.
54212         * modules/gettimeofday (Depends-on): Likewise.
54213         * modules/nanosleep (Depends-on): Likewise.
54214         * modules/settime (Depends-on): Likewise.
54215         * modules/tempname (Depends-on): Likewise.
54216         * modules/utimens (Depends-on): Likewise.
54217         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
54218         (Include:) Change back to <sys/time.h>.
54219         (Maintainer:) Add self.
54220         * modules/sys_time: New file.
54221         * modules/tempname (Depends-on): Add gettimeofday.
54222         * tests/test-gettimeofday.c: Include <sys/time.h>
54223         rather than gettimeofday.h.
54224
54225 2007-01-17  Bruno Haible  <bruno@clisp.org>
54226
54227         * gnulib-tool (func_get_license): Revert last patch. Instead, let
54228         the license default to GPL.
54229         (func_create_testdir): Don't complain if a module is LGPL and its
54230         tests module depends on GPLed modules.
54231
54232 2007-01-17  Bruno Haible  <bruno@clisp.org>
54233
54234         * lib/gettimeofday.c (gettimeofday): Add code for the case
54235         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
54236         maximum possible value for tv->tv_usec, rather than the minimum one.
54237
54238 2005-10-08  Martin Lambers  <marlam@marlam.de>
54239 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54240 2007-01-16  Bruno Haible  <bruno@clisp.org>
54241
54242         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
54243         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
54244         gl_FUNC_GETTIMEOFDAY.
54245         (Include): Add gettimeofday.h.
54246         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
54247         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
54248         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
54249         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
54250         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
54251         * lib/gettimeofday.h: New file.
54252         * lib/gettimeofday.c: Include <sys/timeb.h>.
54253         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
54254         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54255         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
54256         fall back on time().
54257
54258         * tests/test-gettimeofday.c: New file.
54259         * modules/gettimeofday-tests: New file.
54260
54261 2007-01-16  Eric Blake  <ebb9@byu.net>
54262
54263         * modules/fnmatch (Depends-on): Depend on wchar.
54264         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
54265         * m4/fnmatch.m4: Likewise.
54266         * modules/mbchar (Makefile.am): Assume <wchar.h>.
54267         * m4/mbchar.m4: Likewise.
54268         * modules/mbswidth (Depends-on): Depend on wchar.
54269         * lib/mbswidth.c: Assume <wchar.h>.
54270         * m4/mbswidth.m4: Likewise.
54271         * modules/quotearg (Depends-on): Depend on wchar.
54272         * lib/quotearg.c: Assume <wchar.h>.
54273         * m4/quotearg.m4: Likewise.
54274         * modules/regex (Depends-on): Depend on wchar.
54275         * lib/regex_internal.h: Assume <wchar.h>.
54276         * m4/regex.m4: Likewise.
54277         * modules/stdint (Depends-on): Depend on wchar.
54278         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
54279         * m4/stdint.m4: Likewise.
54280         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
54281         * modules/strftime (Depends-on): Depend on wchar.
54282         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
54283         * modules/strtol (Depends-on): Depend on wchar.
54284         * lib/strtol.c: Assume <wchar.h>.
54285         * modules/wcwidth (Depends-on): Depend on wchar.
54286         * lib/wcwidth.h: Assume <wchar.h>.
54287         * m4/wcwidth.m4: Likewise.
54288
54289 2007-01-16  Bruno Haible  <bruno@clisp.org>
54290
54291         * modules/csharpexec-script: New, created from...
54292         * modules/csharpexec: ... this.
54293
54294 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54295
54296         * modules/javaexec-script: New, created from...
54297         * modules/javaexec: ... this.
54298
54299 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54300
54301         * modules/poll (Dependencies): Add sys_select.
54302
54303 2007-01-15  Jim Meyering  <jim@meyering.net>
54304
54305         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
54306         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
54307         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
54308         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
54309
54310 2007-01-15  Bruno Haible  <bruno@clisp.org>
54311
54312         * modules/striconveh: New file.
54313         * lib/striconveh.h: New file.
54314         * lib/striconveh.c: New file.
54315         * MODULES.html.sh (Internationalization functions): Add striconveh.
54316
54317         * modules/striconveh-tests: New file.
54318         * tests/test-striconveh.c: New file.
54319
54320 2007-01-15  Bruno Haible  <bruno@clisp.org>
54321
54322         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
54323         not from GNU libiconv or GNU libc.
54324
54325 2007-01-15  Bruno Haible  <bruno@clisp.org>
54326
54327         * doc/gnulib-intro.texi (Copyright): Explain the different license
54328         terms for module descriptions, autoconf macros, tests, documentation.
54329
54330 2007-01-14  Bruno Haible  <bruno@clisp.org>
54331
54332         * modules/striconv-tests: New file.
54333         * tests/test-striconv.c: New file.
54334
54335 2007-01-14  Bruno Haible  <bruno@clisp.org>
54336
54337         * modules/iconv-tests: New file.
54338         * tests/test-iconv.c: New file.
54339
54340 2007-01-14  Bruno Haible  <bruno@clisp.org>
54341
54342         * gnulib-tool (func_get_license): For test modules, use the license of
54343         the main module.
54344
54345 2007-01-14  Bruno Haible  <bruno@clisp.org>
54346
54347         * modules/iconv (Include): Clarify that <iconv.h> can only be included
54348         if iconv is found to exist.
54349
54350 2007-01-14  Bruno Haible  <bruno@clisp.org>
54351
54352         * modules/c-ctype-tests: New file.
54353         * tests/test-c-ctype.c: New file.
54354
54355 2007-01-14  Bruno Haible  <bruno@clisp.org>
54356
54357         * modules/binary-io-tests: New file.
54358         * tests/test-binary-io.sh: New file.
54359         * tests/test-binary-io.c: New file.
54360
54361 2007-01-14  Bruno Haible  <bruno@clisp.org>
54362
54363         * modules/array-oset-tests: New file.
54364         * tests/test-array_oset.c: New file.
54365
54366 2007-01-14  Bruno Haible  <bruno@clisp.org>
54367
54368         * modules/array-list-tests: New file.
54369         * tests/test-array_list.c: New file.
54370
54371 2007-01-14  Bruno Haible  <bruno@clisp.org>
54372
54373         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
54374         and make.
54375         Reported by Simon Josefsson in
54376         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
54377
54378 2007-01-14  Bruno Haible  <bruno@clisp.org>
54379
54380         * modules/allocsa-tests: New file.
54381         * tests/test-allocsa.c: New file.
54382
54383 2007-01-14  Bruno Haible  <bruno@clisp.org>
54384
54385         * modules/fchdir (Depends-on): Add absolute-header.
54386         * modules/unistd (Depends-on): Likewise.
54387
54388 2006-12-30  Bruno Haible  <bruno@clisp.org>
54389
54390         * modules/fchdir: New file.
54391         * modules/unistd (Files): Add lib/unistd_.h.
54392         (Makefile.am): Generate unistd.h from unistd_.h.
54393         * lib/fchdir.c: New file.
54394         * lib/dirent_.h: New file.
54395         * lib/unistd_.h: New file.
54396         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
54397         * m4/fchdir.m4: New file.
54398         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
54399         (gl_HEADER_UNISTD): Invoke it.
54400         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
54401         function.
54402         * lib/backupfile.c (opendir, closedir): Undefine.
54403         * lib/chown.c (open, close): Undefine.
54404         * lib/clean-temp.c (open, close): Undefine.
54405         * lib/copy-file.c (open, close): Undefine.
54406         * lib/execute.c (open, close): Undefine.
54407         * lib/fsusage.c (open, close): Undefine.
54408         * lib/gc-gnulib.c (open, close): Undefine.
54409         * lib/getcwd.c (opendir, closedir): Undefine.
54410         * lib/glob.c (opendir, closedir): Undefine.
54411         * lib/javacomp.c (open, close): Undefine.
54412         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
54413         * lib/openat-proc.c (open, close): Undefine.
54414         * lib/pagealign_alloc.c (open, close): Undefine.
54415         * lib/pipe.c (open, close): Undefine.
54416         * lib/progreloc.c (open, close): Undefine.
54417         * lib/savedir.c (opendir, closedir): Undefine.
54418         * lib/utime.c (open, close): Undefine.
54419         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
54420
54421 2007-01-10  Bruno Haible  <bruno@clisp.org>
54422
54423         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
54424
54425 2007-01-12  Eric Blake  <ebb9@byu.net>
54426
54427         Provide a robust <wchar.h>.  Further simplifications are now
54428         possible in other modules, but not included here.
54429         * modules/wchar: New module.
54430         * m4/wchar.m4: New file.
54431         * lib/wchar_.h: Likewise.
54432         * modules/mbchar (Depends-on): Depend on wchar, as the first use
54433         of the new module.
54434         * MODULES.html.sh (Extended multibyte and wide character utilities):
54435         New section.
54436
54437 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
54438
54439         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
54440         to a reasonable default for memory allocation.
54441         (xreadlink): Don't allocate a huge buffer, to work around a buggy
54442         file system that reports garbage st_size values for symlinks.
54443         Problem reported by Liyang Hu.
54444
54445 2007-01-11  Simon Josefsson  <simon@josefsson.org>
54446
54447         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
54448         Emacs .#* auto-save files).
54449
54450 2007-01-11  Bruno Haible  <bruno@clisp.org>
54451
54452         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
54453         directory.
54454
54455 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54456
54457         Use @...@ consistently in lib/wctype_.h.
54458         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
54459         on it being set to 1 or 0.
54460         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
54461         go back to AC_SUBSTing it.
54462         * modules/wctype (Makefile.am): Undo previous change.
54463
54464 2007-01-10  Eric Blake  <ebb9@byu.net>
54465
54466         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
54467         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
54468         * modules/wctype (Makefile.am): Likewise.
54469         Reported by Chris McGuire.
54470
54471 2007-01-10  Jim Meyering  <jim@meyering.net>
54472
54473         fts.c: a small readability/maintainability improvement
54474         * lib/fts.c (fts_read): Make this code slightly more readable and
54475         maintainable by hoisting the "sp->fts_cur = p" assignments to
54476         immediately follow the statements that set P.  Derived from
54477         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
54478
54479 2007-01-10  Eric Blake  <ebb9@byu.net>
54480
54481         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
54482         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
54483         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54484         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
54485         Reported by Chris McGuire.
54486
54487 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54488
54489         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
54490         in sed script.
54491
54492 2007-01-09  Bruno Haible  <bruno@clisp.org>
54493
54494         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
54495         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
54496         variables.
54497         (func_module): Use them.
54498
54499 2007-01-09  Bruno Haible  <bruno@clisp.org>
54500
54501         * modules/unistr/base: New file.
54502         * lib/unistr.h: New file.
54503
54504         * modules/unistr/u8-to-u16: New file.
54505         * lib/unistr/u8-to-u16.c: New file.
54506
54507         * modules/unistr/u8-to-u32: New file.
54508         * lib/unistr/u8-to-u32.c: New file.
54509
54510         * modules/unistr/u16-to-u8: New file.
54511         * lib/unistr/u16-to-u8.c: New file.
54512
54513         * modules/unistr/u16-to-u32: New file.
54514         * lib/unistr/u16-to-u32.c: New file.
54515
54516         * modules/unistr/u32-to-u8: New file.
54517         * lib/unistr/u32-to-u8.c: New file.
54518
54519         * modules/unistr/u32-to-u16: New file.
54520         * lib/unistr/u32-to-u16.c: New file.
54521
54522         * modules/unistr/u8-check: New file.
54523         * modules/unistr/u16-check: New file.
54524         * modules/unistr/u32-check: New file.
54525         * lib/unistr/u8-check.c: New file.
54526         * lib/unistr/u16-check.c: New file.
54527         * lib/unistr/u32-check.c: New file.
54528
54529         * modules/unistr/u8-chr: New file.
54530         * modules/unistr/u16-chr: New file.
54531         * modules/unistr/u32-chr: New file.
54532         * lib/unistr/u8-chr.c: New file.
54533         * lib/unistr/u16-chr.c: New file.
54534         * lib/unistr/u32-chr.c: New file.
54535
54536         * modules/unistr/u8-cmp: New file.
54537         * modules/unistr/u16-cmp: New file.
54538         * modules/unistr/u32-cmp: New file.
54539         * lib/unistr/u8-cmp.c: New file.
54540         * lib/unistr/u16-cmp.c: New file.
54541         * lib/unistr/u32-cmp.c: New file.
54542
54543         * modules/unistr/u8-cpy: New file.
54544         * modules/unistr/u16-cpy: New file.
54545         * modules/unistr/u32-cpy: New file.
54546         * lib/unistr/u8-cpy.c: New file.
54547         * lib/unistr/u16-cpy.c: New file.
54548         * lib/unistr/u32-cpy.c: New file.
54549         * lib/unistr/u-cpy.h: New file.
54550
54551         * modules/unistr/u8-cpy-alloc: New file.
54552         * modules/unistr/u16-cpy-alloc: New file.
54553         * modules/unistr/u32-cpy-alloc: New file.
54554         * lib/unistr/u8-cpy-alloc.c: New file.
54555         * lib/unistr/u16-cpy-alloc.c: New file.
54556         * lib/unistr/u32-cpy-alloc.c: New file.
54557         * lib/unistr/u-cpy-alloc.h: New file.
54558
54559         * modules/unistr/u8-endswith: New file.
54560         * modules/unistr/u16-endswith: New file.
54561         * modules/unistr/u32-endswith: New file.
54562         * lib/unistr/u8-endswith.c: New file.
54563         * lib/unistr/u16-endswith.c: New file.
54564         * lib/unistr/u32-endswith.c: New file.
54565         * lib/unistr/u-endswith.h: New file.
54566
54567         * modules/unistr/u8-mblen: New file.
54568         * modules/unistr/u16-mblen: New file.
54569         * modules/unistr/u32-mblen: New file.
54570         * lib/unistr/u8-mblen.c: New file.
54571         * lib/unistr/u16-mblen.c: New file.
54572         * lib/unistr/u32-mblen.c: New file.
54573
54574         * modules/unistr/u8-mbtouc: New file.
54575         * modules/unistr/u16-mbtouc: New file.
54576         * modules/unistr/u32-mbtouc: New file.
54577         * lib/unistr/u8-mbtouc.c: New file.
54578         * lib/unistr/u16-mbtouc.c: New file.
54579         * lib/unistr/u32-mbtouc.c: New file.
54580
54581         * modules/unistr/u8-mbtouc-safe: New file.
54582         * modules/unistr/u16-mbtouc-safe: New file.
54583         * modules/unistr/u32-mbtouc-safe: New file.
54584         * lib/unistr/u8-mbtouc-safe.c: New file.
54585         * lib/unistr/u16-mbtouc-safe.c: New file.
54586         * lib/unistr/u32-mbtouc-safe.c: New file.
54587
54588         * modules/unistr/u8-move: New file.
54589         * modules/unistr/u16-move: New file.
54590         * modules/unistr/u32-move: New file.
54591         * lib/unistr/u8-move.c: New file.
54592         * lib/unistr/u16-move.c: New file.
54593         * lib/unistr/u32-move.c: New file.
54594         * lib/unistr/u-move.h: New file.
54595
54596         * modules/unistr/u8-next: New file.
54597         * modules/unistr/u16-next: New file.
54598         * modules/unistr/u32-next: New file.
54599         * lib/unistr/u8-next.c: New file.
54600         * lib/unistr/u16-next.c: New file.
54601         * lib/unistr/u32-next.c: New file.
54602
54603         * modules/unistr/u8-prev: New file.
54604         * modules/unistr/u16-prev: New file.
54605         * modules/unistr/u32-prev: New file.
54606         * lib/unistr/u8-prev.c: New file.
54607         * lib/unistr/u16-prev.c: New file.
54608         * lib/unistr/u32-prev.c: New file.
54609
54610         * modules/unistr/u8-set: New file.
54611         * modules/unistr/u16-set: New file.
54612         * modules/unistr/u32-set: New file.
54613         * lib/unistr/u8-set.c: New file.
54614         * lib/unistr/u16-set.c: New file.
54615         * lib/unistr/u32-set.c: New file.
54616         * lib/unistr/u-set.h: New file.
54617
54618         * modules/unistr/u8-startswith: New file.
54619         * modules/unistr/u16-startswith: New file.
54620         * modules/unistr/u32-startswith: New file.
54621         * lib/unistr/u8-startswith.c: New file.
54622         * lib/unistr/u16-startswith.c: New file.
54623         * lib/unistr/u32-startswith.c: New file.
54624         * lib/unistr/u-startswith.h: New file.
54625
54626         * modules/unistr/u8-stpcpy: New file.
54627         * modules/unistr/u16-stpcpy: New file.
54628         * modules/unistr/u32-stpcpy: New file.
54629         * lib/unistr/u8-stpcpy.c: New file.
54630         * lib/unistr/u16-stpcpy.c: New file.
54631         * lib/unistr/u32-stpcpy.c: New file.
54632         * lib/unistr/u-stpcpy.h: New file.
54633
54634         * modules/unistr/u8-stpncpy: New file.
54635         * modules/unistr/u16-stpncpy: New file.
54636         * modules/unistr/u32-stpncpy: New file.
54637         * lib/unistr/u8-stpncpy.c: New file.
54638         * lib/unistr/u16-stpncpy.c: New file.
54639         * lib/unistr/u32-stpncpy.c: New file.
54640         * lib/unistr/u-stpncpy.h: New file.
54641
54642         * modules/unistr/u8-strcat: New file.
54643         * modules/unistr/u16-strcat: New file.
54644         * modules/unistr/u32-strcat: New file.
54645         * lib/unistr/u8-strcat.c: New file.
54646         * lib/unistr/u16-strcat.c: New file.
54647         * lib/unistr/u32-strcat.c: New file.
54648         * lib/unistr/u-strcat.h: New file.
54649
54650         * modules/unistr/u8-strchr: New file.
54651         * modules/unistr/u16-strchr: New file.
54652         * modules/unistr/u32-strchr: New file.
54653         * lib/unistr/u8-strchr.c: New file.
54654         * lib/unistr/u16-strchr.c: New file.
54655         * lib/unistr/u32-strchr.c: New file.
54656
54657         * modules/unistr/u8-strcmp: New file.
54658         * modules/unistr/u16-strcmp: New file.
54659         * modules/unistr/u32-strcmp: New file.
54660         * lib/unistr/u8-strcmp.c: New file.
54661         * lib/unistr/u16-strcmp.c: New file.
54662         * lib/unistr/u32-strcmp.c: New file.
54663
54664         * modules/unistr/u8-strcpy: New file.
54665         * modules/unistr/u16-strcpy: New file.
54666         * modules/unistr/u32-strcpy: New file.
54667         * lib/unistr/u8-strcpy.c: New file.
54668         * lib/unistr/u16-strcpy.c: New file.
54669         * lib/unistr/u32-strcpy.c: New file.
54670         * lib/unistr/u-strcpy.h: New file.
54671
54672         * modules/unistr/u8-strcspn: New file.
54673         * modules/unistr/u16-strcspn: New file.
54674         * modules/unistr/u32-strcspn: New file.
54675         * lib/unistr/u8-strcspn.c: New file.
54676         * lib/unistr/u16-strcspn.c: New file.
54677         * lib/unistr/u32-strcspn.c: New file.
54678         * lib/unistr/u-strcspn.h: New file.
54679
54680         * modules/unistr/u8-strdup: New file.
54681         * modules/unistr/u16-strdup: New file.
54682         * modules/unistr/u32-strdup: New file.
54683         * lib/unistr/u8-strdup.c: New file.
54684         * lib/unistr/u16-strdup.c: New file.
54685         * lib/unistr/u32-strdup.c: New file.
54686         * lib/unistr/u-strdup.h: New file.
54687
54688         * modules/unistr/u8-strlen: New file.
54689         * modules/unistr/u16-strlen: New file.
54690         * modules/unistr/u32-strlen: New file.
54691         * lib/unistr/u8-strlen.c: New file.
54692         * lib/unistr/u16-strlen.c: New file.
54693         * lib/unistr/u32-strlen.c: New file.
54694         * lib/unistr/u-strlen.h: New file.
54695
54696         * modules/unistr/u8-strmblen: New file.
54697         * modules/unistr/u16-strmblen: New file.
54698         * modules/unistr/u32-strmblen: New file.
54699         * lib/unistr/u8-strmblen.c: New file.
54700         * lib/unistr/u16-strmblen.c: New file.
54701         * lib/unistr/u32-strmblen.c: New file.
54702
54703         * modules/unistr/u8-strmbtouc: New file.
54704         * modules/unistr/u16-strmbtouc: New file.
54705         * modules/unistr/u32-strmbtouc: New file.
54706         * lib/unistr/u8-strmbtouc.c: New file.
54707         * lib/unistr/u16-strmbtouc.c: New file.
54708         * lib/unistr/u32-strmbtouc.c: New file.
54709
54710         * modules/unistr/u8-strncat: New file.
54711         * modules/unistr/u16-strncat: New file.
54712         * modules/unistr/u32-strncat: New file.
54713         * lib/unistr/u8-strncat.c: New file.
54714         * lib/unistr/u16-strncat.c: New file.
54715         * lib/unistr/u32-strncat.c: New file.
54716         * lib/unistr/u-strncat.h: New file.
54717
54718         * modules/unistr/u8-strncmp: New file.
54719         * modules/unistr/u16-strncmp: New file.
54720         * modules/unistr/u32-strncmp: New file.
54721         * lib/unistr/u8-strncmp.c: New file.
54722         * lib/unistr/u16-strncmp.c: New file.
54723         * lib/unistr/u32-strncmp.c: New file.
54724
54725         * modules/unistr/u8-strncpy: New file.
54726         * modules/unistr/u16-strncpy: New file.
54727         * modules/unistr/u32-strncpy: New file.
54728         * lib/unistr/u8-strncpy.c: New file.
54729         * lib/unistr/u16-strncpy.c: New file.
54730         * lib/unistr/u32-strncpy.c: New file.
54731         * lib/unistr/u-strncpy.h: New file.
54732
54733         * modules/unistr/u8-strnlen: New file.
54734         * modules/unistr/u16-strnlen: New file.
54735         * modules/unistr/u32-strnlen: New file.
54736         * lib/unistr/u8-strnlen.c: New file.
54737         * lib/unistr/u16-strnlen.c: New file.
54738         * lib/unistr/u32-strnlen.c: New file.
54739         * lib/unistr/u-strnlen.h: New file.
54740
54741         * modules/unistr/u8-strpbrk: New file.
54742         * modules/unistr/u16-strpbrk: New file.
54743         * modules/unistr/u32-strpbrk: New file.
54744         * lib/unistr/u8-strpbrk.c: New file.
54745         * lib/unistr/u16-strpbrk.c: New file.
54746         * lib/unistr/u32-strpbrk.c: New file.
54747         * lib/unistr/u-strpbrk.h: New file.
54748
54749         * modules/unistr/u8-strrchr: New file.
54750         * modules/unistr/u16-strrchr: New file.
54751         * modules/unistr/u32-strrchr: New file.
54752         * lib/unistr/u8-strrchr.c: New file.
54753         * lib/unistr/u16-strrchr.c: New file.
54754         * lib/unistr/u32-strrchr.c: New file.
54755
54756         * modules/unistr/u8-strspn: New file.
54757         * modules/unistr/u16-strspn: New file.
54758         * modules/unistr/u32-strspn: New file.
54759         * lib/unistr/u8-strspn.c: New file.
54760         * lib/unistr/u16-strspn.c: New file.
54761         * lib/unistr/u32-strspn.c: New file.
54762         * lib/unistr/u-strspn.h: New file.
54763
54764         * modules/unistr/u8-strstr: New file.
54765         * modules/unistr/u16-strstr: New file.
54766         * modules/unistr/u32-strstr: New file.
54767         * lib/unistr/u8-strstr.c: New file.
54768         * lib/unistr/u16-strstr.c: New file.
54769         * lib/unistr/u32-strstr.c: New file.
54770         * lib/unistr/u-strstr.h: New file.
54771
54772         * modules/unistr/u8-strtok: New file.
54773         * modules/unistr/u16-strtok: New file.
54774         * modules/unistr/u32-strtok: New file.
54775         * lib/unistr/u8-strtok.c: New file.
54776         * lib/unistr/u16-strtok.c: New file.
54777         * lib/unistr/u32-strtok.c: New file.
54778         * lib/unistr/u-strtok.h: New file.
54779
54780         * modules/unistr/u8-uctomb: New file.
54781         * modules/unistr/u16-uctomb: New file.
54782         * modules/unistr/u32-uctomb: New file.
54783         * lib/unistr/u8-uctomb.c: New file.
54784         * lib/unistr/u16-uctomb.c: New file.
54785         * lib/unistr/u32-uctomb.c: New file.
54786
54787         * MODULES.html.sh (Unicode string functions): Add the new modules.
54788
54789 2007-01-08  Bruno Haible  <bruno@clisp.org>
54790
54791         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
54792         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
54793         subdirectories.
54794
54795 2007-01-08  Karl Berry  <karl@gnu.org>
54796
54797         * doc/error.texi: mention that main() fns must set program_name
54798         when progname is used.
54799
54800 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
54801
54802         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
54803         WCTYPE_H is empty, for the benefit of builds from non-distclean
54804         directories.  Problem reported by Eric Blake in
54805         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
54806
54807 2007-01-08  Bruno Haible  <bruno@clisp.org>
54808
54809         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
54810         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
54811         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
54812         PROVIDE_CANONICALIZE_FILENAME_MODE.
54813         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
54814
54815 2007-01-08  Bruno Haible  <bruno@clisp.org>
54816
54817         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
54818         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
54819         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
54820         * lib/fts.c: Likewise.
54821         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
54822
54823 2006-12-25  Bruno Haible  <bruno@clisp.org>
54824
54825         * modules/utf8-ucs4-safe: New file.
54826         * lib/utf8-ucs4-safe.h: New file.
54827         * lib/unistr/utf8-ucs4-safe.c: New file.
54828
54829         * modules/utf16-ucs4-safe: New file.
54830         * lib/utf16-ucs4-safe.h: New file.
54831         * lib/unistr/utf16-ucs4-safe.c: New file.
54832
54833         * MODULES.html.sh (Unicode string functions): Add the new modules.
54834
54835 2007-01-08  Bruno Haible  <bruno@clisp.org>
54836
54837         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
54838         (Depends-on): Add unitypes.
54839         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54840         (u8_mbtouc_aux): Move out to separate file.
54841         (u8_mbtouc): Use ucs4_t, uint8_t types.
54842         * lib/unistr/utf8-ucs4.c: New file.
54843
54844         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
54845         (Depends-on): Add unitypes.
54846         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54847         (u16_mbtouc_aux): Move out to separate file.
54848         (u16_mbtouc): Use ucs4_t, uint16_t types.
54849         * lib/unistr/utf16-ucs4.c: New file.
54850
54851         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
54852         (Depends-on): Add unitypes.
54853         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
54854         (u8_uctomb_aux): Move out to separate file.
54855         (u8_uctomb): Use ucs4_t, uint8_t types.
54856         * lib/unistr/ucs4-utf8.c: New file.
54857
54858         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
54859         (Depends-on): Add unitypes.
54860         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
54861         (u16_uctomb_aux): Move out to separate file.
54862         (u16_uctomb): Use ucs4_t, uint16_t types.
54863         * lib/unistr/ucs4-utf16.c: New file.
54864
54865 2006-12-25  Bruno Haible  <bruno@clisp.org>
54866
54867         * modules/unitypes: New file.
54868         * lib/unitypes.h: New file.
54869         * MODULES.html.sh (func_all_modules): New section "Unicode string
54870         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
54871         this section. Add unitypes.
54872
54873 2007-01-08  Bruno Haible  <bruno@clisp.org>
54874
54875         Avoid variable names that conflict with those from libtool.
54876         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
54877         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
54878         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
54879         library_names_spec to acl_library_names_spec, hardcode_* to
54880         acl_hardcode_*.
54881         Reported by Ralf Wildenhues.
54882
54883 2007-01-08  Bruno Haible  <bruno@clisp.org>
54884
54885         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
54886         definition.
54887         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
54888         definition.
54889         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
54890         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
54891         definition.
54892         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
54893         definition.
54894         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
54895         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
54896         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
54897         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
54898         definition.
54899         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
54900         definition.
54901         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
54902         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
54903         GC_USE_<algorithm>.
54904         * lib/gc-libgcrypt.c: Likewise.
54905         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
54906         * modules/gc-arctwo (configure.ac): Likewise.
54907         * modules/gc-des (configure.ac): Likewise.
54908         * modules/gc-hmac-md5 (configure.ac): Likewise.
54909         * modules/gc-hmac-sha1 (configure.ac): Likewise.
54910         * modules/gc-md2 (configure.ac): Likewise.
54911         * modules/gc-md4 (configure.ac): Likewise.
54912         * modules/gc-md5 (configure.ac): Likewise.
54913         * modules/gc-random (configure.ac): Likewise.
54914         * modules/gc-rijndael (configure.ac): Likewise.
54915         * modules/gc-sha1 (configure.ac): Likewise.
54916
54917 2007-01-08  Bruno Haible  <bruno@clisp.org>
54918
54919         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
54920         macro definition.
54921         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
54922         definition.
54923         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
54924         definition.
54925         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
54926         * modules/fcntl-safer (configure.ac): Likewise.
54927         * modules/fopen-safer (configure.ac): Likewise.
54928         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
54929         GNULIB_FWRITEERROR macro definition.
54930
54931 2007-01-08  Bruno Haible  <bruno@clisp.org>
54932
54933         * m4/gnulib-common.m4: New file.
54934         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
54935         (func_get_filelist): Add m4/gnulib-common.m4.
54936
54937 2007-01-08  Bruno Haible  <bruno@clisp.org>
54938
54939         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
54940         command.
54941
54942 2007-01-08  Jim Meyering  <jim@meyering.net>
54943
54944         Use a more robust test for a "can't happen" condition.
54945         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
54946         narrowed the st_size value.  Presuming the "can't happen" condition
54947         is true, that narrowing could conceivably convert an invalid st_size
54948         value into a valid one.  Instead, use a change based on Matthew
54949         Woehlke's original patch.
54950
54951         Slight readability improvement: use an assert-like macro
54952         in place of literal "abort ()" uses.
54953         * lib/fts.c (fts_assert): Define.
54954         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
54955         Use this macro instead of a bare 'abort'.
54956
54957 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
54958
54959         Don't worry about using IRIX 5.3's wctype.h broken definitions;
54960         simply work around them.
54961         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
54962         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
54963         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
54964         declaring.
54965         Don't bother to define as macros, since the standard doesn't require it.
54966         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
54967         longer worry about IRIX 5.3.
54968         (HAVE_WCTYPE_CTMP_BUG): Remove.
54969
54970 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54971
54972         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
54973         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
54974         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
54975         Problems reported by Georg Schwarz for IRIX 5.3.
54976
54977         * gnulib-tool (autoconf_minversion): Take the maximum version number
54978         found, not the minimum.  Problem reported by James Youngman.
54979
54980 2007-01-03  Karl Berry  <karl@gnu.org>
54981
54982         * doc/error.texi: new file, explaining interaction with progname.
54983         * doc/gnulib.texi: include it.  Update copyright.
54984
54985 2007-01-03  Simon Josefsson  <simon@josefsson.org>
54986
54987         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
54988         AC_CANONICAL_HOST, to improve autobuild outputs.
54989
54990 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
54991             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
54992
54993         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
54994         sockets, server sockets, and other file descriptors.  Count errors
54995         to compute the return value.  Reorder the code a bit to be easier
54996         to follow.  Don't set event bits that were not requested (except
54997         POLLERR and POLLHUP).
54998
54999 2007-01-01  Bruno Haible  <bruno@clisp.org>
55000
55001         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
55002
55003 2007-01-03  Jim Meyering  <jim@meyering.net>
55004
55005         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
55006
55007 2007-01-02  Bruno Haible  <bruno@clisp.org>
55008
55009         * modules/settime (Include): Require timespec.h.
55010         * modules/nanosleep (Include): Likewise.
55011
55012 2007-01-01  Bruno Haible  <bruno@clisp.org>
55013
55014         * gnulib-tool (func_emit_copyright_notice): Bump year.
55015         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
55016
55017 2007-01-01  Bruno Haible  <bruno@clisp.org>
55018
55019         Improve support for OpenBSD.
55020         * build-aux/config.rpath (libname_spec): Export.
55021         (library_names_spec): New variable. Export.
55022         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
55023         library_names_spec from the config.rpath output. Locate shared library
55024         through the name pattern in library_names_spec.
55025
55026 2007-01-01  Eric Blake  <ebb9@byu.net>
55027
55028         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
55029
55030 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
55031
55032         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
55033         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
55034         assume the C locale, and avoid an "eval" that could cause trouble.
55035         Problem with SORT reported by Bob Proulx.
55036
55037         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
55038         Define.  Trivial patch from Henning Nielsen Lund, originally
55039         sent to bug-grep@gnu.org today.
55040
55041 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55042
55043         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
55044         struct stat.  Problem reported by Henning Nielsen Lund.
55045         * lib/acl.c: Include acl.h first, to check interface.  Don't
55046         bother to include sys/types.h and sys/stat.h again.
55047
55048 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55049
55050         Import the following change from libc; problem reported by
55051         Sven Verdoolaege.
55052
55053         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
55054
55055         [BZ #1373]
55056         * lib/argp.h: Remove __NTH for __argp_usage inline function.
55057
55058 2006-12-28  Jim Meyering  <jim@meyering.net>
55059
55060         * build-aux/announce-gen: Do not assume that the package
55061         builds any of tar.gz, tar.bz2, and .xdelta files.
55062         Suggestion from Simon Josefsson.
55063
55064 2006-12-28  Simon Josefsson  <simon@josefsson.org>
55065
55066         * modules/announce-gen: New file.
55067
55068 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
55069
55070         * lib/mbchar.h: Just include <wctype.h>; the wctype module
55071         handles its gotchas now.
55072         * lib/mbswidth.c: Likewise.
55073         * lib/wcwidth.h: Likewise.
55074         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
55075         and iswcntrl; the wctype module does this stuff now.
55076         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55077         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55078         * modules/mbchar (Depends-on): Add wctype.
55079         * modules/mbswidth (Depends-on): Likewise.
55080         * modules/wcwidth (Depends-on): Likewise.
55081
55082 2006-12-27  Eric Blake  <ebb9@byu.net>
55083
55084         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
55085         module uses more than what <wctype.h> is required to provide.
55086
55087 2006-12-26  Eric Blake  <ebb9@byu.net>
55088
55089         * gnulib-tool (sed_extract_prog): Avoid space-tab.
55090
55091 2006-12-26  Eric Blake  <ebb9@byu.net>
55092
55093         * modules/absolute-header: New module.
55094         * modules/fcntl (Depends-on): Depend on it.
55095         * modules/inttypes (Depends-on): Likewise.
55096         * modules/stdint (Depends-on): Likewise.
55097         * modules/sys_stat (Depends-on): Likewise.
55098         * modules/wctype (Depends-on): Likewise.
55099         * MODULES.html.sh (Support for building libraries and
55100         executables): Document it.
55101
55102 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55103
55104         * gnulib-tool (SED): Remove, undoing previous change.
55105         The problem was that it broke coreutils on Solaris, because
55106         "sed --posix" leaked into a makefile.
55107         (sed): New alias, if 'alias' and GNU sed.
55108
55109 2006-12-24  Jim Meyering  <jim@meyering.net>
55110
55111         Work around an fchownat bug in glibc-2.4:
55112         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
55113         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
55114         in spite of the -P option.
55115         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
55116         New macros.
55117         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
55118         * modules/openat (Files): Add lib/fchownat.c.
55119         * lib/openat.c (fchownat): Don't define here.  Move to...
55120         * lib/fchownat.c: ...this new file.
55121
55122 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55123
55124         Fix bug reported by Bruno Haible in
55125         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
55126         where quotearg.c didn't compile on Mac OS X 10.2 because it
55127         lacks <wchar.h> and wint_t.
55128         * lib/wctype_.h (__wctype_wint_t): New type.
55129         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
55130         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
55131         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
55132         Arg is now of type __wctype_wint_t, not wint_t.
55133         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
55134         substitute HAVE_WINT_T.
55135         * modules/wctype (Files): Add m4/wint_t.m4.
55136         (wctype.h): Substitute HAVE_WINT_T.
55137
55138 2006-12-23  Bruno Haible  <bruno@clisp.org>
55139
55140         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
55141
55142 2006-12-23  Bruno Haible  <bruno@clisp.org>
55143
55144         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
55145         S_ISLNK.
55146         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
55147         mingw.
55148
55149 2006-12-22  Bruno Haible  <bruno@clisp.org>
55150
55151         * lib/copy-file.c: Include acl.h.
55152         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
55153         Close the file descriptors only after being done with copy_acl.
55154         * modules/copy-file (Depends-on): Add acl.
55155
55156 2006-12-22  Bruno Haible  <bruno@clisp.org>
55157
55158         * gnulib-tool (SED): New variable.
55159         Use $SED instead of sed everywhere.
55160
55161 2006-12-22  Bruno Haible  <bruno@clisp.org>
55162
55163         * modules/no-c++: New file.
55164         * m4/no-c++.m4: New file.
55165         * MODULES.html.sh (Support for building libraries and executables):
55166         Add no-c++.
55167
55168 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
55169
55170         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
55171         Include <limits.h>, and use its INT_MAX to rewrite the
55172         j loop so that it does not overflow 'int'.  Problem reported by
55173         Ralf Wildenhues in
55174         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
55175         Play it safe by shifting left by 1 rather than multiplying by 2,
55176         as GCC is less likely to optimize this away when the value
55177         is signed (when it assumes overflow leads to undefined behavior).
55178         Also, don't assume time_t uses two's complement.
55179
55180 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
55181
55182         * MODULES.html.sh: New module wctype.
55183         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
55184         * lib/fnmatch.c: Don't bother to include <wchar.h> before
55185         <wctype.h>, since the new wctype module should fix this.
55186         * lib/quotearg.c: Include <wctype.h> unconditionally, since
55187         the wctype module should arrange for it.
55188         * lib/regex_internal.h: Likewise.
55189         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
55190         since the wctype module should handle this now.
55191         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
55192         * modules/fnmatch (Depends-on): Add wctype.
55193         * modules/quotearg (Depends-on): Likewise.
55194         * modules/regex (Depends-on): Likewise.
55195
55196 2006-12-19  Bruno Haible  <bruno@clisp.org>
55197
55198         * lib/strdup.h [C++]: Wrap definitions in extern "C".
55199         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
55200
55201 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55202
55203         * modules/savewd (Depends-on): Fix dependency on fcntl.
55204
55205 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55206
55207         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
55208         conforms to C99, rather than relying on the user's environment
55209         setting of STDINT_H.
55210
55211 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55212         and Eric Blake  <ebb9@byu.net>
55213
55214         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
55215         This is more consistent with the other defines here.
55216         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
55217         Port to z/OS.  Problem reported by Paul Gilmartin.
55218         Change local vars to use gl_ prefix rather than ac_.
55219         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
55220         with other defines.
55221         * modules/double-slash-root: New module.
55222         * modules/dirname (Files): Remove m4/double-slash-root.m4.
55223         (Depends-on): Add double-slash-root.
55224         * MODULES.html.sh (File system functions): Mention new module.
55225
55226 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
55227
55228         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
55229         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
55230         This is for the benefit of gzip, which doesn't do i18n.
55231
55232 2006-12-12  Jim Meyering  <jim@meyering.net>
55233
55234         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
55235         Reported by Andreas Schwab <schwab@suse.de>.
55236
55237 2006-12-12  Bruno Haible  <bruno@clisp.org>
55238
55239         Merge these changes.
55240         2006-09-05  Bruno Haible  <bruno@clisp.org>
55241         * lib/iconvme.c (iconv_string): No need to save and restore errno when
55242         iconv_alloc succeeded.
55243         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
55244         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
55245         test for " && dest " at the end - dest is always != NULL there. Call
55246         iconv with 4xNULL arguments initially, to reset the state. Call iconv
55247         with 2xNULL arguments, also to flush the state storage. Handle the
55248         IRIX iconv behaviour. Realloc the final result, to throw away unused
55249         memory.
55250
55251 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
55252
55253         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
55254         and fchmodat unconditionally, since glibc 2.4 has them.
55255         Problem reported by Arkadiusz Miskiewicz.
55256
55257 2006-12-10  Bruno Haible  <bruno@clisp.org>
55258
55259         * gnulib-tool (func_import): Show the include files only for those
55260         modules that are copied and specified.
55261         Reported by Karl Berry.
55262
55263 2006-12-08  Jim Meyering  <jim@meyering.net>
55264
55265         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
55266         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
55267
55268         * build-aux/announce-gen: Add two new options, both optional:
55269         --bootstrap-tools=TOOL_LIST
55270               a comma-separated list of tools, e.g.,
55271               autoconf,automake,bison,gnulib
55272         --gnulib-snapshot-date=DATE
55273               if gnulib is in the bootstrap tool list,
55274               then report this as the snapshot date.
55275               If not specified, use the current date/time.
55276               If you specify a date here, be sure it's UTC.
55277
55278 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55279
55280         * tests/test-argp-2.sh: Fix test to match actual output.
55281         (func_compare): Fix sed script to be portable.
55282
55283 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
55284
55285         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
55286         workaround for this case.  It is not autoconfigured now; offhand
55287         it's hard to see how to autoconfigure it.
55288
55289 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55290
55291         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
55292         a directory that is about to be chowned.  Such a directory's
55293         initial file permissions should permit the owner only and this
55294         should not be changed until after the chown, since the group and
55295         other bits would be incorrect if they granted permission before
55296         the chown.
55297
55298         Fix porting problem for iswctype reported by Georg Schwarz in:
55299         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
55300         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
55301         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
55302         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
55303         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
55304
55305 2006-12-03  Jim Meyering  <jim@meyering.net>
55306
55307         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
55308         p->fts_statp may not yet be defined.
55309         (fts_read): Instead, set it in the caller, once p->fts_statp is
55310         sure to be defined, and corresponds to a top-level directory.
55311         This bug made du -x fail.  Here's the coreutils test case:
55312         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
55313         Reported by Mike Frysinger.
55314
55315 2006-12-01  Jim Meyering  <jim@meyering.net>
55316
55317         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
55318         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
55319         Reported by Simon Josefsson.
55320
55321 2006-11-30  Jim Meyering  <jim@meyering.net>
55322
55323         * m4/warning.m4: Use the all-permissive copyright notice
55324         recommended by RMS (rather than LGPL).
55325         * m4/vararrays.m4: Likewise.
55326         * m4/flexmember.m4: Likewise.
55327
55328 2006-11-29  Bruno Haible  <bruno@clisp.org>
55329
55330         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55331         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
55332         using +=.
55333         Reported by Simon Josefsson <simon@josefsson.org>.
55334
55335 2006-11-28  James Youngman <jay@gnu.org>
55336
55337         * README: Advise users that they might find the bug-gnulib@gnu.org
55338         and autotools-announce@gnu.org mailing lists useful.
55339
55340 2006-11-28  Bruno Haible  <bruno@clisp.org>
55341
55342         * m4/ptrdiff_max.m4: Remove file.
55343
55344 2006-11-21  Bruno Haible  <bruno@clisp.org>
55345
55346         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
55347         _AC_COMPUTE_INT.
55348         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55349         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
55350         _AC_COMPUTE_INT.
55351         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55352         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
55353         _AC_COMPUTE_INT.
55354         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55355
55356 2006-11-28  Jim Meyering  <jim@meyering.net>
55357
55358         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
55359         warning from "gcc -Wshadow" about shadowing the builtin.
55360
55361 2006-11-27  Bruno Haible  <bruno@clisp.org>
55362
55363         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
55364         _AC_COMPUTE_INT.
55365         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55366
55367 2006-11-27  Bruno Haible  <bruno@clisp.org>
55368             Paul Eggert  <eggert@cs.ucla.edu>
55369
55370         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
55371
55372 2006-11-26  Bruno Haible  <bruno@clisp.org>
55373
55374         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55375         noinst_LTLIBRARIES.
55376
55377 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
55378             Bruno Haible  <bruno@clisp.org>
55379
55380         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
55381         if compiling with "gcc -ansi".
55382
55383 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
55384
55385         Fix some incompatibilities with gcc -ansi -pedantic.
55386         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
55387         if compiling pedantically with GCC, unless it's C99 or later.
55388         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
55389         it mishandles gcc -ansi -pedantic as well.
55390         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
55391         if gcc -pedantic.
55392         * lib/regexec.c (check_node_accept_bytes): Don't use auto
55393         initializers for struct if -pedantic, unless it's C99 or later.
55394
55395 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
55396
55397         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
55398         Don't close an fd more than once. Identical atimes indicate
55399         success, not failure.
55400
55401 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
55402
55403         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
55404
55405 2006-11-23  Jim Meyering  <jim@meyering.net>
55406
55407         * build-aux/announce-gen: New file.  From coreutils.
55408
55409 2006-11-22  Jim Meyering  <jim@meyering.net>
55410
55411         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
55412         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
55413         (fts_read): Use a temporary to narrow the overused st_size member
55414         before using it in a switch statement.  Reported by Matthew Woehlke.
55415
55416         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
55417         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
55418
55419 2006-11-20  Bruno Haible  <bruno@clisp.org>
55420
55421         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
55422         changequote instead of pairs of brackets.
55423         Reported by Andreas Schwab <schwab@suse.de>.
55424
55425 2006-11-21  Jim Meyering  <jim@meyering.net>
55426
55427         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
55428         so as to remain compatible with older compilers.
55429         Patch from Michael Deutschmann.
55430
55431 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55432
55433         * MODULES.html.sh (File system functions): Add openat.
55434
55435         * lib/openat.h (rpl_fstatat): New macro, if
55436         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
55437         (fstatat): Define to rpl_fstatat under the same conditions,
55438         unless COMPILING_FSTATAT.
55439         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
55440         seems to have the bug.
55441         * lib/fstatat.c: New file.
55442         * modules/openat (Files): Add it.
55443
55444 2006-11-20  Bruno Haible  <bruno@clisp.org>
55445
55446         * Makefile: New file.
55447
55448 2006-11-20  Jim Meyering  <jim@meyering.net>
55449
55450         The beginnings of syntax-related checks for gnulib.
55451         * lib/Makefile: New file.
55452         * lib/t-idcache: New script.  Ensure that the two halves of
55453         idcache.c stay in sync.
55454
55455         * lib/idcache.c: Adjust comments in user- and group- portions to
55456         be more accurate, and to be consistent with one another.
55457
55458 2006-11-20  Jim Meyering  <jim@meyering.net>
55459
55460         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
55461         continue using the flexible array member (thus, this module performs
55462         half as many malloc calls), with the addition that...
55463         (getgroup, getuser): Consistently record a non-match via an empty
55464         "name" string, and map an empty string match to a NULL return value.
55465         * modules/idcache (Depends-on): Re-add flexmember.
55466
55467         * lib/idcache.c (getuser): Remove all uses of the register keyword.
55468         (getuidbyname, getgroup, getgidbyname): Likewise.
55469
55470         Use cleaner syntax: NULL rather than 0.
55471         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
55472
55473 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55474
55475         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
55476         It mishandled the case where the group was missing.
55477         Problem reported by Greg Schafer.
55478         * modules/idcache: Likewise.
55479
55480 2006-11-18  Jim Meyering  <jim@meyering.net>
55481
55482         * check-module (%exempt_header): Add exception for some
55483         conditionally-included headers.
55484
55485         * modules/i-ring (Depends-on): Add verify.
55486         (License): Change to LGPL.
55487
55488 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55489
55490         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
55491         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
55492         and inttostr.h.  Use snprintf rather than uinttostr, so that
55493         LGPLed code doesn't depend on GPLed.
55494
55495 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55496
55497         * modules/inline (License): Change from GPL to LGPL.
55498
55499 2006-11-17  Jim Meyering  <jim@meyering.net>
55500
55501         * modules/d-type (License): Switch to LGPL.
55502
55503 2006-11-15  Bruno Haible  <bruno@clisp.org>
55504
55505         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
55506
55507 2006-11-15  Eric Blake  <ebb9@byu.net>
55508
55509         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
55510         the module dependency.
55511
55512 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55513             Bruno Haible  <bruno@clisp.org>
55514
55515         * gnulib-tool (func_create_testdir): Add license consistency check.
55516
55517 2006-11-15  Eric Blake  <ebb9@byu.net>
55518
55519         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
55520         random "(cached)" in configure output.
55521
55522 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55523
55524         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
55525         test for conforming inttypes.h is both announced and cached.
55526
55527         * MODULES.html.sh (seen_modules, seen_files): New variables.
55528         (func_module): Rewrite to use a few less gnulib-tool and sed
55529         invocations.  Avoid a couple of quadratic algorithms for ...
55530         (missed_modules, missed_files): ... these, with ...
55531         (func_append, func_tmpdir): ... these new functions, from
55532         gnulib-tool.  Analogously, install traps for cleanup.
55533
55534         * tests/test-gc.c (main): Remove unused variables.
55535         * tests/test-read-file.c: Include stdlib.h, for 'free'.
55536
55537 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
55538
55539         * modules/inttostr (License): Change to LGPL.
55540
55541 2006-11-14  Eric Blake  <ebb9@byu.net>
55542
55543         * modules/tempname (License): Change to LGPL.
55544
55545 2006-11-14  Eric Blake  <ebb9@byu.net>
55546
55547         * doc/functions.texi (Function Portability): *printf functions on
55548         Cygwin now understand all POSIX size specifiers.
55549
55550 2006-11-14  Bruno Haible  <bruno@clisp.org>
55551
55552         * modules/c-ctype (License): Change to LGPL.
55553
55554 2006-11-12  Bruno Haible  <bruno@clisp.org>
55555
55556         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55557         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
55558         for GNOME libraries, for which the include files are installed in
55559         subdirectories of $prefix/include.
55560
55561 2006-11-12  Bruno Haible  <bruno@clisp.org>
55562
55563         * m4/lib-link.m4: Require at least autoconf-2.54.
55564         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
55565         name to underscores for the --with option.
55566
55567 2006-11-13  Bruno Haible  <bruno@clisp.org>
55568
55569         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
55570         the tests directory.
55571         Reported by Ralf Wildenhues.
55572
55573 2006-11-13  Bruno Haible  <bruno@clisp.org>
55574
55575         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
55576         (func_emit_initmacro_end): Undo the override here.
55577         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
55578         Works around the famous automake error in coreutils.
55579
55580 2006-11-13  Eric Blake  <ebb9@byu.net>
55581
55582         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
55583         element, not its node.
55584
55585 2006-11-12  Bruno Haible  <bruno@clisp.org>
55586
55587         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
55588         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
55589
55590 2006-11-12  Bruno Haible  <bruno@clisp.org>
55591
55592         * gnulib-tool: New option --local-symlink.
55593         (func_usage): Document it.
55594         (lsymbolic): New variable.
55595         (func_import, func_create_testdir): If --symlink was not specified,
55596         test whether --local-symlink was specified and the file comes from
55597         the local_gnulib_dir.
55598
55599 2006-11-12  Bruno Haible  <bruno@clisp.org>
55600
55601         * gnulib-tool (func_ln): New function.
55602         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
55603
55604 2006-11-12  Bruno Haible  <bruno@clisp.org>
55605
55606         Finish support for source files in subdirectories.
55607         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
55608         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
55609         AUTOMAKE_OPTIONS.
55610         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
55611
55612 2006-11-12  Bruno Haible  <bruno@clisp.org>
55613
55614         * gnulib-tool (func_get_automake_snippet): Synthesize also an
55615         EXTRA_lib_SOURCES augmentation.
55616         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
55617
55618 2006-11-12  Jim Meyering  <jim@meyering.net>
55619
55620         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
55621         file descriptors.  This also averts a failure on systems with
55622         native openat support when a traversed directory lacks "x" access.
55623         * lib/fts_.h: Include "i-ring.h"
55624         (struct FTS) [fts_fd_ring]: New member.
55625         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
55626         (FCHDIR): Add parentheses.
55627         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
55628         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
55629         When descending, rather than simply closing the previous
55630         fts_cwd_fd value, push that file descriptor onto the ring.
55631         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
55632         (fts_open): Initialize the new fd_ring member.
55633         (fts_close): Clear the ring.
55634         (fts_safe_changedir): When possible, use our new fd_ring to skip
55635         the diropen and fstat and dev/ino comparison that would normally
55636         accompany a virtual `chdir ("..")'.
55637
55638         * modules/fts (Depends-on): Add i-ring.
55639         * modules/i-ring: New module.
55640         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
55641         * m4/i-ring.m4: New file.
55642
55643 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55644
55645         * gnulib-tool (func_create_testdir): Fix replacement of
55646         `build-aux' in configure.ac.  Run autotools in gltests
55647         subdirectory.
55648         (func_create_testdir, func_create_megatestdir, test): There is
55649         no need for '--force' in most autotool invocations in a new
55650         tree.  Actually fail the whole test if any of the tools, or the
55651         configure or make stages fail.
55652
55653         Sync from Automake.
55654         * build-aux/gnupload: Revert last change.  Add pointer to upload
55655         instructions of the GNU Maintenance Instructions.
55656         Suggestion by Karl Berry.
55657
55658 2006-11-10  Jim Meyering  <jim@meyering.net>
55659
55660         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
55661
55662 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55663
55664         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
55665         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
55666         (bind_textdomain_codeset) [! ENABLE_NLS]:
55667         Evaluate all the arguments.  That way, callers get compatible behavior
55668         if the arguments have side effects.  Also, it avoids some GCC
55669         diagnostics in some cases; Joel E. Denny reported problems when Bison
55670         was configured with --enable-gcc-warnigs.
55671
55672 2006-11-10  Jim Meyering  <jim@meyering.net>
55673
55674         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
55675         relevant options in CFLAGS (like -O, -fno-inline) are taken into
55676         account.
55677
55678 2006-11-10  Jim Meyering  <jim@meyering.net>
55679
55680         * modules/inline: New file/module.
55681         * modules/xalloc (Files): Remove m4/inline.m4.
55682         (Depends-on): Add inline, instead.
55683         * modules/oset: Likewise.
55684         * modules/list: Likewise.
55685
55686 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55687
55688         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
55689         Problem reported by Matthew Woehlke.
55690
55691 2006-11-09  Bruno Haible  <bruno@clisp.org>
55692
55693         * lib/tempname.c (gen_tempname): Remove variant that invokes
55694         __gen_tempname.
55695         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
55696         __gen_tempname.
55697
55698 2006-11-08  Bruno Haible  <bruno@clisp.org>
55699
55700         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
55701         to 'yes' instead of 'cross-compiling'.
55702
55703 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
55704
55705         * lib/quotearg.h (quotearg_free): New decl.
55706         * lib/quotearg.c (quotearg_free): New function.
55707         (slot0, nslots, slotvec0, slotvec):
55708         Now file-scope so that quotearg_free can get at them.
55709
55710 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55711
55712         Sync from Automake.
55713         * build-aux/gnupload: Add missing 'gnu' to example URL.
55714         Report by Karl Berry.
55715
55716 2006-11-08  Bruno Haible  <bruno@clisp.org>
55717
55718         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
55719         Suggested by Paul Eggert.
55720
55721 2006-11-08  Jim Meyering  <jim@meyering.net>
55722
55723         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
55724         It's already included if !_LIBC.
55725         (fts_safe_changedir): Add a comment.
55726
55727 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55728
55729         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
55730         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
55731         Matthew Woehlke.
55732
55733         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
55734         definitions up, to avoid colliding with change below.
55735         (static_inline) [HAVE_INLINE]: New macro.
55736         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
55737         Provide extern decls when !HAVE_INLINE.  Do not define unless
55738         static_inline is defined, either by us or by xmalloc.c.  Use
55739         static_inline rather than static inline.
55740         (XCALLOC): Optimize sizeof(T) = 1 case.
55741         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
55742
55743 2006-11-07  Bruno Haible  <bruno@clisp.org>
55744
55745         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
55746         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
55747         AC_C_INLINE.
55748         * modules/xalloc (Files): Add m4/inline.m4.
55749
55750 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55751
55752         * README: Fix typo.
55753         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
55754         (Miscellanous Notes): ...from this.
55755
55756 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55757
55758         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
55759         Mention that offsetof should be used instead of sizeof.
55760         From Bruno Haible.
55761
55762 2006-11-07  Bruno Haible  <bruno@clisp.org>
55763
55764         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
55765
55766 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55767
55768         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55769         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
55770         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55771         (gl_tree_add_before, gl_tree_add_after):
55772         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
55773         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
55774         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
55775         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
55776         (gl_linked_add_after, gl_linked_add_at): Likewise.
55777         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
55778         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55779         (gl_tree_add_before, gl_tree_add_after): Likewise.
55780         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
55781         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
55782         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
55783
55784 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55785
55786         * lib/gl_oset.h: Use C comment style, not C++ comment style.
55787
55788 2006-11-06  Bruno Haible  <bruno@clisp.org>
55789
55790         * m4/inline.m4: New file.
55791         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
55792         * modules/list (Files): Add m4/inline.m4.
55793         * modules/oset (Files): Likewise.
55794
55795 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55796
55797         * lib/idcache.c: Include <stddef.h>, for offsetof.
55798         (struct userid.name): Change from char * to a flexible array member.
55799         All uses changed.
55800         * modules/idcache (Depends-on): Add flexmember.
55801
55802         * MODULES.html.sh (Core language properties): New module flexmember.
55803         * modules/flexmember, m4/flexmember.m4: New files.
55804
55805         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
55806         inline functions that are identical with the old xnmalloc_inline,
55807         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
55808         that we can avoid some unnecessary integer multiplications and
55809         divisions in the common case where the element size is known at
55810         compile time.
55811         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
55812         needed.
55813         (xnboundedmalloc): Remove.
55814         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
55815         arguments, for consistency with rest of this header.
55816         (xcharalloc): Rewrite using XNMALLOC.
55817         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
55818         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
55819         versions have been moved to lib/xalloc.h and renamed to be the
55820         non-*_inline versions.
55821         (xmalloc, xrealloc): Implement without reference to the xnmalloc
55822         and xnrealloc functions, since those functions are now inline and
55823         now call us.
55824         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
55825         renaming described above.
55826         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
55827         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
55828         captures the dependency in AC_C_INLINE.
55829
55830         New module canonicalize-lgpl, proposed by Charles Wilson in
55831         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
55832         with a few small changes afterwards.
55833         * MODULES.html.sh (File system functions): New module
55834         canonicalize-lgpl.
55835         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
55836         and canonicalize_file_name.
55837         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
55838         * modules/canonicalize-lgpl: New files.
55839
55840 2006-11-05  Bruno Haible  <bruno@clisp.org>
55841
55842         * gnulib-tool (func_import, func_create_testdir): Create directories
55843         also for files in subdirectories of lib/.
55844
55845 2006-11-05  Bruno Haible  <bruno@clisp.org>
55846
55847         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
55848         ANSI C compliant.
55849
55850 2006-11-03  Bruno Haible  <bruno@clisp.org>
55851
55852         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55853         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
55854         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
55855         (xnboundedmalloc): New inline function.
55856         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
55857         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
55858         xmalloc.
55859         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
55860         xmalloc.
55861         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
55862         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
55863         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
55864         xmalloc.
55865         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55866         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
55867         xmalloc.
55868         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
55869         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55870         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
55871         xmalloc.
55872         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55873         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
55874         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55875         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
55876         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
55877         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
55878         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
55879
55880 2006-11-03  Bruno Haible  <bruno@clisp.org>
55881
55882         * lib/c-ctype.h [C++]: Define functions without name mangling.
55883         * lib/fwriteerror.h [C++]: Likewise.
55884         * lib/gcd.h [C++]: Likewise.
55885         * lib/linebreak.h [C++]: Likewise.
55886
55887 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55888
55889         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
55890         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
55891         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
55892         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
55893         Check for functions and headers just once.
55894         Check for declaration of canonicalize_file_name.
55895         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
55896
55897 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55898
55899         * gnulib-tool (func_import): Fix typo in actioncmd.
55900
55901 2006-11-02  Bruno Haible  <bruno@clisp.org>
55902
55903         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
55904         newline sequence in the Makefile.am snippet as a space, like "make"
55905         does.
55906         Reported by Roger Persson <perrog@gmail.com>.
55907
55908 2006-11-01  Bruno Haible  <bruno@clisp.org>
55909
55910         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
55911         already declared in <string.h>.
55912         * lib/strcase.h (strncasecmp): Don't declare it if yes.
55913
55914 2006-11-01  Bruno Haible  <bruno@clisp.org>
55915
55916         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
55917         * lib/strcase.h: Include <string.h>.
55918         (strcasecmp): Define to rpl_strcasecmp here.
55919
55920 2006-11-01  Bruno Haible  <bruno@clisp.org>
55921
55922         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
55923
55924 2006-11-01  Eric Blake  <ebb9@byu.net>
55925
55926         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
55927
55928         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
55929
55930 2006-10-29  Bruno Haible  <bruno@clisp.org>
55931
55932         Make it compile in C++ mode.
55933         * lib/full-write.c (full_rw): Add a cast.
55934
55935 2006-11-01  Bruno Haible  <bruno@clisp.org>
55936
55937         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
55938         be POSIX compliant.
55939         Reported by Roger Persson <perrog@gmail.com>.
55940
55941 2006-11-01  Eric Blake  <ebb9@byu.net>
55942
55943         * lib/getopt_.h: Fix comments.
55944
55945 2006-10-31  Eric Blake  <ebb9@byu.net>
55946
55947         * modules/tmpdir (Depends-on): Add sys_stat.
55948         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
55949         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
55950         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
55951         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
55952         tempname.
55953
55954 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
55955
55956         Avoid some C++ diagnostics reported by Bruno Haible.
55957         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
55958         xmalloc.
55959         (quotearg_alloc): Use xcharalloc rather than xmalloc.
55960         (struct slotvec): Move to top level.
55961         (quotearg_n_options): Rewrite to avoid xmalloc.
55962         * lib/xalloc.h (xcharalloc): New function.
55963         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
55964         [defined __cplusplus]: Add function template that provides result
55965         type propagation.  This part of the change is from Bruno Haible.
55966
55967 2006-10-29  Bruno Haible  <bruno@clisp.org>
55968
55969         Make it compile in C++ mode.
55970         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
55971         * lib/strnlen1.c (strnlen1): Cast memchr result.
55972         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
55973         * lib/clean-temp.c (string_equals, string_hash): Add casts.
55974         (create_temp_dir): Rename local variable 'template'.
55975         (compile_csharp_using_sscli): Add cast.
55976         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
55977         * lib/findprog.c (find_in_path): Likewise.
55978         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
55979         * lib/wait-process.c (register_slave_subprocess): Likewise.
55980
55981 2006-10-22  Bruno Haible  <bruno@clisp.org>
55982
55983         * modules/tsearch: New file.
55984         * lib/tsearch.h: New file.
55985         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
55986         * m4/tsearch.m4: New file.
55987         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
55988
55989 2006-10-29  Eric Blake  <ebb9@byu.net>
55990
55991         * lib/arcfour.c: Assume config.h.
55992         * lib/arctwo.c: Likewise.
55993         * lib/base64.c: Likewise.
55994         * lib/check-version.c: Likewise.
55995         * lib/crc.c: Likewise.
55996         * lib/des.c: Likewise.
55997         * lib/gc-gnulib.c: Likewise.
55998         * lib/gc-libgcrypt.c: Likewise.
55999         * lib/gc-pbkdf2-sha1.c: Likewise.
56000         * lib/getaddrinfo.c: Likewise.
56001         * lib/getdelim.c: Likewise.
56002         * lib/getline.c: Likewise.
56003         * lib/hmac-md5.c: Likewise.
56004         * lib/hmac-sha1.c: Likewise.
56005         * lib/iconvme.c: Likewise.
56006         * lib/md2.c: Likewise.
56007         * lib/md4.c: Likewise.
56008         * lib/memxor.c: Likewise.
56009         * lib/read-file.c: Likewise.
56010         * lib/readline.c: Likewise.
56011         * lib/rijndael-alg-fst.c: Likewise.
56012         * lib/rijndael-api-fst.c: Likewise.
56013         * lib/xgetdomainname.c: Likewise.
56014
56015 2006-10-28  Eric Blake  <ebb9@byu.net>
56016
56017         * lib/xstrndup.c: Assume config.h.
56018
56019 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
56020
56021         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
56022         stat-macros.h is now for our own macros, whereas stat_h is for
56023         macros in the <sys/stat.h> name space.
56024         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
56025         (STAT_MACROS_H): Remove.
56026         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
56027         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
56028         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
56029         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
56030         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
56031         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
56032         Move these macros to ...
56033         * lib/stat_.h: here.  Don't include stat-macros.h.
56034         * lib/canonicalize.c: Don't include stat-macros.h.
56035         * lib/chown.c: Likewise.
56036         * lib/euidaccess.c: Likewise.
56037         * lib/file-type.c: Likewise.
56038         * lib/filemode.c: Likewise.
56039         * lib/glob.c: Likewise.
56040         * lib/isapipe.c: Likewise.
56041         * lib/lchown.c: Likewise.
56042         * lib/lstat.c: Likewise.
56043         * lib/mkdir-p.c: Likewise.
56044         * lib/rmdir.c: Likewise.
56045         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
56046         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
56047         unless mkdir isn't declared, to speed up 'configure'.
56048         Always create sys/stat.h, since it's unlikely any real sys/stat.h
56049         would define all the S_* symbols.
56050         * modules/canonicalize (Depends-on):
56051         Depend on sys_stat, not stat-macros.
56052         * modules/chown: Likewise.
56053         * modules/euidaccess: Likewise.
56054         * modules/filemode: Likewise.
56055         * modules/file-type: Likewise.
56056         * modules/glob: Likewise.
56057         * modules/isapipe: Likewise.
56058         * modules/lchown: Likewise.
56059         * modules/lstat: Likewise.
56060         * modules/mkancesdirs: Likewise.
56061         * modules/rmdir: Likewise.
56062         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
56063         * modules/modechange: Likewise.
56064         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
56065         (configure.ac): Remove gl_STAT_MACROS.
56066         * modules/sys_stat (Depends-on): Remove stat-macros.
56067
56068 2006-10-27  Bruno Haible  <bruno@clisp.org>
56069
56070         * m4/signed.m4: Remove file.
56071         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
56072         invocation.
56073         * modules/vasnprintf (Files): Remove m4/signed.m4.
56074
56075 2006-10-27  Bruno Haible  <bruno@clisp.org>
56076
56077         Update to GNU gettext 0.16.
56078         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
56079         m4/inttypes-h.m4, m4/signed.m4.
56080         * m4/gettext.m4: Update to GNU gettext 0.16.
56081         * m4/intl.m4: New file, from GNU gettext.
56082         * m4/intldir.m4: New file, from GNU gettext.
56083         * config/srclist.txt: Update
56084
56085 2006-10-27  Eric Blake  <ebb9@byu.net>
56086
56087         * MODULES.html.sh: Document tempname.
56088         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
56089         dependencies.
56090         (Files): Move lib/tempname.c...
56091         * modules/tempname: ...to this new module.
56092         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
56093         (gl_PREREQ_TEMPNAME): Move...
56094         * m4/tempname.m4: ...to this new file.
56095         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
56096         * modules/sys_stat (Depends-on): Add stat-macros.
56097         * lib/stat_.h (includes): Pick up stat macros.
56098         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
56099         if stat macros are broken.
56100         * lib/tempname.c (includes): No need to include "stat-macros.h".
56101         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
56102         (direxists, __path_search) [!_LIBC]: Don't compile these in
56103         gnulib; the tmpdir module covers that.
56104         * lib/tempname.h: New file.
56105
56106 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
56107
56108         * COPYING: Explain how gnulib-tool converts licence headers.
56109         Almost all wording by Eric Blake.
56110
56111 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
56112
56113         * lib/mbchar.h (is_basic_table): Make read-only.
56114         * lib/mbchar.c (is_basic_table): Likewise.
56115         Reported by John Darrington.
56116
56117 2006-10-25  Bruno Haible  <bruno@clisp.org>
56118
56119         * lib/progname.h (set_program_name): Undefine before defining.
56120
56121 2006-10-25  Bruno Haible  <bruno@clisp.org>
56122
56123         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
56124         false for non-gcc C++ compilers.
56125         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56126
56127 2006-10-24  Bruno Haible  <bruno@clisp.org>
56128
56129         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
56130         iconv implementations like Irix iconv.
56131
56132 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56133
56134         * modules/vararrays: New file.
56135         * m4/vararrays.m4: New file, taken from diffutils.
56136         * MODULES.html.sh: New module vararrays.
56137
56138 2006-10-24  Karl Berry  <karl@gnu.org>
56139
56140         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
56141         Don't call GNU Unix.
56142
56143 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56144
56145         * users.txt: Add Libtool.
56146
56147         Sync from Libtool:
56148
56149         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56150
56151         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
56152         to gnulib's policy of including config.h unconditionally.
56153
56154 2006-10-24  Bruno Haible  <bruno@clisp.org>
56155
56156         * modules/wcwidth (Files): Add m4/wint_t.m4.
56157         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
56158         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
56159
56160 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56161
56162         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
56163         to pacify GCC with some -W flags enabled.  Problem reported by
56164         Bruno Haible.
56165
56166 2006-10-24  Jim Meyering  <jim@meyering.net>
56167
56168         * MODULES.html.sh: Remove uinttostr.  It's not a module.
56169         Reported by Karl Berry.
56170
56171 2006-10-23  Bruno Haible  <bruno@clisp.org>
56172
56173         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
56174
56175 2006-10-24  Bruno Haible  <bruno@clisp.org>
56176
56177         * lib/gl_list.h: Use C comment style, not C++ comment style.
56178
56179 2006-10-23  Eric Blake  <ebb9@byu.net>
56180
56181         * lib/getaddrinfo.c (includes): Add missing include.
56182
56183 2006-10-23  Bruno Haible  <bruno@clisp.org>
56184             Paul Eggert  <eggert@cs.ucla.edu>
56185
56186         Ability to rename obstack_free.
56187         * lib/obstack.h (__obstack_free): New macro. Declare instead of
56188         obstack_free.
56189         (obstack_free): Invoke the __obstack_free macro.
56190         * lib/obstack.c (obstack_free): Use __obstack_free macro.
56191
56192 2006-10-23  Bruno Haible  <bruno@clisp.org>
56193             Paul Eggert  <eggert@cs.ucla.edu>
56194
56195         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
56196         __argc, __argv from the declaration. (They are defined as macros on
56197         mingw.)
56198
56199 2006-10-22  Bruno Haible  <bruno@clisp.org>
56200
56201         * doc/gnulib-intro.texi: New file.
56202         * doc/gnulib.texi: Include it.
56203
56204 2006-10-21  Bruno Haible  <bruno@clisp.org>
56205
56206         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
56207         "Introduction", "Miscellanous Notes", "Particular Modules".
56208
56209 2006-10-21  Bruno Haible  <bruno@clisp.org>
56210
56211         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56212         Change mostlyclean-local rule to avoid sh syntax error from bash
56213         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
56214
56215 2006-10-23  Jim Meyering  <jim@meyering.net>
56216
56217         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
56218         in place of snprintf.
56219
56220         * modules/inttostr (Files): Add lib/uinttostr.c.
56221         * lib/uinttostr.c (inttostr): New file/function.
56222         * lib/inttostr.h (uinttostr): Declare.
56223         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
56224         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
56225         Add uinttostr.
56226         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
56227
56228 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
56229
56230         * lib/canonicalize.c (ELOOP): Define if not already defined.
56231         Problem reported by Bruno Haible in
56232         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
56233
56234 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
56235
56236         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
56237         Problem reported by Perry Smith and Ville Laurikari.
56238
56239         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
56240         uses.
56241
56242 2006-10-19  Bruno Haible  <bruno@clisp.org>
56243
56244         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
56245         for mingw.
56246
56247 2006-10-19  Bruno Haible  <bruno@clisp.org>
56248
56249         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
56250         Needed for mingw.
56251
56252 2006-10-19  Bruno Haible  <bruno@clisp.org>
56253
56254         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
56255
56256 2006-10-19  Bruno Haible  <bruno@clisp.org>
56257
56258         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
56259         it.
56260
56261 2006-10-19  Bruno Haible  <bruno@clisp.org>
56262
56263         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
56264         invocation.
56265
56266 2006-10-19  Bruno Haible  <bruno@clisp.org>
56267
56268         * gnulib-tool (func_create_testdir): Don't include ftruncate and
56269         mountlist by default.
56270
56271 2006-10-16  Bruno Haible  <bruno@clisp.org>
56272
56273         * lib/c-strstr.c: Include c-strstr.h.
56274
56275 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
56276
56277         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
56278         in a slash.
56279
56280 2006-10-18  Bruno Haible  <bruno@clisp.org>
56281
56282         * lib/lock.h [C++]: Wrap definitions in extern "C".
56283
56284 2006-10-18  Bruno Haible  <bruno@clisp.org>
56285
56286         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
56287         gl_LIBOBJS list.
56288
56289 2006-10-18  Bruno Haible  <bruno@clisp.org>
56290
56291         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
56292
56293 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
56294
56295         * lib/xstrtol.h: Include gettext.h.
56296         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
56297         Problem reported by Eric Blake.
56298         * modules/xstrtol (Depends-on): Add gettext-h.
56299
56300 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
56301
56302         * lib/strftime.c (advance): New macro.
56303         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
56304         incomplete type, so you can't add 0 to it.  Problem and patch
56305         reported by Eelco Dolstra for dietlibc.
56306
56307 2006-10-18  Jim Meyering  <jim@meyering.net>
56308
56309         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
56310         type for a local, and rename it: s/up/user_proc/.
56311
56312 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56313
56314         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
56315         READ_UTMP_USER_PROCESS.
56316         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
56317
56318 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
56319
56320         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
56321         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
56322
56323 2006-10-17  Eric Blake  <ebb9@byu.net>
56324
56325         * lib/sigprocmask.c (sigprocmask): Fix typo.
56326
56327         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
56328
56329         * modules/clean-temp (Makefile.am): Don't add to make output...
56330         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
56331         config.h.
56332
56333 2006-10-17  Bruno Haible  <bruno@clisp.org>
56334
56335         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
56336         differently if DEFAULT_TEXT_DOMAIN is set.
56337
56338 2006-10-16  Bruno Haible  <bruno@clisp.org>
56339
56340         * lib/clean-temp.c: Include fwriteerror.h.
56341
56342 2006-10-16  Bruno Haible  <bruno@clisp.org>
56343
56344         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
56345
56346 2006-10-16  Bruno Haible  <bruno@clisp.org>
56347
56348         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
56349         * lib/sigprocmask.h: Include <sys/types.h>.
56350         (sigset_t): Use the system's definition if present.
56351
56352 2006-10-17  Eric Blake  <ebb9@byu.net>
56353
56354         * lib/xvasprintf.c (includes): Assume config.h.
56355         * lib/xasprintf.c (includes): Likewise.
56356
56357 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56358
56359         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
56360         at least as wide as intmax_t.
56361
56362 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
56363
56364         (Imported from Automake.)
56365         * build-aux/gnupload: Update to version 1.1 of directive file.
56366
56367 2006-10-16  Eric Blake  <ebb9@byu.net>
56368
56369         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
56370         match Automake 1.10a.
56371
56372 2006-10-14  Bruno Haible  <bruno@clisp.org>
56373
56374         * modules/sigprocmask: New file.
56375         * lib/sigprocmask.h: New file.
56376         * lib/sigprocmask.c: New file.
56377         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
56378         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
56379         request sigprocmask.o.
56380         (gl_PREREQ_SIGPROCMASK): New macro.
56381         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
56382         (Depends-on): Add sigprocmask.
56383         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
56384         gt_SIGNALBLOCKING. Test for 'raise' only once.
56385         * lib/fatal-signal.c: Include sigprocmask.h.
56386         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
56387         unblock_fatal_signals): Define always.
56388         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56389         sigprocmask.
56390
56391 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
56392
56393         Sync from Automake.
56394         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
56395         which incorrectly sets the mode of an existing destination
56396         directory.  In some cases the unpatched install-sh could do the
56397         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
56398         system.  We hope this is rare in practice, but it's clearly worth
56399         fixing.  Problem reported by Alex Unleashed in
56400         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
56401         Also, don't bother to check for -m bugs unless we're using -m;
56402         suggested by Stepan Kasal.
56403
56404 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56405
56406         Sync from Automake.
56407         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
56408         `-c' flag, so they appear at the same position as in %FASTDEP%
56409         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
56410         which ignores unknown options only after the first non-option.
56411         Bug report against M4 by Nelson H. F. Beebe.
56412
56413 2006-10-13  Jim Meyering  <jim@meyering.net>
56414
56415         Fix a bug in yesterday's change.
56416         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
56417         p->fts_statp->st_dev would be used uninitialized.
56418         Ensures that we always call fts_stat on the very first entry.
56419         Miklos Szeredi reported that find -xdev stopped working.
56420
56421 2006-10-12  Bruno Haible  <bruno@clisp.org>
56422
56423         * gnulib-tool (func_get_automake_snippet): Append an automatically
56424         computed EXTRA_DIST augmentation.
56425         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
56426         * modules/alloca-opt (Makefile.am): Likewise.
56427         * modules/allocsa (Makefile.am): Likewise.
56428         * modules/arcfour (Makefile.am): Likewise.
56429         * modules/arctwo (Makefile.am): Likewise.
56430         * modules/argmatch (Makefile.am): Likewise.
56431         * modules/argz (Makefile.am): Likewise.
56432         * modules/atexit (Makefile.am): Likewise.
56433         * modules/backupfile (Makefile.am): Likewise.
56434         * modules/byteswap (Makefile.am): Likewise.
56435         * modules/c-strtod (Makefile.am): Likewise.
56436         * modules/c-strtold (Makefile.am): Likewise.
56437         * modules/calloc (Makefile.am): Likewise.
56438         * modules/canon-host (Makefile.am): Likewise.
56439         * modules/canonicalize (Makefile.am): Likewise.
56440         * modules/chdir-long (Makefile.am): Likewise.
56441         * modules/chdir-safer (Makefile.am): Likewise.
56442         * modules/check-version (Makefile.am): Likewise.
56443         * modules/chown (Makefile.am): Likewise.
56444         * modules/cloexec (Makefile.am): Likewise.
56445         * modules/close-stream (Makefile.am): Likewise.
56446         * modules/closeout (Makefile.am): Likewise.
56447         * modules/crc (Makefile.am): Likewise.
56448         * modules/csharpexec (Makefile.am): Likewise.
56449         * modules/cycle-check (Makefile.am): Likewise.
56450         * modules/des (Makefile.am): Likewise.
56451         * modules/dev-ino (Makefile.am): Likewise.
56452         * modules/dirfd (Makefile.am): Likewise.
56453         * modules/dirname (Makefile.am): Likewise.
56454         * modules/dup2 (Makefile.am): Likewise.
56455         * modules/eealloc (Makefile.am): Likewise.
56456         * modules/error (Makefile.am): Likewise.
56457         * modules/euidaccess (Makefile.am): Likewise.
56458         * modules/exclude (Makefile.am): Likewise.
56459         * modules/exitfail (Makefile.am): Likewise.
56460         * modules/fcntl-safer (Makefile.am): Likewise.
56461         * modules/fcntl (Makefile.am): Likewise.
56462         * modules/file-type (Makefile.am): Likewise.
56463         * modules/fileblocks (Makefile.am): Likewise.
56464         * modules/filemode (Makefile.am): Likewise.
56465         * modules/filenamecat (Makefile.am): Likewise.
56466         * modules/fnmatch (Makefile.am): Likewise.
56467         * modules/fopen-safer (Makefile.am): Likewise.
56468         * modules/fpending (Makefile.am): Likewise.
56469         * modules/fprintftime (Makefile.am): Likewise.
56470         * modules/free (Makefile.am): Likewise.
56471         * modules/fsusage (Makefile.am): Likewise.
56472         * modules/ftruncate (Makefile.am): Likewise.
56473         * modules/fts (Makefile.am): Likewise.
56474         * modules/gc-arcfour (Makefile.am): Likewise.
56475         * modules/gc-des (Makefile.am): Likewise.
56476         * modules/gc-hmac-md5 (Makefile.am): Likewise.
56477         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
56478         * modules/gc-md4 (Makefile.am): Likewise.
56479         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56480         * modules/gc-sha1 (Makefile.am): Likewise.
56481         * modules/gc (Makefile.am): Likewise.
56482         * modules/getaddrinfo (Makefile.am): Likewise.
56483         * modules/getcwd (Makefile.am): Likewise.
56484         * modules/getdelim (Makefile.am): Likewise.
56485         * modules/getdomainname (Makefile.am): Likewise.
56486         * modules/getgroups (Makefile.am): Likewise.
56487         * modules/gethostname (Makefile.am): Likewise.
56488         * modules/gethrxtime (Makefile.am): Likewise.
56489         * modules/getline (Makefile.am): Likewise.
56490         * modules/getloadavg (Makefile.am): Likewise.
56491         * modules/getlogin_r (Makefile.am): Likewise.
56492         * modules/getndelim2 (Makefile.am): Likewise.
56493         * modules/getopt (Makefile.am): Likewise.
56494         * modules/getpagesize (Makefile.am): Likewise.
56495         * modules/getpass-gnu (Makefile.am): Likewise.
56496         * modules/getpass (Makefile.am): Likewise.
56497         * modules/getsubopt (Makefile.am): Likewise.
56498         * modules/gettime (Makefile.am): Likewise.
56499         * modules/gettimeofday (Makefile.am): Likewise.
56500         * modules/getugroups (Makefile.am): Likewise.
56501         * modules/getusershell (Makefile.am): Likewise.
56502         * modules/glob (Makefile.am): Likewise.
56503         * modules/group-member (Makefile.am): Likewise.
56504         * modules/hard-locale (Makefile.am): Likewise.
56505         * modules/hash (Makefile.am): Likewise.
56506         * modules/hmac-md5 (Makefile.am): Likewise.
56507         * modules/hmac-sha1 (Makefile.am): Likewise.
56508         * modules/human (Makefile.am): Likewise.
56509         * modules/idcache (Makefile.am): Likewise.
56510         * modules/imaxabs (Makefile.am): Likewise.
56511         * modules/imaxdiv (Makefile.am): Likewise.
56512         * modules/inet_ntop (Makefile.am): Likewise.
56513         * modules/inet_pton (Makefile.am): Likewise.
56514         * modules/intprops (Makefile.am): Likewise.
56515         * modules/inttostr (Makefile.am): Likewise.
56516         * modules/inttypes (Makefile.am): Likewise.
56517         * modules/isapipe (Makefile.am): Likewise.
56518         * modules/javaversion (Makefile.am): Likewise.
56519         * modules/lchmod (Makefile.am): Likewise.
56520         * modules/lchown (Makefile.am): Likewise.
56521         * modules/localcharset (Makefile.am): Likewise.
56522         * modules/long-options (Makefile.am): Likewise.
56523         * modules/lstat (Makefile.am): Likewise.
56524         * modules/malloc (Makefile.am): Likewise.
56525         * modules/mathl (Makefile.am): Likewise.
56526         * modules/mbchar (Makefile.am): Likewise.
56527         * modules/md2 (Makefile.am): Likewise.
56528         * modules/md4 (Makefile.am): Likewise.
56529         * modules/md5 (Makefile.am): Likewise.
56530         * modules/memcasecmp (Makefile.am): Likewise.
56531         * modules/memchr (Makefile.am): Likewise.
56532         * modules/memcmp (Makefile.am): Likewise.
56533         * modules/memcoll (Makefile.am): Likewise.
56534         * modules/memcpy (Makefile.am): Likewise.
56535         * modules/memmem (Makefile.am): Likewise.
56536         * modules/memmove (Makefile.am): Likewise.
56537         * modules/mempcpy (Makefile.am): Likewise.
56538         * modules/memrchr (Makefile.am): Likewise.
56539         * modules/memset (Makefile.am): Likewise.
56540         * modules/memxor (Makefile.am): Likewise.
56541         * modules/mkancesdirs (Makefile.am): Likewise.
56542         * modules/mkdir-p (Makefile.am): Likewise.
56543         * modules/mkdir (Makefile.am): Likewise.
56544         * modules/mkdtemp (Makefile.am): Likewise.
56545         * modules/mkstemp (Makefile.am): Likewise.
56546         * modules/mktime (Makefile.am): Likewise.
56547         * modules/modechange (Makefile.am): Likewise.
56548         * modules/mountlist (Makefile.am): Likewise.
56549         * modules/nanosleep (Makefile.am): Likewise.
56550         * modules/obstack (Makefile.am): Likewise.
56551         * modules/openat (Makefile.am): Likewise.
56552         * modules/pagealign_alloc (Makefile.am): Likewise.
56553         * modules/pathmax (Makefile.am): Likewise.
56554         * modules/physmem (Makefile.am): Likewise.
56555         * modules/poll (Makefile.am): Likewise.
56556         * modules/posixtm (Makefile.am): Likewise.
56557         * modules/posixver (Makefile.am): Likewise.
56558         * modules/putenv (Makefile.am): Likewise.
56559         * modules/quote (Makefile.am): Likewise.
56560         * modules/quotearg (Makefile.am): Likewise.
56561         * modules/raise (Makefile.am): Likewise.
56562         * modules/read-file (Makefile.am): Likewise.
56563         * modules/readline (Makefile.am): Likewise.
56564         * modules/readlink (Makefile.am): Likewise.
56565         * modules/readtokens (Makefile.am): Likewise.
56566         * modules/readutmp (Makefile.am): Likewise.
56567         * modules/realloc (Makefile.am): Likewise.
56568         * modules/regex (Makefile.am): Likewise.
56569         * modules/rename-dest-slash (Makefile.am): Likewise.
56570         * modules/rename (Makefile.am): Likewise.
56571         * modules/rijndael (Makefile.am): Likewise.
56572         * modules/rmdir (Makefile.am): Likewise.
56573         * modules/rpmatch (Makefile.am): Likewise.
56574         * modules/safe-read (Makefile.am): Likewise.
56575         * modules/safe-write (Makefile.am): Likewise.
56576         * modules/same-inode (Makefile.am): Likewise.
56577         * modules/same (Makefile.am): Likewise.
56578         * modules/save-cwd (Makefile.am): Likewise.
56579         * modules/savedir (Makefile.am): Likewise.
56580         * modules/setenv (Makefile.am): Likewise.
56581         * modules/settime (Makefile.am): Likewise.
56582         * modules/sha1 (Makefile.am): Likewise.
56583         * modules/sig2str (Makefile.am): Likewise.
56584         * modules/snprintf (Makefile.am): Likewise.
56585         * modules/stat-macros (Makefile.am): Likewise.
56586         * modules/stat-time (Makefile.am): Likewise.
56587         * modules/stdbool (Makefile.am): Likewise.
56588         * modules/stdint (Makefile.am): Likewise.
56589         * modules/stdlib-safer (Makefile.am): Likewise.
56590         * modules/stpcpy (Makefile.am): Likewise.
56591         * modules/stpncpy (Makefile.am): Likewise.
56592         * modules/strcase (Makefile.am): Likewise.
56593         * modules/strcasestr (Makefile.am): Likewise.
56594         * modules/strchrnul (Makefile.am): Likewise.
56595         * modules/strcspn (Makefile.am): Likewise.
56596         * modules/strdup (Makefile.am): Likewise.
56597         * modules/strerror (Makefile.am): Likewise.
56598         * modules/strftime (Makefile.am): Likewise.
56599         * modules/strndup (Makefile.am): Likewise.
56600         * modules/strnlen (Makefile.am): Likewise.
56601         * modules/strpbrk (Makefile.am): Likewise.
56602         * modules/strsep (Makefile.am): Likewise.
56603         * modules/strstr (Makefile.am): Likewise.
56604         * modules/strtod (Makefile.am): Likewise.
56605         * modules/strtoimax (Makefile.am): Likewise.
56606         * modules/strtok_r (Makefile.am): Likewise.
56607         * modules/strtol (Makefile.am): Likewise.
56608         * modules/strtoll (Makefile.am): Likewise.
56609         * modules/strtoul (Makefile.am): Likewise.
56610         * modules/strtoull (Makefile.am): Likewise.
56611         * modules/strtoumax (Makefile.am): Likewise.
56612         * modules/strverscmp (Makefile.am): Likewise.
56613         * modules/sys_socket (Makefile.am): Likewise.
56614         * modules/sys_stat (Makefile.am): Likewise.
56615         * modules/sysexits (Makefile.am): Likewise.
56616         * modules/time_r (Makefile.am): Likewise.
56617         * modules/timegm (Makefile.am): Likewise.
56618         * modules/timespec (Makefile.am): Likewise.
56619         * modules/tmpfile-safer (Makefile.am): Likewise.
56620         * modules/trim (Makefile.am): Likewise.
56621         * modules/unistd-safer (Makefile.am): Likewise.
56622         * modules/unlinkdir (Makefile.am): Likewise.
56623         * modules/unlocked-io (Makefile.am): Likewise.
56624         * modules/userspec (Makefile.am): Likewise.
56625         * modules/utime (Makefile.am): Likewise.
56626         * modules/utimecmp (Makefile.am): Likewise.
56627         * modules/utimens (Makefile.am): Likewise.
56628         * modules/vasnprintf (Makefile.am): Likewise.
56629         * modules/vasprintf (Makefile.am): Likewise.
56630         * modules/vsnprintf (Makefile.am): Likewise.
56631         * modules/xalloc (Makefile.am): Likewise.
56632         * modules/xgetcwd (Makefile.am): Likewise.
56633         * modules/xnanosleep (Makefile.am): Likewise.
56634         * modules/xreadlink (Makefile.am): Likewise.
56635         * modules/xstrtod (Makefile.am): Likewise.
56636         * modules/xstrtol (Makefile.am): Likewise.
56637         * modules/xstrtold (Makefile.am): Likewise.
56638         * modules/yesno (Makefile.am): Likewise.
56639         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
56640
56641 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56642
56643         * modules/error (Makefile.am): Distribute files through
56644         EXTRA_DIST, not lib_SOURCES.
56645
56646 2006-10-12  Eric Blake  <ebb9@byu.net>
56647
56648         * modules/error (Makefile.am): Distribute files in /lib.
56649         * modules/obstack (Makefile.am): Likewise.
56650
56651 2006-10-12  Bruno Haible  <bruno@clisp.org>
56652
56653         * modules/acl (Makefile.am): Distribute all files in lib/ through
56654         EXTRA_DIST.
56655         * modules/arcfour (Makefile.am): Likewise.
56656         * modules/arctwo (Makefile.am): Likewise.
56657         * modules/argmatch (Makefile.am): Likewise.
56658         * modules/argz (Makefile.am): Likewise.
56659         * modules/atexit (Makefile.am): Likewise.
56660         * modules/backupfile (Makefile.am): Likewise.
56661         * modules/c-strtod (Makefile.am): Likewise.
56662         * modules/c-strtold (Makefile.am): Likewise.
56663         * modules/calloc (Makefile.am): Likewise.
56664         * modules/canon-host (Makefile.am): Likewise.
56665         * modules/canonicalize (Makefile.am): Likewise.
56666         * modules/chdir-long (Makefile.am): Likewise.
56667         * modules/chdir-safer (Makefile.am): Likewise.
56668         * modules/check-version (Makefile.am): Likewise.
56669         * modules/chown (Makefile.am): Likewise.
56670         * modules/cloexec (Makefile.am): Likewise.
56671         * modules/close-stream (Makefile.am): Likewise.
56672         * modules/closeout (Makefile.am): Likewise.
56673         * modules/crc (Makefile.am): Likewise.
56674         * modules/cycle-check (Makefile.am): Likewise.
56675         * modules/des (Makefile.am): Likewise.
56676         * modules/dirfd (Makefile.am): Likewise.
56677         * modules/dirname (Makefile.am): Likewise.
56678         * modules/dup2 (Makefile.am): Likewise.
56679         * modules/euidaccess (Makefile.am): Likewise.
56680         * modules/exclude (Makefile.am): Likewise.
56681         * modules/exitfail (Makefile.am): Likewise.
56682         * modules/fcntl-safer (Makefile.am): Likewise.
56683         * modules/file-type (Makefile.am): Likewise.
56684         * modules/fileblocks (Makefile.am): Likewise.
56685         * modules/filemode (Makefile.am): Likewise.
56686         * modules/filenamecat (Makefile.am): Likewise.
56687         * modules/fnmatch (Makefile.am): Likewise.
56688         * modules/fopen-safer (Makefile.am): Likewise.
56689         * modules/fpending (Makefile.am): Likewise.
56690         * modules/fprintftime (Makefile.am): Likewise.
56691         * modules/free (Makefile.am): Likewise.
56692         * modules/fsusage (Makefile.am): Likewise.
56693         * modules/ftruncate (Makefile.am): Likewise.
56694         * modules/fts (Makefile.am): Likewise.
56695         * modules/gc (Makefile.am): Likewise.
56696         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56697         * modules/getaddrinfo (Makefile.am): Likewise.
56698         * modules/getcwd (Makefile.am): Likewise.
56699         * modules/getdelim (Makefile.am): Likewise.
56700         * modules/getdomainname (Makefile.am): Likewise.
56701         * modules/getgroups (Makefile.am): Likewise.
56702         * modules/gethostname (Makefile.am): Likewise.
56703         * modules/gethrxtime (Makefile.am): Likewise.
56704         * modules/getline (Makefile.am): Likewise.
56705         * modules/getloadavg (Makefile.am): Likewise.
56706         * modules/getlogin_r (Makefile.am): Likewise.
56707         * modules/getopt (Makefile.am): Likewise.
56708         * modules/getpass (Makefile.am): Likewise.
56709         * modules/getpass-gnu (Makefile.am): Likewise.
56710         * modules/getsubopt (Makefile.am): Likewise.
56711         * modules/gettime (Makefile.am): Likewise.
56712         * modules/gettimeofday (Makefile.am): Likewise.
56713         * modules/getugroups (Makefile.am): Likewise.
56714         * modules/getusershell (Makefile.am): Likewise.
56715         * modules/glob (Makefile.am): Likewise.
56716         * modules/group-member (Makefile.am): Likewise.
56717         * modules/hard-locale (Makefile.am): Likewise.
56718         * modules/hash (Makefile.am): Likewise.
56719         * modules/hmac-md5 (Makefile.am): Likewise.
56720         * modules/hmac-sha1 (Makefile.am): Likewise.
56721         * modules/human (Makefile.am): Likewise.
56722         * modules/idcache (Makefile.am): Likewise.
56723         * modules/imaxabs (Makefile.am): Likewise.
56724         * modules/imaxdiv (Makefile.am): Likewise.
56725         * modules/inet_ntop (Makefile.am): Likewise.
56726         * modules/inet_pton (Makefile.am): Likewise.
56727         * modules/inttostr (Makefile.am): Likewise.
56728         * modules/isapipe (Makefile.am): Likewise.
56729         * modules/lchown (Makefile.am): Likewise.
56730         * modules/long-options (Makefile.am): Likewise.
56731         * modules/lstat (Makefile.am): Likewise.
56732         * modules/malloc (Makefile.am): Likewise.
56733         * modules/mathl (Makefile.am): Likewise.
56734         * modules/mbchar (Makefile.am): Likewise.
56735         * modules/md2 (Makefile.am): Likewise.
56736         * modules/md4 (Makefile.am): Likewise.
56737         * modules/md5 (Makefile.am): Likewise.
56738         * modules/memcasecmp (Makefile.am): Likewise.
56739         * modules/memchr (Makefile.am): Likewise.
56740         * modules/memcmp (Makefile.am): Likewise.
56741         * modules/memcoll (Makefile.am): Likewise.
56742         * modules/memcpy (Makefile.am): Likewise.
56743         * modules/memmem (Makefile.am): Likewise.
56744         * modules/memmove (Makefile.am): Likewise.
56745         * modules/mempcpy (Makefile.am): Likewise.
56746         * modules/memrchr (Makefile.am): Likewise.
56747         * modules/memset (Makefile.am): Likewise.
56748         * modules/memxor (Makefile.am): Likewise.
56749         * modules/mkancesdirs (Makefile.am): Likewise.
56750         * modules/mkdir (Makefile.am): Likewise.
56751         * modules/mkdir-p (Makefile.am): Likewise.
56752         * modules/mkdtemp (Makefile.am): Likewise.
56753         * modules/mkstemp (Makefile.am): Likewise.
56754         * modules/mktime (Makefile.am): Likewise.
56755         * modules/modechange (Makefile.am): Likewise.
56756         * modules/mountlist (Makefile.am): Likewise.
56757         * modules/nanosleep (Makefile.am): Likewise.
56758         * modules/openat (Makefile.am): Likewise.
56759         * modules/pagealign_alloc (Makefile.am): Likewise.
56760         * modules/physmem (Makefile.am): Likewise.
56761         * modules/poll (Makefile.am): Likewise.
56762         * modules/posixtm (Makefile.am): Likewise.
56763         * modules/posixver (Makefile.am): Likewise.
56764         * modules/putenv (Makefile.am): Likewise.
56765         * modules/quote (Makefile.am): Likewise.
56766         * modules/quotearg (Makefile.am): Likewise.
56767         * modules/raise (Makefile.am): Likewise.
56768         * modules/read-file (Makefile.am): Likewise.
56769         * modules/readline (Makefile.am): Likewise.
56770         * modules/readlink (Makefile.am): Likewise.
56771         * modules/readtokens (Makefile.am): Likewise.
56772         * modules/readutmp (Makefile.am): Likewise.
56773         * modules/realloc (Makefile.am): Likewise.
56774         * modules/regex (Makefile.am): Likewise.
56775         * modules/rename (Makefile.am): Likewise.
56776         * modules/rename-dest-slash (Makefile.am): Likewise.
56777         * modules/rijndael (Makefile.am): Likewise.
56778         * modules/rmdir (Makefile.am): Likewise.
56779         * modules/rpmatch (Makefile.am): Likewise.
56780         * modules/safe-read (Makefile.am): Likewise.
56781         * modules/safe-write (Makefile.am): Likewise.
56782         * modules/same (Makefile.am): Likewise.
56783         * modules/save-cwd (Makefile.am): Likewise.
56784         * modules/savedir (Makefile.am): Likewise.
56785         * modules/setenv (Makefile.am): Likewise.
56786         * modules/settime (Makefile.am): Likewise.
56787         * modules/sha1 (Makefile.am): Likewise.
56788         * modules/sig2str (Makefile.am): Likewise.
56789         * modules/snprintf (Makefile.am): Likewise.
56790         * modules/stdlib-safer (Makefile.am): Likewise.
56791         * modules/stpcpy (Makefile.am): Likewise.
56792         * modules/stpncpy (Makefile.am): Likewise.
56793         * modules/strcase (Makefile.am): Likewise.
56794         * modules/strcasestr (Makefile.am): Likewise.
56795         * modules/strchrnul (Makefile.am): Likewise.
56796         * modules/strcspn (Makefile.am): Likewise.
56797         * modules/strdup (Makefile.am): Likewise.
56798         * modules/strerror (Makefile.am): Likewise.
56799         * modules/strftime (Makefile.am): Likewise.
56800         * modules/strndup (Makefile.am): Likewise.
56801         * modules/strnlen (Makefile.am): Likewise.
56802         * modules/strpbrk (Makefile.am): Likewise.
56803         * modules/strsep (Makefile.am): Likewise.
56804         * modules/strstr (Makefile.am): Likewise.
56805         * modules/strtod (Makefile.am): Likewise.
56806         * modules/strtoimax (Makefile.am): Likewise.
56807         * modules/strtok_r (Makefile.am): Likewise.
56808         * modules/strtol (Makefile.am): Likewise.
56809         * modules/strtoll (Makefile.am): Likewise.
56810         * modules/strtoul (Makefile.am): Likewise.
56811         * modules/strtoull (Makefile.am): Likewise.
56812         * modules/strtoumax (Makefile.am): Likewise.
56813         * modules/strverscmp (Makefile.am): Likewise.
56814         * modules/time_r (Makefile.am): Likewise.
56815         * modules/timegm (Makefile.am): Likewise.
56816         * modules/tmpfile-safer (Makefile.am): Likewise.
56817         * modules/unistd-safer (Makefile.am): Likewise.
56818         * modules/unlinkdir (Makefile.am): Likewise.
56819         * modules/userspec (Makefile.am): Likewise.
56820         * modules/utime (Makefile.am): Likewise.
56821         * modules/utimecmp (Makefile.am): Likewise.
56822         * modules/utimens (Makefile.am): Likewise.
56823         * modules/vasnprintf (Makefile.am): Likewise.
56824         * modules/vasprintf (Makefile.am): Likewise.
56825         * modules/vsnprintf (Makefile.am): Likewise.
56826         * modules/xalloc (Makefile.am): Likewise.
56827         * modules/xgetcwd (Makefile.am): Likewise.
56828         * modules/xnanosleep (Makefile.am): Likewise.
56829         * modules/xreadlink (Makefile.am): Likewise.
56830         * modules/xstrtod (Makefile.am): Likewise.
56831         * modules/xstrtol (Makefile.am): Likewise.
56832         * modules/xstrtold (Makefile.am): Likewise.
56833         * modules/yesno (Makefile.am): Likewise.
56834
56835 2006-10-12  Jim Meyering  <jim@meyering.net>
56836
56837         * m4/getloadavg.m4: Revert the change below.
56838
56839         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
56840         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
56841         fail with a symlink, which is what coreutils' ./bootstrap now
56842         creates by default.
56843
56844 2006-10-12  Bruno Haible  <bruno@clisp.org>
56845
56846         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
56847         mingw.
56848         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
56849         MSVC and mingw explicitly.
56850
56851 2006-10-11  Simon Josefsson  <jas@extundo.com>
56852             Bruno Haible  <bruno@clisp.org>
56853
56854         Add support for multiple gnulib-tool invocations in the scope of a
56855         single configure.ac file.
56856         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
56857         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
56858         with the same contents as the _LIBADD variable.
56859         (func_emit_initmacro_start, func_emit_initmacro_end,
56860         func_emit_initmacro_done): New functions.
56861         (func_import, func_create_testdir): Invoke them. Allow the identifiers
56862         gl_LIBOBJS and gl_LTLIBOBJS.
56863
56864 2006-10-11  Bruno Haible  <bruno@clisp.org>
56865
56866         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
56867         (func_create_testdir): Don't create po/Makefile.am, don't invoke
56868         autoreconf. Instead, invoke autopoint explicitly but move back the
56869         *.m4 files from gnulib.
56870
56871 2006-10-11  Bruno Haible  <bruno@clisp.org>
56872
56873         * gnulib-tool (func_usage): Make module names after --create-testdir
56874         optional.
56875         (func_create_testdir): If no module was specified, use nearly all
56876         modules.
56877
56878 2006-10-12  Jim Meyering  <jim@meyering.net>
56879
56880         Big performance improvement for fts-based tools that use FTS_NOSTAT.
56881         Avoid spurious inode-mismatch problems on non-POSIX file systems.
56882         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
56883         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
56884         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
56885         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
56886         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
56887         (fts_set_stat_required): New function.
56888         (fts_open): Defer the calls to fts_stat, if possible or requested.
56889         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
56890         into fts_stat itself.
56891         (fts_read): Perform any required (deferred) fts_stat call.
56892         (fts_build): Likewise, for the directory we're about to open and read.
56893         In the readdir loop, carefully decide whether each entry will require
56894         an eventual call to fts_stat, using dirent.d_type info if available.
56895         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
56896         a command line argument into this function.  Update all callers.
56897         Map a return value of FTS_DOT to FTS_D for a command line argument.
56898         * modules/fts (Depends-on): Add d-type.  Alphabetize.
56899         Thanks to Miklos Szeredi for his tenacity and for the initial
56900         bug report about "find" failing on a FUSE-based file system.
56901
56902         * lib/fts.c (fts_open): Use consistent indentation.
56903
56904 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56905
56906         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
56907         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
56908         reported by Jim Meyering.  All uses of cache variables renamed
56909         to match Autoconf's.
56910         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
56911         the other one.
56912
56913         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
56914         Fix misspelling in diagnostic.
56915
56916 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56917
56918         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
56919         defined.  Problem reported by Matthew Woehlke.
56920
56921         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
56922         Add support for Tandem NonStop R series.
56923         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
56924         Use new macro.
56925
56926         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
56927         (has_trailing_slash): Omit size arg; all callers changed.
56928         Omit 'inline', since it doesn't help performance and we'd
56929         need to configure it.
56930         Don't count //, ///, etc. as having a trailing slash.
56931         As a side effect, this removes a C99ism reported by Matthew Woehlke.
56932         (rpl_rename_dest_slash): On failure, use rename's errno rather
56933         than (in some cases) an incorrect or junk errno.
56934         Simplify code by removing need to compute length; this does
56935         cause it to make two passes instead of one over the file name,
56936         but it's worth it.
56937
56938         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
56939         change, since Autoconf's version may no longer be appropriate now
56940         that we are using CVS Autoconf's version.  Add support for Tandem.
56941
56942 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56943             Bruno Haible  <bruno@clisp.org>
56944
56945         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
56946         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
56947         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
56948         gl_AC_TYPE_LONG_LONG.
56949
56950         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
56951         instead of HAVE_LONG_LONG.
56952         * lib/printf-args.c (printf_fetchargs): Likewise.
56953         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
56954         * lib/vasnprintf.c (VASNPRINTF): Likewise.
56955         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
56956         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
56957         gl_AC_TYPE_LONG_LONG.
56958
56959 2006-10-11  Bruno Haible  <bruno@clisp.org>
56960
56961         * m4/longlong.m4: Add comments.
56962         * m4/ulonglong.m4: Likewise.
56963
56964 2006-10-10  Bruno Haible  <bruno@clisp.org>
56965
56966         Make it possible to #define stpcpy, strdup to aliases.
56967         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
56968         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
56969
56970 2006-10-10  Bruno Haible  <bruno@clisp.org>
56971
56972         Make it possible to #define gcd to an alias.
56973         * lib/gcd.c: Include config.h.
56974
56975 2006-10-10  Bruno Haible  <bruno@clisp.org>
56976
56977         Make it possible to #define c_isascii to an alias.
56978         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
56979         defined. Undefine the macros before defining them, to avoid gcc
56980         warnings.
56981         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
56982         define NO_C_CTYPE_MACROS early.
56983
56984 2006-10-10  Bruno Haible  <bruno@clisp.org>
56985
56986         Make it possible to #define set_program_name to an alias.
56987         * lib/progname.c: Don't undefine set_program_name; instead, undefine
56988         ENABLE_RELOCATABLE early.
56989
56990 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
56991
56992         Port to Tandem NSK OSS, which has 64-bit signed int but at most
56993         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
56994         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
56995         More generally, don't assume that 64-bit signed int is available
56996         if unsigned int is, and vice versa.
56997         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
56998         unsigned symbols, not on their signed counterparts.
56999         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
57000         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
57001         (UINT64_C, UINTMAX_C):
57002         Likewise.
57003         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
57004         unsigned counterparts.
57005         (Have_long_long, Unsigned): New macros.
57006         (Int): Renamed from INT.
57007         (strtoimax): Use the new macros.
57008         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
57009         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
57010         * modules/inttypes (inttypes.h): Substitute
57011         HAVE_UNSIGNED_LONG_LONG_INT.
57012         * modules/stdint (stdint.h): Likewise.
57013         (Files): Add m4/ulonglong.m4.
57014
57015 2006-10-10  Bruno Haible  <bruno@clisp.org>
57016
57017         Fix a gcc -Wshadow warning.
57018         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
57019         to 'bucket'.
57020         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
57021         gl_linked_indexof_from_to): Likewise.
57022         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
57023         Likewise.
57024         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
57025         Likewise.
57026         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
57027         Reported by Eric Blake.
57028
57029 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
57030
57031         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
57032         for NetBSD.  Problem reported by Bruno Haible.
57033
57034 2006-10-09  Jim Meyering  <jim@meyering.net>
57035
57036         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
57037         Patch from Bruno Haible.
57038
57039 2006-10-09  Jim Meyering  <jim@meyering.net>
57040
57041         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
57042         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
57043         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
57044
57045 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57046
57047         Don't include <config.h> twice; this doesn't work in some cases,
57048         e.g., when config.h has "#define intmax_t long long int" and
57049         we include <config.h>, <inttypes.h>, <config.h> in that order.
57050         Problem reported by Matthew Woehlke in:
57051         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
57052         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
57053         * lib/fts-cycle.c: Don't include config.h.
57054         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
57055         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
57056         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
57057         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
57058         inttypes.h.
57059         * lib/xstrtoumax.c: Likewise.
57060         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
57061         __strtol and the like, so that this module is more like its siblings.
57062         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
57063         Remove; no longer needed now that we assume gnulib inttypes.h.
57064
57065 2006-10-08  Bruno Haible  <bruno@clisp.org>
57066
57067         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
57068         option.
57069
57070 2006-10-07  Jim Meyering  <jim@meyering.net>
57071
57072         * modules/inttypes (inttypes.h): Revert what seems to have been
57073         an inadvertent part of today's change: use "|", not "/" in the
57074         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
57075
57076 2006-10-07  Bruno Haible  <bruno@clisp.org>
57077
57078         * modules/sublist: New file.
57079
57080 2006-10-07  Bruno Haible  <bruno@clisp.org>
57081
57082         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
57083         * modules/argz (argz.h): Likewise.
57084         * modules/arpa_inet (arpa/inet.h): Likewise.
57085         * modules/byteswap (byteswap.h): Likewise.
57086         * modules/configmake (configmake.h): Likewise.
57087         * modules/fcntl (fcntl.h): Likewise.
57088         * modules/fnmatch (fnmatch.h): Likewise.
57089         * modules/getopt (getopt.h): Likewise.
57090         * modules/glob (glob.h): Likewise.
57091         * modules/inttypes (inttypes.h): Likewise.
57092         * modules/netinet_in (netinet/in.h): Likewise.
57093         * modules/poll (poll.h): Likewise.
57094         * modules/stdbool (stdbool.h): Likewise.
57095         * modules/stdint (stdint.h): Likewise.
57096         * modules/sys_select (sys/select.h): Likewise.
57097         * modules/sys_socket (sys/socket.h): Likewise.
57098         * modules/sys_stat (sys/stat.h): Likewise.
57099         * modules/sysexits (sysexits.h): Likewise.
57100         * modules/unistd (unistd.h): Likewise.
57101         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57102         Add a "DO NOT EDIT" comment to the generated file.
57103         (func_import): Likewise for gnulib-comp.m4.
57104
57105 2006-10-07  Bruno Haible  <bruno@clisp.org>
57106
57107         * lib/gl_sublist.h: New file.
57108         * lib/gl_sublist.c: New file.
57109
57110 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57111
57112         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
57113         name (relative to the original working directory) and the file
57114         name component (relative to the temporary working directory).  All
57115         callers changed.
57116         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
57117         * lib/mkdir-p.c (make_dir_parents): Likewise.
57118         * lib/mkdir-p.h (make_dir_parents): Likewise.
57119
57120 2006-10-06  Eric Blake  <ebb9@byu.net>
57121
57122         Define several macros for use by the clean-temp module.
57123         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
57124         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
57125         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
57126
57127         * lib/clean-temp.h (close_stream_temp): New declaration.
57128         * lib/clean-temp.c (includes): Pull in headers according to what
57129         other modules are in use.
57130         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
57131
57132 2006-10-06  Bruno Haible  <bruno@clisp.org>
57133
57134         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
57135         instead of fopen, fwriteerror.
57136
57137 2006-10-06  Bruno Haible  <bruno@clisp.org>
57138
57139         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
57140         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
57141         int.
57142         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
57143         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
57144         Return an error indicator.
57145         Suggested by Eric Blake.
57146
57147 2006-10-06  Bruno Haible  <bruno@clisp.org>
57148
57149         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
57150         Reported by Eric Blake.
57151
57152 2006-10-06  Bruno Haible  <bruno@clisp.org>
57153
57154         * modules/closeout (Description): Mention stderr too.
57155
57156 2006-10-06  Bruno Haible  <bruno@clisp.org>
57157         and Paul Eggert  <eggert@cs.ucla.edu>
57158
57159         * lib/closeout.c (close_stdout): Also close stderr.
57160         * lib/closeout.h: Update comment.
57161
57162 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
57163
57164         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
57165         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
57166         * lib/dirchownmod.c: Include lchown.h.
57167         * lib/lchown.c: Don't include files that lchown.h now includes.
57168         Don't declare chown, since lchown.h now does that.
57169         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
57170         (lchown): Define to rpl_chown if lchown is declared but
57171         does not exist.  Declare using a prototype if lchown is not
57172         declared.  Add a copyright notice.
57173         * lib/mkstemp.h: Include <unistd.h>.
57174         * lib/openat.c: Include lchown.h.
57175
57176         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
57177         we now test for that separately.
57178         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
57179         rather than O_NOFOLLOW, when testing whether it's possible to
57180         avoid a race condition reliably.
57181         * lib/savewd.c (savewd_chdir): Likewise.
57182
57183         Remove macros that are no longer needed now that stdint.h is
57184         reliable.
57185         * lib/fsusage.c (UINTMAX_MAX): Remove.
57186         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
57187         * lib/utimecmp.c (SIZE_MAX): Remove.
57188
57189         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
57190
57191         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
57192         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
57193         O_NOATIME works.
57194
57195 2006-10-05  Bruno Haible  <bruno@clisp.org>
57196
57197         * lib/gl_list.h (gl_sortedlist_search_from_to,
57198         gl_sortedlist_indexof_from_to): New declarations.
57199         (gl_list_implementation): New fields sortedlist_search_from_to,
57200         sortedlist_indexof_from_to.
57201         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
57202         inline functions.
57203         * lib/gl_list.c (gl_sortedlist_search_from_to,
57204         gl_sortedlist_indexof_from_to): New functions.
57205         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
57206         function.
57207         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
57208         (gl_array_sortedlist_search_from_to): New function.
57209         (gl_array_list_implementation): Update.
57210         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
57211         function.
57212         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
57213         (gl_carray_sortedlist_search_from_to): New function.
57214         (gl_carray_list_implementation): Update.
57215         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
57216         gl_linked_sortedlist_indexof_from_to): New functions.
57217         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57218         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57219         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
57220         gl_tree_sortedlist_indexof_from_to): New functions.
57221         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57222         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57223         Update.
57224         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57225         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
57226         Update.
57227
57228 2006-10-05  Bruno Haible  <bruno@clisp.org>
57229
57230         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
57231         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
57232         (struct gl_list_implementation): Add fields search_from_to,
57233         indexof_from_to. Remove fields search, indexof.
57234         (gl_list_search): Use the search_from_to method.
57235         (gl_list_search_from, gl_list_search_from_to): New functions.
57236         (gl_list_indexof): Use the indexof_from_to method.
57237         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
57238         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
57239         (gl_list_search_from, gl_list_search_from_to): New functions.
57240         (gl_list_indexof): Use the indexof_from_to method.
57241         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
57242         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
57243         gl_array_indexof. Add start_index, end_index arguments.
57244         (gl_array_search_from_to): Renamed from gl_array_search. Add
57245         start_index, end_index arguments.
57246         (gl_array_remove, gl_array_list_implementation): Update.
57247         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
57248         gl_carray_indexof. Add start_index, end_index arguments.
57249         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
57250         start_index, end_index arguments.
57251         (gl_carray_remove, gl_carray_list_implementation): Update.
57252         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
57253         gl_linked_search. Add start_index, end_index arguments.
57254         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
57255         start_index, end_index arguments.
57256         (gl_linked_remove): Update.
57257         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57258         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57259         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
57260         field to 'size_t'.
57261         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
57262         gl_tree_search. Add start_index, end_index arguments.
57263         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
57264         start_index, end_index arguments.
57265         (gl_tree_remove): Update.
57266         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57267         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57268         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
57269         function.
57270         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
57271         gl_tree_search. Add start_index, end_index arguments.
57272         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
57273         start_index, end_index arguments.
57274         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57275         Update.
57276         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57277
57278 2006-10-05  Bruno Haible  <bruno@clisp.org>
57279
57280         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
57281
57282         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
57283         fwriteerror_temp): New declarations.
57284         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
57285         (descriptors): New variable.
57286         (cleanup): First, close the descriptors.
57287         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
57288         fclose_temp, fwriteerror_temp): New functions.
57289
57290 2006-10-04  Jim Meyering  <jim@meyering.net>
57291
57292         * lib/fts.c (fts_open): Tiny comment change.
57293
57294 2006-10-04  Bruno Haible  <bruno@clisp.org>
57295
57296         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
57297         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
57298         gl_LOCK_BODY.
57299         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
57300         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
57301         gl_LOCK_EARLY_BODY.
57302         (gl_LOCK): Require gl_LOCK_BODY.
57303
57304 2006-10-04  Bruno Haible  <bruno@clisp.org>
57305
57306         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
57307         (gl_oset_search_atleast): New declaration.
57308         (struct gl_oset_implementation): Add field 'search_atleast'.
57309         (gl_oset_search_atleast): New inline function.
57310         * lib/gl_oset.c (gl_oset_search_atleast): New function.
57311         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
57312         (gl_array_oset_implementation): Update.
57313         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
57314         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
57315         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
57316
57317 2006-10-04  Bruno Haible  <bruno@clisp.org>
57318
57319         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
57320
57321 2006-10-03  Bruno Haible  <bruno@clisp.org>
57322
57323         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
57324         from gl_avltreehash_list_implementation.
57325
57326 2006-10-03  Bruno Haible  <bruno@clisp.org>
57327
57328         * lib/gl_oset.c (gl_oset_add): Fix return type.
57329
57330 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
57331
57332         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
57333
57334 2006-10-02  Eric Blake  <ebb9@byu.net>
57335
57336         * modules/strnlen (Depends-on): Add extensions.
57337
57338 2006-10-02  Eric Blake  <ebb9@byu.net>
57339
57340         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
57341         definition in 2.60+.
57342
57343 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
57344
57345         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
57346         checks.
57347
57348 2006-10-02  Bruno Haible  <bruno@clisp.org>
57349
57350         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
57351         to the AUTOMAKE_OPTIONS.
57352         Reported by Jim Meyering.
57353
57354 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
57355
57356         Work around bug in Solaris 10 /proc file system:
57357         /proc/self/fd/NNN/.. isn't the parent directory of
57358         the directory whose file descriptor is NNN.  This needs to
57359         be worked around at run time, not compile time, since a
57360         program might be built on Solaris 8, where things work, and
57361         run on Solaris 10.
57362         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
57363         to use the following interface instead:
57364         (OPENAT_BUFFER_SIZE): New macro.
57365         (openat_proc_name): New function.
57366         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
57367         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
57368         Likewise.
57369         * lib/openat-proc.c: New file.
57370         * modules/openat (Files): Add lib/openat-proc.c.
57371         (Depends-on): Add same-inode, stdbool.
57372         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
57373
57374 2006-09-29  Bruno Haible  <bruno@clisp.org>
57375
57376         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
57377         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
57378         argument. Set stdout_closed before testing for ferror, not after.
57379         (fwriteerror, fwriteerror_no_ebadf): New functions.
57380
57381 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57382
57383         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
57384
57385 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
57386
57387         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
57388         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
57389
57390 2006-09-28  Jim Meyering  <jim@meyering.net>
57391
57392         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
57393         Include <unistd.h>.
57394
57395 2006-09-28  Bruno Haible  <bruno@clisp.org>
57396
57397         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
57398         * modules/linkedhash-list (Depends-on): Likewise.
57399         * modules/rbtreehash-list (Depends-on): Likewise.
57400
57401 2006-09-28  Bruno Haible  <bruno@clisp.org>
57402
57403         * lib/strndup.h: Simplify the redefinition of strndup.
57404         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
57405         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
57406
57407 2006-09-28  Bruno Haible  <bruno@clisp.org>
57408
57409         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
57410         * lib/gl_linkedhash_list.c: Likewise.
57411         * lib/gl_rbtreehash_list.c: Likewise.
57412
57413 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
57414
57415         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
57416         getaddrinfo.
57417
57418         * lib/__fpending.h: Don't include <stdio_ext.h> unless
57419         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
57420         it causes <stdio_ext.h> to cause a compile-time error.
57421         Problem reported by Nelson H. F. Beebe.
57422         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
57423         of HAVE_DECL___PENDING.
57424
57425         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
57426         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
57427         declaration.
57428
57429 2006-09-27  Jim Meyering  <jim@meyering.net>
57430
57431         This file could end up with a definition for a function
57432         named __strndup, rather than rpl_strndup on a system with
57433         incomplete weak_alias support.
57434         * lib/strndup.c (strndup): Rename from __strndup.
57435         Remove #defines that used to map __strndup to strndup.
57436         Don't use K&R prototypes.
57437         Remove LIBC-related code, since this file is not sync'd with glibc.
57438         * lib/strndup.h: Revamp, accordingly.
57439         * m4/strndup.m4: Modernize.
57440
57441 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
57442
57443         * modules/savewd (Depends-on): Add 'raise'.
57444         * lib/savewd.c: Include <signal.h>, for 'raise'.
57445
57446 2006-09-26  Jim Meyering  <jim@meyering.net>
57447
57448         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
57449         when we detect Darwin 8.7.0's acl_get_file bug.
57450         Rearrange to perform the new (below) run-test while $LIBS
57451         contains any acl-related library.  Set USE_ACL at the end.
57452         (gl_ACL_GET_FILE): New function.
57453
57454 2006-09-26  Eric Blake  <ebb9@byu.net>
57455
57456         * lib/verror.c: Include <config.h> unconditionally.
57457
57458 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
57459
57460         * modules/clock-time (Maintainer): Add self.
57461         * modules/getlogin_r (Depends-on): Add extensions.
57462
57463 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57464
57465         * modules/clock-time: New module.
57466         * modules/nanosleep (Depends-on): Add clock-time.
57467         * modules/gethrxtime (Depends-on): Likewise.
57468         * modules/gettime (Depends-on): Likewise.
57469         * modules/settime (Depends-on): Likewise.
57470
57471         * modules/fts-lgpl: Depend on openat.
57472         * modules/mkancesdirs: Depend on savewd.
57473         * modules/mkdir-p: Likewise.
57474
57475 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57476
57477         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
57478
57479         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
57480         `gl_have_arbitrary_file_name_length_limit' to
57481         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
57482         actually works between configure runs.
57483
57484 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57485             Bruno Haible  <bruno@clisp.org>
57486
57487         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
57488
57489 2006-09-25  Jim Meyering  <jim@meyering.net>
57490
57491         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
57492         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
57493
57494 2006-09-25  Eric Blake  <ebb9@byu.net>
57495
57496         * gnulib-tool (func_import, func_create_testdir): Fix typos in
57497         exec's in 2006-09-18 patch when shuffling fds.
57498
57499 2006-09-25  Bruno Haible  <bruno@clisp.org>
57500
57501         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
57502         Reported by Jim Meyering.
57503
57504 2006-09-24  Jim Meyering  <jim@meyering.net>
57505
57506         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
57507         compare a pointer against a literal "0".  That caused failures with
57508         at least HP-UX's hpcc.
57509
57510 2006-09-22  Simon Josefsson  <jas@extundo.com>
57511
57512         * modules/gc-sha1:
57513         * modules/gc-md4:
57514         * modules/gc-hmac-sha1:
57515         * modules/gc-hmac-md5:
57516         * modules/gc-des:
57517         * modules/gc-arcfour: Distribute more files.
57518
57519 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57520
57521         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
57522         (gl_linked_iterator_from_to): Initialize struct completely.
57523         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
57524         (gl_tree_iterator_from_to): Likewise
57525         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
57526         * lib/gl_array_list.c [lint] (gl_array_iterator)
57527         (gl_array_iterator_from_to): Likewise.
57528         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
57529         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
57530         (gl_carray_iterator_from_to): Likewise.
57531
57532         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
57533         * lib/md4.c (md4_process_block): Remove unused variable.
57534         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
57535         parentheses for clarity.
57536
57537 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57538
57539         * modules/bison-i18n (Depends-on): Add gettext.
57540
57541 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57542
57543         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
57544         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
57545         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
57546         also add missing comma that caused broken test.
57547         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
57548         stdlib.h, for `abort'.
57549         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
57550         variables.
57551         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
57552         include unistd.h if present, for `rmdir'.
57553         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
57554         variables.
57555         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
57556         in the process include standard headers for prototypes.
57557         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
57558         gets declared on GNU/Linux.
57559         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
57560         unistd.h, for `rmdir'.
57561         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
57562
57563         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
57564         always true.
57565         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
57566
57567         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
57568
57569 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57570
57571         * gnulib-tool (func_version): Create output all at once.  This
57572         may help avoid triggering unnecessary SIGPIPEs, and at any
57573         rate it doesn't hurt.
57574
57575 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57576             Bruno Haible  <bruno@clisp.org>
57577
57578         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
57579         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
57580         * m4/signed.m4 (bh_C_SIGNED): Likewise.
57581
57582         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
57583         (gl_FUNC_VASPRINTF): Invoke it.
57584
57585 2006-09-22  Bruno Haible  <bruno@clisp.org>
57586
57587         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
57588         getloadavg.c as first argument.
57589
57590 2006-09-22  Bruno Haible  <bruno@clisp.org>
57591
57592         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
57593         at the beginning of the gl_INIT macro.
57594         * modules/getloadavg (configure.ac): Pass $gl_source_base to
57595         gl_GETLOADAVG.
57596
57597 2006-09-22  Bruno Haible  <bruno@clisp.org>
57598
57599         * gnulib-tool (func_create_megatestdir): Don't include the config-h
57600         module.
57601         Suggested by Ralf Wildenhues.
57602
57603 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57604
57605         Import this patch from libc:
57606
57607         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
57608
57609         * lib/regex_internal.c (re_string_reconstruct): Handle
57610         offset < pstr->valid_raw_len && pstr->offsets_needed case.
57611         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
57612         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
57613         re_string_context_at.
57614
57615         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
57616         now requires it.
57617         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
57618         gl_REGEX now does it for us.
57619         (gl_REGEX): Add test taken from
57620         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
57621
57622         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
57623         Check that large offsets work.  Modernize Autoconf usages.
57624         Prefer "yes" to mean a good thing rather than a bad.
57625         Don't put "#define mkstemp" in config.h, as this might interfere
57626         with standard system headers that "#define mkstemp mkstemp64".
57627
57628         * modules/mkstemp (Depends-on): Add extensions, so that
57629         mkstemp is visible on some platforms.
57630         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
57631         (Include): Change to "mkstemp.h" from <stdlib.h>.
57632         (Files): Add mkstemp.h.
57633
57634         * lib/mkstemp.h: New file, since some standard headers
57635         #define mkstemp.
57636         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
57637         Include "mkstemp.h".
57638         Make the _LIBC code resemble glibc original more,
57639         e.g., use K&R style.
57640         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
57641         (mkstemp): Remove, since mkstemp.h does this for us.
57642         * lib/stdlib--.h: Include mkstemp.h.
57643
57644         Import this patch from libc:
57645
57646         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57647
57648         * lib/tempname.c (__gen_tempname): Change attempts_min
57649         into a macro.  Use preprocessor to decide how to initialize
57650         attempts [Coverity CID 67].
57651
57652 2006-09-20  Bruno Haible  <bruno@clisp.org>
57653
57654         * lib/mkdtemp.c: Import from libc.
57655         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57656                 * sysdeps/posix/tempname.c (__gen_tempname): Change
57657                 attempts_min into a macro.  Use preprocessor to decide how to
57658                 initialize attempts [Coverity CID 67].
57659         2001-11-27  Paul Eggert  <eggert@twinsun.com>
57660                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
57661                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
57662
57663 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57664
57665         * gnulib-tool (func_exit): New function, to allow to pass the
57666         exit status portably through the trap.  Use everywhere.
57667         (--help, --version): Signal a write error.
57668         (trap): catch SIGPIPE, for write errors.
57669         Exit at the end of the trap, with the correct exit status.
57670
57671 2006-09-19  Karl Berry  <karl@gnu.org>
57672
57673         * doc/gnulib.texi: note about the license texinfo files.
57674
57675 2006-09-19  Eric Blake  <ebb9@byu.net>
57676
57677         * gnulib-tool: Avoid space-tab.
57678
57679 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57680
57681         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
57682         that prevented coreutils 6.1 from building.  Problem reported
57683         by Petter Reinholdtsen.
57684
57685 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57686
57687         * gnulib-tool (avoidlist): Fix typo that broke options like
57688         --avoid=lock that are used by coreutils bootstrap.
57689
57690 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
57691
57692         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
57693         more systematically.
57694
57695 2006-09-18  Jim Meyering  <jim@meyering.net>
57696
57697         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
57698
57699 2006-09-18  Bruno Haible  <bruno@clisp.org>
57700
57701         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
57702
57703 2006-09-18  Bruno Haible  <bruno@clisp.org>
57704
57705         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
57706         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
57707         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
57708         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
57709         * m4/gettext.m4: Require autoconf >= 2.52.
57710         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
57711         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
57712         of gl_cv_header_inttypes_h.
57713
57714 2006-09-18  Bruno Haible  <bruno@clisp.org>
57715
57716         * lib/javaversion.c: Include configmake.h.
57717
57718 2006-09-18  Bruno Haible  <bruno@clisp.org>
57719
57720         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
57721         avoid that the while loops be executed in a subshell.
57722
57723 2006-09-18  Bruno Haible  <bruno@clisp.org>
57724
57725         * MODULES.html.sh (func_module): Break long lines.
57726         Suggested by Bruce Korb <bkorb@gnu.org>.
57727
57728 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57729
57730         Speed up by a factor of 1.12.
57731         * gnulib-tool (nl): New variable.
57732         (func_import): Rewrite include directive extraction to only read each
57733         directive once.
57734
57735 2006-09-17  Bruno Haible  <bruno@clisp.org>
57736
57737         * modules/javaversion (Makefile.am): Remove DEFS setting.
57738         (Depends-on): Add configmake, for PKGDATADIR definition.
57739
57740 2006-09-17  Bruno Haible  <bruno@clisp.org>
57741
57742         * gnulib-tool (func_create_testdir): Rewrite all files at once.
57743
57744 2006-09-17  Bruno Haible  <bruno@clisp.org>
57745
57746         * gnulib-tool (func_append): New function, stolen from libtool.m4.
57747         (func_modules_transitive_closure, func_modules_add_dummy,
57748         func_modules_to_filelist, func_import, func_create_testdir,
57749         func_create_megatestdir, ...): Use it wherever possible.
57750         Suggested by Ralf Wildenhues.
57751
57752 2006-09-16  Karl Berry  <karl@gnu.org>
57753
57754         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
57755         to avoid sectioning errors.
57756         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
57757         [ifinfo]: blank line after @center-ed titles.
57758         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
57759         Spell FSF address consistently with others.
57760         (These changes approved by rms.)
57761
57762 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57763
57764         Speed up by a factor of 1.61.
57765         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
57766         already checked module names again.
57767
57768 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57769
57770         Speed up by a factor of 1.13.
57771         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
57772         for new_files, and the input to func_add_or_update.
57773
57774 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57775
57776         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
57777         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
57778
57779 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57780
57781         * modules/mkancesdirs (Depends-on): Add fcntl.
57782         * modules/savewd: New file.
57783         * MODULES.html.sh (File system functions): Add savewd.
57784
57785         * modules/configmake (Makefile.am): Add support for the
57786         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
57787
57788 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57789
57790         * m4/savewd.m4: New file.
57791
57792 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57793
57794         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
57795         (dirchownmod): New arg FD.  All callers changed.
57796         Use FD rather than opening the directory ourself, as opening is
57797         now the caller's responsibility.
57798         * lib/dirchownmod.h: Likewise.
57799         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
57800         hosts that require <sys/types.h> before <sys/stat.h>.  Include
57801         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
57802         (test_dir): Remove.
57803         (mkancesdirs): Return length of prefix of FILE that has already
57804         been made, or -2 if there is a child doing the work.  Redo
57805         algorithm so that it is O(N) rather than O(N**2).  Optimize away
57806         ".", and treat ".." specially since it might stray back into
57807         already-created areas.  Use a subprocess if necessary.  New arg
57808         WD; all users changed.  MAKE_DIR function should now return 1
57809         if it creates a directory that is not readable.  Return -2 if
57810         a child process is spun off.
57811         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
57812         Adjust signature to match code.
57813         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
57814         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
57815         all users changed.
57816         * lib/savewd.c, lib/savewd.h: New files.
57817
57818 2006-09-15  Jim Meyering  <jim@meyering.net>
57819
57820         * modules/rename-dest-slash: New module.
57821         * MODULES.html.sh (posix_compat): Add it here.
57822
57823         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
57824
57825 2006-09-15  Jim Meyering  <jim@meyering.net>
57826
57827         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
57828         file.
57829
57830         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
57831
57832 2006-09-15  Jim Meyering  <jim@meyering.net>
57833
57834         * lib/rename-dest-slash.c (has_trailing_slash): Use
57835         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
57836         (rpl_rename_dest_slash): Perform the cheaper trailing slash
57837         test before testing whether SRC is a directory.
57838         Suggestions from Bruno Haible.
57839
57840         Avoid a warning about an unused variable.
57841         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
57842         into the #ifdef block where it's used.
57843
57844         * lib/rename-dest-slash.c: New file.
57845
57846 2006-09-14  Bruno Haible  <bruno@clisp.org>
57847
57848         * lib/allocsa.c: Include <config.h> unconditionally.
57849         * lib/asnprintf.c: Likewise.
57850         * lib/asprintf.c: Likewise.
57851         * lib/c-strcasecmp.c: Likewise.
57852         * lib/c-strcasestr.c: Likewise.
57853         * lib/c-strncasecmp.c: Likewise.
57854         * lib/c-strstr.c: Likewise.
57855         * lib/classpath.c: Likewise.
57856         * lib/clean-temp.c: Likewise.
57857         * lib/concatpath.c: Likewise.
57858         * lib/copy-file.c: Likewise.
57859         * lib/csharpcomp.c: Likewise.
57860         * lib/csharpexec.c: Likewise.
57861         * lib/execute.c: Likewise.
57862         * lib/fatal-signal.c: Likewise.
57863         * lib/findprog.c: Likewise.
57864         * lib/fwriteerror.c: Likewise.
57865         * lib/gl_array_list.c: Likewise.
57866         * lib/gl_array_oset.c: Likewise.
57867         * lib/gl_avltree_list.c: Likewise.
57868         * lib/gl_avltree_oset.c: Likewise.
57869         * lib/gl_avltreehash_list.c: Likewise.
57870         * lib/gl_carray_list.c: Likewise.
57871         * lib/gl_linked_list.c: Likewise.
57872         * lib/gl_linkedhash_list.c: Likewise.
57873         * lib/gl_list.c: Likewise.
57874         * lib/gl_oset.c: Likewise.
57875         * lib/gl_rbtree_list.c: Likewise.
57876         * lib/gl_rbtree_oset.c: Likewise.
57877         * lib/gl_rbtreehash_list.c: Likewise.
57878         * lib/imaxabs.c: Likewise.
57879         * lib/imaxdiv.c: Likewise.
57880         * lib/javacomp.c: Likewise.
57881         * lib/javaexec.c: Likewise.
57882         * lib/javaversion.c: Likewise.
57883         * lib/linebreak.c: Likewise.
57884         * lib/localcharset.c: Likewise.
57885         * lib/lock.c: Likewise.
57886         * lib/mbchar.c: Likewise.
57887         * lib/mbswidth.c: Likewise.
57888         * lib/mkdtemp.c: Likewise.
57889         * lib/pipe.c: Likewise.
57890         * lib/printf-args.c: Likewise.
57891         * lib/printf-parse.c: Likewise.
57892         * lib/progname.c: Likewise.
57893         * lib/progreloc.c: Likewise.
57894         * lib/readlink.c: Likewise.
57895         * lib/sh-quote.c: Likewise.
57896         * lib/stpcpy.c: Likewise.
57897         * lib/stpncpy.c: Likewise.
57898         * lib/strcasecmp.c: Likewise.
57899         * lib/strcasestr.c: Likewise.
57900         * lib/strcspn.c: Likewise.
57901         * lib/striconv.c: Likewise.
57902         * lib/strncasecmp.c: Likewise.
57903         * lib/strnlen1.c: Likewise.
57904         * lib/strstr.c: Likewise.
57905         * lib/strtok_r.c: Likewise.
57906         * lib/tls.c: Likewise.
57907         * lib/tmpdir.c: Likewise.
57908         * lib/unicodeio.c: Likewise.
57909         * lib/unsetenv.c: Likewise.
57910         * lib/vasnprintf.c: Likewise.
57911         * lib/vasprintf.c: Likewise.
57912         * lib/wait-process.c: Likewise.
57913         * lib/xallocsa.c: Likewise.
57914         * lib/xsetenv.c: Likewise.
57915         * lib/xstriconv.c: Likewise.
57916
57917 2006-09-13  Simon Josefsson  <jas@extundo.com>
57918
57919         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
57920         that internally, suggested by Ralf Wildenhues
57921         <Ralf.Wildenhues@gmx.de>.
57922
57923 2006-09-13  Simon Josefsson  <jas@extundo.com>
57924
57925         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
57926         @LIBOBJS@.
57927         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57928
57929 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57930
57931         * lib/_fpending.c: Include <config.h> unconditionally, since we no
57932         longer worry about uses that don't define HAVE_CONFIG_H.
57933         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
57934         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
57935         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
57936         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
57937         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
57938         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
57939         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
57940         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
57941         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
57942         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
57943         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
57944         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
57945         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
57946         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
57947         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
57948         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
57949         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
57950         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
57951         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
57952         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
57953         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
57954         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
57955         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
57956         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
57957         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
57958         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
57959         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
57960         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
57961         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
57962         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
57963         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
57964         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
57965         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
57966         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
57967         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
57968         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
57969         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
57970         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
57971         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
57972         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
57973         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
57974         Likewise.
57975
57976 2006-09-13  Eric Blake  <ebb9@byu.net>
57977
57978         * lib/getopt.c: Fix typo in last commit.
57979
57980 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57981
57982         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
57983         dgettext.
57984
57985 2006-09-12  Jim Meyering  <jim@meyering.net>
57986
57987         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
57988         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
57989         Reported by Nelson H. F. Beebe.
57990
57991 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57992
57993         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
57994         program_invocation_name and program_invocation_short_name are
57995         initialized.
57996         * lib/argp-namefrob.h: Move declarations of program_invocation_name
57997         and program_invocation_short_name to argp.h, so they are visible
57998         to user programs.
57999         * lib/argp.h: Likewise
58000
58001 2006-09-10  Bruno Haible  <bruno@clisp.org>
58002
58003         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
58004         m4/inttypes_h.m4, m4/uintmax_t.m4.
58005
58006 2006-09-10  Bruno Haible  <bruno@clisp.org>
58007
58008         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
58009         gl_AC_TYPE_UINTMAX_T.
58010
58011 2006-09-10  Bruno Haible  <bruno@clisp.org>
58012
58013         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
58014
58015 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58016
58017         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
58018         convention.  Text proposed by Bruno Haible.
58019         (struct argp_option): Document the use of N_() wrappers.
58020
58021         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
58022         '\v', and translate the two parts separately, instead of feeding
58023         the whole string to gettext.  This allows to exclude
58024         '\v' from the strings visible to the translator by writing doc
58025         strings as N_("..") "\v" N_("..").
58026
58027 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
58028
58029         * config/srclist.txt: Undo latest change; the bug was fixed.
58030
58031 2006-09-09  Bruno Haible  <bruno@clisp.org>
58032
58033         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
58034         assignments if building a library without libtool.
58035         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
58036         in func_emit_lib_Makefile_am.
58037         (func_import): When building a static library libfoo.a, arrange to
58038         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
58039         (func_create_testdir): Likewise.
58040         * modules/gc (configure.ac, Makefile.am): If building statically,
58041         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
58042         * modules/iconvme (configure.ac, Makefile.am): Likewise.
58043         * modules/striconv (configure.ac, Makefile.am): Likewise.
58044         Based on a suggestion by Ralf Wildenhues.
58045
58046 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58047
58048         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
58049         Check for unistd.h too, since Autoconf doesn't assume POSIX.
58050         Also:
58051
58052         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58053         Add year_2050_test to catch glibc bug 2821
58054         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
58055
58056         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58057         Prefer #ifdef to #if.
58058
58059         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
58060         Return from 'main' instead of calling 'exit'.
58061
58062 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58063
58064         * lib/mktime.c (guess_time_tm): Fix bug where mktime
58065         returned the maximum time_t value rather than (time_t) -1.
58066         Problem originally reported by William Bardwell
58067         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
58068
58069         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
58070         Moved to here ...
58071         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
58072         ... from here.
58073
58074 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58075
58076         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
58077         2821 is fixed.
58078
58079 2006-09-08  Jim Meyering  <jim@meyering.net>
58080
58081         Don't make generated files read-only.  That would bother too many
58082         people.  However, do retain the ability to work when targets are
58083         read-only: remove the destination and temporary files before writing
58084         them (when generated via sed or echo), or by using the -f option for
58085         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
58086         * modules/alloca-opt, modules/argz, modules/arpa_inet:
58087         * modules/byteswap, modules/configmake, modules/fcntl:
58088         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
58089         * modules/localcharset, modules/netinet_in, modules/poll:
58090         * modules/stdbool, modules/stdint, modules/sys_select:
58091         * modules/sys_socket, modules/sys_stat, modules/sysexits:
58092
58093 2006-09-08  Jim Meyering  <jim@meyering.net>
58094
58095         Avoid new build failure on FreeBSD 6.0.
58096         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
58097         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
58098         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
58099
58100 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58101
58102         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
58103
58104 2006-09-07  Jim Meyering  <jim@meyering.net>
58105
58106         Fix global typo in last change: use chmod u-w, not chmod u-x.
58107         Spotted by Paul Eggert and Bruce Korb.
58108         * modules/alloca-opt, modules/argz, modules/arpa_inet:
58109         * modules/byteswap, modules/configmake, modules/fcntl:
58110         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
58111         * modules/localcharset, modules/netinet_in, modules/poll:
58112         * modules/stdbool, modules/stdint, modules/sys_select:
58113         * modules/sys_socket, modules/sys_stat, modules/sysexits:
58114
58115 2006-09-06  Jim Meyering  <jim@meyering.net>
58116
58117         Make generated files be read-only.
58118         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
58119         Ensure that each generated file is now read-only.
58120         * modules/argz: Likewise.
58121         * modules/arpa_inet: Likewise.
58122         * modules/byteswap: Likewise.
58123         * modules/configmake: Likewise.
58124         * modules/fcntl: Likewise.
58125         * modules/fnmatch: Likewise.
58126         * modules/getopt: Likewise.
58127         * modules/glob: Likewise.
58128         * modules/inttypes: Likewise.
58129         * modules/netinet_in: Likewise.
58130         * modules/poll: Likewise.
58131         * modules/stdbool: Likewise.
58132         * modules/stdint: Likewise.
58133         * modules/sys_select: Likewise.
58134         * modules/sys_socket: Likewise.
58135         * modules/sys_stat: Likewise.
58136         * modules/sysexits: Likewise.
58137         * modules/localcharset: Same as above, but continue using temporary
58138         file named "t-$@" (why different?) rather than the "$@-t" used
58139         everywhere else.
58140
58141         * modules/sysexits (Makefile.am): Replace literal occurrences
58142         of "sysexit.h" more readable, and more consistent, "$@".
58143
58144 2006-09-06  Bruno Haible  <bruno@clisp.org>
58145
58146         * modules/striconv: New file.
58147         * modules/xstriconv: New file.
58148         * MODULES.html.sh (Internationalization functions): Add striconv,
58149         xstriconv.
58150
58151 2006-09-06  Bruno Haible  <bruno@clisp.org>
58152
58153         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
58154         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
58155         not using libtool correctly.
58156
58157 2006-09-06  Bruno Haible  <bruno@clisp.org>
58158
58159         * lib/striconv.h: New file.
58160         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
58161         iconvstring.c.
58162         * lib/xstriconv.h: New file.
58163         * lib/xstriconv.c: New file.
58164
58165 2006-09-06  Bruno Haible  <bruno@clisp.org>
58166
58167         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58168         lib_..._LDFLAGS.
58169
58170 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58171
58172         * lib/argz_.h: Sync from Libtool.
58173
58174         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
58175                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58176
58177         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
58178
58179 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
58180
58181         * modules/trim: New file.
58182
58183 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
58184
58185         * lib/trim.h: New file.
58186         * lib/trim.c: New file.
58187
58188 2006-09-05  Bruno Haible  <bruno@clisp.org>
58189
58190         * MODULES.html.sh (String handling): Add trim.
58191
58192 2006-09-04  Karl Berry  <karl@gnu.org>
58193
58194         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
58195         until next release.
58196
58197 2006-09-03  Bruno Haible  <bruno@clisp.org>
58198
58199         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
58200         correctly.
58201
58202 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58203
58204         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
58205         not gl_GETLOADAVG.  Omit unneeded semicolons.
58206         Problems reported by Ralf Wildenhues in
58207         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
58208         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
58209         at the end, which is the usual gnulib style.
58210
58211         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
58212         of doing all the work ourselves.
58213         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
58214         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
58215
58216 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58217
58218         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
58219         Problem reported by Ralf Wildenhues in
58220         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
58221
58222         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
58223         HAVE_STRUCT_STATFS_F_FSTYPENAME.
58224
58225 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58226
58227         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
58228         yesterday's patch by changing test -n to test -z.
58229
58230 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58231
58232         * modules/getloadavg (Files): Add m4/getloadavg.m4.
58233         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
58234         the former is now obsolescent.
58235
58236         * modules/chdir-long (Depends-on): Add fcntl.
58237
58238 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58239
58240         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
58241         obsolescent, and programs should use gnulib instead.
58242         * m4/getloadavg.m4: New file, with contents taken from Autoconf
58243         but with prefixes changed.
58244
58245 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58246
58247         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
58248         or stdbool.h, because they might not exist while configuring.
58249
58250         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
58251         Don't include unistd.h or limits.h; not needed, since chdir-long.h
58252         does that for us.
58253         (O_DIRECTORY): Remove.
58254
58255 2006-08-31  Eric Blake  <ebb9@byu.net>
58256
58257         * gnulib-tool: Don't let emacs change spaces to TAB.
58258
58259 2006-08-31  Bruno Haible  <bruno@clisp.org>
58260
58261         * gnulib-tool: When calling func_import more than once, do it in a
58262         subshell.
58263         Reported by Eric Blake <ebb9@byu.net>.
58264
58265 2006-08-31  Bruno Haible  <bruno@clisp.org>
58266
58267         * gnulib-tool (nl): Remove variable.
58268         (sed_transform_lib_file): Use more robust test for config-h module.
58269         (func_import): Fix typo in 2006-08-25 patch.
58270
58271 2006-08-31  Bruno Haible  <bruno@clisp.org>
58272
58273         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
58274         specified, augment Makefile.am variables instead of assigning them.
58275
58276 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58277
58278         Work around a bug in both the Linux and SunOS 64-bit kernels:
58279         nanosleep mishandles sleeps for longer than 2**31 seconds.
58280         Problem reported by Frank v Waveren in
58281         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
58282         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
58283         Check for nanosleep bug.
58284         (LIB_NANOSLEEP): Append clock_gettime library if needed.
58285
58286 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58287
58288         Work around a bug in both the Linux and SunOS 64-bit kernels:
58289         nanosleep mishandles sleeps for longer than 2**31 seconds.
58290         Problem reported by Frank v Waveren in
58291         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
58292         * lib/nanosleep.c (BILLION): New constant.
58293         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
58294         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
58295         implementation.
58296
58297 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58298
58299         * modules/nanosleep (Depends-on): Add gettime.
58300
58301 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58302         and Simon Josefsson  <jas@extundo.com>
58303         and Oskar Liljeblad  <oskar@osk.mine.nu>
58304
58305         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
58306         * gnulib-tool (func_import): New license type 'unmodifiable license
58307         text'.
58308         * modules/fdl: Use it.  Longer description.
58309         * module/gpl, module/lgpl: New files.
58310
58311 2006-08-30  Jim Meyering  <jim@meyering.net>
58312
58313         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
58314         shadowing the parameter.
58315
58316 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58317
58318         Sync from Libtool:
58319
58320         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58321
58322         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
58323         sharing with gnulib.  Report by Eric Blake.
58324
58325 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58326
58327         * modules/isapipe: New file.
58328         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
58329
58330 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58331
58332         * modules/configmake (Makefile.am): Add a comment, and omit
58333         the CONFIGMAKE_ prefix from generated macro names.  Suggested
58334         by Bruno Haible.
58335
58336 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58337
58338         * m4/isapipe.m4: New file.
58339
58340 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58341
58342         * lib/isapipe.c, lib/isapipe.h: New files.
58343
58344 2006-08-29  Jim Meyering  <jim@meyering.net>
58345
58346         * modules/configmake (Makefile.am): Make configmake.h depend on
58347         Makefile.  Otherwise, a stale configmake.h could hang around.
58348
58349 2006-08-29  Eric Blake  <ebb9@byu.net>
58350
58351         * lib/error.c (error_at_line, print_errno_message): Match libc, after
58352         resolution of upstream bug 3044.
58353
58354 2006-08-29  Bruno Haible  <bruno@clisp.org>
58355
58356         * modules/localcharset (Depends-on): Add configmake.
58357         (Makefile.am): Remove setting of LIBDIR through DEFS.
58358
58359 2006-08-29  Bruno Haible  <bruno@clisp.org>
58360
58361         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
58362         defined.
58363
58364 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58365
58366         * modules/fcntl: New file.
58367         * modules/chdir-safer (Depends-on): Add fcntl.
58368         * modules/fts: Likewise.
58369         * modules/mkdir-p: Likewise.
58370
58371         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
58372         This undoes the most recent change, since we're now addressing the
58373         problem in a different way.
58374
58375         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
58376         into output, since the output might be called Makefile.am even
58377         if $makefile_name is something different.
58378         (func_import): Use $makefile_am rather than
58379         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
58380         empty.
58381
58382         * modules/inttypes (Files): Add m4/inttypes-h.m4.
58383
58384 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58385
58386         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
58387         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
58388         recent change to stdint.m4, since we're now addressing the problem in a
58389         different way.
58390
58391 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58392
58393         * m4/fcntl_h.m4: New file.
58394
58395 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58396
58397         * lib/fcntl_.h: New file.
58398         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
58399         the fcntl module.
58400         * lib/dirchownmod.c: Likewise.
58401         * lib/fts.c: Likewise.
58402
58403         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
58404         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
58405         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
58406         just before including <inttypes.h>, to avoid circular inclusion.
58407
58408 2006-08-28  Jim Meyering  <jim@meyering.net>
58409
58410         * doc/visibility.texi: Actually read and correct the grammar of the
58411         sentence affected by yesterday's change.
58412
58413 2006-08-28  Eric Blake  <ebb9@byu.net>
58414
58415         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
58416         needs wrapper.
58417
58418 2006-08-28  Eric Blake  <ebb9@byu.net>
58419
58420         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
58421
58422 2006-08-28  Eric Blake  <ebb9@byu.net>
58423
58424         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
58425
58426 2006-08-28  Bruno Haible  <bruno@clisp.org>
58427
58428         * modules/c-strstr: New file, from GNU gettext.
58429         * MODULES.html.sh (String handling): Add c-strstr.
58430
58431 2006-08-28  Bruno Haible  <bruno@clisp.org>
58432
58433         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
58434         macros.
58435         Reported by Eric Blake.
58436
58437 2006-08-28  Bruno Haible  <bruno@clisp.org>
58438
58439         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
58440         (VASNPRINTF): Return a string of length > INT_MAX without failing.
58441         * lib/vasprintf.c: Include errno.h, limits.h.
58442         (EOVERFLOW): New fallback definition.
58443         (vasprintf): Test here whether the string length is > INT_MAX.
58444         * lib/vsnprintf.c: Include errno.h, limits.h.
58445         (EOVERFLOW): New fallback definition.
58446         (vsnprintf): Fix bug when generated string was too long for the buffer.
58447         Test here whether the string length is > INT_MAX.
58448
58449 2006-08-28  Bruno Haible  <bruno@clisp.org>
58450
58451         * lib/inttypes_.h (SCNX*): Remove definitions.
58452         Reported by Eric Blake.
58453
58454 2006-08-28  Bruno Haible  <bruno@clisp.org>
58455
58456         * lib/c-strstr.h: New file, from GNU gettext.
58457         * lib/c-strstr.c: New file, from GNU gettext.
58458
58459 2006-08-28  Bruno Haible  <bruno@clisp.org>
58460
58461         * gnulib-tool: Reorder some statements.
58462
58463 2006-08-28  Bruno Haible  <bruno@clisp.org>
58464
58465         * gnulib-tool: New option --makefile-name.
58466         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
58467         $makefile_name.
58468         (func_import): Write $makefile_name to the cache file, and read it from
58469         there unless explicitly specified. Use $makefile_name as file name
58470         instead of Makefile.am. Adjust the recommendations accordingly.
58471
58472 2006-08-28  Bruno Haible  <bruno@clisp.org>
58473
58474         * gnulib-tool (func_verify_module): Check against misapplying patch.
58475
58476 2006-08-28  Bruno Haible  <bruno@clisp.org>
58477
58478         * gnulib-tool (func_relativize, func_relconcat): New functions.
58479         Give an error if --local-dir is given with --update.
58480         Remove trailing slashes from $local_gnulib_dir.
58481         (func_import): Store the relativized $local_gnulib_dir in
58482         gnulib-cache.m4, and read it from there if not specified explicitly.
58483
58484 2006-08-28  Bruno Haible  <bruno@clisp.org>
58485
58486         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
58487         is the current directory. Respect also $local_gnulib_dir.
58488
58489 2006-08-28  Bruno Haible  <bruno@clisp.org>
58490             Simon Josefsson  <jas@extundo.com>
58491
58492         BeOS portability.
58493         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
58494
58495 2006-08-27  Jim Meyering  <jim@meyering.net>
58496
58497         * doc/visibility.texi: Remove duplicate word: "pointer".
58498
58499 2006-08-26  Bruno Haible  <bruno@clisp.org>
58500
58501         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
58502         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
58503         (Makefile.am): Create inttypes.h from inttypes_.h.
58504         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
58505
58506         * modules/imaxabs: New file.
58507
58508         * modules/imaxdiv: New file.
58509
58510 2006-08-26  Bruno Haible  <bruno@clisp.org>
58511
58512         * m4/inttypes.m4: New file.
58513         * m4/_inttypes_h.m4: Remove file.
58514         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
58515         PRI_MACROS_BROKEN.
58516         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
58517
58518         * m4/imaxabs.m4: New file.
58519
58520         * m4/imaxdiv.m4: New file.
58521
58522 2006-08-26  Bruno Haible  <bruno@clisp.org>
58523
58524         * lib/inttypes_.h: New file.
58525         * lib/inttypes.h: Remove file.
58526         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
58527
58528         * lib/imaxabs.c: New file.
58529
58530         * lib/imaxdiv.c: New file.
58531
58532 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58533
58534         New config-h module, so that "make" output needn't be cluttered
58535         by -DHAVE_CONFIG_H.
58536         * MODULES.html.sh (Support for building libraries and executables):
58537         Add config-h.
58538         * modules/config-h: New file.
58539         * gnulib-tool (nl, sed_transform_lib_file): New vars.
58540         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
58541         the config-h module is used.
58542
58543         New configmake module, so that "make" output needn't be cluttered
58544         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
58545         * MODULES.html.sh (Support for building libraries and executables):
58546         Add configmake.
58547         * modules/configmake: New file.
58548
58549 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58550
58551         * m4/config-h.m4: New file.
58552
58553 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58554
58555         * config/srclist.txt: Add elisp-comp.
58556
58557 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58558
58559         * MODULES.html.sh (Support for building libraries and executables):
58560         Add elisp-comp.
58561         * build-aux/elisp-comp: New file.
58562         * modules/elisp-comp: New file.
58563
58564 2006-08-24  Bruno Haible  <bruno@clisp.org>
58565
58566         * gnulib-tool (func_create_testdir): Use non-default values of
58567         sourcebase and m4base.
58568
58569 2006-08-24  Bruno Haible  <bruno@clisp.org>
58570
58571         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
58572         HTML structure.
58573
58574 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
58575
58576         * modules/openat (Depends-on): Add lchown.
58577
58578 2006-08-23  Bruno Haible  <bruno@clisp.org>
58579
58580         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
58581         of gl_LOCK_EARLY instead of gl_LOCK.
58582
58583 2006-08-23  Bruno Haible  <bruno@clisp.org>
58584
58585         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
58586         on OSF/1 to no.
58587         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
58588
58589 2006-08-23  Bruno Haible  <bruno@clisp.org>
58590
58591         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
58592         as unusable.
58593
58594         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
58595         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
58596         (gl_LOCK): New macro.
58597
58598 2006-08-22  Simon Josefsson  <jas@extundo.com>
58599
58600         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
58601         to md5 module.
58602
58603 2006-08-22  Simon Josefsson  <jas@extundo.com>
58604
58605         * MODULES.html.sh: Add "Support for maintaining and release
58606         projects".
58607
58608         * build-aux/gnupload: New file, from coreutils.
58609
58610 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58611
58612         Avoid the need for AC_LIBSOURCES in m4 macros.
58613         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
58614         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
58615         * modules/check-version (EXTRA_DIST): Add check-version.h.
58616         * modules/crc (EXTRA_DIST): Add crc.h.
58617         * modules/des (EXTRA_DIST): Add des.h.
58618         * modules/gc (EXTRA_DIST): Add gc.h.
58619         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
58620         * modules/getline (EXTRA_DIST): Add getline.h.
58621         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
58622         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
58623         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
58624         * modules/md2 (EXTRA_DIST): Add md2.h.
58625         * modules/md4 (EXTRA_DIST): Add md4.h.
58626         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
58627         * modules/read-file (EXTRA_DIST): Add read-file.h.
58628         * modules/readline (EXTRA_DIST): Add readline.h.
58629         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
58630         rijndael-api-fst.h.
58631
58632 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58633
58634         * m4/rijndael.m4 (gl_ARCFOUR):
58635         * m4/arctwo.m4 (gl_ARCTWO):
58636         * m4/check-version.m4 (gl_CHECK_VERSION):
58637         * m4/crc.m4 (gl_CRC):
58638         * m4/des.m4 (gl_DES):
58639         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
58640         * m4/gc.m4 (gl_GC):
58641         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
58642         * m4/getline.m4 (gl_FUNC_GETLINE):
58643         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
58644         * m4/hmac-md5.m4 (gl_HMAC_MD5):
58645         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
58646         * m4/md2.m4 (gl_MD2):
58647         * m4/md4.m4 (gl_MD4):
58648         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
58649         * m4/read-file.m4 (gl_FUNC_READ_FILE):
58650         * m4/readline.m4 (gl_FUNC_READLINE):
58651         * m4/rijndael.m4 (gl_RIJNDAEL):
58652         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58653         to get the necessary .h files and whatnot.
58654
58655 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58656
58657         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
58658         gnulib rather than the other way around.
58659         * config/srclistvars.sh (COREUTILS): Remove.
58660
58661 2006-08-22  Jim Meyering  <jim@meyering.net>
58662
58663         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
58664
58665         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
58666
58667 2006-08-22  Eric Blake  <ebb9@byu.net>
58668
58669         * modules/regexprops-generic: New file.
58670         * MODULES.html.sh (Support for building documentation): List it.
58671
58672 2006-08-22  Eric Blake  <ebb9@byu.net>
58673
58674         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
58675         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
58676         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
58677         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
58678
58679 2006-08-22  Bruno Haible  <bruno@clisp.org>
58680
58681         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
58682         and lib_LTLIBRARIES like the other lib_* variables.
58683
58684 2006-08-22  Bruno Haible  <bruno@clisp.org>
58685
58686         * build-aux/x-to-1.in: New file, from GNU gettext.
58687
58688 2006-08-22  Bruno Haible  <bruno@clisp.org>
58689
58690         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
58691         <utmpx.h> exists.
58692
58693 2006-08-22  Bruno Haible  <bruno@clisp.org>
58694
58695         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
58696         <utmpx.h> exists.
58697
58698 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58699
58700         BeOS portability.
58701         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
58702         exist.
58703         Problem reported by Bruno Haible.
58704
58705 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58706
58707         Avoid the need for AC_LIBSOURCES in m4 macros.
58708         * modules/acl (EXTRA_DIST): Add acl.h.
58709         * modules/argmatch (Files): Add m4/argmatch.m4.
58710         (configure.ac): Add gl_ARGMATCH.
58711         (EXTRA_DIST): Renamed from lib_SOURCES, for
58712         consistency with the other modules.  Remove argmatch.c.
58713         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
58714         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
58715         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
58716         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
58717         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
58718         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
58719         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
58720         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
58721         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
58722         * modules/closeout (EXTRA_DIST): Add closeout.h.
58723         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
58724         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
58725         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
58726         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
58727         dirname.h; remove basename.c and stripslash.c.
58728         * modules/exclude (EXTRA_DIST): Add exclude.h.
58729         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
58730         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
58731         * modules/file-type (EXTRA_DIST): Add file-type.h.
58732         * modules/filemode (EXTRA_DIST): Add filemode.h.
58733         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
58734         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58735         * modules/fpending (EXTRA_DIST): Add __fpending.h.
58736         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
58737         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
58738         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
58739         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
58740         * modules/getdate (EXTRA_DIST): Add getdate.c.
58741         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
58742         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
58743         * modules/getpass (EXTRA_DIST): Add getpass.h.
58744         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
58745         * modules/group-member (EXTRA_DIST): Add group-member.h.
58746         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
58747         * modules/hash (EXTRA_DIST): Add hash.h.
58748         * modules/human (EXTRA_DIST): Add human.h.
58749         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
58750         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
58751         * modules/lchown (EXTRA_DIST): Add lchown.h.
58752         * modules/long-options (EXTRA_DIST): Add long-options.h.
58753         * modules/lstat (EXTRA_DIST): Add lstat.h.
58754         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
58755         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
58756         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
58757         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
58758         * modules/memxor (EXTRA_DIST): Add memxor.h.
58759         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
58760         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
58761         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
58762         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
58763         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
58764         * modules/physmem (EXTRA_DIST): Add physmem.h.
58765         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
58766         * modules/posixver (EXTRA_DIST): Add posixver.h.
58767         * modules/quote (EXTRA_DIST): Add quote.h.
58768         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
58769         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
58770         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
58771         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
58772         regex_internal.h regexec.c.
58773         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
58774         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
58775         * modules/same (EXTRA_DIST): Add same.h.
58776         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
58777         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
58778         * modules/savedir (EXTRA_DIST): Add savedir.h.
58779         * modules/sha1 (EXTRA_DIST): Add sha1.h.
58780         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
58781         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
58782         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
58783         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
58784         * modules/strdup (EXTRA_DIST): Add strdup.h.
58785         * modules/strftime (EXTRA_DIST): Add strftime.h.
58786         * modules/strndup (EXTRA_DIST): Add strndup.h.
58787         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
58788         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
58789         * modules/time_r (EXTRA_DIST): Add time_r.h.
58790         * modules/timespec (EXTRA_DIST): Add timespec.h.
58791         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58792         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
58793         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
58794         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
58795         * modules/userspec (EXTRA_DIST): Add userspec.h.
58796         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
58797         * modules/utimens (EXTRA_DIST): Add utimens.h.
58798         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
58799         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
58800         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
58801         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
58802         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
58803         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
58804         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
58805         * modules/yesno (EXTRA_DIST): Add yesno.h.
58806
58807 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58808
58809         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
58810
58811         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
58812         * m4/dev-ino.m4, same-inode.m4: Remove.
58813
58814         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
58815         * m4/acl.m4 (AC_FUNC_ACL):
58816         * m4/backupfile.m4 (gl_BACKUPFILE):
58817         * m4/c-strtod.m4 (gl_C99_STRTOLD):
58818         * m4/canon-host.m4 (gl_CANON_HOST):
58819         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
58820         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
58821         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
58822         * m4/cloexec.m4 (gl_CLOEXEC):
58823         * m4/close-stream.m4 (gl_CLOSE_STREAM):
58824         * m4/closeout.m4 (gl_CLOSEOUT):
58825         * m4/dirfd.m4 (gl_FUNC_DIRFD):
58826         * m4/dirname.m4 (gl_DIRNAME):
58827         * m4/exclude.m4 (gl_EXCLUDE):
58828         * m4/exitfail.m4 (gl_EXITFAIL):
58829         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
58830         * m4/file-type.m4 (gl_FILE_TYPE):
58831         * m4/filemode.m4 (gl_FILEMODE):
58832         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
58833         * m4/fpending.m4 (gl_FUNC_FPENDING):
58834         * m4/fprintftime.m4 (gl_FPRINTFTIME):
58835         * m4/fts.m4 (gl_FUNC_FTS):
58836         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
58837         * m4/getdate.m4 (gl_GETDATE):
58838         * m4/gethrxtime.m4 (gl_GETHRXTIME):
58839         * m4/getpagesize.m4 (gl_GETPAGESIZE):
58840         * m4/getpass.m4 (gl_FUNC_GETPASS):
58841         * m4/gettime.m4 (gl_GETTIME):
58842         * m4/getugroups.m4 (gl_GETUGROUPS):
58843         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
58844         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
58845         * m4/hard-locale.m4 (gl_HARD_LOCALE):
58846         * m4/hash.m4 (gl_HASH):
58847         * m4/idcache.m4 (gl_IDCACHE):
58848         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
58849         * m4/lchown.m4 (gl_FUNC_LCHOWN):
58850         * m4/long-options.m4 (gl_LONG_OPTIONS):
58851         * m4/lstat.m4 (gl_FUNC_LSTAT):
58852         * m4/md5.m4 (gl_MD5):
58853         * m4/memcasecmp.m4 (gl_MEMCASECMP):
58854         * m4/memcoll.m4 (gl_MEMCOLL):
58855         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
58856         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
58857         * m4/memxor.m4 (gl_MEMXOR):
58858         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
58859         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
58860         * m4/modechange.m4 (gl_MODECHANGE):
58861         * m4/mountlist.m4 (gl_MOUNTLIST):
58862         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58863         * m4/openat.m4 (gl_FUNC_OPENAT):
58864         * m4/pathmax.m4 (gl_PATHMAX):
58865         * m4/physmem.m4 (gl_PHYSMEM):
58866         * m4/posixtm.m4 (gl_POSIXTM):
58867         * m4/posixver.m4 (gl_POSIXVER):
58868         * m4/quote.m4 (gl_QUOTE):
58869         * m4/quotearg.m4 (gl_QUOTEARG):
58870         * m4/readtokens.m4 (gl_READTOKENS):
58871         * m4/readutmp.m4 (gl_READUTMP):
58872         * m4/regex.m4 (gl_REGEX):
58873         * m4/safe-read.m4 (gl_SAFE_READ):
58874         * m4/safe-write.m4 (gl_SAFE_WRITE):
58875         * m4/same.m4 (gl_SAME):
58876         * m4/save-cwd.m4 (gl_SAVE_CWD):
58877         * m4/savedir.m4 (gl_SAVEDIR):
58878         * m4/settime.m4 (gl_SETTIME):
58879         * m4/sha1.m4 (gl_SHA1):
58880         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
58881         * m4/stat-macros.m4 (gl_STAT_MACROS):
58882         * m4/stat-time.m4 (gl_STAT_TIME):
58883         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
58884         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
58885         * m4/strdup.m4 (gl_FUNC_STRDUP):
58886         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
58887         * m4/strndup.m4 (gl_FUNC_STRNDUP):
58888         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
58889         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
58890         * m4/time_r.m4 (gl_TIME_R):
58891         * m4/timespec.m4 (gl_TIMESPEC):
58892         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
58893         * m4/unlinkdir.m4 (gl_UNLINKDIR):
58894         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
58895         * m4/userspec.m4 (gl_USERSPEC):
58896         * m4/utimecmp.m4 (gl_UTIMECMP):
58897         * m4/utimens.m4 (gl_UTIMENS):
58898         * m4/xalloc.m4 (gl_XALLOC):
58899         * m4/xgetcwd.m4 (gl_XGETCWD):
58900         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
58901         * m4/xreadlink.m4 (gl_XREADLINK):
58902         * m4/xstrtod.m4 (gl_XSTRTOD):
58903         * m4/yesno.m4 (gl_YESNO):
58904         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58905         to get the necessary .h files and whatnot.
58906
58907 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
58908             Bruno Haible  <bruno@clisp.org>
58909
58910         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
58911         /bin/sh understanding of '!' conditional negation.
58912
58913 2006-08-21  Jim Meyering  <jim@meyering.net>
58914
58915         * modules/openat (Depends-on): Really alphabetize.
58916
58917         * modules/acl (Depends-on): Add error and quote.
58918
58919         * check-module (find_included_lib_files): Add at-func.c to the
58920         ok-to-include-more-than-once white list.
58921
58922         * modules/openat (Depends-on): Add lstat.  Alphabetize.
58923
58924 2006-08-21  Bruno Haible  <bruno@clisp.org>
58925
58926         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58927         Emit a pkgdata_DATA variable only if some snippets add contents to it.
58928         Reported by Martin Lambers <marlam@marlam.de>.
58929
58930 2006-08-21  Bruno Haible  <bruno@clisp.org>
58931
58932         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
58933         specify an installation location, don't emit a noinst_LIBRARIES or
58934         noinst_LTLIBRARIES assignment.
58935
58936 2006-08-21  Bruno Haible  <bruno@clisp.org>
58937
58938         BeOS portability.
58939         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
58940         BeOS has mbrtowc() but no <wctype.h>.
58941
58942 2006-08-21  Bruno Haible  <bruno@clisp.org>
58943
58944         BeOS portability.
58945         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
58946         exist.
58947
58948 2006-08-21  Bruno Haible  <bruno@clisp.org>
58949
58950         BeOS portability.
58951         * lib/mbchar.h: Include <wctype.h> only if it exists.
58952
58953 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58954
58955         Remove files that are no longer needed by their respective modules.
58956         * m4/obstack.m4: Remove.
58957         * m4/strerror_r.m4: Remove.
58958         * m4/uint32_t.m4: Remove.
58959         * m4/uintptr_t.m4: Remove.
58960         * m4/ullong_max.m4: Remove.
58961         * m4/xstrtoimax.m4: Remove.
58962         * m4/xstrtoumax.m4: Remove.
58963
58964         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
58965         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
58966         dependencies now capture this.
58967
58968         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
58969         Do not use AC_LIBSOURCES, since gnulib modules now do this.
58970         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
58971         * m4/human.m4 (gl_HUMAN): Likewise.
58972         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
58973         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
58974
58975         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
58976
58977         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
58978         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
58979         stdint.
58980         * m4/human.m4 (gl_HUMAN): Likewise.
58981         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
58982         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
58983         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
58984         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
58985         * m4/xstrtol (gl_XSTRTOL): Likewise.
58986
58987         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
58988         AC_TYPE_LONG_LONG_INT.
58989         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
58990         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
58991         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
58992         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
58993
58994         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
58995         on stdbool.
58996
58997         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
58998         (gl_PREREQ_XSTRTOUL): Remove.
58999
59000         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
59001
59002         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
59003         mode.
59004
59005 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59006
59007         Add and change modules to make it easier for coreutils to use
59008         gnulib-tool.
59009         * modules/backupfile (Files): Remove m4/d-ino.m4.
59010         (Depends-on): Add d-ino.
59011         * modules/cycle-check (Depends-on): Add stdint.
59012         (lib_SOURCES): Add cycle-check.h.
59013         * modules/d-ino: New module.
59014         * modules/d-type: New module.
59015         * modules/error (Files): Remove m4/strerror_r.m4.
59016         * modules/filemode (Files): Add m4/st_dm_mode.m4.
59017         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59018         m4/inttypes_h.m4, m4/uintmax_t.m4.
59019         (Depends-on): Add stdint.
59020         (lib_SOURCES): Add fsusage.h.
59021         * modules/getcwd (Files): Remove d-ino.m4.
59022         (Depends-on): Add d-ino.
59023         * modules/getndelim2 (Depends-on): Add stdint.
59024         * modules/glob (Files): Remove m4/d-type.m4.
59025         (Depends-on): Add d-type.
59026         * modules/host-os: New module.
59027         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
59028         m4/inttypes_h.m4, m4/uintmax_t.m4.
59029         * Depends-on: Add stdint.
59030         (lib_SOURCES): Add human.h.
59031         * modules/inttostr (Files): Remove m4/intmax_t.m4,
59032         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
59033         m4/uintmax_t.m4, m4/ulonglong.m4.
59034         (Depends-on): Add stdint.
59035         (EXTRA_DIST): Add inttostr.h.
59036         * modules/lchmod: New module.
59037         * modules/link-follow: New module.
59038         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
59039         (Depends-on): Add lchmod.
59040         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
59041         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
59042         (Depends-on): Add stdint.
59043         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
59044         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
59045         (Depends-on): Add stdint.
59046         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
59047         * modules/perl: New module.
59048         * modules/regex (Depends-on): Add stdint.
59049         * modules/rmdir-errno: New module.
59050         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
59051         m4/intmax_t.m4.
59052         (Depends-on): Add stdint.
59053         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
59054         m4/uintmax_t.m4.
59055         (Depends-on): Add stdint.
59056         * modules/unlink-busy: New module.
59057         * modules/utimecmp (Depends-on): Add stdint.
59058         * modules/uptime: New module.
59059         * modules/winsz-ioctl: New module.
59060         * modules/winsz-termios: New module.
59061         * modules/xnanosleep (Depends-on): Add nanosleep.
59062         * modules/ullong_max: Remove.
59063         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
59064         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
59065         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
59066         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
59067         (Depends-on): Add inttypes.
59068         (lib_SOURCES): Add xstrtol.h.
59069         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
59070         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
59071         * MODULES.html.sh: Move 'assert' into the assert section.
59072         Move 'dummy' into the linking section.
59073         Remove ullong_max.
59074         Add section for compatibility checks for POSIX:2001 functions,
59075         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
59076         winsz-ioctl, and winsz-termios into it.
59077         Add lchmod.
59078         Add top-level Misc section and put host-os, perl, and uptime
59079         into it.
59080
59081 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59082
59083         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
59084         now assume the stdint module.  Do not include inttypes.h.
59085         * lib/fsusage.h: Likewise.
59086         * lib/getndelim2.c: Likewise.
59087         * lib/human.h: Likewise.
59088         * lib/inttostr.h: Likewise.
59089         * lib/obstack.c: Likewise.
59090         * lib/regex_internal.h: Likewise.
59091         * lib/tempname.c: Likewise.
59092         * lib/utimecmp.c: Likewise.
59093         * lib/xstrtol.h: Likewise.
59094
59095         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
59096
59097         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
59098         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
59099         * lib/xtime.h: Likewise.
59100
59101 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59102
59103         * modules/openat (Files): Add lib/fchmodat.c.
59104         Fixes problem reported by Jay Youngman.
59105
59106 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59107
59108         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
59109         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
59110
59111 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
59112             Bruno Haible  <bruno@clisp.org>
59113
59114         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
59115         and is a script that invokes bison. Tighten the code. Add comments.
59116
59117 2006-08-18  Jim Meyering  <jim@meyering.net>
59118
59119         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
59120         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
59121         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
59122         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
59123
59124 2006-08-18  Bruno Haible  <bruno@clisp.org>
59125
59126         * modules/bison-i18n: New file.
59127         * MODULES.html.sh (Internationalization functions): Add it.
59128
59129 2006-08-18  Bruno Haible  <bruno@clisp.org>
59130
59131         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
59132         sys/statvfs.h. When getmntinfo was found, check its declaration and
59133         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
59134
59135 2006-08-18  Bruno Haible  <bruno@clisp.org>
59136
59137         * m4/bison-i18n.m4: New file, from bison.
59138
59139 2006-08-18  Bruno Haible  <bruno@clisp.org>
59140
59141         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
59142         (ME_DUMMY): Treat "kernfs" as a dummy.
59143         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
59144
59145 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59146
59147         Update from coreutils.
59148
59149         2006-08-15  Jim Meyering  <jim@meyering.net>
59150
59151         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
59152
59153         2006-01-17  Jim Meyering  <jim@meyering.net>
59154
59155         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
59156
59157         2006-01-11  Jim Meyering  <jim@meyering.net>
59158
59159         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
59160         Check for the lchmod function.
59161
59162 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59163
59164         Update from coreutils.
59165
59166         * lib/__fpending.h: Add copyright notice.
59167         * lib/fprintftime.h: Likewise.
59168         * lib/savedir.c: Use (C) in copyright notice.
59169         * lib/savedir.h: Likewise.
59170
59171         2006-08-15  Jim Meyering  <jim@meyering.net>
59172
59173         * lib/at-func.c: New file, with the logic of all emulated at-functions.
59174         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
59175         in support of the EXPECTED_ERRNO macro.
59176         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
59177         definitions.  Instead, define the appropriate symbols and include
59178         "at-func.c".
59179         * lib/mkdirat.c (mkdirat): Likewise.
59180         * lib/fchmodat.c (fchmodat): Likewise.
59181         (ENOSYS): Remove definition.
59182         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
59183         it.  Don't include "unistd--.h" -- it wasn't ever used.
59184
59185         2006-01-17  Jim Meyering  <jim@meyering.net>
59186
59187         Rewrite fts.c not to change the current working directory,
59188         by using openat, fstatat, fdopendir, etc..
59189
59190         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
59191         (HAVE_OPENAT_SUPPORT): Define.
59192         [_LIBC] (fchdir): Don't undef or define; no longer used.
59193         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
59194         Now, this `function' always succeeds, and consumes its file descriptor
59195         parameter -- so callers must not close such FDs.  Update callers.
59196         (diropen_fd, opendirat, cwd_advance_fd): New functions.
59197         (diropen): Add parameter, SP.  Adjust all callers.
59198         Implement using diropen_fd, rather than open.
59199         (fts_open): Initialize new member, fts_cwd_fd.
59200         Remove fts_rft-setting code.
59201         (fts_close): Close fts_cwd_fd, if necessary.
59202         (__opendir2): Define in terms of opendir or opendirat,
59203         depending on whether the FST_NOCHDIR flag is set.
59204         (fts_build): Since fts_safe_changedir consumes its FD, and since
59205         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
59206         and close the dup'd file descriptor upon failure.
59207         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
59208         (fts_safe_changedir): Tweak semantics to reflect that this function
59209         now calls cwd_advance_fd and hence consumes its FD argument.
59210         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
59211         [struct FTS] (fts_rft): Remove now-unused member.
59212         [struct FTS] (fts_cycle.state): Improve comment.
59213
59214         * lib/openat.c (openat_needs_fchdir): New function.
59215         * lib/openat.h (openat_needs_fchdir): Declare it.
59216
59217 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
59218
59219         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
59220         Problem and fix reported by Pádraig Brady in
59221         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
59222
59223 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59224
59225         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
59226
59227 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59228
59229         * lib/memcoll.c (memcoll): Optimize for the common case where the
59230         arguments are bytewise equal.
59231
59232 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59233
59234         * doc/regexprops-generic.texi: Add a copyright notice.
59235
59236 2006-08-15  Bruno Haible  <bruno@clisp.org>
59237
59238         * modules/tmpdir (License): Change to LGPL.
59239
59240 2006-08-15  Bruno Haible  <bruno@clisp.org>
59241
59242         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
59243         module.
59244
59245 2006-08-14  Simon Josefsson  <jas@extundo.com>
59246
59247         * config/srclist.txt: Add gnupload.
59248
59249 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59250
59251         Change copyright notice from LGPL 2 to GPL 2, since that's the
59252         standard form used in the gnulib repository.
59253         * tests/test-lock.c: Likewise.
59254         * tests/test-stdint.c: Likewise.
59255         * tests/test-tls.c: Likewise.
59256
59257         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
59258         prelude-manager.  User shorter URLs for GNU projects, without '?'.
59259         Add copyright notice.
59260
59261         * check-module: Add copyright notice.  Output a copyright
59262         notice if "--version" is specified.
59263         * modules/COPYING: New file.
59264         * tests/test-getaddrinfo.c: Add copyright notice.
59265         * tests/test-verify.c: Likewise.
59266
59267 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59268
59269         Change copyright notice from LGPL 2 to GPL 2, since that's the
59270         standard form used in the gnulib repository.
59271         * lib/lock.c: LGPL -> GPL.
59272         * lib/lock.h: Likewise.
59273         * lib/strnlen1.c: Likewise.
59274         * lib/strnlen1.h: Likewise.
59275         * lib/tls.c: Likewise.
59276         * lib/tls.h: Likewise.
59277         * lib/tmpdir.c: Likewise.
59278
59279         * lib/TODO: Remove; this belongs only in coreutils.
59280
59281 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59282
59283         Add copyright notices to long-enough files that lack them, since
59284         otherwise the files aren't clearly free.  Use the same notice that
59285         getdate.texi already uses.
59286         * doc/alloca-opt.texi: Add copyright notice.
59287         * doc/alloca.texi: Likewise.
59288         * doc/ctime.texi: Likewise.
59289         * doc/functions.texi: Likewise.
59290         * doc/gcd.texi: Likewise.
59291         * doc/gnulib-tool.texi: Likewise.
59292         * doc/inet_ntoa.texi: Likewise.
59293         * doc/visibility.texi: Likewise.
59294
59295         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
59296         * doc/quote.texi: Add copyright notice.
59297
59298         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
59299         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
59300         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
59301         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
59302         is now obsolete, and give a pointer to the Sun list.
59303         Add copyright notice.
59304
59305 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59306
59307         * config/srclistvars.sh: Add copyright notice.
59308
59309 2006-08-14  Eric Blake  <ebb9@byu.net>
59310
59311         Import the following change from libc:
59312
59313         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
59314
59315         Upstream bug 2997.
59316         * lib/misc/error.c: Add space between program name and message if file
59317         name is missing.
59318
59319 2006-08-12  Karl Berry  <karl@gnu.org>
59320
59321         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
59322         remove, these originate in gnulib now.
59323
59324 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59325
59326         * doc/Makefile (standards.info standards.html standards.dvi):
59327         Also depend on make-stds.texi.
59328
59329 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59330
59331         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
59332         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
59333
59334         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
59335         in wchar_t.  Problem reported by Eric Blake.
59336
59337         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
59338         LEN is smaller than SIZE.  Suggested by Bruno Haible.
59339         Also, help the compiler to keep LEN in a register.
59340
59341 2006-08-11  Eric Blake  <ebb9@byu.net>
59342
59343         * users.txt: Sort.  Add tar.
59344
59345 2006-08-11  Bruno Haible  <bruno@clisp.org>
59346
59347         * users.txt: New file.
59348
59349 2006-08-11  Bruno Haible  <bruno@clisp.org>
59350
59351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
59352         before <wchar.h>. Needed for OSF/1 and BSD/OS.
59353
59354 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59355
59356         * modules/snprintf (Depends-on): Remove minmax.
59357         (Maintainer): Add self and Bruno.
59358
59359 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59360
59361         * lib/.cppi-disable: Add snprintf.h, socket_.h.
59362         * lib/snprintf.c: Include <errno.h> and <limits.h>.
59363         (EOVERFLOW): Define if the system does not.
59364         Do not include "minmax.h"; it wasn't used.
59365         (snprintf): Don't assume size_t promotes to an unsigned type.
59366         Fix bug when generated string was too long for the buffer: the
59367         buffer's contents are supposed to be the initial prefix of the
59368         output.  Don't assume vasnprintf returns EOVERFLOW if the size
59369         exceeds INT_MAX; do the check ourselves.
59370
59371         Import the following changes from libc:
59372
59373         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
59374
59375         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
59376         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
59377         set wc to the byte which couldn't be converted.
59378         (re_string_reconstruct): Don't clear valid_raw_len before calling
59379         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
59380         tip_context using re_string_context_at.
59381
59382         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
59383
59384         * lib/posix/regex.h: g++ still cannot handled [restrict].
59385
59386         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
59387
59388         * lib/posix/regex.h: Remove special handling for VMS.
59389
59390 2006-08-10  Jim Meyering  <jim@meyering.net>
59391
59392         * modules/same-inode: New module.
59393         * modules/dev-ino: New module.
59394         * modules/cycle-check: Depend on these modules, rather than simply
59395         including their .h files.
59396         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
59397         required via m4/cycle-check.m4.
59398         * modules/same: Depend on new same-inode module, rather than
59399         including same-inode.h.
59400         * modules/chdir-safer: New file.
59401
59402         * modules/chown (Depends-on): Add stat-macros.
59403
59404 2006-08-10  Jim Meyering  <jim@meyering.net>
59405
59406         * m4/cycle-check.m4: New file.
59407         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
59408         * m4/dev-ino.m4, m4/same-inode.m4: New files.
59409
59410 2006-08-10  Eric Blake  <ebb9@byu.net>
59411
59412         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
59413         in from original proposal.
59414
59415 2006-08-10  Eric Blake  <ebb9@byu.net>
59416         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59417
59418         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
59419         namespace.
59420
59421 2006-08-10  Bruno Haible  <bruno@clisp.org>
59422
59423         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
59424         as well.
59425
59426 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59427
59428         Sync from coreutils.
59429
59430         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
59431
59432         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
59433         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
59434
59435 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59436
59437         * modules/restrict: Remove; no longer needed now that we assume
59438         Autoconf 2.59 or later.
59439         * MODULES.html.sh: Remove 'restrict'.
59440         * modules/argp (Depends-on): Remove 'restrict'.
59441         * modules/base64 (Depends-on): Likewise.
59442         * modules/gc (Depends-on): Likewise.
59443         * modules/getaddrinfo (Depends-on): Likewise.
59444         * modules/glob (Depends-on): Likewise.
59445         * modules/inet_ntop (Depends-on): Likewise.
59446         * modules/inet_pton (Depends-on): Likewise.
59447         * modules/memxor (Depends-on): Likewise.
59448         * modules/regex (Depends-on): Likewise.
59449         * modules/strtok_r (Depends-on): Likewise.
59450         * modules/time_r (Depends-on): Likewise.
59451
59452 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59453
59454         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
59455         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
59456         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59457         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
59458         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
59459         * m4/memxor.m4 (gl_MEMXOR): Likewise.
59460         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
59461         gl_C_RESTRICT replaced by AC_C_RESTRICT.
59462
59463         Merge from coreutils.
59464         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
59465         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
59466         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59467         * m4/time_r.m4 (gl_TIME_R): Likewise.
59468
59469 2006-08-09  Karl Berry  <karl@gnu.org>
59470
59471         * config/srclist.txt: no more gettext-tools, per Bruno.
59472
59473 2006-08-08  Eric Blake  <ebb9@byu.net>
59474
59475         * modules/verror: New module.
59476         * MODULES.html.sh: Document it.
59477
59478 2006-08-08  Eric Blake  <ebb9@byu.net>
59479
59480         * lib/verror.h, lib/verror.c: New files.
59481
59482 2006-08-08  Eric Blake  <ebb9@byu.net>
59483
59484         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
59485         verror_at_line output complies with GNU Coding Standards even when
59486         file is NULL.
59487
59488 2006-08-07  Bruno Haible  <bruno@clisp.org>
59489
59490         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
59491         versions of AIX.
59492         Reported by Ralf Wildenhues.
59493
59494 2006-08-07  Bruno Haible  <bruno@clisp.org>
59495
59496         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
59497         in an AC_DEFUN. Needed so that the autoconf snippets can use
59498         AC_REQUIRE.
59499
59500 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59501
59502         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59503         Initialize pkgdata_DATA.
59504         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
59505         overriding it.
59506
59507 2006-08-06  Eric Blake  <ebb9@byu.net>
59508
59509         * lib/error.h: Fold in some upstream changes from glibc.
59510         * lib/error.c: Likewise.
59511
59512 2006-08-04  Bruno Haible  <bruno@clisp.org>
59513
59514         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59515         Make the mostlyclean-local rule depend on mostlyclean-generic.
59516         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
59517
59518 2006-07-31  Bruno Haible  <bruno@clisp.org>
59519
59520         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
59521         <stdlib.h>, <string.h>.
59522
59523 2006-07-30  Bruno Haible  <bruno@clisp.org>
59524
59525         * modules/readlink (License): Change to LGPL.
59526
59527 2006-07-30  Bruno Haible  <bruno@clisp.org>
59528
59529         * modules/javaversion (Makefile.am): Distribute javaversion.java and
59530         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
59531         set PKGDATADIR to point to it.
59532
59533 2006-07-30  Bruno Haible  <bruno@clisp.org>
59534
59535         * modules/csharpexec (configure.ac): Comment out macro invocation.
59536         * modules/javaexec (configure.ac): Likewise.
59537         * modules/javacomp-script (configure.ac): Likewise.
59538
59539         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
59540
59541 2006-07-30  Bruno Haible  <bruno@clisp.org>
59542
59543         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
59544         linked-list.
59545
59546 2006-07-30  Bruno Haible  <bruno@clisp.org>
59547
59548         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
59549
59550 2006-07-30  Bruno Haible  <bruno@clisp.org>
59551
59552         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59553         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
59554         get removed.
59555
59556 2006-07-29  Bruno Haible  <bruno@clisp.org>
59557
59558         Make it possible for gnulib-tool to work with locally modified or
59559         augmented gnulib repositories.
59560         * gnulib-tool (func_usage): Document --local-dir option.
59561         (local_gnulib_dir): New variable.
59562         Handle --local-dir option.
59563         (func_lookup_file): New function.
59564         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
59565         (func_get_description, func_get_filelist, func_get_description,
59566         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
59567         func_get_automake_snippet, func_get_include_directive,
59568         func_get_license, func_get_maintainer): Use func_lookup_file.
59569         (func_import, func_create_testdir): Use func_lookup_file.
59570
59571 2006-07-29  Bruno Haible  <bruno@clisp.org>
59572
59573         * modules/setenv (Depends-on): Add unistd.
59574
59575 2006-07-29  Bruno Haible  <bruno@clisp.org>
59576
59577         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
59578
59579 2006-07-29  Bruno Haible  <bruno@clisp.org>
59580
59581         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
59582
59583 2006-07-29  Bruno Haible  <bruno@clisp.org>
59584
59585         * gnulib-tool (import, update): If there is no Makefile.am, look at
59586         aclocal.m4, instead of bailing out.
59587
59588 2006-07-29  Bruno Haible  <bruno@clisp.org>
59589
59590         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
59591         Categorize the options by when they are useful.
59592
59593 2006-07-29  Bruno Haible  <bruno@clisp.org>
59594
59595         * gnulib-tool (func_usage): Document option --no-libtool.
59596         Handle option --no-libtool.
59597         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
59598         for changed semantics of $libtool variable.
59599         (func_import): Likewise. If libtool is not used, show this through
59600         an option --no-libtool.
59601         (func_create_testdir): Update.
59602
59603 2006-07-29  Bruno Haible  <bruno@clisp.org>
59604
59605         * gnulib-tool (func_import): Extend error message about missing
59606         --doc-base.
59607
59608 2006-07-29  Bruno Haible  <bruno@clisp.org>
59609
59610         * gnulib-tool (func_import): Don't create the $docbase directory if
59611         there is no file to store there.
59612
59613 2006-07-29  Bruno Haible  <bruno@clisp.org>
59614
59615         * gnulib-tool (autoconf_minversion): If a --dir option is given and
59616         relevant, look for configure.ac there, not in the current directory.
59617         Also use a simple search for AC_PREREQ, not "autoconf --trace".
59618
59619 2006-07-29  Bruno Haible  <bruno@clisp.org>
59620
59621         * gnulib-tool (SORT): New variable.
59622         (func_usage): Undocument --assume-autoconf option.
59623         Remove --assume-autoconf option handling.
59624         (autoconf_minversion): Determine from the contents of configure.ac.
59625         (func_import): Remove autoconf_minversion handling.
59626         Suggested by Eric Blake.
59627
59628 2006-07-29  Bruno Haible  <bruno@clisp.org>
59629
59630         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
59631
59632 2006-07-29  Bruno Haible  <bruno@clisp.org>
59633
59634         * config/srclist.txt (*setenv.[ch]): Remove rules.
59635
59636 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59637
59638         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
59639
59640 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59641
59642         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
59643         arpa/inet.h.
59644
59645 2006-07-28  Simon Josefsson  <jas@extundo.com>
59646
59647         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
59648         * modules/inet_pton (Depends-on): Likewise.
59649
59650 2006-07-28  Simon Josefsson  <jas@extundo.com>
59651
59652         * m4/netinet_in_h.m4: New file.
59653
59654 2006-07-28  Simon Josefsson  <jas@extundo.com>
59655
59656         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
59657         #include's.
59658
59659 2006-07-28  Simon Josefsson  <jas@extundo.com>
59660
59661         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
59662         #include's.
59663
59664 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
59665
59666         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
59667         setgid on directories only if they set these bits.
59668         * lib/modechange.h: Remove obsolete comment about masks.
59669
59670 2006-07-28  Eric Blake  <ebb9@byu.net>
59671
59672         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
59673         macro expansion.
59674
59675 2006-07-28  Bruno Haible  <bruno@clisp.org>
59676
59677         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
59678
59679 2006-07-28  Bruno Haible  <bruno@clisp.org>
59680
59681         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
59682
59683 2006-07-28  Bruno Haible  <bruno@clisp.org>
59684
59685         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59686         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59687         Define fallbacks.
59688         Avoids link error on FreeBSD 4.x.
59689         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59690
59691         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
59692         encoding.
59693         * lib/mbswidth.c (iswcntrl): Likewise.
59694
59695 2006-07-27  Bruno Haible  <bruno@clisp.org>
59696
59697         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
59698         test.
59699
59700 2006-07-27  Bruno Haible  <bruno@clisp.org>
59701
59702         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
59703         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
59704         defined.
59705
59706 2006-07-26  Eric Blake  <ebb9@byu.net>
59707
59708         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
59709
59710 2006-07-26  Eric Blake  <ebb9@byu.net>
59711
59712         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
59713         like mingw that lack mkstemp.
59714         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
59715         avoid compilation warning on mingw.
59716
59717 2006-07-26  Bruno Haible  <bruno@clisp.org>
59718
59719         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
59720         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
59721         INT_FAST*_MIN, INTPTR_MIN.
59722
59723 2006-07-25  Bruno Haible  <bruno@clisp.org>
59724
59725         * modules/version-etc (Depends-on): Add stdarg.
59726
59727 2006-07-25  Bruno Haible  <bruno@clisp.org>
59728
59729         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
59730         complex commands.
59731
59732 2006-07-25  Bruno Haible  <bruno@clisp.org>
59733
59734         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
59735         defined in <stdarg.h> or config.h.
59736
59737 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59738
59739         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
59740         (gl_STDIO_SAFER): Remove.
59741
59742 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59743
59744         * MODULES.html.sh (File stream based Input/Output):
59745         Add fopen-safer, tmpfile-safer; remove stdio-safer.
59746         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
59747         * modules/fopen-safer, modules/tmpfile-safer: New files.
59748         * modules/stdio-safer: Remove.
59749
59750 2006-07-24  Bruno Haible  <bruno@clisp.org>
59751
59752         * modules/tmpdir: New file.
59753         * MODULES.html.sh (File system functions): Add it.
59754
59755 2006-07-24  Bruno Haible  <bruno@clisp.org>
59756
59757         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
59758         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
59759
59760 2006-07-24  Bruno Haible  <bruno@clisp.org>
59761
59762         * modules/clean-temp: New file.
59763
59764 2006-07-24  Bruno Haible  <bruno@clisp.org>
59765
59766         * m4/tmpdir.m4: New file, from GNU gettext.
59767
59768 2006-07-24  Bruno Haible  <bruno@clisp.org>
59769
59770         * lib/tmpdir.h: New file, from GNU gettext.
59771         * lib/tmpdir.c: New file, from GNU gettext.
59772
59773 2006-07-24  Bruno Haible  <bruno@clisp.org>
59774
59775         * lib/clean-temp.h: New file, from GNU gettext.
59776         * lib/clean-temp.c: New file, from GNU gettext.
59777
59778 2006-07-23  Eric Blake  <ebb9@byu.net>
59779
59780         * modules/stdio-safer (Files): Add tmpfile-safer.c.
59781         (Depends-on): Add binary-io.
59782
59783 2006-07-23  Eric Blake  <ebb9@byu.net>
59784
59785         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
59786
59787 2006-07-23  Eric Blake  <ebb9@byu.net>
59788
59789         * lib/tmpfile-safer.c: New file.
59790         * lib/stdio-safer.h (fopen_safer): Add prototype.
59791         * lib/stdio--.h (tmpfile): Make safer.
59792
59793 2006-07-23  Bruno Haible  <bruno@clisp.org>
59794
59795         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
59796         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
59797         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
59798         gl_linked_remove_at): Use it.
59799
59800 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59801         and Simon Josefsson <jas@extundo.com>
59802
59803         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
59804
59805         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
59806
59807 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59808
59809         * modules/close-stream: New file.
59810         * modules/closeout (Description): Make it clear that it exits
59811         with a diagnostic on error.
59812         (Depends-on): Add close-stream.  Remove fpending, stdbool.
59813         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
59814
59815 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59816
59817         * m4/close-stream.m4: New file.
59818
59819 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59820
59821         * lib/close-stream.c, lib/close-stream.h: New files.
59822
59823 2006-07-22  Bruno Haible  <bruno@clisp.org>
59824
59825         Merge from GNU gettext 0.15.
59826
59827         2006-05-01  Bruno Haible  <bruno@clisp.org>
59828
59829                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
59830
59831         2006-07-22  Bruno Haible  <bruno@clisp.org>
59832
59833                 * modules/javaversion: New file.
59834                 * MODULES.html.sh (Java): Add javaversion.
59835
59836         2006-03-12  Bruno Haible  <bruno@clisp.org>
59837
59838                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
59839
59840         2005-12-04  Bruno Haible  <bruno@clisp.org>
59841
59842                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
59843                 (untested).
59844
59845         2006-06-21  Bruno Haible  <bruno@clisp.org>
59846
59847                 Avoid warnings from recent versions of mcs.
59848                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
59849                 -o, -L, -r any more. Use options documented since mcs-1.0
59850                 instead. Similarly for -g.
59851
59852         2005-12-04  Bruno Haible  <bruno@clisp.org>
59853
59854                 * build-aux/csharpcomp.sh.in: Suffix for resources is
59855                 .resources, not .resource.
59856
59857         2005-07-09  Bruno Haible  <bruno@clisp.org>
59858
59859                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
59860                 add a .dll suffix.
59861                 Reported by Mark Junker <mjscod@gmx.de>.
59862
59863         2006-07-22  Bruno Haible  <bruno@clisp.org>
59864
59865                 * modules/gettext: Upgrade to gettext-0.15.
59866                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
59867                 m4/visibility.m4.
59868                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
59869
59870 2006-07-22  Bruno Haible  <bruno@clisp.org>
59871
59872         Merge from GNU gettext 0.15.
59873
59874         2006-03-25  Bruno Haible  <bruno@clisp.org>
59875
59876                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
59877
59878         2006-07-21  Bruno Haible  <bruno@clisp.org>
59879
59880                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
59881                 "1.1".
59882
59883         2006-05-09  Bruno Haible  <bruno@clisp.org>
59884
59885                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
59886                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
59887                 for the conftestver execution.
59888
59889         2006-05-01  Bruno Haible  <bruno@clisp.org>
59890
59891                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
59892                 optional target-version argument. Verify that the compiler
59893                 groks source of the specified source-version, or add -source
59894                 option as necessary. Verify that the compiler produces
59895                 bytecode in the specified target-version, or add -target and
59896                 -source options as necessary. Make the result of the test
59897                 available as variable CONF_JAVAC. Also log error output in
59898                 config.log.
59899
59900         2006-03-11  Bruno Haible  <bruno@clisp.org>
59901
59902                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
59903
59904         2006-05-09  Bruno Haible  <bruno@clisp.org>
59905
59906                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
59907                 CLASSPATH_SEPARATOR to a semicolon.
59908
59909         2006-03-12  Bruno Haible  <bruno@clisp.org>
59910
59911                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
59912                 available as variable CONF_JAVA, for subsequent autoconf
59913                 tests. Also log error output in config.log.
59914
59915         2006-07-19  Bruno Haible  <bruno@clisp.org>
59916
59917                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
59918                 that getline works on glibc2 systems. Needed to avoid trouble
59919                 in relocatable.c.
59920                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
59921
59922         2005-12-04  Bruno Haible  <bruno@clisp.org>
59923
59924                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
59925                 launcher (untested).
59926
59927         2005-12-04  Bruno Haible  <bruno@clisp.org>
59928
59929                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
59930
59931         2006-07-22  Bruno Haible  <bruno@clisp.org>
59932
59933                 * gettext.m4: Update from GNU gettext-0.15.
59934                 * nls.m4: Likewise.
59935                 * po.m4: Likewise.
59936                 * inttypes-pri.m4: Likewise.
59937                 * inttypes-h.m4: Renamed from inttypes.m4.
59938                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
59939
59940 2006-07-22  Bruno Haible  <bruno@clisp.org>
59941
59942         Merge from GNU gettext 0.15.
59943
59944         2005-07-05  Bruno Haible  <bruno@clisp.org>
59945
59946                 * printf-args.c (printf_fetchargs): Work around broken
59947                 definition of wint_t on mingw.
59948
59949         2005-02-12  Bruno Haible  <bruno@clisp.org>
59950
59951                 * xallocsa.h: Add extern "C" for C++.
59952
59953         2006-05-17  Bruno Haible  <bruno@clisp.org>
59954
59955                 Cygwin portability.
59956                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
59957
59958         2006-04-30  Bruno Haible  <bruno@clisp.org>
59959
59960                 * progreloc.c: Include <mach-o/dyld.h> if available.
59961                 (find_executable): Use _NSGetExecutablePath when possible.
59962
59963         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59964
59965                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
59966                 function.
59967
59968         2005-12-29  Bruno Haible  <bruno@clisp.org>
59969
59970                 * progreloc.c (set_program_name_and_installdir): Fix
59971                 compilation error.
59972
59973         2005-12-04  Bruno Haible  <bruno@clisp.org>
59974
59975                 Cygwin portability.
59976                 * progreloc.c: Include <windows.h> also on Cygwin.
59977                 (find_executable): Add support for Cygwin.
59978                 (set_program_name_and_installdir): Handle also platforms with
59979                 nonempty EXEEXT.
59980
59981         2006-07-11  Bruno Haible  <bruno@clisp.org>
59982
59983                 * javacomp.c: Fix a comment.
59984                 Reported by Jim Meyering.
59985
59986         2006-04-30  Bruno Haible  <bruno@clisp.org>
59987
59988                 * javacomp.h (compile_java_class): Add source_version,
59989                 target_version arguments.
59990                 * javacomp.c: Rewritten to choose only a compiler that
59991                 respects the specified source_version and target_version.
59992
59993         2006-06-27  Bruno Haible  <bruno@clisp.org>
59994
59995                 Assume correct S_ISDIR macro.
59996                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
59997
59998         2006-07-22  Bruno Haible  <bruno@clisp.org>
59999
60000                 * javaversion.h: New file, from GNU gettext.
60001                 * javaversion.c: New file, from GNU gettext.
60002                 * javaversion.java: New file, from GNU gettext.
60003                 * javaversion.class: New file, from GNU gettext.
60004
60005         2006-05-17  Bruno Haible  <bruno@clisp.org>
60006
60007                 Cygwin portability.
60008                 * javaexec.c (execute_java_class): Test for jview program
60009                 also on Cygwin.
60010
60011         2006-04-09  Bruno Haible  <bruno@clisp.org>
60012
60013                 * fatal-signal.c: Don't include string.h.
60014                 (at_fatal_signal): Use a copying loop instead of memcpy.
60015
60016         2005-12-04  Bruno Haible  <bruno@clisp.org>
60017
60018                 * csharpexec.c: Add support for 'clix' launcher (untested).
60019                 (execute_csharp_using_sscli): New function.
60020                 (execute_csharp_program): Call it.
60021
60022         2006-06-21  Bruno Haible  <bruno@clisp.org>
60023
60024                 Avoid warnings from recent versions of mcs.
60025                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
60026                 -o, -L, -r any more. Use options documented since mcs-1.0
60027                 instead. Similarly for -g.
60028
60029         2005-07-09  Bruno Haible  <bruno@clisp.org>
60030
60031                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
60032                 add a .dll suffix.
60033                 Reported by Mark Junker <mjscod@gmx.de>.
60034
60035         2006-06-17  Bruno Haible  <bruno@clisp.org>
60036
60037                 * config.charset: Update for NetBSD 3.0.
60038
60039         2006-05-17  Bruno Haible  <bruno@clisp.org>
60040
60041                 Cygwin portability.
60042                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
60043
60044         2006-05-16  Bruno Haible  <bruno@clisp.org>
60045
60046                 * localcharset.c [CYGWIN]: Include <windows.h>.
60047                 (get_charset_aliases): For Cygwin, return the same CPxxx
60048                 aliases list as under WIN32.
60049                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
60050                 the environment variables. Fall back to GetACP().
60051
60052         2006-04-05  Bruno Haible  <bruno@clisp.org>
60053
60054                 * config.charset: Update Juan Manuel Guerrero's address.
60055
60056         2005-02-12  Bruno Haible  <bruno@clisp.org>
60057
60058                 * allocsa.h: Add extern "C" for C++.
60059
60060         2005-02-10  Bruno Haible  <bruno@clisp.org>
60061
60062                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
60063                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
60064
60065         2006-07-22  Bruno Haible  <bruno@clisp.org>
60066
60067                 * gettext.h: Update to GNU gettext-0.15.
60068
60069 2006-07-22  Bruno Haible  <bruno@clisp.org>
60070
60071         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
60072         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
60073         lib-prefix.m4, longdouble.m4, ssize_t.m4.
60074
60075 2006-07-21  Eric Blake  <ebb9@byu.net>
60076
60077         * modules/stdlib-safer: New file.
60078         * MODULES.html.sh (File stream based Input/Output): Add
60079         stdlib-safer.
60080
60081 2006-07-21  Eric Blake  <ebb9@byu.net>
60082
60083         * lib/stdlib-safer.h: New file from coreutils, required by
60084         stdlib--.h.
60085
60086 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
60087
60088         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
60089
60090 2006-07-20  Bruno Haible  <bruno@clisp.org>
60091
60092         * gnulib-tool: Recognize new option --assume-autoconf.
60093         (autoconf_minversion): New variable.
60094         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
60095
60096 2006-07-20  Bruno Haible  <bruno@clisp.org>
60097
60098         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
60099
60100 2006-07-19  Derek R. Price  <derek@ximbiot.com>
60101
60102         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
60103         Reindent and repaginate.
60104
60105 2006-07-19  Derek Price  <derek@ximbiot.com>
60106
60107         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
60108         Correct grammar.
60109
60110 2006-07-17  Bruno Haible  <bruno@clisp.org>
60111
60112         * modules/list: New file.
60113         * modules/array-list: New file.
60114         * modules/carray-list, modules/carray-list-tests: New files.
60115         * modules/linked-list, modules/linked-list-tests: New files.
60116         * modules/avltree-list, modules/avltree-list-tests: New files.
60117         * modules/rbtree-list, modules/rbtree-list-tests: New files.
60118         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
60119         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
60120         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
60121         * modules/oset: New file.
60122         * modules/array-oset: New file.
60123         * modules/avltree-oset, modules/avltree-oset-tests: New files.
60124         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
60125         * tests/test-carray_list.c: New file.
60126         * tests/test-linked_list.c: New file.
60127         * tests/test-avltree_list.c: New file.
60128         * tests/test-rbtree_list.c: New file.
60129         * tests/test-linkedhash_list.c: New file.
60130         * tests/test-avltreehash_list.c: New file.
60131         * tests/test-rbtreehash_list.c: New file.
60132         * tests/test-avltree_oset.c: New file.
60133         * tests/test-rbtree_oset.c: New file.
60134         * MODULES.html.sh (Container data structures): New section.
60135
60136 2006-07-17  Bruno Haible  <bruno@clisp.org>
60137
60138         * m4/gl_list.m4: New file.
60139
60140 2006-07-17  Bruno Haible  <bruno@clisp.org>
60141
60142         * lib/gl_list.h: New file.
60143         * lib/gl_list.c: New file.
60144         * lib/gl_array_list.h: New file.
60145         * lib/gl_array_list.c: New file.
60146         * lib/gl_carray_list.h: New file.
60147         * lib/gl_carray_list.c: New file.
60148         * lib/gl_linked_list.h: New file.
60149         * lib/gl_linked_list.c: New file.
60150         * lib/gl_anylinked_list1.h: New file.
60151         * lib/gl_anylinked_list2.h: New file.
60152         * lib/gl_avltree_list.h: New file.
60153         * lib/gl_avltree_list.c: New file.
60154         * lib/gl_anyavltree_list1.h: New file.
60155         * lib/gl_anyavltree_list2.h: New file.
60156         * lib/gl_rbtree_list.h: New file.
60157         * lib/gl_rbtree_list.c: New file.
60158         * lib/gl_anyrbtree_list1.h: New file.
60159         * lib/gl_anyrbtree_list2.h: New file.
60160         * lib/gl_anytree_list1.h: New file.
60161         * lib/gl_anytree_list2.h: New file.
60162         * lib/gl_linkedhash_list.h: New file.
60163         * lib/gl_linkedhash_list.c: New file.
60164         * lib/gl_anyhash_list1.h: New file.
60165         * lib/gl_anyhash_list2.h: New file.
60166         * lib/gl_avltreehash_list.h: New file.
60167         * lib/gl_avltreehash_list.c: New file.
60168         * lib/gl_rbtreehash_list.h: New file.
60169         * lib/gl_rbtreehash_list.c: New file.
60170         * lib/gl_anytreehash_list1.h: New file.
60171         * lib/gl_anytreehash_list2.h: New file.
60172
60173         * lib/gl_oset.h: New file.
60174         * lib/gl_oset.c: New file.
60175         * lib/gl_array_oset.h: New file.
60176         * lib/gl_array_oset.c: New file.
60177         * lib/gl_avltree_oset.h: New file.
60178         * lib/gl_avltree_oset.c: New file.
60179         * lib/gl_rbtree_oset.h: New file.
60180         * lib/gl_rbtree_oset.c: New file.
60181         * lib/gl_anytree_oset.h: New file.
60182
60183 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60184
60185         * m4/mkancesdirs.m4: New file.
60186         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
60187         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
60188         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
60189         it.
60190
60191 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60192
60193         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
60194         * lib/mkancesdirs.h: New files.
60195         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
60196         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
60197         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
60198         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
60199         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
60200         callers changed.  Revamp internals significantly, by not
60201         attempting to create directories that are temporarily more
60202         permissive than the final results.  Do not attempt to use
60203         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
60204         This removes some race conditions, fixes some bugs, and simplifies
60205         things.  Use new dirchownmod function to do owner and mode changes.
60206         * lib/mkdir-p.h: Likewise.
60207         * lib/modechange.c (octal_to_mode): New function.
60208         (struct mode_change): New member mentioned.
60209         (make_node_op_equals): New arg mentioned.  All callers changed.
60210         (mode_compile): Keep track of which mode bits the user has explicitly
60211         mentioned.
60212         (mode_adjust): New arg DIR, so that we implement the X op correctly.
60213         New arg PMODE_BITS, to keep track of which mode bits the user
60214         mentioned; it treats S_ISUID and S_ISGID speciall.
60215         All callers changed.
60216         * lib/modechange.h: Likewise.
60217
60218 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60219
60220         * MODULES.html.sh: Add mkancestors.
60221         * modules/mkancesdirs: New module.
60222         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
60223         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
60224         The chdir-safer and afs files are now orphans; I'll remove them
60225         unless someone speaks up.
60226         Add lib/dirchownmod.c, lib/dirchownmod.h.
60227         (Depends-on): Remove alloca, chown, save-cwd, dirname.
60228         Add lchown, mkancesdirs.
60229         (Maintainer): Add self.
60230
60231 2006-07-15  Karl Berry  <karl@gnu.org>
60232
60233         * gnulib-tool: help message wording/arrangement.
60234
60235 2006-07-14  Simon Josefsson  <jas@extundo.com>
60236
60237         * doc/gnulib.texi (Libtool and Windows): New section.
60238
60239 2006-07-12  Simon Josefsson  <jas@extundo.com>
60240
60241         * modules/gendocs (License): Fix license, approved by Karl.
60242
60243 2006-07-12  Eric Blake  <ebb9@byu.net>
60244
60245         * MODULES.html.sh: Add gendocs.
60246
60247 2006-07-11  Eric Blake  <ebb9@byu.net>
60248
60249         * modules/fdl: New module, to install doc/fdl.texi.
60250         * MODULES.html.sh: Add new section for documentation modules.
60251         * gnulib-tool: Avoid space-tab.
60252         (--doc-base): New option, to manage files from doc.
60253
60254 2006-07-11  Eric Blake  <ebb9@byu.net>
60255
60256         * m4/absolute-header.m4: Fix comments to match recent change.
60257
60258 2006-07-11  Eric Blake  <ebb9@byu.net>
60259
60260         * gnulib-tool: List --doc-base before --tests-base.
60261
60262 2006-07-11  Derek R. Price  <derek@ximbiot.com>
60263
60264         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
60265
60266 2006-07-11  Bruno Haible  <bruno@clisp.org>
60267
60268         * README: Mention where to put documentation.
60269
60270 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60271
60272         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
60273
60274 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
60275
60276         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
60277         to stdint.m4.
60278
60279 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
60280
60281         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
60282         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
60283         "no/such/file/stdint.h" when there is no such file, so that
60284         the resulting C code can be parsed by dodgy compilers.
60285         Problems reported by Bob Proulx.
60286
60287 2006-07-10  Derek R. Price  <derek@ximbiot.com>
60288
60289         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
60290         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
60291         macros into the GNU _D_EXACT_NAMLEN.
60292         * lib/savedir.c:  Likewise.
60293         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
60294
60295 2006-07-10  Derek R. Price  <derek@ximbiot.com>
60296         and Paul Eggert  <eggert@cs.ucla.edu>
60297
60298         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
60299         * m4/savedir.m4:
60300         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
60301         macros into the GNU _D_EXACT_NAMLEN.
60302
60303 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60304
60305         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
60306         around the absolute name, to work around a problem with the HP-UX
60307         11.23 native C compiler, reported by Bob Proulx.
60308
60309 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60310
60311         * doc/maintain.texi, make-stds.texi: Sync from
60312         <http://savannah.gnu.org/projects/gnustandards>.
60313
60314 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60315
60316         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
60317
60318 2006-07-09  Jim Meyering  <jim@meyering.net>
60319
60320         * m4/glob.m4: Remove a doubled word in a comment.
60321
60322 2006-07-09  Jim Meyering  <jim@meyering.net>
60323
60324         * lib/argp-pv.c: Remove a doubled word in a comment.
60325         * lib/check-version.c (check_version): Likewise.
60326         * lib/javacomp.c (compile_java_class): Likewise.
60327
60328 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
60329
60330         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
60331         for the benefit of people using Autoconf 2.60.  If you want to
60332         support older Autoconf versions you can copy m4/onceonly_2_57.m4
60333         (or m4/onceonly.m4, if pre-2.57) manually.
60334
60335 2006-07-08  Jim Meyering  <jim@meyering.net>
60336
60337         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
60338         comment.
60339         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
60340         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
60341         comment.
60342
60343 2006-07-08  Jim Meyering  <jim@meyering.net>
60344
60345         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
60346
60347 2006-07-07  Simon Josefsson  <jas@extundo.com>
60348
60349         * tests/test-crc.c: Change expected crc value, the test vector
60350         were probably computed using the old broken crc.c?
60351
60352 2006-07-06  Simon Josefsson  <jas@extundo.com>
60353
60354         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
60355         now the canonical place for the M4 file).
60356
60357         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
60358         from the sys_socket dependency now.
60359
60360         * modules/inet_pton (Files): Ditto.
60361
60362         * modules/inet_ntop (Files): Ditto.
60363
60364 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60365
60366         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
60367         not gl_PREREQ_GETUSERSHELL.
60368
60369 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60370
60371         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
60372         with only one argument, for Autoconf 2.60.
60373         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
60374         expand to nothing, so add a shell command to avoid syntax error.
60375         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60376
60377 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60378
60379         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
60380
60381 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60382
60383         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
60384         no longer needed.  Check for isblank decl.
60385         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
60386         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
60387         of existence.
60388
60389 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60390
60391         * lib/getloadavg.c: Use __VMS, not VMS.
60392         * lib/getopt.c: Likewise.
60393         * lib/getpagesize.h: Likewise.
60394         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
60395         and probably does not work.
60396
60397 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60398
60399         * lib/.cppi-disable: Add wcwidth.
60400         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
60401         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
60402         (ISGRAPH): Remove.  All uses changed to isgraph.
60403         (FOLD) [!defined _LIBC]: Remove special case.
60404         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
60405         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
60406         HAVE_ISBLANK.
60407         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
60408         case.
60409
60410 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60411
60412         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
60413         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
60414         brackets.  Other minor changes to suppress some compiler
60415         warnings.
60416
60417 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60418         and Paul Eggert  <eggert@cs.ucla.edu>
60419
60420         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
60421         of invoking obsolescent AC_HEADER_DIRENT macro.
60422         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
60423         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
60424         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
60425         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
60426         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
60427         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60428         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
60429         * m4/readdir.m4: Remove; no longer needed.
60430
60431 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60432         and Paul Eggert  <eggert@cs.ucla.edu>
60433
60434         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
60435         Don't worry about this obsolete case any more.
60436         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
60437         directories.
60438         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
60439         worry about this obsolete case any more.
60440         * lib/fts.c: Likewise.
60441         * lib/getcwd.c: Likewise.
60442         * lib/glob.h: Likewise.
60443         * lib/savedir.c: Likewise.
60444
60445 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60446
60447         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
60448         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
60449         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
60450         needed.
60451         All uses removed.
60452         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60453         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60454         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
60455         needed.
60456         * m4/getdate.m4 (gl_GETDATE): Likewise.
60457         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60458         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60459         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60460         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60461         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60462         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60463         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
60464         needed.
60465
60466 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60467
60468         * lib/memcasecmp.c: Include <limits.h>.
60469         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
60470         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
60471         Don't assume isdigit succeeds only on '0' through '9'.
60472
60473 2006-07-05  Eric Blake  <ebb9@byu.net>
60474
60475         * modules/getaddrinfo (Depends-on): Add snprintf.
60476
60477 2006-07-05  Eric Blake  <ebb9@byu.net>
60478
60479         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
60480         to avoid 'header present but could not be compiled' on cygwin.
60481
60482 2006-07-05  Eric Blake  <ebb9@byu.net>
60483
60484         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
60485         missing from netdb.h.
60486         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
60487
60488 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60489
60490         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
60491         no longer needed.
60492         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
60493         * m4/getdate.m4 (gl_GETDATE): Likewise.
60494         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60495         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60496         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60497         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60498         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60499
60500 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60501
60502         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
60503         All uses of is_space replaced by isspace.
60504         * lib/exit.h: Don't talk about STDC_HEADERS.
60505         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
60506         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
60507         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
60508         replaced by isprint etc.
60509         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
60510         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60511         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
60512         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
60513         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
60514         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60515
60516 2006-07-05  Bruno Haible  <bruno@clisp.org>
60517
60518         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
60519         the function exists, before testing against AIX.
60520         Reported by Martin Lambers <marlam@marlam.de>.
60521
60522 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60523
60524         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
60525         From Mark D. Baushke.
60526
60527 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60528
60529         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
60530         to the absolute name, not just one, to bypass Sun C 5.8's
60531         "warning: #include of /usr/include/... may be non-portable".
60532
60533 2006-07-04  Eric Blake  <ebb9@byu.net>
60534
60535         * modules/dirname-tests: New test module.
60536         * tests/test-dirname.c: New file, replacing dirname.c
60537         TEST_DIRNAME section that was recently deleted.
60538
60539 2006-07-04  Bruno Haible  <bruno@clisp.org>
60540
60541         Assume ANSI C header files and <ctype.h> functions.
60542         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
60543         (mbsnwidth): Use isprint, iscntrl instead.
60544
60545 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60546
60547         Merge from coreutils.
60548         * MODULES.html.sh: Add xstrtold.
60549         * modules/xstrtold: New file.
60550         * modules/cycle-check (Files): Add lib/same-inode.h.
60551         * modules/dirname (Files): Add m4/double-slash-root.m4.
60552         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
60553         * modules/mkdir-p (Files): Add lib/same-inode.h.
60554         * modules/same (Files): Add lib/same-inode.h.
60555
60556 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60557
60558         * m4/absolute-header.m4: Renamed from full-header-path.m4.
60559         This is to keep the terminology clean; POSIX talks about
60560         "absolute pathnames", not "full pathnames", but the GNU
60561         Coding Standards say to use "path" for something else;
60562         so use "absolute" to keep both sides happy.
60563         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
60564         Set gl_absolute_header, not gl_full_header_path.
60565         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
60566         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
60567         All uses changed.
60568
60569         Merge from coreutils.
60570
60571         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60572
60573         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
60574         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
60575         want to require the building of c-strtod.o.
60576         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
60577         needs -lm directly.
60578         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
60579
60580         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60581
60582         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
60583         --as-needed option if available.  Problem reported by Albert Chin in
60584         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
60585         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
60586         cc merely issues a bunch of annoying warnings for --as-needed
60587         (this problem was reported by Bob Proulx).  Also, try linking with
60588         -lm to detect a bug in binutils 2.16 (this problem was reported
60589         by Ralf Wildenhues).
60590
60591         2006-06-18  Jim Meyering  <jim@meyering.net>
60592
60593         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
60594         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
60595         macro.
60596         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
60597         also check for glibc-2.4's abort-inducing bug.
60598
60599         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
60600         Low-probability clean-up should be to use rmdir to get rid of
60601         the just-created directory, not unlink.
60602
60603         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
60604         configure fail, and request a bug report to inform us about it.
60605         Add a comment that, barring reports to the contrary, in 2007 we'll
60606         assume ftruncate is universally available.
60607
60608         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60609
60610         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
60611
60612         2006-03-12  Jim Meyering  <jim@meyering.net>
60613
60614         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
60615         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
60616         * m4/same.m4 (gl_SAME): Likewise.
60617         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
60618
60619         2006-03-11  Eric Blake  <ebb9@byu.net>
60620
60621         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
60622         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
60623         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
60624         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
60625
60626 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60627
60628         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
60629         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
60630         reported by Mark D. Baushke, one in
60631         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
60632
60633         Merge from coreutils.
60634
60635         * lib/.cppi-disable: Add stdint_.h.
60636         * lib/.cvsignore: Add stdint.h.
60637
60638         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60639
60640         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
60641         both double and long double versions.
60642         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
60643         * lib/xstrtold.c: New file.
60644         * lib/xstrtod.h (xstrtold): New decl.
60645
60646         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
60647
60648         * lib/filemode.c (setst): Remove.
60649         (strmode): Rewrite to avoid setst.  This makes the code shorter,
60650         (arguably) clearer, and the generated code is a bit smaller on my
60651         Debian GNU/Linux stable x86 host.
60652
60653         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60654
60655         * lib/filemode.c: Include "filemode.h" first, to test the interface.
60656         Assume that filemode.h includes sys/types.h and sys/stat.h.
60657         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
60658         (ftypelet): Reorder to put common cases first, for efficiency.
60659         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
60660         to do 'M'.
60661         (strmode): Renamed from mode_string, and now stores 12 bytes instead
60662         of 10, for compatibility with FreeBSD.  All callers changed.
60663         (filemodestring): Now stores 12 bytes instead of 10, and sets file
60664         types that can't be deduced solely from st_mode.  First arg is now a
60665         const pointer.
60666         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
60667         (strmode): Renamed from mode_string.
60668         (filemodestring): New decl.
60669         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
60670         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
60671         needed.
60672         (S_ISPORT, S_ISWHT): New macros, if not already defined.
60673
60674         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
60675
60676         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
60677         fsusage.h now does that.  Include fsusage.h first, to test interface.
60678         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
60679         at most one method (the old code could have generated decls that
60680         didn't conform to C89, not that this was ever exercised).
60681         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
60682
60683         2006-03-19  Jim Meyering  <jim@meyering.net>
60684
60685         Work even in a chroot where d_ino values for entries in "/"
60686         don't match the stat.st_ino values for the same names.
60687         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
60688         number, iterate through all entries again, using lstat instead.
60689         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
60690         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
60691
60692         * lib/getcwd.c (__getcwd): Clarify a comment.
60693         Use memcpy in place of a call to strcpy.
60694
60695         2006-03-12  Jim Meyering  <jim@meyering.net>
60696
60697         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
60698         matches that of the current directory (which we're about to chdir ".."
60699         out of), then save the dev-ino of the parent, instead.
60700
60701         * lib/same-inode.h (SAME_INODE): New file/macro.
60702         * lib/chdir-safer.c (SAME_INODE): Remove definition.
60703         Include "same-inode.h", instead.
60704         * lib/same.c: Likewise.
60705         * lib/cycle-check.h: Include "same-inode.h".
60706         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
60707         * lib/cycle-check.c (SAME_INODE): Remove definition.
60708         * lib/root-dev-ino.h: Include "same-inode.h".
60709
60710         2006-03-11  Eric Blake  <ebb9@byu.net>
60711
60712         * lib/same.c (same_name): s/base_name/last_component/
60713         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
60714         * lib/filenamecat.c (file_name_concat): Likewise.
60715
60716         2006-03-11  Eric Blake  <ebb9@byu.net>,
60717                     Paul Eggert  <eggert@cs.ucla.edu>
60718
60719         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
60720         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
60721         drive prefix.
60722         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
60723         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
60724         (last_component): New method.
60725         * lib/dirname.c (dir_len): Determine when drive letters need a
60726         subsequent slash.  Preserve // when it is special.
60727         (dir_name): Don't append dot when drive letter is absolute.
60728         [TEST_DIRNAME]: Move into a full-blown gnulib test.
60729         * lib/basename.c (base_name): New semantics - malloc the result.
60730         Preserve // when it is special.  Preserve relative files that look
60731         like drive letters.
60732         (base_len): Preserve // when it is special.
60733         (last_component): New method, similar to old base_name semantics.
60734         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
60735         base_name.  Strip redundant slashes from ///.
60736
60737 2006-07-03  Jim Meyering  <jim@meyering.net>
60738
60739         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
60740         macro is used before the first cycle_check call.
60741
60742 2006-07-03  Eric Blake  <ebb9@byu.net>
60743
60744         * modules/dirname (Depends-on): Add xstrndup.
60745
60746 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60747
60748         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
60749         test cases, so that config.log is a bit easier to follow.
60750
60751 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60752
60753         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
60754         both are 64 bits, since this seems to be the tradition, and this
60755         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
60756         we ever run into a host that prefers long long to long in this
60757         case, we'll need another configure-time test.  Problem reported by
60758         Jim Meyering.
60759
60760 2006-07-02  Eric Blake  <ebb9@byu.net>
60761
60762         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
60763
60764 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60765
60766         * modules/inttypes (Depends-on): No longer depends on stdint.
60767         * modules/stdint (Description): Say more about assumptions.
60768         Say that the fast types might differ.  Say macros are used.
60769         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
60770         (Makefile.am): Revise list of substituted symbols to match
60771         new stdint.m4.
60772         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
60773         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
60774         * tests/test-stdint.c (verify_same_types)
60775         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
60776         the code conforms to C99/C89.
60777         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
60778         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
60779
60780 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60781
60782         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
60783         but fix a bug, by requiring at least 64 bits.
60784         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60785         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
60786         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
60787         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
60788
60789         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
60790         changes.  Make 2.59 a prerequisite.  Check and substitute for
60791         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
60792         inttypes.h.  Do not use special include files; just use the
60793         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
60794         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
60795         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
60796         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
60797         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
60798         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
60799         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
60800         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
60801         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
60802         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
60803         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
60804         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
60805         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
60806         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
60807         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
60808         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
60809         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
60810         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
60811         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
60812         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
60813         WINT_MAX.  Check for C99 conformance more strictly, by detecting
60814         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
60815         not check for things that C99 does not require, e.g., int8_t.  If
60816         a test isn't needed unless <stdint.h> isn't working, and is
60817         unlikely to be needed for any other reason, then don't do it
60818         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
60819         size_t, since we assume C89 freestanding at least.  Do not check
60820         for sig_atomic_t, wchar_t, or wint_t, since the code now does
60821         the right thing even if the types are not defined.  Instead use:
60822         (gl_STDINT_TYPE_PROPERTIES): New macro.
60823         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
60824         testing whether <sys/types.h> clashes, as Autoconf does this for
60825         us now.  All uses removed.
60826         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
60827         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
60828         (gl_CHECK_TYPE_SAME):
60829         Remove; no longer needed.
60830         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
60831         exists, since we'll return 0 anyway in that case.
60832         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
60833
60834 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60835
60836         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
60837         possible collision with system files.
60838         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
60839         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
60840         WCHAR_MIN and WCHAR_MAX in this case.
60841         (<stddef.h>): Do not include; no longer needed.
60842         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
60843         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
60844         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
60845         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
60846         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
60847         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
60848         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
60849         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
60850         !defined(__c99))]: Include in this case too, since it's harmless
60851         now.
60852         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
60853         dangerous to do so.
60854         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
60855         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
60856         (_STDINT_MIN, _STDINT_MAX): New macros.
60857         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
60858         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
60859         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
60860         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
60861         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
60862         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
60863         macros, not typedefs; this simplifies things quite a bit.
60864         Use long int for all types narrower than int64_t.
60865         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
60866         Define in terms of long long int or int64_t or long int,
60867         not int64_t or int32_t.  This saves some compile-time testing.
60868         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
60869         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
60870         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
60871         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
60872         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
60873         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
60874         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
60875         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
60876         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
60877         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
60878         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60879         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60880         undef any previous version and define our own version, for
60881         simplicity and consistency with the new macros for types.
60882         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60883         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60884         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
60885         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
60886         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
60887         @WINT_T_SUFFIX@ to keep things simple here.
60888         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
60889         Simplify by assuming typical 8/16/32/64 host, since we're
60890         already doing that elsewhere anyway.
60891         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
60892         and assume long long int is 64 bits if available.  This
60893         speeds up 'configure'.
60894
60895 2006-07-01  Eric Blake  <ebb9@byu.net>
60896
60897         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
60898         Reported by Andreas Buening.
60899
60900 2006-07-01  Eric Blake  <ebb9@byu.net>
60901
60902         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
60903
60904 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60905
60906         * lib/getaddrinfo.c: fixed typo
60907
60908 2006-06-29  Jim Meyering  <jim@meyering.net>
60909
60910         * modules/strftime (Maintainer): Add my name, since with the
60911         FPRINTFTIME changes strftime.c has forked from glibc.
60912
60913 2006-06-29  Eric Blake  <ebb9@byu.net>
60914
60915         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
60916
60917 2006-06-29  Eric Blake  <ebb9@byu.net>
60918
60919         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
60920
60921 2006-06-29  Eric Blake  <ebb9@byu.net>
60922
60923         * lib/stat_.h: New file.
60924
60925 2006-06-29  Eric Blake  <ebb9@byu.net>
60926
60927         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
60928         unused static function.
60929
60930 2006-06-29  Eric Blake  <ebb9@byu.net>
60931
60932         * doc/functions.texi (Function Portability): Document missing lstat
60933         on mingw.
60934
60935 2006-06-29  Eric Blake  <ebb9@byu.net>
60936
60937         * MODULES.html.sh: Add sys_stat.
60938         * modules/sys_stat: New module.
60939         * modules/mkstemp (Depends-on): Add sys_stat.
60940
60941 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60942
60943         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
60944
60945 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60946
60947         * m4/c-bs-a.m4: Removed.
60948
60949 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60950
60951         * lib/strftime.c: Assume strftime() exists.
60952
60953 2006-06-29  Derek Price  <derek@ximbiot.com>
60954
60955         * modules/c-bs-a: Removed - \a is C89.
60956         * MODULES.html.sh: Remove c-bs-a.
60957
60958 2006-06-29  Bruno Haible  <bruno@clisp.org>
60959
60960         * modules/wcwidth (License): Change to LGPL.
60961
60962 2006-06-28  Simon Josefsson  <jas@extundo.com>
60963
60964         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
60965         on _WIN32.
60966
60967         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
60968         getnameinfo.
60969
60970 2006-06-28  Simon Josefsson  <jas@extundo.com>
60971
60972         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
60973
60974 2006-06-28  Simon Josefsson  <jas@extundo.com>
60975
60976         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
60977         functions there.  It will succeed on Windows XP, but on Windows
60978         2000 and (presumably) earlier, it will fail, and use the internal
60979         re-implementation.
60980         (use_win32_p): New function.
60981         (getaddrinfo): Use strtoul on servname, to support numeric ports.
60982         Support AI_NUMERICSERV to disable getservbyname.
60983         (getnameinfo): New function, only supports
60984         NI_NUMERICHOST|NI_NUMERICSERV for now.
60985
60986         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
60987         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
60988         getnameinfo.
60989
60990 2006-06-28  Eric Blake  <ebb9@byu.net>
60991
60992         * modules/wcwidth: New file.
60993         * modules/mbchar (Depends-on): Add wcwidth.
60994         * modules/mbswidth (Depends-on): Add wcwidth.
60995         * MODULES.html.sh: Add wcwidth.
60996
60997 2006-06-28  Eric Blake  <ebb9@byu.net>
60998
60999         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
61000         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
61001
61002 2006-06-28  Eric Blake  <ebb9@byu.net>
61003
61004         * lib/xvasprintf.h: Fix comments.
61005
61006 2006-06-28  Eric Blake  <ebb9@byu.net>
61007
61008         * lib/mbchar.h (wcwidth): Include wcwidth.h.
61009         * lib/mbswidth.c (wcwidth): Move from here...
61010         * lib/wcwidth.h: ...to this new file.
61011
61012 2006-06-28  Derek R. Price  <derek@ximbiot.com>
61013
61014         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
61015
61016         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
61017         it's obsolete.
61018         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
61019
61020 2006-06-28  Derek R. Price  <derek@ximbiot.com>
61021
61022         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
61023         Autoconf 2.60 says this stuff was obsolete.
61024
61025 2006-06-28  Bruno Haible  <bruno@clisp.org>
61026
61027         * modules/wcwidth (Files): Add m4/wchar_t.m4.
61028
61029 2006-06-28  Bruno Haible  <bruno@clisp.org>
61030
61031         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
61032         gt_TYPE_WCHAR_T.
61033
61034 2006-06-28  Bruno Haible  <bruno@clisp.org>
61035
61036         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
61037         declaration for wcwidth.
61038         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
61039
61040 2006-06-28  Bruno Haible  <bruno@clisp.org>
61041
61042         * lib/mkdtemp.c [MINGW]: Include <io.h>.
61043         (mkdir): Define using _mkdir.
61044
61045 2006-06-28  Bruno Haible  <bruno@clisp.org>
61046
61047         * lib/getaddrinfo.h: Fix POSIX URL.
61048         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
61049         _WIN32.
61050         (use_win32_p): Make static.
61051         (getaddrinfo): Reject service name if it is empty or does not consist
61052         solely of decimal digits, or if its value is > 65535.
61053         (getnameinfo): Remove useless casts.
61054
61055 2006-06-27  Simon Josefsson  <jas@extundo.com>
61056
61057         * modules/sys_select: New file, suggested by Bruno Haible, Paul
61058         Eggert and Martin Lambers.
61059
61060 2006-06-27  Simon Josefsson  <jas@extundo.com>
61061
61062         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
61063         Eggert and Martin Lambers.
61064
61065 2006-06-27  Bruno Haible  <bruno@clisp.org>
61066
61067         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
61068         result to 0, not to empty.
61069         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
61070
61071 2006-06-27  Bruno Haible  <bruno@clisp.org>
61072
61073         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
61074
61075 2006-06-26  Simon Josefsson  <jas@extundo.com>
61076
61077         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
61078         present.
61079
61080 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
61081
61082         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
61083         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
61084         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
61085
61086 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
61087
61088         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
61089
61090 2006-06-26  Bruno Haible  <bruno@clisp.org>
61091
61092         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
61093
61094 2006-06-26  Bruno Haible  <bruno@clisp.org>
61095
61096         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
61097
61098 2006-06-26  Bruno Haible  <bruno@clisp.org>
61099
61100         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
61101         SGI C compiler in pre-C99 mode.
61102         Suggested by Mark D. Baushke and Larry Jones.
61103
61104 2006-06-26  Bruno Haible  <bruno@clisp.org>
61105
61106         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
61107         WCHAR_MAX.
61108         Reported by Mark D. Baushke and Larry Jones.
61109
61110 2006-06-26  Bruno Haible  <bruno@clisp.org>
61111
61112         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
61113         in pre-C99 mode.
61114         Suggested by Mark D. Baushke and Larry Jones.
61115
61116 2006-06-23  Simon Josefsson  <jas@extundo.com>
61117             Bruno Haible  <bruno@clisp.org>
61118
61119         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
61120         Emit mostlyclean-local rule.
61121         (func_emit_tests_Makefile_am): Likewise.
61122         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
61123
61124 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
61125
61126         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
61127
61128 2006-06-23  Bruno Haible  <bruno@clisp.org>
61129
61130         * tests/test-stdint.c: Update to match ISO C 99 Technical
61131         Corrigendum 1.
61132
61133 2006-06-23  Bruno Haible  <bruno@clisp.org>
61134
61135         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
61136
61137 2006-06-23  Bruno Haible  <bruno@clisp.org>
61138
61139         * lib/stdint_.h: Treat IRIX like OpenBSD.
61140
61141 2006-06-23  Bruno Haible  <bruno@clisp.org>
61142
61143         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
61144         ISO C 99 Technical Corrigendum 1.
61145
61146 2006-06-22  Simon Josefsson  <jas@extundo.com>
61147
61148         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
61149         MinGW.
61150
61151 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61152
61153         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
61154         needed.  Some compiler complained about some of them.  Problem reported
61155         by Larry Jones in
61156         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
61157
61158 2006-06-21  Simon Josefsson  <jas@extundo.com>
61159
61160         * tests/test-getaddrinfo.c: New file.
61161
61162         * modules/getaddrinfo-tests: New file.
61163
61164         * MODULES.html.sh: Add inet_pton.
61165
61166         * modules/inet_pton: New file.
61167
61168 2006-06-21  Simon Josefsson  <jas@extundo.com>
61169
61170         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
61171         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
61172         of using the (limited) gnulib implementation on Windows XP.
61173
61174         * m4/inet_pton.m4: New file.
61175
61176 2006-06-21  Simon Josefsson  <jas@extundo.com>
61177
61178         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
61179         variable.
61180
61181         * lib/socket_.h: Don't define WINVER.
61182
61183         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
61184         slightly modified to work in gnulib.
61185
61186 2006-06-21  Simon Josefsson  <jas@extundo.com>
61187
61188         * doc/gnulib.texi (Windows sockets): Add.
61189
61190 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61191
61192         * lib/read-file.c (fread_file): Start with buffer allocation of
61193         0 bytes rather than 1 byte; this simplifies the code.
61194         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
61195         code to free buffer and save/restore errno.
61196         (internal_read_file): Remove unused local.
61197
61198 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61199
61200         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
61201         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
61202         Problem reported by Denis Excoffier in
61203         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
61204
61205 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61206
61207         * modules/sys_socket, modules/socklen: Include sys/types since
61208         FreeBSD 4.x's sys/socket.h needs it.
61209
61210 2006-06-19  Simon Josefsson  <jas@extundo.com>
61211
61212         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
61213
61214 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61215
61216         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
61217
61218 2006-06-19  Bruno Haible  <bruno@clisp.org>
61219
61220         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
61221         and FULL_PATH_INTTYPES_H in angle brackets.
61222         Reported by Mark D. Baushke <mdb@gnu.org>.
61223
61224 2006-06-17  Eric Blake  <ebb9@byu.net>
61225
61226         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
61227         errno.
61228
61229 2006-06-17  Bruno Haible  <bruno@clisp.org>
61230
61231         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
61232         <sys/inttypes.h>.
61233
61234 2006-06-17  Bruno Haible  <bruno@clisp.org>
61235
61236         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
61237         whether errno is declared. Assume <errno.h> declares errno.
61238
61239 2006-06-17  Bruno Haible  <bruno@clisp.org>
61240
61241         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
61242
61243 2006-06-17  Bruno Haible  <bruno@clisp.org>
61244
61245         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
61246         problem on Solaris 2.5.1.
61247
61248 2006-06-16  Eric Blake  <ebb9@byu.net>
61249
61250         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
61251         * lib/unicodeio.c [!defined errno]: Likewise.
61252         * lib/strtol.c [!defined errno]: Likewise.
61253         * lib/strtod.c [!defined errno]: Likewise.
61254
61255 2006-06-15  Eric Blake  <ebb9@byu.net>
61256
61257         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
61258
61259 2006-06-15  Eric Blake  <ebb9@byu.net>
61260
61261         * config/srclist.txt (ssize_t.m4): Lose sync.
61262
61263 2006-06-15  Bruno Haible  <bruno@clisp.org>
61264
61265         * modules/stdint (Files): Include m4/full-header-path.m4,
61266         m4/size_max.m4, m4/wchar_t.m4.
61267         (Makefile.am): Many more substitutions.
61268         * modules/stdint-tests: New file.
61269         * tests/test-stdint.c: New file.
61270
61271 2006-06-15  Bruno Haible  <bruno@clisp.org>
61272
61273         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
61274         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
61275         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
61276         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
61277         gl_CHECK_TYPE_SAME): New macros.
61278
61279 2006-06-15  Bruno Haible  <bruno@clisp.org>
61280
61281         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
61282
61283 2006-06-15  Bruno Haible  <bruno@clisp.org>
61284
61285         * lib/stdint_.h: Rewritten to be fully auto-configured.
61286         Fixes bug on HP-UX/IA64.
61287
61288 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
61289
61290         * lib/getdate.y (__attribute__): Don't define if already defined.
61291         Problem reported by Larry Jones.
61292         * lib/utimens.c (__attribute__): Likewise.
61293
61294 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
61295
61296         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
61297         reported by Andreas Schwab.
61298
61299 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61300             Bruno Haible  <bruno@clisp.org>
61301
61302         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
61303         check for the declaration of strnlen and a run test that exposes the
61304         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
61305         rpl_strndup.
61306
61307 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61308             Bruno Haible  <bruno@clisp.org>
61309
61310         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
61311
61312 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61313
61314         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
61315         compile test, for Tru64 4.0D.
61316
61317 2006-05-28  Karl Berry  <karl@gnu.org>
61318
61319         * config/srclist.txt (printf-args.c): lose sync.
61320
61321 2006-05-26  Martin Lambers  <marlam@marlam.de>
61322
61323         * lib/getpass.c: Updates the test for the native W32 API, and adds
61324         missing includes, thus fixing compilation warnings.
61325
61326 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61327
61328         * lib/exclude.c (exclude_fnmatch): New function.
61329         (excluded_file_name): Call exclude_fnmatch.
61330         * lib/exclude.h (excluded_file_name): New prototype
61331
61332 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
61333
61334         * lib/tempname.c (small_open, large_open): New macros.
61335         (__open, __open64) [!_LIBC]: Remove.
61336         (__gen_tempname): Use small_open and large_open instead of __open
61337         and __open64.  This fixes a portability bug on HP-UX 11.11i
61338         reported by Simon Wing-Tang in
61339         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
61340
61341 2006-05-24  Bruno Haible  <bruno@clisp.org>
61342
61343         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
61344         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
61345         Reported by Thorsten Maerz <torte@netztorte.de> via
61346         Aaron Stone <aaron@serendipity.cx>.
61347
61348 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61349
61350         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
61351         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
61352         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
61353         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
61354         not really conditional on the cache.
61355         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
61356
61357 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61358
61359         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
61360         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
61361         (my_usleep): Don't mishandle maximum value.
61362
61363 2006-05-19  Jim Meyering  <jim@meyering.net>
61364
61365         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
61366
61367 2006-05-17  Bruno Haible  <bruno@clisp.org>
61368
61369         Cygwin portability.
61370         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
61371
61372 2006-05-17  Bruno Haible  <bruno@clisp.org>
61373
61374         * lib/stdint_.h: Fix recognition of Cygwin.
61375
61376 2006-05-15  Bruno Haible  <bruno@clisp.org>
61377
61378         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
61379         on libtool patch by Ralf Wildenhues.
61380
61381 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
61382
61383         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
61384         test for C99 conformance; (bool) 0.5 is an integer constant
61385         expression, but (bool) -0.5 is not.  Problem reported by Fedor
61386         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
61387
61388 2006-05-11  Simon Josefsson  <jas@extundo.com>
61389
61390         * m4/xvasprintf.m4: Fix obvious typo.
61391
61392 2006-05-11  Jim Meyering  <jim@meyering.net>
61393
61394         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
61395         James Lemley.
61396
61397 2006-05-10  Simon Josefsson  <jas@extundo.com>
61398
61399         * lib/md4.c: Typo fix, update copyright years.
61400         (K1, K2): Don't use L because it turn computations into 64-bit on
61401         64-bit platforms.
61402
61403 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
61404
61405         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
61406         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
61407         unwanted sign propagation, e.g., on hosts with 64-bit int.
61408         There still are some problems with reeelly weird theoretical hosts
61409         (e.g., 33-bit int) but it's not worth worrying about now.
61410         * lib/sha1.c (rol): Likewise.
61411         (K1, K2, K3, K4): Remove unnecessary L suffix.
61412
61413 2006-05-10  Bruno Haible  <bruno@clisp.org>
61414
61415         * lib/des.c: Cast to avoid warnings.
61416
61417 2006-05-09  Bruno Haible  <bruno@clisp.org>
61418
61419         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
61420         (Depends-on): Depend also on xsize, stdarg.
61421         (configure.ac): Add gl_XVASPRINTF.
61422
61423 2006-05-09  Bruno Haible  <bruno@clisp.org>
61424
61425         * m4/xvasprintf.m4: New file.
61426
61427 2006-05-09  Bruno Haible  <bruno@clisp.org>
61428
61429         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
61430         (EOVERFLOW): Define fallback value.
61431         (xstrcat): New function.
61432         (xvasprintf): Recognize the special case of a string concatenation.
61433
61434 2006-05-08  Eric Blake  <ebb9@byu.net>
61435
61436         * gnulib-tool (func_version): Base copyright year on CVS date.
61437         (func_emit_copyright_notice): New function.
61438         (func_emit_lib_Makefile_am): Use it.
61439         (func_emit_tests_Makefile_am): Likewise.
61440         (func_import): Likewise.
61441
61442 2006-05-08  Bruno Haible  <bruno@clisp.org>
61443
61444         * modules/stdarg: New file.
61445         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
61446
61447 2006-05-08  Bruno Haible  <bruno@clisp.org>
61448
61449         * m4/stdarg.m4: New file, from GNU gettext.
61450
61451 2006-05-08  Bruno Haible  <bruno@clisp.org>
61452
61453         * config/srclist.txt (build-aux/config.rpath): different from latest
61454         release.
61455
61456 2006-05-08  Bruno Haible  <bruno@clisp.org>
61457
61458         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
61459
61460 2006-05-05  Jim Meyering  <jim@meyering.net>
61461
61462         * m4/warning.m4: New file, derived from bison's file by the same name.
61463
61464 2006-05-03  Bruno Haible  <bruno@clisp.org>
61465
61466         * lib/stdint_.h: Shorter URL.
61467         * lib/inttypes.h: Likewise.
61468
61469 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61470
61471         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
61472
61473 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61474
61475         * lib/verify.h: Document the internals better.  Most of this change
61476         was written by Bruno Haible.
61477
61478 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61479
61480         * doc/verify.texi: New file, partly based on a proposal by
61481         Bruno Haible.
61482
61483 2006-05-02  Bruno Haible  <bruno@clisp.org>
61484
61485         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
61486         test from here...
61487         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
61488
61489 2006-04-29  Bruno Haible  <bruno@clisp.org>
61490
61491         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
61492         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
61493
61494 2006-04-29  Bruno Haible  <bruno@clisp.org>
61495
61496         * gnulib-tool: Make --update option actually work.
61497
61498 2006-04-29  Bruno Haible  <bruno@clisp.org>
61499
61500         * doc/gcd.texi: New file.
61501         * doc/gnulib.texi: Include it.
61502
61503 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
61504
61505         * lib/getdate.y (get_date): When adding relative date, start with the
61506         initial time, not with the result of the first mktime call.
61507
61508 2006-04-25  Bruno Haible  <bruno@clisp.org>
61509
61510         * gnulib-tool (func_import): Output the include directives in three
61511         blocks, sorted separately.
61512         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61513
61514 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61515
61516         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
61517         to define main with arguments, for C++.  Reported by Eric Blake.
61518         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
61519         Prefer 'int main ()' to 'int main (void)', for C++.
61520         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
61521         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
61522         for 'main', for C99 and C++.
61523
61524 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61525
61526         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
61527         Don't assume that exit status -1 is valid.
61528         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61529         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
61530         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
61531         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
61532         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
61533         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
61534         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
61535         functions can be used without declaring them, or that you can
61536         exit with status -1.
61537         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
61538
61539 2006-04-24  Karl Berry  <karl@gnu.org>
61540
61541         * config/srclist.txt (longdouble.m4): sync lost.
61542
61543 2006-04-24  Eric Blake  <ebb9@byu.net>
61544
61545         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
61546
61547 2006-04-24  Bruno Haible  <bruno@clisp.org>
61548
61549         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
61550         poll() implementation in AIX.
61551         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61552
61553 2006-04-24  Bruno Haible  <bruno@clisp.org>
61554
61555         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
61556         assigned exactly once.
61557
61558 2006-04-23  Claudio Fontana  <claudio@gnu.org>
61559             Bruno Haible  <bruno@clisp.org>
61560
61561         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
61562         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
61563         for AM_CPPFLAGS.
61564
61565 2006-04-23  Bruno Haible  <bruno@clisp.org>
61566
61567         * modules/copy-file: Depend on unistd.
61568         * modules/execute: Likewise.
61569         * modules/fatal-signal: Likewise.
61570         * modules/findprog: Likewise.
61571         * modules/mkdtemp : Likewise.
61572         * modules/pipe: Likewise.
61573         * modules/wait-process: Likewise.
61574
61575 2006-04-23  Bruno Haible  <bruno@clisp.org>
61576
61577         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
61578         condition was already detected.
61579         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61580
61581 2006-04-23  Bruno Haible  <bruno@clisp.org>
61582
61583         * lib/copy-file.c: Include <unistd.h> unconditionally.
61584         * lib/execute.c: Likewise.
61585         * lib/fatal-signal.c: Likewise.
61586         * lib/findprog.c: Likewise.
61587         * lib/mkdtemp.c: Likewise.
61588         * lib/pipe.h: Likewise.
61589         * lib/pipe.c: Likewise.
61590         * lib/wait-process.h: Likewise.
61591
61592 2006-04-23  Bruno Haible  <bruno@clisp.org>
61593
61594         * gnulib-tool (func_usage): Fix --import description. Document
61595         --update.
61596         (func_import): Create temporary file in a temporary directory, if
61597         --dry-run is specified. Silence errors from 'grep' when there are no
61598         m4 files in $m4dir.
61599         (func_create_testdir): Silence errors from 'grep' when there are no
61600         m4 files in $m4dir.
61601         Reported by Karl Berry <karl@freefriends.org>.
61602
61603 2006-04-20  Bruno Haible  <bruno@clisp.org>
61604
61605         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
61606         one argument, so that the code will be portable to Autoconf 2.60.
61607         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
61608         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61609         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
61610
61611 2006-04-19  Derek Price  <derek@ximbiot.com>
61612             Eric Blake  <ebb9@byu.net>
61613
61614         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
61615         rather than "/full/path.h".  Update comment to match.  Shorten &
61616         generalize m4_translit call via AS_TR_CPP.
61617
61618 2006-04-19  Derek Price  <derek@ximbiot.com>
61619             Eric Blake  <ebb9@byu.net>
61620
61621         * lib/inttypes.h: Correct grammar in comment.
61622
61623 2006-04-18  Derek Price  <derek@ximbiot.com>
61624             Paul Eggert  <eggert@cs.ucla.edu>
61625
61626         * modules/inttypes: New file.
61627         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
61628
61629 2006-04-18  Derek Price  <derek@ximbiot.com>
61630             Paul Eggert  <eggert@cs.ucla.edu>
61631
61632         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
61633         New files.
61634
61635 2006-04-18  Derek Price  <derek@ximbiot.com>
61636             Paul Eggert  <eggert@cs.ucla.edu>
61637
61638         * lib/inttypes.h: New file.
61639         * lib/strtoimax.c: Assume <inttypes.h>.
61640
61641 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
61642
61643         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
61644         isn't mounted.  Problem reported by Kir Kolyshkin.
61645
61646 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
61647
61648         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
61649         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
61650         Derek R. Price.
61651         * lib/regex.h (RE_DUP_MAX): Update comment to match current
61652         implementation.
61653
61654 2006-04-12  Eric Blake  <ebb9@byu.net>
61655
61656         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
61657         is now done automatically by the corresponding Autoconf macro.
61658
61659 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
61660
61661         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
61662         time_r.h.
61663
61664 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61665
61666         Merge regex changes from libc, removing some of our
61667         POSIX-conformance changes that were rejected and redoing them in a
61668         less-intrusive way.
61669
61670         * lib/regcomp.c (re_compile_internal, init_dfa):
61671         Length arg is now size_t, not Idx.  All uses changed.
61672         (peek_token): Forward decl now says internal_function.
61673         (__re_error_msgid, __re_error_msgid_idx):
61674         Now static rather than extern with attribute_hidden.
61675         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
61676         For some reason libc prefers K&R style defns for external functions.
61677         (regerror) [!defined _LIBC]: Likewise.
61678         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
61679         (seek_collating_symbol_entry, lookup_collation_sequence_value):
61680         (build_range_exp, build_collating_symbol):
61681         Use K&R-style defn.
61682         (re_compile_fastmap): Use '\0' to memset, not 0.
61683         (utf8_sb_map): Make the calculations more obvious.
61684         (init_dfa, parse_bracket_exp, build_charclass_op):
61685         Call calloc and cast result, as glibc does.
61686         (init_word_char, fetch_token, peek_token, peek_token_bracket):
61687         (build_range_exp, build_collating_symbol):
61688         Now internal functions.
61689
61690         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
61691
61692         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
61693         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
61694         Don't depend on VMS; depend on __VMS instead, for POSIX
61695         namespace cleanness.
61696         (regoff_t): Define to ssize_t, not long int.
61697
61698         Remove the REG_ macros named below.  Instead, make the old names
61699         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
61700         __USE_GNU_REGEX.
61701         (REG_BACKSLASH_ESCAPE_IN_LISTS):
61702         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
61703         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
61704         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
61705         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
61706         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
61707         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
61708         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
61709         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
61710         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
61711         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
61712         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
61713         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
61714         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
61715         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
61716         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
61717         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
61718         (REG_NREGS):
61719         Remove.  All uses replaced by the old RE_* names.
61720         (RE_BACKSLASH_ESCAPE_IN_LISTS):
61721         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
61722         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
61723         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
61724         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
61725         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
61726         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
61727         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
61728         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
61729         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
61730         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
61731         Don't bother having these macros be independent of each others'
61732         values, since they no longer exist in the POSIX name space.
61733
61734         Rename the following member names back to their old names,
61735         unless !__USE_GNU_REGEX.  All uses changed back.
61736         (buffer): Renamed from re_buffer.
61737         (allocated): Renamed from re_allocated.
61738         (used): Renamed from re_used.
61739         (syntax): Renamed from re_syntax.
61740         (fastmap): Renamed from re_fastmap.
61741         (translate): Renamed from re_translate.
61742         (can_be_null): Renamed from re_can_be_null.
61743         (regs_allocated): Renamed from re_regs_allocated.
61744         (fastmap_accurate): Renamed from re_fastmap_accurate.
61745         (no_sub): Renamed from re_no_sub.
61746         (not_bol): Renamed from re_not_bol.
61747         (not_eol): Renamed from re_not_eol.
61748         (newline_anchor): Renamed from re_newline_anchor.
61749         (num_regs): Renamed from rm_num_regs.
61750         (start): Renamed from rm_start.
61751         (end): Renamed from rm_end.
61752
61753         (free_state): Move up a bit.
61754
61755         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
61756         #define to be empty.
61757         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
61758         when that is what is intended.
61759         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
61760         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
61761         (MAX): New macro.
61762         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
61763         All uses changed back to re_malloc, etc.  It's now the caller's
61764         responsibility to check for overflow; all callers changed.
61765         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
61766         (re_x2nrealloc): Remove.
61767         (free_state): Remove decl.
61768
61769         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
61770         (re_set_registers, re_exec):
61771         Use K&R-style defn.
61772
61773         2006-01-31  Roland McGrath  <roland@redhat.com>
61774
61775         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
61776         Reported by Mike Frysinger <vapier@gentoo.org>.
61777
61778         2006-01-15  Andreas Jaeger  <aj@suse.de>
61779
61780         [BZ #1950]
61781         * lib/regex_internal.c (re_string_reconstruct): Adjust for
61782         build_wcs_upper_buffer change.
61783         (build_wcs_upper_buffer): Change return type.
61784
61785         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
61786
61787         * lib/regex_internal.h: Include <stdint.h> if available.
61788
61789         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
61790
61791         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
61792
61793         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
61794
61795         * lib/regcomp.c: Adjust for changed secondary hash function.
61796
61797         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
61798
61799         * lib/regex.h: Pretty printing.
61800         Clean up namespace a bit.
61801
61802         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
61803
61804         * lib/regexec.c (update_cur_sifted_state, check_arrival,
61805         check_arrival_add_next_nodes): Avoid using uninitialized variable.
61806
61807         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61808                     Ulrich Drepper  <drepper@redhat.com>
61809
61810         [BZ #1302]
61811         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
61812         changed.
61813         (bitset_word_t): Renamed from bitset_word.  All uses changed.
61814
61815         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
61816
61817         [BZ #281]
61818         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
61819         * lib/regcomp.c: Remove unnecessary uses of
61820         unsigned RE_TRANSLATE_TYPE.
61821         * lib/regex_internal.h: Likewise.
61822         * lib/regex_internal.c: Likewise.
61823         * lib/regexec.c: Likewise.
61824         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
61825
61826         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
61827
61828         * lib/regexec.c (find_recover_state): Remove unnecessary
61829         initialization.
61830         (transit_state_bkref): Make DFA a const pointer.
61831         (get_subexp): Likewise.
61832         (check_arrival): Likewise.
61833         (update_cur_sifted_state): Likewise.
61834         (re_search_internal): Likewise.
61835         (prune_impossible_nodes): Likewise.
61836         (acquire_init_state_context): Likewise.
61837         (proceed_next_node): Likewise.
61838         (set_regs): Likewise.
61839         (free_fail_stack_return): Likewise.
61840         (check_arrival_expand_ecl): Mark DFA parameter as const.
61841         (check_arrival_expand_ecl_sub): Likewise.
61842         (check_subexp_limits): Likewise.
61843         (sub_epsilon_src_nodes):  Likewise.
61844         (add_epsilon_src_nodes):  Likewise.
61845         (merge_state_array): Likewise.
61846         (update_regs): Likewise.
61847         (build_trtable): Likewise.
61848         (sift_states_backward): Mark MCTX parameter as const.
61849         (build_sifted_states): Likewise.
61850         (update_cur_sifted_state): Likewise.
61851         (sift_states_mkref): Likewise.
61852         (check_arrival_expand_ecl): Mark eclosure as const.
61853         (check_dst_limits_calc_pos_1): Likewise.
61854         * lib/regex_internal.h (re_match_context_t): Make dfa a const
61855         pointer.
61856
61857         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
61858
61859         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
61860         (transit_state_sb): Likewise.
61861         (transit_state_mb): Likewise.
61862         (sift_states_iter_mb): Likewise.
61863         (check_arrival_add_next_nodes): Likewise.
61864         (check_node_accept_bytes): Change first parameter to pointer-to-const.
61865         [_LIBC] (re_search_2_stub): Use mempcpy.
61866
61867         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
61868         mbrtowc for very simple UTF-8 case.
61869
61870         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
61871         a pointer-to-const.
61872         (re_acquire_state_context): Likewise.
61873         * lib/regex_internal.h: Adjust prototypes.
61874
61875         * lib/regex.c: Prevent using C++ compilers.
61876
61877         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
61878         (re_acquire_state_context): Likewise.
61879
61880 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61881
61882         * modules/regex (Depends-on): Add ssize_t.
61883
61884 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61885
61886         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
61887         translation table.
61888
61889 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61890
61891         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
61892
61893 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
61894             Bruno Haible  <bruno@clisp.org>
61895
61896         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
61897         <sys/types.h> and <inttypes.h>.
61898
61899 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61900
61901         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
61902         `__error_t_defined', so argp.h will not typedef the former.
61903
61904 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
61905
61906         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
61907         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
61908         glibc names.  Even if glibc is changed to conform to POSIX, the
61909         traditional names will be available anyway, since regex depends on
61910         the extensions module.  Also, fix a longstanding typo in the
61911         implementation of Spencer ERE test #75 from grep 2.3.  Problems
61912         reported by Emanuele Giaquinta.  Also, change sense of cached
61913         variable, so that the message makes sense.
61914
61915 2006-03-24  Simon Josefsson  <jas@extundo.com>
61916
61917         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
61918         including some doc fixes.
61919         (base64_encode_alloc): Fix +1 bug on allocation failures.
61920
61921 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61922
61923         * lib/base64.c (base64_encode): Do not read past end of array with
61924         unsanitized input on systems with CHAR_BIT > 8.
61925
61926 2006-03-24  Eric Blake  <ebb9@byu.net>
61927
61928         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
61929
61930 2006-03-22  Karl Berry  <karl@gnu.org>
61931
61932         * config/srclist.txt (*setenv.[ch]): get from coreutils.
61933         * config/srclistvars.sh (COREUTILS): new var.
61934
61935 2006-03-17  Jim Meyering  <jim@meyering.net>
61936
61937         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
61938         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
61939
61940 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
61941
61942         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
61943         no longer needs it.  Instead, check that regoff_t is as least
61944         as wide as ptrdiff_t.
61945
61946         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
61947         so that our regex.h stays compatible with the installed regex.
61948         This is helpful for installers who configure --without-included-regex.
61949         Problem reported by Emanuele Giaquinta.
61950
61951 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
61952
61953         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
61954         Typedef to long int, not to off_, as POSIX will likely change
61955         in that direction.
61956
61957 2006-03-15  Eric Blake  <ebb9@byu.net>
61958
61959         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
61960
61961 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61962
61963         * lib/argp-help.c (validate_uparams): Fix typo
61964         * lib/argp-parse.c (argp_default_options): Consistently begin help
61965         messages with a lowercase letter.
61966
61967 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
61968
61969         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
61970         overrun buffers and shouldn't be used (much as gets shouldn't be
61971         used).
61972         * lib/time_r.c (asctime_r, ctime_r): Likewise.
61973
61974 2006-03-08  Simon Josefsson  <jas@extundo.com>
61975
61976         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
61977         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61978
61979 2006-03-08  Simon Josefsson  <jas@extundo.com>
61980
61981         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
61982         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61983
61984 2006-03-08  Simon Josefsson  <jas@extundo.com>
61985
61986         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
61987         signal that configure disabled the device.
61988
61989 2006-03-08  Simon Josefsson  <jas@extundo.com>
61990
61991         * build-aux/maint.mk: Fix refresh-po, to handle no translated
61992         languages.
61993
61994 2006-03-07  Simon Josefsson  <jas@extundo.com>
61995
61996         * modules/getopt (Depends-on): Add unistd.
61997
61998         * modules/unistd: New file.
61999
62000 2006-03-07  Simon Josefsson  <jas@extundo.com>
62001
62002         * modules/gc-random: New file.
62003
62004 2006-03-07  Simon Josefsson  <jas@extundo.com>
62005
62006         * m4/unistd_h.m4: New file.
62007
62008 2006-03-07  Simon Josefsson  <jas@extundo.com>
62009
62010         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
62011         test to be side-effect free by storing the result in the cache
62012         variable gl_cv_lib_readline, and moving the assignment of
62013         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
62014         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62015
62016 2006-03-07  Simon Josefsson  <jas@extundo.com>
62017
62018         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
62019         error on missing devices (the functions will return an error).
62020
62021         * m4/gc.m4: Move random stuff to gc-random.m4
62022
62023 2006-03-07  Simon Josefsson  <jas@extundo.com>
62024
62025         * lib/unistd_.h: New file.
62026
62027 2006-03-07  Simon Josefsson  <jas@extundo.com>
62028
62029         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
62030
62031 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62032
62033         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
62034         Problem reported by Juan Manuel Guerrero.
62035
62036 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62037
62038         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
62039         the unistd module.
62040         * lib/getlogin_r.c: Likewise.
62041         * lib/getlogin_r.h: Likewise.
62042         * lib/glob.c: Likewise.
62043         * lib/pagealign_alloc.c: Likewise.
62044         * lib/unistd_.h: Remove; no longer needed.
62045
62046 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62047
62048         * MODULES.html.sh (Support for systems lacking POSIX:2001):
62049         Add unistd.
62050         * modules/c-stack (Depends-on): Add unistd.
62051         * modules/getlogin_r: Likewise.
62052         * modules/glob: Likewise.
62053         * modules/pagealign_alloc: Likewise.
62054         * modules/unistd (Files): Remove lib/unistd_.h.
62055         (EXTRA_DIST): Remove.
62056         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
62057         need unistd_.h.
62058         (MOSTLYCLEANFILES): Remove unistd.h-t.
62059
62060 2006-03-03  Simon Josefsson  <jas@extundo.com>
62061
62062         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
62063
62064 2006-03-03  Simon Josefsson  <jas@extundo.com>
62065
62066         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
62067         libidn and bison.
62068
62069 2006-03-03  Simon Josefsson  <jas@extundo.com>
62070
62071         * build-aux/maint.mk: Add indent target.
62072
62073 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
62074
62075         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
62076         our replacement poll.h in any case, to avoid a differing
62077         declaration from a system header.  Seen on AIX.
62078
62079 2006-03-01  Simon Josefsson  <jas@extundo.com>
62080
62081         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
62082         <kasal@ucw.cz>.
62083
62084 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62085
62086         * modules/gettime (Depends-on): Add extensions module.
62087         * modules/nanosleep (Depends-on): Likewise.
62088         * modules/settime (Depends-on): Likewise.
62089
62090 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62091
62092         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
62093         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
62094         pedantically.
62095         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62096         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
62097
62098         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
62099         not "==".  Reported by Ralf Wildenhues.
62100
62101 2006-03-01  Karl Berry  <karl@gnu.org>
62102
62103         * doc/Copyright/request-*: new files, synced from gnuorg.
62104
62105 2006-03-01  Karl Berry  <karl@gnu.org>
62106
62107         * config/srclist.txt (Copyright/*): new entries.
62108
62109 2006-02-28  Simon Josefsson  <jas@extundo.com>
62110
62111         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
62112
62113 2006-02-27  Simon Josefsson  <jas@extundo.com>
62114
62115         * lib/base64.h: Indent #define's.  From Jim Meyering
62116         <jim@meyering.net>.
62117
62118 2006-02-27  Jim Meyering  <jim@meyering.net>
62119
62120         Revert the change of 2006-02-24, so these files can continue
62121         to be sync'd from gettext.
62122         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
62123         of `config.h'.
62124
62125 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
62126
62127         * modules/intprops: New file.
62128         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
62129         Add intprops.
62130         * modules/getloadavg (Files): Remove lib/intprops.h.
62131         (Depends-on): Add intprops.
62132         * modules/human: Likewise.
62133         * modules/inttostr: Likewise.
62134         * modules/openat: Likewise.
62135         * modules/sig2str: Likewise.
62136         * modules/userspec: Likewise.
62137         * modules/utimecmp: Likewise.
62138         * modules/xnanosleep: Likewise.
62139         * modules/xstrtol: Likewise.
62140
62141 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
62142
62143         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
62144         * modules/lock-tests (TESTS): Use $(EXEEXT).
62145         * modules/tls-tests: Likewise.
62146         * modules/argp-tests: Likewise.
62147         (check_PROGRAMS): New var, replacing...
62148         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
62149
62150 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62151
62152         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
62153         `config.h'.
62154
62155 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62156
62157         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
62158
62159 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62160
62161         Sync from coreutils.
62162         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
62163         gl_CHDIR_SAFER.
62164
62165 2006-02-22  Jim Meyering  <jim@meyering.net>
62166
62167         Sync from coreutils.
62168         * m4/chdir-safer.m4: New file.
62169
62170 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62171
62172         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
62173         AT_FDCWD exceeds INT_MAX.
62174         * lib/openat.h (AT_FDCWD): Likewise.
62175
62176 2006-02-17  Eric Blake  <address@hidden>
62177
62178         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
62179
62180 2006-02-16  Simon Josefsson  <jas@extundo.com>
62181
62182         * modules/getaddrinfo (Depends-on): Add sys_socket.
62183
62184 2006-02-15  Simon Josefsson  <jas@extundo.com>
62185
62186         * build-aux/maint.mk: Add dsyntax-check rule.
62187
62188 2006-02-15  Eric Blake  <ebb9@byu.net>
62189
62190         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
62191         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
62192         'present but cannot compile' warnings on cygwin.
62193         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
62194         use ws2tcpip.h if sys/socket.h works.
62195         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
62196         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
62197
62198 2006-02-14  Simon Josefsson  <jas@extundo.com>
62199
62200         * modules/maintainer-makefile (Files): Rename.
62201
62202         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
62203         and (the local) Makefile.cfg to maint-cfg.mk.
62204
62205         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
62206         to the latter.
62207
62208         * modules/maintainer-makefile: New module.
62209
62210         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
62211         severaly stripped to make it possible to build it up from scratch
62212         with reliable tests.
62213
62214         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
62215         fixes to permit overriding the default actions when configure and
62216         makefile are not available.
62217
62218 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62219
62220         Sync from coreutils.
62221         * modules/lstat (Depends-on): Don't depend on xalloc.
62222         (License): Change from GPL to LGPL, since this is now simply a
62223         replacement for a libc function.
62224
62225 2006-02-14  Jim Meyering  <jim@meyering.net>
62226
62227         Sync from coreutils.
62228
62229         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
62230         failure on deficient systems, and simplify gnulib lgpl dependencies.
62231         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
62232         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
62233
62234         * lib/xalloc-die.c: Remove unused definition of N_.
62235
62236 2006-02-14  Jim Meyering  <jim@meyering.net>
62237
62238         Sync from coreutils.
62239         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
62240         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
62241         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
62242         double-quote uses of that variable, to accommodate the rare case in
62243         which getmntent is available in none of the libraries checked.  This
62244         happens at least on FreeBSD 5.0.
62245
62246 2006-02-13  Simon Josefsson  <jas@extundo.com>
62247
62248         * gnulib-tool (Usage): Fix --import, from
62249         karl@freefriends.org (Karl Berry).
62250
62251 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
62252
62253         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
62254
62255 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
62256
62257         * lib/argp-namefrob.h: Restore changes accidentally lost during the
62258         "autoupdate" on 2005-12-12.
62259
62260 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62261
62262         * modules/closeout (Depends-on): Remove atexit.
62263
62264 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62265
62266         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
62267         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
62268
62269 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62270
62271         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
62272         __EXTENSIONS__ if this causes compilation to fail.  Problem
62273         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
62274         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
62275
62276 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
62277
62278         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
62279         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
62280         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
62281         All uses changed.
62282
62283 2006-01-26  Simon Josefsson  <jas@extundo.com>
62284
62285         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
62286         prototype is visible on mingw32.
62287
62288         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
62289         for mingw32.
62290
62291         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
62292         mingw32).
62293
62294 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
62295
62296         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
62297         attempt to open for write; this always fails, at least on POSIX
62298         hosts.  This reinstates the 2006-01-09 change, which was
62299         inadvertently removed.
62300
62301 2006-01-26  Bruno Haible  <bruno@clisp.org>
62302
62303         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
62304         Reported by Paul Eggert.
62305
62306 2006-01-26  Bruno Haible  <bruno@clisp.org>
62307             Paul Eggert  <eggert@cs.ucla.edu>
62308
62309         * lib/stdbool_.h (_Bool)
62310         [(! (defined __cplusplus || defined __BEOS__)
62311           && !defined __GNUC__
62312           && !(defined __HP_cc || defined __xlc__
62313                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
62314                || defined __sgi))]:
62315         #define to signed char in these cases too; this simplifies
62316         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
62317         etc., separately) and makes it more conservative.
62318
62319 2006-01-25  Simon Josefsson  <jas@extundo.com>
62320
62321         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
62322         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
62323         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
62324
62325 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62326
62327         * lib/argp-namefrob.h: Bugfix. Remove stray #
62328
62329 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62330
62331         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
62332         so that we test the test.
62333         Check for yet another HP-UX cc bug involving *bool |= bool.
62334
62335 2006-01-25  Karl Berry  <karl@gnu.org>
62336
62337         * config/srclist.txt (vasnprintf.c): sync lost.
62338
62339 2006-01-25  Jim Meyering  <jim@meyering.net>
62340
62341         Sync from the stable (b5) branch of coreutils:
62342
62343         * lib/fts.c (fts_children): Don't let close() clobber errno from
62344         failed fchdir().
62345
62346         * lib/fts.c (fts_stat): When following a symlink-to-directory,
62347         don't necessarily interpret stat-fails+lstat-succeeds as indicating
62348         a dangling symlink.  That can also happen at least for ELOOP.
62349         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
62350         FYI, this bug predates the inclusion of fts.c in coreutils.
62351
62352         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
62353         in their own block, so pre-c99 compilers don't object.
62354
62355         Avoid the double-free (first in fts_read, second in fts_close) that
62356         would occur when an `active' directory is made inaccessible (e.g.,
62357         via chmod a-x) during a traversal.
62358         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62359         before returning.  Reproduce this failure by
62360         mkdir -p a/b; cd a; chmod a-x . b
62361         Reported by Stavros Passas.
62362
62363 2006-01-25  Jim Meyering  <jim@meyering.net>
62364
62365         * lib/fileblocks.c: Remove more useless parentheses.
62366         * lib/readutmp.h: Likewise.
62367
62368 2006-01-25  Bruno Haible  <bruno@clisp.org>
62369
62370         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
62371         warnings.
62372         Reported by Paul Eggert.
62373
62374 2006-01-25  Bruno Haible  <bruno@clisp.org>
62375
62376         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
62377         rid of a trap command. For Solaris sh.
62378         Reported by Mark D. Baushke <mdb@gnu.org>.
62379
62380 2006-01-24  Simon Josefsson  <jas@extundo.com>
62381
62382         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
62383         Bruno.
62384
62385 2006-01-24  Karl Berry  <karl@gnu.org>
62386
62387         * config/srclist.txt (argp-namefrob.h): sync lost.
62388
62389 2006-01-24  Jim Meyering  <jim@meyering.net>
62390
62391         * modules/openat (Files): Add lib/intprops.h.
62392         From Mark D. Baushke.
62393
62394 2006-01-24  Jim Meyering  <jim@meyering.net>
62395
62396         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
62397         Reported by Mark D. Baushke.
62398
62399 2006-01-24  Jim Meyering  <jim@meyering.net>
62400
62401         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
62402
62403 2006-01-24  Bruno Haible  <bruno@clisp.org>
62404
62405         * modules/strnlen (Maintainer): Change from glibc to all.
62406
62407 2006-01-24  Bruno Haible  <bruno@clisp.org>
62408
62409         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
62410         Patch by Paul Eggert.
62411
62412 2006-01-24  Bruno Haible  <bruno@clisp.org>
62413
62414         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
62415         already has it.
62416         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
62417         2005-11-26.
62418
62419         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
62420         'signed char' to avoid problems with the built-in _Bool type.
62421         Reported by Paul Eggert on 2005-11-26.
62422
62423 2006-01-24  Bruno Haible  <bruno@clisp.org>
62424
62425         * gnulib-tool (func_import): Avoid constructing complicated sed
62426         expressions inside backquote.
62427         Report and solution by Mark D. Baushke <mdb@gnu.org>.
62428
62429 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
62430
62431         These changes imported from libc.
62432         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
62433         test and two separate function calls.
62434         * lib/strndup.c (__strndup): Add libc_hidden_def.
62435
62436 2006-01-23  Simon Josefsson  <jas@extundo.com>
62437
62438         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
62439         Remove the test_*_SOURCES variable: automake infers it by default.
62440         * modules/tls-tests: Likewise.
62441
62442 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62443
62444         Work around porting bugs reported by Dieter in
62445         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
62446         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
62447         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
62448         Include "getopt.h" first, to check interface.
62449         (getenv): Declare only if defined HAVE_DECL_GETENV &&
62450         !HAVE_DECL_GETENV.
62451         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
62452         (__strndup): Revert to K&R-style function dfns, the glibc style.
62453         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
62454         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
62455         Include strnlen.h first, to get prototype properly.
62456         (strnlen): Renamed from __strnlen.
62457         Remove weak alias.
62458
62459 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62460
62461         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
62462
62463 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62464
62465         * config/srclist.txt: Adjust to reflect glibc reorganization.
62466         This affects only comments.
62467
62468 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62469
62470          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
62471          Reported by Bruce Korb <bkorb@gnu.org>.
62472
62473 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
62474
62475         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
62476         to pacify gcc -Wswitch-default.
62477
62478 2006-01-22  Bruno Haible  <bruno@clisp.org>
62479
62480         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
62481         temporary buffer for sprintf, take into account the precision also
62482         for 'd', 'i', 'u', 'o', 'x', 'X'.
62483
62484 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62485
62486         * modules/argp-tests: New module
62487         * tests/test-argp.c: New file
62488         * tests/test-argp-2.sh: New file
62489
62490 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62491
62492         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
62493         (__argp_base_name): Removed
62494         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
62495         typo.
62496         (__argp_base_name): Provide macro definition or extern declaration
62497         depending on the configuration
62498
62499 2006-01-20  Simon Josefsson  <jas@extundo.com>
62500
62501         * modules/inet_ntop (Depends-on): Depend on sys_socket.
62502
62503 2006-01-20  Simon Josefsson  <jas@extundo.com>
62504
62505         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
62506
62507 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
62508
62509         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
62510         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
62511         Suggested by Bruno Haible.
62512
62513 2006-01-20  Karl Berry  <karl@gnu.org>
62514
62515         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
62516         until changes propagate, I guess.
62517
62518 2006-01-19  Simon Josefsson  <jas@extundo.com>
62519
62520         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
62521
62522 2006-01-19  Simon Josefsson  <jas@extundo.com>
62523
62524         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
62525
62526 2006-01-19  Simon Josefsson  <jas@extundo.com>
62527
62528         * gnulib-tool: Set check_PROGRAMS.
62529
62530         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62531         modules/des-tests, modules/gc-arcfour-tests,
62532         modules/gc-arctwo-tests, modules/gc-des-tests,
62533         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62534         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62535         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62536         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62537         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62538         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
62539         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
62540         test_*_SOURCES.
62541
62542 2006-01-18  Simon Josefsson  <jas@extundo.com>
62543
62544         * modules/socklen (Depends-on): Depend on sys_socket.
62545
62546 2006-01-18  Simon Josefsson  <jas@extundo.com>
62547
62548         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62549         modules/des-tests, modules/gc-arcfour-tests,
62550         modules/gc-arctwo-tests, modules/gc-des-tests,
62551         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62552         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62553         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62554         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62555         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62556         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
62557         $(EXEEXT) to automake TESTS variable, for mingw32.
62558
62559 2006-01-17  Simon Josefsson  <jas@extundo.com>
62560
62561         * modules/socklen (Include): Need sys/socket.h.
62562
62563 2006-01-17  Bruno Haible  <bruno@clisp.org>
62564
62565         * modules/ssize_t (Include): Add <sys/types.h>.
62566
62567 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
62568
62569         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
62570         it's not portable and it doesn't work with cross-compiles.
62571         Problem reported by Bruno Haible.  Fix missing-$ typo in
62572         'test "gl_cv_ignore_unused_libraries" ...' that prevented
62573         -zignore from being used with Sun's C compiler.
62574
62575 2006-01-12  Simon Josefsson  <jas@extundo.com>
62576
62577         * lib/base64.c: Fix warning, reported by Bruno Haible
62578         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
62579
62580 2006-01-12  Bruno Haible  <bruno@clisp.org>
62581
62582         * modules/ldd: New file.
62583         * build-aux/ldd.sh.in: New file.
62584         * MODULES.html.sh (Support for building libraries and executables): Add
62585         ldd.
62586
62587 2006-01-12  Bruno Haible  <bruno@clisp.org>
62588
62589         * m4/ldd.m4: New file.
62590
62591 2006-01-12  Bruno Haible  <bruno@clisp.org>
62592
62593         * gnulib-tool (func_import, func_create_testdir): Don't go into an
62594         endless loop while replacing $auxdir with build-aux.
62595
62596 2006-01-11  Simon Josefsson  <jas@extundo.com>
62597
62598         * lib/stdint_.h (SIZE_MAX): Add missing (.
62599
62600 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
62601
62602         Sync from coreutils.
62603         * lib/md5.c: Fix commentary typos.
62604         (alignof, UNALIGNED_P): No need for a GCC-specific version.
62605         * lib/md5.h (__attribute__): Remove; unused.
62606         * lib/sha1.c: Fix commentary to match md5 better.
62607         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
62608         so that we don't need to worry about alignment.  All uses changed.
62609         This merges the 2005-10-28 md5 change into sha1.
62610
62611 2006-01-11  Jim Meyering  <jim@meyering.net>
62612
62613         Sync from coreutils.
62614         * lib/md5.c (OP): Fix spacing.
62615
62616 2006-01-11  Bruno Haible  <bruno@clisp.org>
62617
62618         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62619         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
62620         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
62621
62622 2006-01-11  Bruno Haible  <bruno@clisp.org>
62623
62624         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62625         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
62626         the "early" section as well.
62627
62628 2006-01-11  Bruno Haible  <bruno@clisp.org>
62629
62630         Avoid "ar: no archive members specified" error on MacOS X.
62631         * gnulib-tool (func_modules_add_dummy): New function.
62632         (func_import, func_create_testdir): Invoke it.
62633
62634 2006-01-11  Bruno Haible  <bruno@clisp.org>
62635
62636         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
62637         with $auxdir in AC_CONFIG_FILES statements.
62638
62639 2006-01-11  Bruno Haible  <bruno@clisp.org>
62640
62641         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62642         Initialize also noinst_HEADERS to empty.
62643
62644 2006-01-11  Bruno Haible  <bruno@clisp.org>
62645
62646         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
62647         variables.
62648         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
62649         autoreconf.
62650
62651 2006-01-11  Bruno Haible  <bruno@clisp.org>
62652
62653         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
62654         overridable by the user.
62655         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62656
62657 2006-01-10  Simon Josefsson  <jas@extundo.com>
62658
62659         * modules/sys_socket: New file.
62660
62661 2006-01-10  Simon Josefsson  <jas@extundo.com>
62662
62663         * m4/sys_socket_h.m4: New file.
62664
62665 2006-01-10  Simon Josefsson  <jas@extundo.com>
62666
62667         * lib/socket_.h: New file.
62668
62669 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62670
62671         * modules/readutmp (Maintainer): Add myself.
62672
62673 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62674
62675         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
62676         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
62677         People who are still concerned with buggy memcmp implementations
62678         can invoke gl_FUNC_MEMCMP themselves.
62679
62680 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62681
62682         * lib/regex_internal.h (BITSET_WORD_BITS):
62683         Work around a bug in 64-bit PGC (before version 6.1-2), where the
62684         preprocessor mishandles large unsigned values as if they were signed.
62685         Problem reported by Claudio Fontana in
62686         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
62687
62688 2006-01-10  Jim Meyering  <jim@meyering.net>
62689
62690         Avoid the double-free (first in fts_read, second in fts_close) that
62691         would occur when an `active' directory is made inaccessible (e.g.,
62692         via chmod a-x) during a traversal.
62693         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62694         before returning.  Reproduce this failure by
62695         mkdir -p a/b; cd a; chmod a-x . b
62696         Reported by Stavros Passas.
62697
62698         Sync from coreutils.
62699         * lib/sha1.c: Tweak grammar in a comment.
62700
62701 2006-01-10  Jim Meyering  <jim@meyering.net>
62702
62703         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
62704         Patch by Joerg Sonnenberger.
62705
62706 2006-01-10  Bruno Haible  <bruno@clisp.org>
62707
62708         * modules/readutmp: Depend on module free.
62709         * modules/strtok_r: Depend on module restrict.
62710
62711 2006-01-10  Bruno Haible  <bruno@clisp.org>
62712
62713         * modules/gettext (configure.ac): Add an invocation of
62714         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
62715
62716 2006-01-10  Bruno Haible  <bruno@clisp.org>
62717
62718         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
62719         Reported by Werner Lemberg <wl@gnu.org>.
62720
62721 2006-01-10  Bruno Haible  <bruno@clisp.org>
62722
62723         * lib/localcharset.c: Update from GNU gettext.
62724
62725 2006-01-10  Bruno Haible  <bruno@clisp.org>
62726
62727         * lib/argp.h (__const): Remove macro. Use const instead.
62728         * lib/argp-fmtstream.h (__const): Likewise.
62729         * lib/glob_.h (__const): Remove macro.
62730         * lib/glob-libc.h: Use const instead of __const.
62731
62732 2006-01-10  Bruno Haible  <bruno@clisp.org>
62733
62734         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
62735         variable.
62736         Needed to avoid an automake error regarding the 'gettext' module.
62737
62738 2006-01-09  Simon Josefsson  <jas@extundo.com>
62739
62740         * modules/inet_ntop (Depends-on): Add restrict.
62741
62742 2006-01-09  Simon Josefsson  <jas@extundo.com>
62743
62744         * modules/gc-rijndael-tests (License): Put under LGPL.
62745
62746         * modules/gc-des-tests (License): Likewise.
62747
62748         * modules/gc-arcfour-tests (License): Likewise.
62749
62750         * modules/gc-arctwo-tests (License): Likewise.
62751
62752         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
62753
62754         * modules/gc-hmac-sha1-tests (Files): Likewise.
62755
62756         * modules/gc-hmac-md5-tests (License): Likewise.
62757
62758         * modules/gc-sha1-tests (License): Likewise.
62759
62760         * modules/gc-md5-tests (License): Likewise.
62761
62762         * modules/gc-md4-tests (License): Likewise.
62763
62764         * modules/gc-md2-tests (License): Likewise.
62765
62766         * modules/gc-tests (License): Likewise.
62767
62768         * modules/des-tests (License): Likewise.
62769
62770         * modules/md4-tests (License): Likewise.
62771
62772         * modules/md2-tests (License): Likewise.
62773
62774 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62775
62776         Sync from coreutils:
62777
62778         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
62779         * modules/lib-ignore: New file.
62780         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
62781         chdir-safer.m4, lchmod.m4.
62782         * modules/openat: Add mkdirat.c, openat-priv.h.
62783
62784 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62785
62786         Sync from coreutils.
62787         * m4/lib-ignore.m4: New file.
62788         * m4/lchmod.m4: New file.
62789
62790 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62791
62792         Sync from coreutils.
62793         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
62794         for write access: POSIX says that must fail.
62795         * lib/fts.c (diropen): Likewise.
62796         * lib/save-cwd.c (save_cwd): Likewise.
62797         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
62798         well, for minor improvements on hosts that lack O_DIRECTORY.
62799         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
62800         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
62801         Fall back on chown if open failed with EACCES.
62802
62803         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
62804         Report an error at compile-time if only a 1-second nominal clock
62805         resolution is found.
62806
62807         * lib/lchmod.h: New file.
62808         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
62809         (make_dir_parents): Use lchown rather than chown, and
62810         lchmod rather than chmod.
62811
62812         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
62813         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
62814         "proc" reported by n0dalus.
62815
62816         * lib/mountlist.c: Include <limits.h>.
62817         (dev_from_mount_options)
62818         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
62819         New function.  It no longer assumes "dev=" has the System V meaning
62820         on Linux (since it doesn't).  It also parses "dev=" more carefully.
62821         (read_file_system_list)
62822         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
62823         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
62824         dev= in that case.
62825
62826         * lib/posixtm.h (PDS_PRE_2000): New macro.
62827         * lib/posixtm.c (year): Arg is now syntax_bits rather than
62828         allow_century.  All usages changed.  Reject dates outside the range
62829         1969-1999 if PDS_PRE_2000 is used.
62830
62831 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62832
62833         Sync from coreutils.
62834         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
62835         (Time of day items): Mention the possibility of leap seconds.
62836         Problem reported by Dr. David Alan Gilbert.
62837
62838 2006-01-09  Jim Meyering  <jim@meyering.net>
62839
62840         Sync from coreutils.
62841
62842         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
62843
62844         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
62845
62846         * lib/modechange.c (mode_compile): Reject an invalid mode string
62847         that starts with an octal digit.  From Andreas Gruenbacher.
62848
62849         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
62850         and dup to open_safer and dup_safer, respectively.
62851         (openat_permissive): Fix typo in comment.
62852
62853         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
62854         "gettext.h"; either no longer needed or are guaranteed by openat.h.
62855         (_): Remove; no longer needed.
62856         (openat): Renamed from rpl_openat; no need for rpl_openat
62857         since openat.h renames openat for us.
62858         Replace most of the body with a call to openat_permissive,
62859         to avoid duplicate code.
62860         Port to (probably hypothetical) environments were mode_t is
62861         wider than int.
62862         (openat_permissive): Require mode arg, so that we can check
62863         types better.  Put it just after flags.  Change cwd failure
62864         indicator from pointer-to-bool to pointer-to-errno-value.
62865         All callers changed.
62866         Invoke openat_save_fail and/or openat_restore_fail if
62867         cwd_errno is null, so that openat can call us.
62868         (openat_permissive, fdopendir, fstatat, unlinkat):
62869         Simplify errno handling to avoid some duplicate code,
62870         as it's OK to set errno on success.
62871         * lib/openat.h: Revamp code so that function macros depend on
62872         __OPENAT_PREFIX only, not also on AT_FDCWD.
62873         (openat_ro): Remove.  Caller changed to use openat_permissive.
62874         (openat_permissive): Now a macro, if not a function.
62875         (openat_restore_fail, openat_save_fail): Now always functions,
62876         since mkdirat needs them even if __OPENAT_PREFIX is defined.
62877
62878         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
62879         and openat.c.
62880         * lib/mkdirat.c: Include openat-priv.h.
62881         Remove definitions of macros defined therein.
62882         * lib/openat.c: Likewise.
62883
62884         * lib/mkdirat.c (mkdirat): New file and function.
62885         * lib/openat.h (mkdirat): Declare.
62886
62887         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
62888
62889         * lib/openat.h (openat_permissive): Declare.
62890         (openat_ro): Define.
62891
62892         * lib/openat.c (EXPECTED_ERRNO): New macro.
62893         (openat_permissive): New function -- used in remove.c rewrite.
62894         (all functions): Set errno just before returning, only if there
62895         was an actual failure.
62896         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
62897
62898         Emulate openat-family functions using Linux's procfs, if possible.
62899         Idea and some code based on Ulrich Drepper's glibc changes.
62900
62901         * lib/openat.c: (BUILD_PROC_NAME): New macro.
62902         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
62903         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
62904         before falling back on save_cwd and restore_cwd.
62905         (fdopendir, fstatat, unlinkat): Likewise.
62906
62907         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
62908         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
62909
62910         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
62911         as second argument to va_arg.  Otherwise, some versions of gcc
62912         warn that `if this code is reached, the program will abort'.
62913
62914 2006-01-09  Jim Meyering  <jim@meyering.net>
62915
62916         Sync from coreutils.
62917         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
62918         Require openat-priv.h.
62919
62920 2006-01-09  Bruno Haible  <bruno@clisp.org>
62921
62922         * modules/strnlen (Include): Use strnlen.h.
62923
62924 2006-01-09  Bruno Haible  <bruno@clisp.org>
62925
62926         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
62927
62928 2006-01-09  Bruno Haible  <bruno@clisp.org>
62929
62930         * lib/sysexit_.h (EX_OK): New macro.
62931         Suggested by Martin Lambers <marlam@marlam.de>.
62932
62933 2006-01-09  Bruno Haible  <bruno@clisp.org>
62934
62935         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
62936         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
62937
62938 2006-01-09  Bruno Haible  <bruno@clisp.org>
62939
62940         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
62941         numbers.
62942
62943 2006-01-09  Bruno Haible  <bruno@clisp.org>
62944
62945         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
62946         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
62947         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
62948         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
62949
62950 2006-01-09  Bruno Haible  <bruno@clisp.org>
62951
62952         * build-aux/javacomp.sh.in: New file, moved from lib/.
62953         * modules/javacomp-script (Files): Update.
62954         (configure.ac): Add AC_CONFIG_FILES invocation.
62955         (EXTRA_DIST): Remove variable.
62956
62957         * build-aux/javaexec.sh.in: New file, moved from lib/.
62958         * modules/javaexec (Files): Update.
62959         (configure.ac): Add AC_CONFIG_FILES invocation.
62960         (EXTRA_DIST): Remove javaexec.sh.in.
62961
62962         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
62963         * modules/csharpcomp-script (Files): Update.
62964         (configure.ac): Add AC_CONFIG_FILES invocation.
62965         (EXTRA_DIST): Remove variable.
62966
62967         * build-aux/csharpexec.sh.in: New file, moved from lib/.
62968         * modules/csharpexec (Files): Update.
62969         (configure.ac): Add AC_CONFIG_FILES invocation.
62970         (EXTRA_DIST): Remove csharpexec.sh.in.
62971
62972 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
62973
62974         Sync from coreutils.
62975
62976         Add POSIX ACL support
62977         * lib/acl.h (copy_acl, set_acl): Add declarations.
62978         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
62979         systems other than Linux.
62980         (chmod_or_fchmod): New function: use fchmod when possible,
62981         and chmod otherwise.
62982         (file_has_acl): Add a POSIX ACL implementation, with a
62983         Linux-specific subcase.
62984         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
62985         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
62986         acls are unsupported.
62987         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
62988         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
62989         are unsupported.
62990
62991 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
62992
62993         Sync from coreutils.
62994         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
62995
62996 2006-01-07  Bruno Haible  <bruno@clisp.org>
62997
62998         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
62999         gl_EARLY.
63000
63001 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63002
63003         * lib/strftime.c (tzname): Don't declare if it is already #defined.
63004         Problem reported for Mingw by Mark Junker.
63005
63006 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63007
63008         * README: Gnulib normally doesn't generate a tarball.
63009
63010 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
63011
63012         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
63013         long int, not int, for nanosecond counts, so that people who are
63014         used to POSIX struct timespec won't be surprised.  Reported by Jim
63015         Meyering.
63016
63017 2005-12-28  Bruno Haible  <bruno@clisp.org>
63018
63019         * build-aux/config.rpath: Update from GNU gettext.
63020
63021 2005-12-16  Jim Meyering  <jim@meyering.net>
63022
63023         * modules/fprintftime: New module.
63024         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
63025
63026 2005-12-16  Jim Meyering  <jim@meyering.net>
63027
63028         * m4/fprintftime.m4: New file.
63029
63030 2005-12-16  Jim Meyering  <jim@meyering.net>
63031
63032         * lib/fprintftime.c, lib/fprintftime.h: New files.
63033
63034 2005-12-15  Simon Josefsson  <jas@extundo.com>
63035
63036         * modules/socklen (configure.ac): Fix M4 macro name, to align with
63037         new m4/socklen.m4.
63038
63039 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63040
63041         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
63042         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
63043
63044 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63045
63046         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
63047         * lib/argp-help.c (fill_in_uparams): Check if the constructed
63048         struct uparams is valid. Fall back to the default values if it is
63049         not.
63050
63051 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63052
63053         * modules/argp (Files): Add argp-pin.c
63054         (Depends-on): dirname
63055         (lib_SOURCES): Add argp-pin.c
63056
63057 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63058
63059         * m4/argp.m4:  Check if program_invocation_name and
63060         program_invocation_short_name are declared and define appropriate
63061         macros if they are not.
63062
63063 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63064
63065         * lib/argp-help.c (__argp_base_name): New function
63066         (__argp_short_program_name): Rewrite using __argp_base_name
63067         * lib/argp-namefrob.h: Define program_invocation_name and
63068         program_invocation_short_name if requested
63069         (__argp_base_name): Add prototype
63070         * lib/argp-parse.c (argp_def): Use gettext wrappers
63071         (argp_default_parser): Use __argp_base_name
63072         * lib/argp-pin.c: New file. Defines program_invocation_name and
63073         program_invocation_short_name on systems that lack them.
63074
63075 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63076
63077         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
63078         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
63079         porting problem reported by Georg Schwarz in
63080         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
63081
63082 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63083
63084         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
63085         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
63086         porting problem reported by Georg Schwarz in
63087         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
63088
63089 2005-12-05  Bruno Haible  <bruno@clisp.org>
63090
63091         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
63092         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
63093         Reported by Mark Junker <mjscod@gmx.de>.
63094
63095 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
63096
63097         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
63098         Use implementation from Albert Chin, with some
63099         comments/corrections by Stepan Kasal and myself.
63100
63101 2005-12-02  Bruno Haible  <bruno@clisp.org>
63102
63103         * gnulib-tool (func_import): Accept GPLed build tool modules when
63104         --lgpl is given.
63105         * modules/csharpcomp-script: New file.
63106         * modules/csharpcomp: Depend on it.
63107         * modules/javacomp-script: New file.
63108         * modules/javacomp: Depend on it.
63109         Suggested by Simon Josefsson.
63110
63111 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63112
63113         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
63114         statement, to work around an HP-UX 10.20 compiler bug reported by
63115         Peter O'Gorman.
63116
63117 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
63118
63119         * modules/savedir (Depends-on): Add openat.
63120
63121 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
63122
63123         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
63124         (uintmax_t) [defined uintmax_t]: Do not declare.
63125         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
63126         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
63127         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
63128         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
63129         sake of portability to weird hosts that C allows (though we don't
63130         know of any practical examples).
63131
63132         * lib/savedir.h (fdsavedir): New decl.
63133         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
63134         contains most of the former guts of savedir.
63135         (savedir): Use savedirstream.
63136         Include "openat.h".
63137
63138 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63139
63140         * modules/obstack (Files): Add m4/ulonglong.m4.
63141         Problem reported by Davide Angelocola.
63142
63143 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63144
63145         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
63146         coreutils no longer futzes with rounding modes.
63147
63148 2005-11-14  Jim Meyering  <jim@meyering.net>
63149
63150         * lib/mkstemp-safer.c: Include <config.h>, required for possible
63151         replacement of mkstemp.
63152
63153 2005-11-10  Simon Josefsson  <jas@extundo.com>
63154
63155         * lib/readline.c: Remove EOL.
63156
63157 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63158
63159         * modules/gethrxtime (Depends-on): Add gettime.
63160
63161 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63162
63163         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
63164         or gettimeofday; no longer needed.
63165
63166 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63167
63168         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
63169         time business.
63170         (gethrxtime) [! (HAVE_NANOUPTIME
63171         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
63172         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
63173         our own approximation.
63174
63175 2005-11-08  Eric Blake  <ebb9@byu.net>
63176
63177         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
63178
63179 2005-11-08  Eric Blake  <ebb9@byu.net>
63180
63181         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
63182
63183 2005-11-04  Bruno Haible  <bruno@clisp.org>
63184
63185         * gnulib-tool: Implement --update mode.
63186
63187 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
63188
63189         Fix porting problem reported by Theodoros V. Kalamatianos.
63190         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
63191         Don't assume that futimes failing means we must fail.
63192
63193 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
63194
63195         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
63196         variables to suggest the intended function of the PATH_MAX check.
63197
63198 2005-10-30  Kean Johnston  <jkj@sco.com>
63199
63200         Trivial changes to support SCO systems.
63201         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
63202         as PATH_MAX.
63203         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
63204         where __ptr is null when no I/O is pending.
63205
63206 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
63207
63208         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
63209         leave errno alone.  Problem reported by Dmitry V. Levin.
63210
63211 2005-10-28  Simon Josefsson  <jas@extundo.com>
63212
63213         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
63214         Test more.
63215
63216         * tests/test-gc-md2.c, tests/test-md2.c: New files.
63217
63218         * modules/md2, modules/md2-tests: New files.
63219
63220 2005-10-28  Simon Josefsson  <jas@extundo.com>
63221
63222         * m4/inet_ntop.m4: More tests.
63223
63224         * m4/gc-md2.m4, md2.m4: New file.
63225
63226 2005-10-28  Simon Josefsson  <jas@extundo.com>
63227
63228         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
63229         "restrict" keywords, as per POSIX.  Protect the function
63230         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
63231         Don't use K&R prototypes.  Check the sprintf return values.
63232         Re-define EAFNOSUPPORT if not present.  Indent.
63233
63234         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
63235         suggested by Bruno Haible <bruno@clisp.org>.
63236
63237         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
63238
63239         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
63240
63241         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
63242         libgcrypt).
63243
63244         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
63245
63246         * lib/md2.h, lib/md2.c: New files.
63247
63248 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
63249
63250         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
63251         errno alone.  Problem reported by Frederic Jolliton.
63252
63253 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
63254
63255         * modules/verify (License): Change from GPL to LGPL.  This is a
63256         tiny module and there are apparently near-equivalents that are
63257         under the BSD license.
63258
63259 2005-10-24  Simon Josefsson  <jas@extundo.com>
63260
63261         * modules/sha1: Relicense to LGPL.
63262
63263 2005-10-24  Simon Josefsson  <jas@extundo.com>
63264
63265         * lib/md4.h: Shrink buffer size, now that we changed the type.
63266
63267 2005-10-23  Simon Josefsson  <jas@extundo.com>
63268
63269         * gnulib-tool (func_import): Fix --tests-base.
63270
63271 2005-10-22  Simon Josefsson  <jas@extundo.com>
63272
63273         * modules/arcfour (Depends-on): Need stdint.
63274
63275 2005-10-22  Simon Josefsson  <jas@extundo.com>
63276
63277         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
63278         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
63279
63280 2005-10-22  Simon Josefsson  <jas@extundo.com>
63281
63282         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
63283         suggested by Bruno Haible <bruno@clisp.org>.
63284
63285 2005-10-22  Simon Josefsson  <jas@extundo.com>
63286
63287         * lib/crc.h: Include stddef.h, for size_t.
63288
63289 2005-10-22  Simon Josefsson  <jas@extundo.com>
63290
63291         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
63292         arcfour_context struct (simplify test vector testing in GNU
63293         Shishi).
63294
63295 2005-10-21  Simon Josefsson  <jas@extundo.com>
63296
63297         * modules/des, modules/des-tests: New files.
63298
63299         * modules/gc-des, modules/gc-des-tests: New files.
63300
63301         * tests/test-des.c, tests/test-gc-des.c: New file.
63302
63303 2005-10-21  Simon Josefsson  <jas@extundo.com>
63304
63305         * modules/arctwo, modules/arctwo-tests: New files.
63306
63307         * tests/test-arctwo.c: New file.
63308
63309         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
63310
63311         * tests/test-gc-arctwo.c: New file.
63312
63313 2005-10-21  Simon Josefsson  <jas@extundo.com>
63314
63315         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
63316         Bruno Haible <bruno@clisp.org>.
63317
63318         * m4/gc-des.m4: New file.
63319
63320 2005-10-21  Simon Josefsson  <jas@extundo.com>
63321
63322         * m4/arctwo.m4: New file.
63323
63324         * m4/gc-arctwo.m4: New file.
63325
63326 2005-10-21  Simon Josefsson  <jas@extundo.com>
63327
63328         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
63329         block.
63330
63331 2005-10-21  Simon Josefsson  <jas@extundo.com>
63332
63333         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
63334         <bruno@clisp.org>.
63335
63336         * lib/hmac-sha1.c (hmac_sha1): Likewise.
63337
63338         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
63339         Bruno Haible <bruno@clisp.org>.
63340
63341         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
63342         <bruno@clisp.org>.
63343
63344 2005-10-21  Simon Josefsson  <jas@extundo.com>
63345
63346         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
63347
63348 2005-10-21  Simon Josefsson  <jas@extundo.com>
63349
63350         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
63351
63352 2005-10-21  Simon Josefsson  <jas@extundo.com>
63353
63354         * lib/des.h, lib/des.c: New files.
63355
63356         * lib/gc-gnulib.c: Support DES.c
63357
63358 2005-10-21  Simon Josefsson  <jas@extundo.com>
63359
63360         * lib/arctwo.h, lib/arctwo.c: New files.
63361
63362         * lib/gc-gnulib.c: Support ARCTWO.
63363
63364 2005-10-21  Simon Josefsson  <jas@extundo.com>
63365
63366         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
63367         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63368
63369 2005-10-21  Simon Josefsson  <jas@extundo.com>
63370
63371         * gnulib-tool (func_import, func_create_testdir): Define automake
63372         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
63373         Makefile.am snippet),
63374         suggested by Bruno Haible <bruno@clisp.org>.
63375
63376         * modules/gc (Makefile.am): Use it.
63377
63378 2005-10-21  Bruno Haible  <bruno@clisp.org>
63379
63380         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
63381         patch.
63382
63383 2005-10-19  Simon Josefsson  <jas@extundo.com>
63384
63385         * tests/test-gc-rijndael.c: New file.
63386
63387         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
63388
63389 2005-10-19  Simon Josefsson  <jas@extundo.com>
63390
63391         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
63392         interface too.
63393
63394 2005-10-19  Simon Josefsson  <jas@extundo.com>
63395
63396         * tests/test-gc-arcfour.c: New file.
63397
63398         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
63399
63400 2005-10-19  Simon Josefsson  <jas@extundo.com>
63401
63402         * modules/gc-md4, modules/gc-md4-tests: New file.
63403
63404         * tests/test-gc-md4.c: New file.
63405
63406 2005-10-19  Simon Josefsson  <jas@extundo.com>
63407
63408         * m4/gc-md4.m4: New file.
63409
63410 2005-10-19  Simon Josefsson  <jas@extundo.com>
63411
63412         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
63413         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
63414         <kasal@ucw.cz>.
63415
63416 2005-10-19  Simon Josefsson  <jas@extundo.com>
63417
63418         * m4/gc-arcfour.m4: New file.
63419
63420         * m4/gc-rijndael.m4: New file.
63421
63422 2005-10-19  Simon Josefsson  <jas@extundo.com>
63423
63424         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
63425
63426 2005-10-19  Simon Josefsson  <jas@extundo.com>
63427
63428         * lib/gc-gnulib.c: Support ARCFOUR.
63429
63430 2005-10-19  Simon Josefsson  <jas@extundo.com>
63431
63432         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
63433         support.
63434
63435         * lib/gc.h: Add ECB enum type.
63436
63437         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
63438
63439 2005-10-18  Simon Josefsson  <jas@extundo.com>
63440
63441         * tests/test-md5.c: New file.
63442
63443         * modules/md5-tests: New file.
63444
63445 2005-10-18  Simon Josefsson  <jas@extundo.com>
63446
63447         * tests/test-md4.c: New file.
63448
63449         * modules/md4, modules/md4-tests: New files.
63450
63451 2005-10-18  Simon Josefsson  <jas@extundo.com>
63452
63453         * m4/md4.m4: New file.
63454
63455 2005-10-18  Simon Josefsson  <jas@extundo.com>
63456
63457         * lib/md4.h, lib/md4.c: New files, based on md5.?.
63458
63459 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
63460
63461         * gnulib-tool (func_create_testdir): Omit the second check whether
63462         BUILT_SOURCES in nonempty.
63463
63464 2005-10-17  Simon Josefsson  <jas@extundo.com>
63465
63466         * tests/test-rijndael.c: New file.
63467
63468 2005-10-17  Simon Josefsson  <jas@extundo.com>
63469
63470         * modules/sha1: Depend on stdint instead of md5.
63471
63472         * modules/md5: Depend on stdint, remove uint32_t.
63473
63474 2005-10-17  Simon Josefsson  <jas@extundo.com>
63475
63476         * modules/gc-sha1-tests: New file.
63477
63478         * tests/test-gc-sha1.c: New file.
63479
63480 2005-10-17  Simon Josefsson  <jas@extundo.com>
63481
63482         * m4/md5.m4: Remove call to uint32_t.m4.
63483
63484 2005-10-17  Simon Josefsson  <jas@extundo.com>
63485
63486         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
63487
63488         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
63489         md5.h.
63490
63491         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
63492
63493         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
63494
63495 2005-10-17  Simon Josefsson  <jas@extundo.com>
63496
63497         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
63498
63499 2005-10-17  Simon Josefsson  <jas@extundo.com>
63500
63501         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
63502
63503 2005-10-17  Simon Josefsson  <jas@extundo.com>
63504
63505         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
63506
63507         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
63508
63509 2005-10-17  Bruno Haible  <bruno@clisp.org>
63510
63511         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
63512         that it can also be used in a test.
63513
63514 2005-10-16  Bruno Haible  <bruno@clisp.org>
63515
63516         * gnulib-tool (func_emit_tests_Makefile_am): Also define
63517         TESTS_ENVIRONMENT, so that individual tests can augment it.
63518
63519         * gnulib-tool (func_create_testdir): Use an intermediate target for
63520         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
63521         macros, like $(ALLOCA_H), which cannot be passed through the command
63522         line.
63523
63524 2005-10-15  Simon Josefsson  <jas@extundo.com>
63525
63526         * modules/rijndael-tests: New file.
63527
63528         * modules/rijndael: New file.
63529
63530 2005-10-15  Simon Josefsson  <jas@extundo.com>
63531
63532         * m4/rijndael.m4: New file.
63533
63534 2005-10-15  Simon Josefsson  <jas@extundo.com>
63535
63536         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
63537
63538         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
63539
63540 2005-10-14  Simon Josefsson  <jas@extundo.com>
63541
63542         * tests/test-arcfour.c: New file.
63543
63544         * modules/arcfour, modules/arcfour-tests: New files.
63545
63546 2005-10-14  Simon Josefsson  <jas@extundo.com>
63547
63548         * m4/arcfour.m4: New file.
63549
63550 2005-10-14  Simon Josefsson  <jas@extundo.com>
63551
63552         * lib/arcfour.h, lib/arcfour.c: New files.
63553
63554 2005-10-14  Roland McGrath  <roland@redhat.com>
63555
63556         Import from libc.  [BZ #1331]
63557         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
63558         macro argument.
63559         Reported by Matej Vela <vela@debian.org>.
63560
63561 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63562
63563         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
63564         include <wchar.h>; no longer needed.
63565
63566 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63567
63568         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
63569
63570 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
63571         and  Ulrich Drepper  <drepper@redhat.com>
63572
63573         Import from libc.
63574         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
63575         instead of inline stream orientation test and two separate
63576         function calls.  Pay no attention to USE_IN_LIBIO.
63577
63578 2005-10-13  Simon Josefsson  <jas@extundo.com>
63579
63580         * modules/gc-hmac-md5-tests: New file.
63581
63582         * tests/test-gc-hmac-sha1.c: New file.
63583
63584         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
63585
63586         * modules/gc-hmac-md5-tests: New file.
63587
63588         * tests/test-gc-md5.c: New file.
63589
63590         * modules/gc-md5-tests: New file.
63591
63592 2005-10-13  Simon Josefsson  <jas@extundo.com>
63593
63594         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
63595         Move memory allocation outside of loop.
63596
63597 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63598
63599         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
63600         intermediate directory is in a read-only file system.  Problem
63601         reported by Eric Blake.
63602
63603 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
63604
63605         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
63606
63607 2005-10-12  Simon Josefsson  <jas@extundo.com>
63608
63609         * tests/test-hmac-sha1.c: New file.
63610
63611         * modules/hmac-sha1-tests: New file.
63612
63613         * modules/hmac-sha1: New file.
63614
63615 2005-10-12  Simon Josefsson  <jas@extundo.com>
63616
63617         * modules/gc-sha1: New file.
63618
63619 2005-10-12  Simon Josefsson  <jas@extundo.com>
63620
63621         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
63622
63623         * tests/test-gc-pbkdf2-sha1.c: New file.
63624
63625 2005-10-12  Simon Josefsson  <jas@extundo.com>
63626
63627         * modules/gc-md5, modules/gc-hmac-md5: New files.
63628
63629         * modules/gc (Files): Remove md5, memxor and hmac files.
63630
63631 2005-10-12  Simon Josefsson  <jas@extundo.com>
63632
63633         * m4/gc-pbkdf2-sha1.m4: New file.
63634
63635         * m4/gc-hmac-sha1.m4: New file.
63636
63637         * m4/gc-sha1: New file.
63638
63639         * m4/hmac-sha1.m4: New file.
63640
63641 2005-10-12  Simon Josefsson  <jas@extundo.com>
63642
63643         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
63644
63645         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
63646
63647 2005-10-12  Simon Josefsson  <jas@extundo.com>
63648
63649         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
63650         suggested by Bruno Haible <bruno@clisp.org>.
63651
63652 2005-10-12  Simon Josefsson  <jas@extundo.com>
63653
63654         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
63655
63656 2005-10-12  Simon Josefsson  <jas@extundo.com>
63657
63658         * lib/gc-pbkdf2-sha1.c: New file.
63659
63660         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
63661
63662 2005-10-12  Simon Josefsson  <jas@extundo.com>
63663
63664         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
63665
63666         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
63667
63668 2005-10-12  Simon Josefsson  <jas@extundo.com>
63669
63670         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
63671         GC_USE_HMAC_MD5, respectively.
63672
63673         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
63674         (gc_md5): Fix typo.
63675
63676         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
63677
63678         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
63679
63680         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
63681
63682 2005-10-12  Bruno Haible  <bruno@clisp.org>
63683
63684         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
63685         Reported by Stepan Kasal <kasal@ucw.cz>.
63686
63687 2005-10-11  Simon Josefsson  <jas@extundo.com>
63688
63689         * tests/test-crc.c: New file.
63690
63691         * modules/crc, modules/crc-tests: New files.
63692
63693 2005-10-11  Simon Josefsson  <jas@extundo.com>
63694
63695         * m4/crc.m4: New file.
63696
63697 2005-10-11  Simon Josefsson  <jas@extundo.com>
63698
63699         * lib/gc.h: Add gc_hash and gc_hash_buffer.
63700
63701         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
63702
63703         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
63704
63705 2005-10-11  Simon Josefsson  <jas@extundo.com>
63706
63707         * lib/crc.h, lib/crc.c: New files.
63708
63709         * lib/gc.h (gc_hash_buffer): Add doc.
63710
63711 2005-10-11  Bruno Haible  <bruno@clisp.org>
63712
63713         * modules/c-strcasestr: New file.
63714         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
63715
63716 2005-10-11  Bruno Haible  <bruno@clisp.org>
63717
63718         * modules/c-strcase: New file.
63719         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
63720
63721 2005-10-11  Bruno Haible  <bruno@clisp.org>
63722
63723         * lib/strcasecmp.c: Include limits.h.
63724         (strcasecmp): Avoid integer overflow on exotic platforms.
63725         * lib/strncasecmp.c: Include limits.h.
63726         (strncasecmp): Avoid integer overflow on exotic platforms.
63727         Reported by Paul Eggert.
63728
63729 2005-10-11  Bruno Haible  <bruno@clisp.org>
63730
63731         * lib/c-strcasestr.h: New file, from GNU gettext.
63732         * lib/c-strcasestr.c: New file, from GNU gettext.
63733
63734 2005-10-11  Bruno Haible  <bruno@clisp.org>
63735
63736         * lib/c-strcase.h: New file, from GNU gettext.
63737         * lib/c-strcasecmp.c: New file, from GNU gettext.
63738         * lib/c-strncasecmp.c: New file, from GNU gettext.
63739
63740 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63741
63742         * modules/mempcpy (License): GPL -> LGPL.
63743         * modules/strchrnul (License): Likewise.
63744         * modules/sysexits (License): Likewise.
63745
63746 2005-10-08  Simon Josefsson  <jas@extundo.com>
63747
63748         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
63749
63750 2005-10-07  Simon Josefsson  <jas@extundo.com>
63751
63752         * m4/memxor.m4: Remove gl_C_RESTRICT call.
63753
63754 2005-10-06  Simon Josefsson  <jas@extundo.com>
63755
63756         * tests/test-hmac-md5.c: New file.
63757
63758         * modules/hmac-md5-tests: New file.
63759
63760         * modules/hmac-md5: New file.
63761
63762 2005-10-06  Simon Josefsson  <jas@extundo.com>
63763
63764         * m4/hmac-md5.m4: New file.
63765
63766         * m4/memxor.m4: Require gl_C_RESTRICT.
63767
63768 2005-10-06  Simon Josefsson  <jas@extundo.com>
63769
63770         * lib/memxor.c (memxor): Avoid casts and warnings.
63771
63772 2005-10-06  Simon Josefsson  <jas@extundo.com>
63773
63774         * lib/hmac-md5.c: New file.
63775
63776         * lib/hmac.h: New file.
63777
63778 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
63779
63780         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
63781         promotes to int, not unsigned int, to catch the AIX 5.3
63782         compiler bug.
63783
63784 2005-10-05  Simon Josefsson  <jas@extundo.com>
63785
63786         * modules/memxor: New file.
63787
63788         * modules/iconv (Files): Move config.rpath to havelib, it is used
63789         there.
63790
63791         * modules/havelib (Files): Add config.rpath.
63792
63793 2005-10-05  Simon Josefsson  <jas@extundo.com>
63794
63795         * m4/memxor.m4: New file.
63796
63797 2005-10-05  Simon Josefsson  <jas@extundo.com>
63798
63799         * lib/memxor.c (memxor): Fix compiler error.
63800
63801         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
63802         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
63803
63804         * lib/memxor.h, lib/memxor.c: New files.
63805
63806         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
63807         we assume all systems have it, suggested by Jim Meyering
63808         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
63809         any systems lack sys/socket.h; mingw32 is known to lack it, but we
63810         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
63811         same reasons.
63812
63813 2005-10-05  Simon Josefsson  <jas@extundo.com>
63814
63815         * config/srclist.txt: Add glibc bug 1423 for md5.h.
63816
63817 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63818
63819         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
63820         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
63821         needed, since the source code now assumes these .h files.
63822
63823 2005-10-05  Derek Price  <derek@ximbiot.com>
63824
63825         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
63826
63827 2005-10-05  Bruno Haible  <bruno@clisp.org>
63828
63829         * modules/stdint (License): Change to LGPL.
63830
63831 2005-10-04  Simon Josefsson  <jas@extundo.com>
63832
63833         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
63834         D. Baushke" <mdb@gnu.org>.
63835
63836 2005-10-04  Bruno Haible  <bruno@clisp.org>
63837
63838         * lib/verify.h (verify_true): Provide alternative definition for C++.
63839
63840 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
63841
63842         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
63843         (SSIZE_MAX): New macro, if not already defined.
63844         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
63845         than 2 GiB.
63846
63847 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63848
63849         Sync from coreutils.
63850         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
63851         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
63852         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
63853         ULLONG_MAX doesn't work with 2.7.2.1.
63854
63855 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63856
63857         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
63858         From Ben Pfaff.
63859
63860         * modules/exclude (Depends-on): Depend on verify.
63861         * modules/strtoimax (Depends-on): Likewise.
63862         * modules/utimecmp (Depends-on): Likewise.
63863
63864 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63865
63866         * lib/exclude.c: Include verify.h.
63867         (verify): Remove.  All callers changed to use verify.h's version.
63868         * lib/strtoimax.c: Likewise.
63869         * lib/utimecmp.c: Likewis.e
63870
63871         Sync from coreutils.
63872         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
63873         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
63874         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
63875         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
63876         bother returning ENOSYS if settimeofday or stime fails; just let
63877         them return whatever errno they want to return.
63878         * lib/utimens.c: Include unistd.h, for dup2.
63879         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
63880         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
63881
63882 2005-10-02  Jim Meyering  <jim@meyering.net>
63883
63884         Sync from coreutils.
63885         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
63886         from glibc-2.2.5 that fails for read-only files.
63887
63888 2005-10-02  Jim Meyering  <jim@meyering.net>
63889
63890         Sync from coreutils.
63891         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
63892         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
63893         `#if HAVE_CONFIG_H'.
63894         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
63895         Remove AT_FDCWD test.
63896         Do not consume the fd unless successful.
63897         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
63898         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
63899         block, so that we don't even try to compile it if settimeofday is
63900         available.  This works around a compilation failure on OSF1 V5.1,
63901         due to stime requiring a `long int*' while tv_sec is `int'.
63902
63903 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
63904
63905         Sync from coreutils.
63906         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
63907         against `yes', rather than just testing for nonempty.
63908
63909 2005-10-01  Simon Josefsson  <jas@extundo.com>
63910
63911         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
63912         and Darwin.
63913
63914         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
63915         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
63916         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
63917         freeaddrinfo and gai_strerror are declared by the POSIX headers.
63918         Check if struct addrinfo is declared.
63919
63920 2005-10-01  Simon Josefsson  <jas@extundo.com>
63921
63922         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
63923         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
63924         AI_* and EAI_* definitions.  Protect function declarations.
63925
63926 2005-10-01  Jim Meyering  <jim@meyering.net>
63927
63928         Sync from coreutils.
63929
63930         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
63931         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
63932         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
63933         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63934         in the inet and nsl libraries.  Required on Solaris 5.7.
63935
63936 2005-10-01  Jim Meyering  <jim@meyering.net>
63937
63938         Sync from coreutils.
63939         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63940         in the inet and nsl libraries.  Required on Solaris 5.7.
63941
63942 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
63943
63944         * lib/getdelim.c (getdelim): Remove unused variables.
63945
63946 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
63947
63948         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
63949         so that the code works even with ancient cpp.  Portability problem
63950         with GCC 2.7.2.1 reported by Thomas M.Ott.
63951
63952 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
63953
63954         * modules/regex (Depends-on): Add strcase.
63955
63956         * modules/gethostname (Licence): Change from GPL to LGPL, since
63957         gethostname.c is a trivial implementation of a standard library
63958         function.
63959         * modules/poll (License): Change from GPL to LGPL, since it's
63960         derived from LGPL code.
63961
63962 2005-09-27  Jim Meyering  <jim@meyering.net>
63963
63964         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
63965         HAVE_CONFIG_H.
63966
63967         * lib/intprops.h (signed_type_or_expr__): Define.
63968         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
63969         for unsigned types.
63970
63971 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
63972
63973         * lib/verify.h (verify_expr): Remove, replacing with:
63974         (verify_true): New macro that returns true instead of void.
63975         (verify_type__): Remove.
63976         (verify): Use verify_true rather than verify_type__.
63977
63978 2005-09-26  Bruno Haible  <bruno@clisp.org>
63979
63980         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
63981         is necessary.
63982         (lib_SOURCES): Remove mbchar.c.
63983         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
63984         (Files): Add m4/mbrtowc.m4.
63985         * modules/mbiter: Likewise.
63986         * modules/mbuiter: Likewise.
63987
63988 2005-09-26  Bruno Haible  <bruno@clisp.org>
63989
63990         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
63991         compile mbchar.c if they are not both present.
63992         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
63993         * m4/mbiter.m4 (gl_MBITER): Likewise.
63994         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
63995         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
63996         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
63997
63998 2005-09-25  Jim Meyering  <jim@meyering.net>
63999
64000         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
64001         also uses socklen_t.
64002
64003 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
64004
64005         * lib/utimens.c (ENOSYS): Define if not already defined.
64006         (futimens): Support having a null PATH if the file descriptor
64007         is nonnegative.
64008
64009         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
64010         Remove.
64011         (__attribute): Define to empty unless GCC 3.1 or later.
64012         This works around a core dump on OpenBSD 3.4, which has GCC
64013         2.95.3, which dumps core when given __attribute__(()).  It also
64014         simplifies other tests, since we really don't want to bother with
64015         worrying about which ancient version of GCC supported what.
64016         Original problem reported by Yoann Vandoorselaere, with part of
64017         the fix suggested by Derek Price.
64018
64019 2005-09-24  Jim Meyering  <jim@meyering.net>
64020
64021         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
64022         so we can once again use a positive bitfield width of 1 -- now we
64023         don't have to explain why we were using a bitfield width of 2.
64024
64025 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
64026
64027         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
64028         and similarly for the other external symbols.  Problem reported
64029         by James Gallager.
64030
64031         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
64032         bug reported by Jim Meyering.
64033
64034         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
64035         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
64036         not needed, since socklen is a prerequisite module.
64037
64038 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
64039
64040         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
64041         Problem reported by Eric Blake.
64042         (getaddrinfo): Initialize se so that it's not garbage.
64043         Redo internal storage allocation so that it doesn't make unportable
64044         assumptions about alignment.
64045         Fix a memory leak.
64046
64047         * lib/utimens.c (futimens): Use futimesat if available.
64048         Prefer it to futimes since it doesn't have the futimes bug.
64049
64050         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
64051         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
64052         Instead, declare a function that returns a pointer to an array,
64053         and use verify_type__ to declare the size of the array.
64054         Problem and germ of a solution reported by Bruno Haible.
64055         (verify_type__): Use 2, not 1, for bitfield size, to avoid
64056         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
64057
64058 2005-09-23  Jim Meyering  <jim@meyering.net>
64059
64060         Sync from coreutils.
64061         Correct build failure (socklen_t not defined) on at least
64062         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
64063         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
64064
64065 2005-09-23  Jim Meyering  <jim@meyering.net>
64066
64067         * modules/getaddrinfo (Depends-on): Add socklen.
64068
64069 2005-09-23  Bruno Haible  <bruno@clisp.org>
64070
64071         * tests/test-verify.c: New file.
64072
64073 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64074
64075         Sync from coreutils.
64076
64077         * modules/argmatch (Depends-on): Add verify.
64078         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
64079         unistd-safer.
64080         * modules/save-cwd (Depends-on): Likewise.
64081
64082         * modules/openat (Files): Add lib/openat-die.c.
64083         (Depends-on): Remove error, exitfail.
64084         Add dirname.
64085
64086         * modules/verify: New file.
64087         * MODULES.html.sh (Diagnostics <assert.h>): New section,
64088         with "verify" module.
64089
64090 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64091
64092         Sync from coreutils.
64093
64094         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
64095         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
64096         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
64097         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
64098         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
64099         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
64100         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
64101         Don't bother checking for string.h, stdlib.h, unistd.h.
64102         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
64103         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
64104         module's job.
64105         * m4/jm-macros.m4 (gl_MACROS): Likewise.
64106         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
64107
64108         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
64109         (gl_GETDATE): Use it.
64110
64111         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
64112
64113 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64114
64115         Sync from coreutils.
64116
64117         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
64118         stat-time.h.
64119         * lib/argmatch.h: Include verify.h
64120         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
64121         (ARGMATCH_ASSERT): Remove; unused.
64122         * lib/canonicalize.c: Assume STDC_HEADERS.
64123         * lib/exclude.c: Include "strcase.h".
64124         * lib/regex_internal.h [!defined _LIBC]: Likewise.
64125         * lib/getusershell.c: Include stdio--.h rather than stdio.h
64126         and stdio-safer.h.
64127         (getusershell): Call fopen, not fopen_safer.
64128         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
64129         Do not include unistd-safer.h.
64130         (save_cwd): Don't call fd_safer; no longer needed
64131         now that we include fcntl--.h.
64132
64133         * lib/getdate.y (relative_time): New type.
64134         (RELATIVE_TIME_0): New constant.
64135         (parser_control): Use relative_time instead of doing it ourselves.
64136         (%union): Add new relative_time rel member.
64137         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
64138         Now typeless.
64139         (relunit, relunit_snumber): Now of type rel.
64140         (zone, rel, relunit, get_date): Adjust to above changes.
64141
64142         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
64143         Do not include unistd-safer.h.
64144         (getloadavg): Don't call fd_safer; no longer needed
64145         now that we include fcntl--.h.
64146
64147         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
64148         (make_dir_parents): Treat ENOSYS like EEXIST.
64149
64150         Improve quality of diagnostics on restore_cwd failure.
64151         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
64152         (make_dir_parents): Last arg is now int * (for errno), not bool *.
64153         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
64154         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
64155         each time through the loop.  Do not diagnose restore_cwd failure;
64156         that is the caller's job (and perhaps the caller does not care).
64157
64158         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
64159         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
64160         If the file already exists but is not a directory, don't bother
64161         to try to make its parents.
64162         Close potential file descriptor leak if we can't chdir("/") (!).
64163         Don't always return true if chdir($PWD) fails; return true only
64164         if the requested action was done successfully (except for the
64165         chdir($PWD)).
64166         Don't log final directory unless we actually made it.
64167         Refactor to avoid duplicate code to fix up permissions.
64168         Don't attempt to fix up parent permissions if chdir($PWD) fails.
64169
64170         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
64171         to make it a bit faster and (I hope) clearer.
64172         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
64173         Fix bug in formats like %2N.
64174
64175         * lib/verify.h: New file.
64176
64177 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64178
64179         Sync from coreutils.
64180         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
64181
64182 2005-09-22  Jim Meyering  <jim@meyering.net>
64183
64184         Sync from coreutils.
64185
64186         * m4/lstat.m4 (gl_FUNC_LSTAT):
64187         Use AC_LIBSOURCES to require lstat.c and lstat.h.
64188         Remove obsolete comment.
64189         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
64190         * m4/xstrtod.m4: Likewise.
64191
64192         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
64193
64194 2005-09-22  Jim Meyering  <jim@meyering.net>
64195
64196         Sync from coreutils.
64197
64198         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
64199
64200         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
64201         the .tm_year member, since otherwise gcc-4.0 would now warn about
64202         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
64203
64204         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
64205         order to avoid an unsuppressible warning from gcc on 64-bit systems.
64206
64207         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
64208         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
64209         when run in a time zone for which daylight savings time is in effect
64210         for the starting date.
64211
64212         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
64213         stop us from restricting permissions of just-created absolute-named
64214         directories.
64215         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
64216         to restore initial working directory.
64217         * lib/mkdir-p.c (make_dir_parents): New parameter:
64218         different_working_dir, to tell caller if/when we change the working
64219         directory and are unable to return to the initial one.
64220         * lib/mkdir-p.h (make_dir_parents): Update prototype.
64221         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
64222         `return false'.  This fixes a bug introduced on 2004-07-30.
64223
64224         * lib/openat.c (fdopendir): Be sure to close the supplied
64225         file descriptor before returning.  This makes our replacement
64226         implementation a little closer to Solaris's, where fdopendir
64227         ties the file descriptor to the returned DIR* pointer.
64228         * lib/openat.c (unlinkat): New function.
64229         * lib/openat.h (unlinkat): Add prototype.
64230         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
64231         (openat_restore_fail): Rename from openat_restore_die.
64232         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
64233
64234         Provide an alternative to exiting immediately upon save_cwd or
64235         restore_cwd failure.  Now, an application can arrange e.g.,
64236         to perform a longjump in that case.
64237         * lib/openat.c: Include dirname.h.
64238         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
64239         (rpl_openat, fdopendir, fstatat): Call openat_save_die
64240         and openat_restore_die rather than calling error directly.
64241         Don't include "error.h" or "exitfail.h"; they're no longer needed.
64242
64243         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
64244         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
64245         define.
64246
64247         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
64248         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
64249                             int utc, int nanoseconds);
64250         Background:
64251         date should not have to allocate a megabyte of virtual memory to
64252         handle a format argument like +%1048575T.  When implemented with
64253         strftime, it must allocate such a buffer, use strftime to fill it
64254         in, print it, then free it.
64255         With fprintftime, it simply prints everything and exits.
64256         With no need for memory allocation, that's one fewer way to fail.
64257         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
64258         optional field width, not before, so we accept %9:z, not %:9z.
64259         (my_strftime): Be sure to use L_('x') for literals.
64260
64261         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
64262         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
64263         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
64264         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
64265         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
64266         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
64267         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
64268         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
64269         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
64270         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
64271         * lib/xgethostname.c, lib/xreadlink.c:
64272         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
64273
64274         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
64275         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
64276         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
64277         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
64278         and don't include <sys/file.h>).
64279
64280 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
64281
64282         Sync from coreutils.
64283
64284         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
64285         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
64286         [!LDAV_DONE]: Avoid unused variable warning.
64287
64288 2005-09-21  Bruno Haible  <bruno@clisp.org>
64289
64290         * lib/unicodeio.h (unicode_to_mb): New declaration.
64291
64292 2005-09-20  Derek Price  <derek@ximbiot.com>
64293
64294         * lib/getaddrinfo.c: Don't include <netdb.h> included from
64295         getaddrinfo.h.
64296
64297 2005-09-20  Bruno Haible  <bruno@clisp.org>
64298
64299         * gnulib-tool: Remove trailing slashes from the values specified for
64300         --source-base, --m4-base, --tests-base, --aux-dir.
64301         Suggested by Simon Josefsson <jas@extundo.com>.
64302
64303 2005-09-20  Bruno Haible  <bruno@clisp.org>
64304
64305         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
64306         func_modules_to_filelist, func_import, func_create_testdir): Make all
64307         sorting results locale-independent, so that gnulib-cache.m4 doesn't
64308         change when gnulib-tool is invoked in a different locale.
64309
64310 2005-09-19  Simon Josefsson  <jas@extundo.com>
64311
64312         * m4/socklen.m4: Fix typo.
64313
64314 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64315
64316         Use a consistent style for including <config.h>.
64317         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
64318         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
64319         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
64320         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
64321         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
64322         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
64323         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
64324         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
64325         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
64326         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
64327         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
64328         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
64329         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
64330         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
64331         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
64332         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
64333         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
64334         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
64335         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
64336         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
64337         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
64338         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
64339         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
64340         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
64341         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
64342         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
64343         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
64344         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
64345         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
64346         lib/xstrtoumax.c, lib/yesno.c:
64347         Standardize inclusion of config.h.
64348         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
64349         lib/inttostr.h:  Removed inclusion of config.h from header files.
64350         * lib/inttostr.c:  Adjusted in-tree users.
64351         * lib/timespec.h: Remove superfluous warning to include config.h.
64352         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
64353         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
64354         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
64355         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
64356         config.h with HAVE_CONFIG_H.
64357
64358 2005-09-19  Jim Meyering  <jim@meyering.net>
64359
64360         * modules/pathmax (License): Change to LGPL.
64361
64362 2005-09-19  Derek Price  <derek@ximbiot.com>
64363
64364         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
64365
64366 2005-09-19  Bruno Haible  <bruno@clisp.org>
64367
64368         * gnulib-tool (import): Provide default for --tests-base.
64369
64370 2005-09-19  Bruno Haible  <bruno@clisp.org>
64371
64372         * doc/quote.texi: New file, extracted from gnulib.texi.
64373         * doc/ctime.texi: New file, extracted from gnulib.texi.
64374         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
64375         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
64376         * doc/gnulib.texi: Include them.
64377
64378 2005-09-18  Bruno Haible  <bruno@clisp.org>
64379
64380         Portability fix.
64381         * gnulib-tool (func_readlink): New function.
64382         (func_ln_if_changed): Use it.
64383
64384 2005-09-18  Bruno Haible  <bruno@clisp.org>
64385
64386         * gnulib-tool: Support --with-tests also with --import.
64387         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
64388         (func_import): Use variables $testsbase and $inctests. Emit a
64389         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
64390         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
64391         SUBDIRS += $testsdir.
64392         (func_create_testdir): Update.
64393
64394 2005-09-18  Bruno Haible  <bruno@clisp.org>
64395
64396         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
64397         instead of $dry_run.
64398         (func_cp_if_changed, func_mv_if_changed): Remove functions.
64399         (func_ln_if_changed): Don't handle dry-run here.
64400         (func_import): In dry-run mode, detect more precisely which actions
64401         would be performed, and don't use "...ing" verbs.
64402
64403 2005-09-18  Bruno Haible  <bruno@clisp.org>
64404
64405         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
64406         (func_import): Use join on two temporary files instead of three nested
64407         loops, in order to determine which files are new or old.
64408
64409 2005-09-18  Bruno Haible  <bruno@clisp.org>
64410
64411         * gnulib-tool (func_import): Comment out code that spits out the
64412         new files with --dry-run.
64413
64414 2005-09-18  Bruno Haible  <bruno@clisp.org>
64415
64416         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
64417
64418 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64419
64420         * lib/stat-time.h: New file.
64421         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
64422         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
64423         in a different way.
64424         (timespec_cmp): New function.
64425         * lib/utimecmp.c: Include stat-time.h.
64426         (SYSCALL_RESOLUTION): Depend on whether various struct stat
64427         members exist, not on the obsolescent ST_MTIM_NSEC.
64428         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
64429
64430 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64431
64432         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
64433
64434 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64435
64436         * MODULES.html.sh (File system functions): Add stat-time.
64437         * modules/stat-time: New file.
64438         * modules/timespec (Files): Remove m4/st_mtim.m4; this
64439         is now done in a different way, by the stat-time module.
64440         * modules/utimecmp (Depends-on): Add stat-time.
64441
64442 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64443
64444         * m4/st_mtim.m4: Remove.  Superseded by...
64445         * m4/stat-time.m4: New file.
64446         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
64447         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
64448
64449 2005-09-15  Derek Price  <derek@ximbiot.com>
64450
64451         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
64452
64453 2005-09-15  Derek Price  <derek@ximbiot.com>
64454
64455         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
64456         * lib/regex_internal.c: Ditto, using this...
64457         (__GNUC_PREREQ): ...new macro.
64458         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
64459         using...
64460         (__GNUC_PREREQ): ...this new macro.
64461
64462         * lib/strstr.h: Include string.h. Define strstr as a macro here.
64463
64464 2005-09-15  Derek Price  <derek@ximbiot.com>
64465             Paul Eggert  <eggert@cs.ucla.edu>
64466
64467         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
64468         changes, consolidating in...
64469         * lib/regex_internal.h: ...this file.
64470
64471 2005-09-13  Jim Meyering  <jim@meyering.net>
64472
64473         * lib/canon-host.c: Filter through gnu indent and reword comments
64474         slightly.
64475         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
64476
64477 2005-09-13  Derek Price  <derek@ximbiot.com>
64478
64479         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
64480         failure.
64481         Reported by Jim Meyering  <jim@meyering.net>.
64482
64483 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64484
64485         * lib/base64.c: Typo.
64486         (base64_encode): Put b64str in initialized data section.
64487
64488 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64489
64490         Merge glibc and coreutils changes into gnulib, plus a few
64491         extra fixes.
64492         * lib/md5.c: Use #error rather than a string.
64493         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
64494         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
64495         (__attribute__): Define to empty for non recent-GCC.
64496         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
64497         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
64498         Renamed from their non-__ counterparts, with new macros replacing
64499         them if not _LIBC.  Add __THROW attribute.
64500         (rol): Remove.
64501         (struct md5_ctx): Align buffer if using GCC.
64502         * lib/sha1.h (struct sha1_ctx): Likewise.
64503         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
64504         The old name was backwards.
64505         (NOTSWAP): Remove; not used.
64506         (rol): New macro, moved here from md5.h.
64507         (sha1_process_block): Remove a FIXME that doesn't make sense.
64508
64509 2005-09-12  Derek Price  <derek@ximbiot.com>
64510
64511         Return usable errors from canon-host.
64512         * lib/canon-host.h: New file.
64513         * lib/canon-host.c (canon_host): Wrap...
64514         (canon_host_r): ...this new function, which now relies exclusively on
64515         getaddrinfo.
64516         (ch_strerror): New function.
64517         (last_cherror): New global.
64518         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
64519         interface.
64520         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
64521         void *.
64522         (freeaddrinfo): Free ai->ai_canonname when set.
64523
64524 2005-09-12  Derek Price  <derek@ximbiot.com>
64525
64526         Make canon-host require getaddrinfo.
64527         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
64528         AC_LIBSOURCE canon-host.h.  Call...
64529         (gl_PREREQ_CANON_HOST): ...this new function, which requires
64530         gl_GETADDRINFO.
64531         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
64532
64533 2005-09-12  Derek Price  <derek@ximbiot.com>
64534
64535         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
64536         LGPL.
64537         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
64538
64539 2005-09-12  Derek Price  <derek@ximbiot.com>
64540
64541         * lib/gai_strerror.c: Include config.h when available.  Include
64542         getaddrinfo.h before other headers to test interface.
64543         Reported by Larry Jones <lawrence.jones@ugs.com>.
64544
64545 2005-09-12  Derek Price  <derek@ximbiot.com>
64546             Paul Eggert  <eggert@cs.ucla.edu>
64547
64548         * modules/glob (Files): Add glob-libc.h.
64549
64550 2005-09-12  Derek Price  <derek@ximbiot.com>
64551             Paul Eggert  <eggert@cs.ucla.edu>
64552
64553         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
64554         glob_.h, glob-libc.h.
64555         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
64556
64557 2005-09-12  Derek Price  <derek@ximbiot.com>
64558             Paul Eggert  <eggert@cs.ucla.edu>
64559
64560         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
64561         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
64562         protecting things that should be done only in gnulib contexts.
64563         * lib/glob_.h: New file, containing only the glob things needed for
64564         gnulib.
64565         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
64566         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
64567         (glob, globfree, glob_pattern_p): Now defined simply in terms of
64568         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
64569         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
64570         and to respect the namespace rules better.
64571
64572 2005-09-08  Simon Josefsson  <jas@extundo.com>
64573
64574         * modules/socklen: New file.
64575
64576 2005-09-08  Simon Josefsson  <jas@extundo.com>
64577
64578         * m4/socklen.m4: New file.
64579
64580 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64581
64582         * modules/utimens (Files): Add m4/utimbuf.m4, since
64583         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
64584         Reported by Sergey Poznyakoff.
64585
64586 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64587
64588         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
64589         definitions, since that's the preferred style in glibc.
64590         Fix a minor spacing issue, and update copyright notice to match
64591         glibc's.
64592
64593 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64594
64595         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
64596
64597 2005-09-06  Simon Josefsson  <jas@extundo.com>
64598
64599         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
64600         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
64601
64602 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64603
64604         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
64605         warning.
64606
64607 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64608
64609         * config/srclist.txt: Add glibc bug 1302.
64610
64611 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
64612
64613         Change bitset word type from unsigned int to unsigned long int,
64614         as this has better performance on typical 64-bit hosts.
64615         Port bitset code to hosts with unusual word sizes.
64616         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
64617         (build_collating_symbol):
64618         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
64619         argument is a bitset.  This is merely a style issue, but it makes
64620         it clearer that an entire array is expected.
64621         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
64622         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
64623         Port to the case where bitset_word is not the same as unsigned int.
64624         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64625         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
64626         Likewise.
64627         * lib/regexec.c (check_dst_limits_calc_pos_1,
64628         check_subexp_matching_top):
64629         (build_trtable, group_nodes_into_DFAstates):
64630         Likewise.
64631         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
64632         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
64633         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
64634         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
64635         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
64636         * lib/regcomp.c (optimize_subexps, lower_subexp):
64637         Work even if bitset_word has holes in its bitwise representation.
64638         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
64639         * lib/regexec.c (check_dst_limits_calc_pos_1,
64640         check_subexp_matching_top):
64641         Likewise.
64642         * lib/regex_internal.c (re_string_reconstruct):
64643         Don't assume UCHAR_MAX == 255.
64644         * lib/regex_internal.h (bitset_set_all): Likewise.
64645         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
64646         All uses changed.
64647         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
64648         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
64649         All uses changed.
64650         (BITSET_WORD_MAX): New macro.
64651         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
64652         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
64653         (bitset_empty, bitset_copy):
64654         Prefer sizeof (bitset) to multiplying it out ourselves.
64655         (bitset_not_merge): Remove; unused.
64656         (bitset_contain): Return bool, not unsigned int with one bit on.
64657         All callers changed.
64658         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
64659         alignment than re_node_set; do this by defining a new internal
64660         type struct dests_alloc and using it to allocate memory.
64661
64662 2005-09-05  Bruno Haible  <bruno@clisp.org>
64663
64664         * gnulib-tool (func_import): Fix comparison in handling of symbolic
64665         links.
64666
64667 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
64668
64669         * modules/size_max (Makefile.am): Add size_max.h
64670
64671 2005-09-04  Derek Price  <derek@ximbiot.com>
64672
64673         * gnulib-tool (func_import): Fix reversed $symbolic logic.
64674
64675 2005-09-03  Simon Josefsson  <jas@extundo.com>
64676
64677         * gnulib-tool: Fix typo.
64678
64679 2005-09-03  Simon Josefsson  <jas@extundo.com>
64680
64681         * config/srclist.txt: Add glibc bug 1293.
64682
64683 2005-09-03  Derek Price  <derek@ximbiot.com>
64684
64685         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
64686         From Larry Jones <lawrence.jones@ugs.com>.
64687
64688 2005-09-02  Simon Josefsson  <jas@extundo.com>
64689
64690         * modules/socklen: New file.
64691
64692 2005-09-02  Simon Josefsson  <jas@extundo.com>
64693
64694         * modules/havelib: New module.
64695
64696         * modules/gettext, modules/iconv, modules/lock, modules/readline:
64697         Use havelib.
64698
64699 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64700
64701         Check for arithmetic overflow when calculating sizes, to prevent
64702         some buffer-overflow issues.  These patches are conservative, in the
64703         sense that when I couldn't determine whether an overflow was possible,
64704         I inserted a run-time check.
64705         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
64706         macros.
64707         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
64708         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
64709         (re_xnrealloc, re_x2nrealloc): New inline functions.
64710         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
64711         parse_bracket_exp):
64712         (build_equiv_class, build_charclass): Check for arithmetic overflow
64713         in size expression calculations.
64714         * lib/regex_internal.c (re_string_realloc_buffers):
64715         (build_wcs_upper_buffer, re_node_set_add_intersect):
64716         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
64717         (re_dfa_add_node, register_state): Likewise.
64718         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
64719         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
64720         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
64721         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
64722
64723 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64724
64725         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
64726         m4/ulonglong.m4.  Problem reported by Martin Lambers.
64727
64728 2005-09-02  Bruno Haible  <bruno@clisp.org>
64729
64730         Support for lib vs. lib64 distinction on biarch platforms.
64731         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
64732         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
64733         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
64734
64735 2005-09-02  Bruno Haible  <bruno@clisp.org>
64736
64737         * gnulib-tool (import): In the other first-use case, provide defaults
64738         as well.
64739
64740 2005-09-02  Bruno Haible  <bruno@clisp.org>
64741
64742         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
64743         patches not yet found in the latest gettext release.
64744
64745 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64746
64747         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
64748         to avoid a collision with bits/local_lim.h in glibc.
64749         All uses changed.  Problem reported by Dmitry V. Levin in
64750         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
64751
64752         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
64753         bugs in int versus size_t comparisons.
64754         (re_string_context_at): Fix bug where the code assumed that
64755         Idx is signed.
64756
64757         Use bool where appropriate.
64758         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
64759         All callers changed.
64760         (calc_eclosure_iter): Likewise, for ROOT arg.
64761         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
64762         (build_charclass_op): Likewise, for NON_MATCH arg.
64763         * lib/regex_internal.c (re_string_allocate, re_string_construct):
64764         (re_string_construct_common): Likewise, for ICASE arg.
64765         * lib/regexec.c (re_search_2_stub, re_search_stub):
64766         Likewise, for RET_LEN arg.
64767         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
64768         (set_regs): Likewise, for FL_BACKTRACK arg.
64769         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
64770         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
64771         (calc_eclosure_iter, parse_bracket_exp):
64772         Use bool for internal variables that are booleans.
64773         * lib/regexec.c (re_search_internal, check_matching,
64774         proceed_next_node):
64775         (set_regs, build_sifted_states, sift_states_bkref):
64776         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
64777         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64778         (find_collation_sequence_value):
64779         Likewise.
64780         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
64781         (re_node_set_compare):
64782         Return bool, not int. All callers changed.
64783         * lib/regexec.c (check_halt_node_context, check_dst_limits):
64784         (build_trtable, check_node_accept): Likewise.
64785         * lib/regex_internal.h: Include stdbool.h.
64786
64787         Fix bugs uncovered when converting to bool.
64788         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
64789         failure instead of charging ahead blindly.
64790         * lib/regex_internal.c (register_state): Likewise.
64791         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
64792         for freeing internal storage.
64793         (group_nodes_into_DFA_states): Use unsigned int, not int, for
64794         bitset pieces used as boolean, to avoid undefined behavior
64795         on hosts that do int overflow checking.
64796
64797 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64798
64799         * config/srclist.txt: Add glibc bugs 1285-1287.
64800
64801 2005-09-01  Jim Meyering  <jim@meyering.net>
64802
64803         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
64804         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
64805         Require gl_STAT_MACROS, too.
64806
64807 2005-09-01  Bruno Haible  <bruno@clisp.org>
64808
64809         * gnulib-tool (import): In the first-use case, provide defaults.
64810
64811 2005-09-01  Bruno Haible  <bruno@clisp.org>
64812
64813         * gnulib-tool (func_import): Remove the .tmp files.
64814
64815 2005-09-01  Bruno Haible  <bruno@clisp.org>
64816
64817         * gnulib-tool (func_import): Fix handling of symbolic links.
64818
64819 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64820
64821         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
64822         old glibc regex code mishandles strings longer than 2**31 bytes.
64823         This patch fixes this when the regex code is used in gnulib
64824         (i.e., outside glibc).
64825
64826         This patch should not affect the use of the regex code inside
64827         glibc.  No doubt this problem also needs to be handled for glibc
64828         as well, but the result will be an incompatible change to the
64829         glibc ABI, and the old ABI will have to be supported too.  That
64830         can be the the subject for another patch.
64831
64832         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
64833         governing whether the rest of this patch is active.  By default,
64834         the macro is disabled and the patch has no effect.
64835         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
64836         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
64837         (struct re_pattern_buffer, re_search, re_search_2, re_match):
64838         (re_match_2, re_set_registers): Use the new types.
64839         * lib/regex_internal.h (Idx, re_hashval_t): New types.
64840         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
64841         New macros.
64842         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
64843         (re_string_context_at, bin_tree_t, re_dfastate_t):
64844         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
64845         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
64846         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
64847         (re_string_char_size_at, re_string_wchar_at):
64848         (re_string_elem_size_at):
64849         Use the new types and macros to port to 64-bit hosts.
64850         Use unsigned types for internal values, so that the code
64851         mostly works even for arrays larger than SSIZE_MAX.
64852         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
64853         (search_duplicated_node, calc_eclosure_iter, fetch_number):
64854         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
64855         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
64856         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
64857         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
64858         (calc_inveclosure, parse_dup_op, build_range_exp):
64859         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
64860         (fetch_number, create_token_tree, mark_opt_subexp):
64861         Likewise.
64862         * lib/regex_internal.c (re_string_construct_common,
64863         create_ci_newstate):
64864         (create_cd_newstate, re_string_allocate, re_string_construct):
64865         (re_string_realloc_buffers, build_wcs_upper_buffer):
64866         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64867         (re_string_reconstruct, re_string_peek_byte_case):
64868         (re_string_fetch_byte_case, re_string_context_at):
64869         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64870         (re_node_set_init_copy, re_node_set_add_intersect):
64871         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64872         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64873         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64874         (re_acquire_state, re_acquire_state_context, register_state):
64875         Likewise.
64876         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
64877         search_cur_bkref_entry):
64878         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
64879         (re_search_internal, re_search_2_stub, re_search_stub)
64880         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
64881         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
64882         (update_cur_sifted_state, check_dst_limits):
64883         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
64884         (check_subexp_limits, sift_states_bkref, merge_state_array):
64885         (check_subexp_matching_top, get_subexp, get_subexp_sub):
64886         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
64887         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64888         (expand_bkref_cache, check_node_accept_bytes):
64889         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
64890         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
64891         (acquire_init_state_context, check_halt_node_context):
64892         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
64893         (sift_states_backward, clean_state_log_if_needed):
64894         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
64895         (find_recover_state, transit_state_sb, transit_state_mb):
64896         (transit_state_bkref, build_trtable, match_ctx_clean):
64897         Likewise.
64898         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
64899         to work around an assumption that REG_MISSING is negative.
64900
64901         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
64902         (seek_collating_symbol_entry) [defined _LIBC]:
64903         (lookup_collation_sequence_value) [defined _LIBC]:
64904         (build_range_exp, build_collating_symbol) [defined _LIBC]:
64905         Use prototypes rather than old-style function definitions.
64906         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
64907         (transit_state_sb) [0]:
64908         (find_collation_sequence_value) [defined _LIBC]: Likewise.
64909
64910         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
64911         rm_eo.
64912
64913         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
64914         (optimize_subexps, lower_subexp):
64915         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
64916         since the signed shift might overflow.  Use 1u<<31 instead.
64917         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64918         Likewise.
64919         * lib/regexec.c (check_dst_limits_calc_pos_1,
64920         check_subexp_matching_top): Likewise.
64921
64922         * lib/regcomp.c (optimize_subexps, lower_subexp):
64923         Use CHAR_BIT rather than 8, for clarity.
64924         * lib/regexec.c (check_dst_limits_calc_pos_1):
64925         (check_subexp_matching_top): Likewise.
64926         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
64927         have to worry about portability issues when shifting it left.
64928         Remove no-longer-needed test for table_size > 0.
64929         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
64930         in a word, as the resulting behavior is undefined.
64931         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
64932         in one case, a <= should have been an <, and in another case the
64933         whole test was missing.
64934         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
64935         the standard name CHAR_BIT.
64936         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
64937         this is not true on one's complement and signed-magnitude hosts.
64938
64939         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
64940         next_last_offset.
64941         (struct re_dfa_t): Remove unused member states_alloc.
64942         * lib/regcomp.c (init_dfa): Don't initialize unused members.
64943
64944 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64945
64946         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
64947         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
64948         and large-file glibc and in 32-bit large-file Solaris.
64949
64950 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64951
64952         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
64953         lengths fit in regoff_t; this isn't true if regoff_t is the same
64954         width as size_t.
64955         * lib/regex.c (re_search_internal): 5th arg is LAST_START
64956         (= START + RANGE) instead of RANGE.  This avoids overflow
64957         problems when regoff_t is the same width as size_t.
64958         All callers changed.
64959         (re_search_2_stub): Check for overflow when adding the
64960         sizes of the two strings.
64961         (re_search_stub): Check for overflow when adding START
64962         to RANGE; if it occurs, substitute the extreme value.
64963
64964 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64965
64966         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
64967
64968 2005-08-31  Jim Meyering  <jim@meyering.net>
64969
64970         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
64971         a pointer-to-const.
64972         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
64973         (register_state): Likewise.
64974         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
64975         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
64976         (group_nodes_into_DFAstates): Likewise.
64977
64978 2005-08-31  Jim Meyering  <jim@meyering.net>
64979
64980         * check-module: Add a FIXME comment.
64981
64982 2005-08-31  Eric Blake  <ebb9@byu.net>
64983
64984         * modules/unistd-safer (Files): Add unistd--.h.
64985         * modules/stdio-safer (Files): Add stdio--.h.
64986
64987 2005-08-31  Derek Price  <derek@ximbiot.com>
64988
64989         * lib/getdelim.c (getdelim): Return EOF on EOF.
64990         Reported by Larry Jones <lawrence.jones@ugs.com>.
64991
64992 2005-08-31  Bruno Haible  <bruno@clisp.org>
64993
64994         Avoid unnecessary diffs in the generated lib/Makefile.am.
64995         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
64996         the generated files.
64997         (func_import): Don't set cmd.
64998
64999 2005-08-31  Bruno Haible  <bruno@clisp.org>
65000
65001         * lib/strstr.c: Include <stddef.h>, for NULL.
65002         * lib/strcasestr.c: Likewise.
65003         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65004
65005 2005-08-31  Bruno Haible  <bruno@clisp.org>
65006
65007         * gnulib-tool: New option --macro-prefix.
65008         (func_import): Use macro_prefix.
65009         (import): Handle option --macro-prefix.
65010
65011 2005-08-31  Bruno Haible  <bruno@clisp.org>
65012
65013         * gnulib-tool (import): Rename most ac_* variables to cached_*.
65014         Also use new variables cached_lgpl, cached_libtool.
65015
65016 2005-08-31  Bruno Haible  <bruno@clisp.org>
65017
65018         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
65019         always instantiating them.
65020
65021 2005-08-31  Bruno Haible  <bruno@clisp.org>
65022
65023         * gnulib-tool (func_import): Read the previous cached settings
65024         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
65025         earlier added by gnulib but are now dropped. Warn when a gnulib file
65026         overwrites a non-gnulib file.
65027
65028 2005-08-31  Bruno Haible  <bruno@clisp.org>
65029
65030         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
65031         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
65032         projects that don't keep autogenerated files in CVS. Put into
65033         actioncmd only the specified modules, not the transitive closure.
65034
65035 2005-08-31  Bruno Haible  <bruno@clisp.org>
65036
65037         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
65038         Create directories that shall be filled.
65039         (import): Don't look for gl_* macros in configure.ac. Recurse across
65040         all directories containing a gnulib-cache.m4 files, if meaningful.
65041
65042 2005-08-31  Bruno Haible  <bruno@clisp.org>
65043
65044         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
65045         (import): Set seen_libtool when we see gl_LIBTOOL.
65046
65047 2005-08-31  Bruno Haible  <bruno@clisp.org>
65048
65049         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
65050         declaration macro definitions from generated gnulib.m4.
65051
65052 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
65053
65054         * lib/iconvme.h: Add prototype for iconv_alloc.
65055
65056 2005-08-29  Simon Josefsson  <jas@extundo.com>
65057
65058         * lib/iconvme.c: Fix errno.
65059
65060 2005-08-29  Bruno Haible  <bruno@clisp.org>
65061
65062         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
65063         that it works when the directory contains spaces.
65064
65065 2005-08-29  Bruno Haible  <bruno@clisp.org>
65066
65067         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
65068
65069 2005-08-29  Bruno Haible  <bruno@clisp.org>
65070
65071         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
65072         Emit more advice.
65073
65074 2005-08-29  Bruno Haible  <bruno@clisp.org>
65075         and Stepan Kasal  <kasal@ucw.cz>
65076
65077         * check-module: If more parameters are given, check each of them
65078         separately; add more exceptions, as noted by Jim Meyering.
65079         (check_module): New procedure.
65080         (%exempt_header): Now contains all exceptions.
65081
65082 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
65083
65084         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
65085
65086 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
65087
65088         * lib/iconvme.c: Split iconv_string into iconv_alloc.
65089
65090 2005-08-28  Bruno Haible  <bruno@clisp.org>
65091
65092         * m4/gnulib-tool.m4: New file.
65093
65094 2005-08-27  Jim Meyering  <jim@meyering.net>
65095
65096         * modules/unistd-safer (Files): Add pipe-safer.c.
65097         * modules/fcntl-safer (Files): Add creat-safer.c.
65098
65099 2005-08-27  Jim Meyering  <jim@meyering.net>
65100
65101         * m4/stdlib-safer.m4: New file.  From coreutils.
65102         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
65103         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
65104         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
65105         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
65106         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
65107
65108 2005-08-27  Jim Meyering  <jim@meyering.net>
65109
65110         * lib/fopen-safer.c: Merge minor changes from coreutils.
65111         * lib/dup-safer.c: Likewise.
65112         * lib/fd-safer.c: Likewise.
65113
65114         Merge from coreutils.
65115         * lib/stdio--.h: New file.
65116         * lib/stdlib--.h: New file.
65117         * lib/mkstemp-safer.c: New file.
65118
65119         GNU tar needs these.
65120         * lib/pipe-safer.c: New file.
65121         * lib/creat-safer.c: New file.
65122         * lib/fcntl--.h (creat): Define to creat_safer.
65123         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
65124         * lib/unistd--.h (pipe): Define to pipe_safer.
65125         * lib/unistd-safer.h: Declare pipe_safer.
65126
65127 2005-08-26  Simon Josefsson  <jas@extundo.com>
65128
65129         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
65130         Haible <bruno@clisp.org>.
65131
65132 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
65133
65134         * lib/regex_internal.h: Remove all references to
65135         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
65136         or better.
65137         (bitset_not, bitset_merge, bitset_not_merge):
65138         (bitset_mask, re_string_allocate, re_string_construct):
65139         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
65140         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
65141         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
65142         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
65143         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65144         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65145         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
65146         (re_acquire_state_context):
65147         Remove unnecessary forward decls.
65148         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
65149         Put __attribute at function definition,
65150         now that the function decl has been removed.
65151         * lib/regex_internal.c (re_string_peek_byte_case):
65152         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
65153         Likewise.
65154
65155 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
65156
65157         * m4/regex.m4: Add AC_PREREQ(2.50).
65158         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
65159
65160 2005-08-25  Simon Josefsson  <jas@extundo.com>
65161
65162         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
65163         __fsetlocking.
65164
65165 2005-08-25  Simon Josefsson  <jas@extundo.com>
65166
65167         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
65168         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
65169         GLIBC specific code.
65170
65171 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65172
65173         Make regex safe for g++.  This fixes one real bug (an "err"
65174         that should have been "*err").  g++ problem reported by
65175         Sam Steingold.
65176         * lib/regex_internal.h (re_calloc): New macro, consistent with
65177         re_malloc etc.  All callers of calloc changed to use re_calloc.
65178         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
65179         not int.  All callers changed.
65180         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
65181         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
65182         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
65183         (find_recover_state): Change "err" to "*err"; this fixes what
65184         appears to be a real bug.
65185         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
65186         versus int.
65187
65188 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65189
65190         * modules/regex (Depends-on): Add malloc, since the code
65191         assumes that !malloc(0) means failure.
65192
65193 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65194
65195         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
65196
65197         alloca modernization/simplification for regex.
65198         * lib/regex.c: Remove portability cruft for alloca.  This no longer
65199         needs to be at the start of the file, and can be moved into
65200         regex_internal.h and simplified.
65201         * lib/regex_internal.h: Include <alloca.h>.
65202         (__libc_use_alloca) [!defined _LIBC]: New macro.
65203         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
65204         now works outside glibc.
65205
65206 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65207
65208         * config/srclist.txt: Add glibc bugs 1241, 1245.
65209
65210 2005-08-25  Jim Meyering  <jim@meyering.net>
65211
65212         * lib/open-safer.c: Include <config.h>.
65213         Otherwise, we'd lose LARGEFILE support in any file using
65214         e.g. "fcntl--.h"
65215
65216 2005-08-25  Bruno Haible  <bruno@clisp.org>
65217
65218         * m4/minmax.m4: Require autoconf 2.52.
65219         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
65220         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
65221         alternatives of translit over the alphabet.
65222         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
65223
65224 2005-08-24  Simon Josefsson  <jas@extundo.com>
65225
65226         * tests/test-getpass.c: New file.
65227
65228 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65229
65230         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
65231         for GNU regex features.
65232
65233 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65234
65235         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
65236         * lib/regex.h (regerror): Likewise.
65237
65238         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
65239         requires this.  (The code never needed it.)
65240
65241         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
65242         All uses of recently-renamed identifiers changed to use the new,
65243         POSIX-compliant names.  The code will build and run just fine
65244         without these changes, but it's better to eat our own dog food
65245         and use the standard-conforming names.
65246
65247         * lib/regex.h: Fix a multitude of POSIX name space violations.
65248         These changes have an effect only for programs that define
65249         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
65250         do not change anything for programs compiled in the normal way.
65251         Also, there is no effect on the ABI.
65252
65253         (_REGEX_SOURCE): New macro.
65254         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
65255         defined and _GNU_SOURCE is not; this fixes a name space violation.
65256
65257         Rename the following macros to obey POSIX requirements.
65258         The old names are still visible as macros if _REGEX_SOURCE is defined.
65259         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
65260         RE_BACKSLASH_ESCAPE_IN_LISTS.
65261         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
65262         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
65263         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
65264         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
65265         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
65266         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
65267         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
65268         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
65269         (REG_INTERVALS): renamed from RE_INTERVALS.
65270         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
65271         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
65272         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
65273         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
65274         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
65275         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
65276         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
65277         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
65278         RE_UNMATCHED_RIGHT_PAREN_ORD.
65279         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
65280         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
65281         (REG_DEBUG): renamed from RE_DEBUG.
65282         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
65283         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
65284         unusual, since we can't clash with the POSIX REG_ICASE.
65285         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
65286         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
65287         (REG_NO_SUB): renamed from RE_NO_SUB.
65288         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
65289         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
65290         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
65291         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
65292         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
65293         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
65294         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
65295         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
65296         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
65297         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
65298         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
65299         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
65300         RE_SYNTAX_POSIX_MINIMAL_BASIC.
65301         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
65302         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
65303         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
65304         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
65305         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
65306         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
65307         (REG_FIXED): Renamed from REGS_FIXED.
65308         (REG_NREGS): Renamed from RE_NREGS.
65309
65310         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
65311         of other REG_* macros, since POSIX says the user is allowed to
65312         #undef these macros selectively.
65313
65314         (reg_errcode_t): Update comment stating what other tables need
65315         to be consistent.
65316
65317         Rename the following enum values to obey POSIX requirements.
65318         The old names are still visible as macros.
65319         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
65320         is not defined, since GNU is supposed to be a superset of POSIX as
65321         much as possible, and since we want reg_errcode_t to be a signed
65322         type for implementation consistency.
65323         (_REG_NOERROR): Renamed from REG_NOERROR.
65324         (_REG_NOMATCH): Renamed from REG_NOMATCH.
65325         (_REG_BADPAT): Renamed from REG_BADPAT.
65326         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
65327         (_REG_ECTYPE): Renamed from REG_ECTYPE.
65328         (_REG_EESCAPE): Renamed from REG_EESCAPE.
65329         (_REG_ESUBREG): Renamed from REG_ESUBREG.
65330         (_REG_EBRACK): Renamed from REG_EBRACK.
65331         (_REG_EPAREN): Renamed from REG_EPAREN.
65332         (_REG_EBRACE): Renamed from REG_EBRACE.
65333         (_REG_BADBR): Renamed from REG_BADBR.
65334         (_REG_ERANGE): Renamed from REG_ERANGE.
65335         (_REG_ESPACE): Renamed from REG_ESPACE.
65336         (_REG_BADRPT): Renamed from REG_BADRPT.
65337         (_REG_EEND): Renamed from REG_EEND.
65338         (_REG_ESIZE): Renamed from REG_ESIZE.
65339         (_REG_ERPAREN): Renamed from REG_ERPAREN.
65340         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
65341         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
65342         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
65343         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
65344
65345         (_REG_RE_NAME, _REG_RM_NAME): New macros.
65346         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
65347         changed.  But support the old name if the new one is not defined
65348         and if _REGEX_SOURCE.
65349
65350         Change the following member names in struct re_pattern_buffer.
65351         The old names are still supported if !_REGEX_SOURCE.
65352         The new names are always supported, regardless of _REGEX_SOURCE.
65353         (re_buffer): Renamed from buffer.
65354         (re_allocated): Renamed from allocated.
65355         (re_used): Renamed from used.
65356         (re_syntax): Renamed from syntax.
65357         (re_fastmap): Renamed from fastmap.
65358         (re_translate): Renamed from translate.
65359         (re_can_be_null): Renamed from can_be_null.
65360         (re_regs_allocated): Renamed from regs_allocated.
65361         (re_fastmap_accurate): Renamed from fastmap_accurate.
65362         (re_no_sub): Renamed from no_sub.
65363         (re_not_bol): Renamed from not_bol.
65364         (re_not_eol): Renamed from not_eol.
65365         (re_newline_anchor): Renamed from newline_anchor.
65366
65367         Change the following member names in struct re_registers.
65368         The old names are still supported if !_REGEX_SOURCE.
65369         The new names are always supported, regardless of _REGEX_SOURCE.
65370         (rm_num_regs): Renamed from num_regs.
65371         (rm_start): Renamed from start.
65372         (rm_end): Renamed from end.
65373
65374         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
65375         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
65376         Prepend __ to parameter names.
65377
65378         Undo yesterday's changes.
65379
65380 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65381
65382         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
65383         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
65384         lib/regex.c.
65385
65386 2005-08-24  Jim Meyering  <jim@meyering.net>
65387
65388         Sync from coreutils.
65389         * m4/fcntl-safer.m4: New file.
65390
65391         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
65392         and object files for this module.
65393
65394 2005-08-24  Jim Meyering  <jim@meyering.net>
65395
65396         Sync from coreutils.
65397         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
65398
65399 2005-08-24  Jim Meyering  <jim@meyering.net>
65400
65401         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
65402         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
65403
65404 2005-08-24  Jim Meyering  <jim@meyering.net>
65405
65406         * modules/fcntl-safer: New module.
65407         * modules/fts (Depends-on): Add fcntl-safer.
65408         * MODULES.html.sh (File descriptor based Input/Output):
65409         Add fcntl-safer.
65410
65411 2005-08-24  Bruno Haible  <bruno@clisp.org>
65412
65413         Support for unit test modules.
65414         * modules/README: Mention tests modules.
65415         * modules/TEMPLATE-TESTS: New file.
65416         * gnulib-tool: New options --extract-tests-module, --with-tests and
65417         --tests-base (unused for the moment).
65418         (testsbase, inctests): New variables.
65419         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
65420         (func_verify_module): Exclude TEMPLATE-TESTS.
65421         (func_verify_nontests_module, func_verify_tests_module): New functions.
65422         (func_get_dependencies): Add implicit dependency for tests modules.
65423         (func_get_tests_module): New function.
65424         (func_modules_transitive_closure): When --with-tests was specified,
65425         include the unit tests as well, unless explicitly avoided.
65426         (func_emit_lib_Makefile_am): Ignore the tests modules here.
65427         (func_emit_tests_Makefile_am): New function.
65428         (func_create_testdir): When --with-tests was specified, emit a
65429         tests/ directory.
65430         * MODULES.html.sh (Future developments): Update.
65431
65432 2005-08-24  Bruno Haible  <bruno@clisp.org>
65433
65434         * modules/tls-tests: New file.
65435         * tests/test-tls.c: New file, from GNU gettext.
65436
65437 2005-08-24  Bruno Haible  <bruno@clisp.org>
65438
65439         * modules/lock-tests: New file.
65440         * tests/test-lock.c: New file, from GNU gettext.
65441
65442 2005-08-24  Bruno Haible  <bruno@clisp.org>
65443
65444         * lib/lock.h: Add multiple inclusion guard.
65445         * lib/tls.h: Add multiple inclusion guard.
65446
65447 2005-08-24  Bruno Haible  <bruno@clisp.org>
65448
65449         * gnulib-tool: Add support for the --aux-dir option to
65450         --create-testdir, --create-megatestdir, --test, --megatest.
65451         (func_create_testdir, func_create_megatestdir): Optionally emit a
65452         AC_CONFIG_AUX_DIR directive.
65453         (create-testdir, create-megatestdir, test, megatest): Provide a
65454         default value for $auxdir.
65455
65456 2005-08-24  Bruno Haible  <bruno@clisp.org>
65457
65458         * gnulib-tool (import): Use compound statement instead of subshell
65459         where possible.
65460
65461 2005-08-24  Bruno Haible  <bruno@clisp.org>
65462
65463         * gnulib-tool (import): Change --aux-dir default to "build-aux".
65464
65465 2005-08-24  Bruno Haible  <bruno@clisp.org>
65466
65467         * gnulib-tool (func_version): Update.
65468
65469 2005-08-24  Bruno Haible  <bruno@clisp.org>
65470
65471         * gnulib-tool (func_import, func_create_testdir,
65472         func_create_megatestdir): Quote all autoconf macro arguments.
65473
65474 2005-08-24  Bruno Haible  <bruno@clisp.org>
65475
65476         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
65477         option --force, because --force causes the aclocal.m4 of each
65478         subdirectory to be newer than the corresponding config.h.in.
65479
65480 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65481
65482         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
65483         All contents moved to gl_REGEX.
65484         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
65485         assume that it does.
65486
65487 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65488
65489         * lib/regex.h (REG_NOSYS)
65490         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
65491         Define, since POSIX requires it as of 2001.
65492         (_REG_ENOSYS)
65493         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
65494         New private symbol, used to keep the enum signed in all cases.
65495         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
65496         Youngman in
65497         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
65498
65499         * lib/regex_internal.c (re_string_skip_chars, register_state):
65500         (calc_state_hash):
65501         Remove forward decls; no longer needed now that we use prototypes.
65502         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
65503         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
65504         (clean_state_log_if_needed): Likewise.
65505
65506 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65507
65508         * config/srclist.txt: Add glibc bugs 1231-1233.
65509
65510 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65511
65512         Fix problems reported by Sam Steingold in
65513         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
65514         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
65515         assumed that reg_errcode_t is a signed type, which is not
65516         necessarily true if _XOPEN_SOURCE is not defined.
65517         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
65518         since some compilers warn about it otherwise.
65519
65520 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65521
65522         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
65523         (init_word_char, create_initial_state, duplicate_node_closure):
65524         (fetch_token, peek_token_bracket, build_range_exp):
65525         (build_collating_symbol): Remove forward decls; no longer needed
65526         now that we use prototypes.
65527
65528         * lib/regcomp.c:
65529         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
65530         (re_compile_fastmap_iter, regcomp, regerror, regfree):
65531         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
65532         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
65533         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
65534         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
65535         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
65536         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
65537         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
65538         (build_range_exp, build_collating_symbol, parse_bracket_exp):
65539         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
65540         (build_charclass, build_charclass_op, fetch_number, create_tree):
65541         (create_token_tree, mark_opt_subexp, duplicate_tree):
65542         Use prototypes rather than old-style definitions.
65543
65544         * lib/regex_internal.c:
65545         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
65546         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
65547         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
65548         (re_string_reconstruct, re_string_peek_byte_case):
65549         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
65550         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
65551         (re_node_set_init_copy, re_node_set_add_intersect):
65552         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65553         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65554         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
65555         (re_acquire_state, re_acquire_state_context, register_state):
65556         (create_ci_newstate, create_cd_newstate, free_state):
65557         Likewise.
65558         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
65559         re_search_2):
65560         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
65561         (re_search_internal, prune_impossible_nodes):
65562         (acquire_init_state_context, check_matching, static):
65563         (check_halt_node_context, check_halt_state_context, proceed_next_node):
65564         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
65565         (update_regs, sift_states_backward, build_sifted_states):
65566         (clean_state_log_if_needed, merge_state_array):
65567         (update_cur_sifted_state, add_epsilon_src_nodes):
65568         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
65569         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
65570         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
65571         (find_recover_state, check_subexp_matching_top, transit_state_mb):
65572         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
65573         (check_arrival, check_arrival_add_next_nodes):
65574         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
65575         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65576         (check_node_accept_bytes, check_node_accept, extend_buffers):
65577         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
65578         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
65579         (sift_ctx_init):
65580         Likewise.
65581
65582         * lib/regex_internal.h:
65583         (re_string_allocate, re_string_construct, re_string_reconstruct):
65584         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
65585         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
65586         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
65587         (re_string_context_at, re_string_peek_byte_case):
65588         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
65589         is defined, since we now use prototypes always.
65590
65591         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
65592         C89 or better.  All uses removed.
65593
65594 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65595
65596         * config/srclist.txt: Add glibc bugs 1220-1227.
65597
65598 2005-08-20  Jim Meyering  <jim@meyering.net>
65599
65600         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
65601         of unused local, dfa.
65602
65603 2005-08-20  Bruno Haible  <bruno@clisp.org>
65604
65605         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
65606
65607 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65608
65609         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
65610         (re_node_set_insert_last, re_dfa_add_node):
65611         Rename local variables to avoid GCC shadowing warnings.
65612
65613 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65614
65615         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
65616         [defined lint]: Suppress bogus uninitialized-variable warnings.
65617
65618         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
65619         and let the caller return REG_ESPACE if out of space.  This
65620         removes an uninitialied-variable warning with GCC 4.0.1, and also
65621         avoids taking the address of a local variable.  All callers
65622         changed.
65623
65624 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65625
65626         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
65627         $LIBCSRC/posix/regexec.c.
65628         Add glibc bug 1217 for regcomp.c.
65629
65630 2005-08-19  Jim Meyering  <jim@meyering.net>
65631
65632         * lib/regexec.c (proceed_next_node): Redo local variables to
65633         avoid GCC shadowing warnings.
65634
65635 2005-08-18  Bruno Haible  <bruno@clisp.org>
65636
65637         * lib/strstr.c (strstr): Fix return value in multibyte case.
65638         * lib/strcasestr.c (strcasestr): Likewise.
65639
65640 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65641
65642         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
65643
65644 2005-08-17  Jim Meyering  <jim@meyering.net>
65645
65646         Make the %s format (seconds since the epoch) work for a negative
65647         number and when used with a zero-padded field width, e.g. %015s.
65648
65649         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
65650         label so that it precedes the code to set `digits'.  Otherwise,
65651         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
65652         print `00-22'.  Now, it prints `-0022', as it should.
65653
65654 2005-08-17  Bruno Haible  <bruno@clisp.org>
65655
65656         * modules/strstr (Files): Add m4/mbrtowc.m4.
65657         (Depends-on): Add mbuiter.
65658
65659 2005-08-17  Bruno Haible  <bruno@clisp.org>
65660
65661         * modules/strcasestr: New file.
65662         * MODULES.html.sh (String handling, based on ANSI C 89): Add
65663         strcasestr.
65664
65665 2005-08-17  Bruno Haible  <bruno@clisp.org>
65666
65667         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
65668
65669 2005-08-17  Bruno Haible  <bruno@clisp.org>
65670
65671         * modules/mbuiter: New file.
65672         * MODULES.html.sh (Extended multibyte and wide character utilities):
65673         Add mbuiter.
65674
65675 2005-08-17  Bruno Haible  <bruno@clisp.org>
65676
65677         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
65678         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
65679
65680 2005-08-17  Bruno Haible  <bruno@clisp.org>
65681
65682         * m4/strcasestr.m4: New file.
65683
65684 2005-08-17  Bruno Haible  <bruno@clisp.org>
65685
65686         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
65687         * lib/strstr.c: Completely rewritten, with multibyte locale support.
65688
65689 2005-08-17  Bruno Haible  <bruno@clisp.org>
65690
65691         * lib/strcasestr.h: New file.
65692         * lib/strcasestr.c: New file.
65693
65694 2005-08-17  Bruno Haible  <bruno@clisp.org>
65695
65696         * lib/strcasecmp.c: Use mbuiter.h.
65697
65698 2005-08-17  Bruno Haible  <bruno@clisp.org>
65699
65700         * lib/mbuiter.h: New file.
65701
65702 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
65703
65704         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
65705         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
65706         and gl_GETOPT are both invoked via different paths (as happens
65707         with GNU tar CVS because it uses both argp and getopt), the former
65708         wins.
65709
65710 2005-08-16  Bruno Haible  <bruno@clisp.org>
65711
65712         * modules/tls: New file.
65713         * MODULES.html.sh (Multithreading): Add tls.
65714
65715 2005-08-16  Bruno Haible  <bruno@clisp.org>
65716
65717         * modules/strnlen1: New file.
65718         * MODULES.html.sh (String handling): Add strnlen1.
65719
65720 2005-08-16  Bruno Haible  <bruno@clisp.org>
65721
65722         * modules/strcase (Files): Add m4/mbrtowc.m4.
65723         (Depends-on): Add strnlen1, mbchar.
65724
65725 2005-08-16  Bruno Haible  <bruno@clisp.org>
65726
65727         * modules/mbiter: New file.
65728         * MODULES.html.sh (Extended multibyte and wide character utilities):
65729         Add mbiter.
65730
65731 2005-08-16  Bruno Haible  <bruno@clisp.org>
65732
65733         * modules/mbfile: New file.
65734         * MODULES.html.sh (Extended multibyte and wide character utilities):
65735         Add mbfile.
65736
65737 2005-08-16  Bruno Haible  <bruno@clisp.org>
65738
65739         * modules/mbchar: New file.
65740         * MODULES.html.sh (Extended multibyte and wide character utilities):
65741         New section.
65742
65743 2005-08-16  Bruno Haible  <bruno@clisp.org>
65744
65745         * m4/tls.m4: New file, from GNU gettext.
65746
65747 2005-08-16  Bruno Haible  <bruno@clisp.org>
65748
65749         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
65750         always.
65751         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
65752
65753 2005-08-16  Bruno Haible  <bruno@clisp.org>
65754
65755         * m4/mbiter.m4: New file.
65756
65757 2005-08-16  Bruno Haible  <bruno@clisp.org>
65758
65759         * m4/mbfile.m4: New file.
65760
65761 2005-08-16  Bruno Haible  <bruno@clisp.org>
65762
65763         * m4/mbchar.m4: New file.
65764
65765 2005-08-16  Bruno Haible  <bruno@clisp.org>
65766
65767         * lib/tls.h: New file, from GNU gettext.
65768         * lib/tls.c: New file, from GNU gettext.
65769
65770 2005-08-16  Bruno Haible  <bruno@clisp.org>
65771
65772         * lib/strnlen1.h: New file.
65773         * lib/strnlen1.c: New file.
65774
65775 2005-08-16  Bruno Haible  <bruno@clisp.org>
65776
65777         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
65778         (mbi_init): Update.
65779         (mbi_avail, mbi_advance): Let the iteration end before the terminating
65780         NUL byte, not after it.
65781
65782 2005-08-16  Bruno Haible  <bruno@clisp.org>
65783
65784         * lib/strcase.h (strcasecmp): Add note in comments.
65785         * lib/strncasecmp.c: Use code from strcasecmp.c.
65786         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
65787         (strcasecmp): Work correctly in multibyte locales.
65788
65789 2005-08-16  Bruno Haible  <bruno@clisp.org>
65790
65791         * lib/mbiter.h: New file.
65792
65793 2005-08-16  Bruno Haible  <bruno@clisp.org>
65794
65795         * lib/mbfile.h: New file.
65796
65797 2005-08-16  Bruno Haible  <bruno@clisp.org>
65798
65799         * lib/mbchar.h: New file.
65800         * lib/mbchar.c: New file.
65801
65802 2005-08-16  Bruno Haible  <bruno@clisp.org>
65803
65804         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
65805         the valid ones. Makes the comparison operations transitive:
65806         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
65807         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
65808
65809 2005-08-15  Simon Josefsson  <jas@extundo.com>
65810
65811         * modules/ssize_t (License): Change to 'unlimited'.
65812
65813         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
65814
65815 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65816
65817         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
65818         Add comments for each pending glibc patch.
65819
65820 2005-08-15  Bruno Haible  <bruno@clisp.org>
65821
65822         * lib/regex.h (__restrict_arr): Don't define to __restrict if
65823         __cplusplus is defined.
65824
65825 2005-08-14  Jim Meyering  <jim@meyering.net>
65826
65827         Sync from coreutils.
65828
65829         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
65830         Use the hash-table-based cycle-detection code not just when
65831         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
65832         Reported by James Youngman in
65833         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
65834         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
65835         FTS_TIGHT_CYCLE_CHECK.
65836         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
65837         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
65838         once again.
65839         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
65840         * lib/fts.c (fd_safer): Remove decl.
65841         Include fcntl--.h rather than unistd-safer.h
65842         (fts_safe_changedir): Don't call fd_safer; no longer needed
65843         now that we include fcntl--.h.
65844
65845 2005-08-12  Simon Josefsson  <jas@extundo.com>
65846
65847         * modules/getndelim2: Use ssize_t module.
65848         * modules/getnline: Likewise.
65849         * modules/safe-read: Likewise.
65850         * modules/xreadlink: Likewise.
65851
65852         * modules/ssize_t: New file.
65853
65854 2005-08-12  Simon Josefsson  <jas@extundo.com>
65855
65856         * m4/readline.m4: Look for termcap, curses or ncurses if required.
65857
65858 2005-08-12  Simon Josefsson  <jas@extundo.com>
65859
65860         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65861         ssize_t.
65862
65863 2005-08-12  Simon Josefsson  <jas@extundo.com>
65864
65865         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
65866         readline, getdelim and check_version.
65867         (Support for systems lacking ISO C 99: Sizes of integer types):
65868         Add size_max.
65869
65870 2005-08-12  Bruno Haible  <bruno@clisp.org>
65871
65872         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
65873
65874 2005-08-11  Simon Josefsson  <jas@extundo.com>
65875
65876         * modules/readline: New file.
65877
65878         * modules/strnlen (Files): Add strnlen.h.
65879
65880 2005-08-11  Simon Josefsson  <jas@extundo.com>
65881
65882         * m4/readline.m4: New file.
65883
65884 2005-08-11  Simon Josefsson  <jas@extundo.com>
65885
65886         * lib/readline.h, readline.c: New file.
65887
65888 2005-08-11  Simon Josefsson  <jas@extundo.com>
65889
65890         * doc/gnulib.texi (Initial import, Finishing touches): Mention
65891         gl_AVOID.
65892
65893 2005-08-11  Bruno Haible  <bruno@clisp.org>
65894
65895         * lib/strnlen.h (strnlen): Change parameter name to match comment.
65896
65897 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
65898
65899         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
65900
65901 2005-08-10  Simon Josefsson  <jas@extundo.com>
65902
65903         * tests/test-iconvme.c: New file.
65904
65905 2005-08-10  Simon Josefsson  <jas@extundo.com>
65906
65907         * m4/strnlen.m4: New file.
65908
65909         * m4/strndup.m4: Don't check for strnlen declaration, done in
65910         strnlen.m4.
65911
65912 2005-08-10  Simon Josefsson  <jas@extundo.com>
65913
65914         * lib/strndup.c: Use strnlen.h.
65915
65916         * lib/strnlen.h: New file.
65917
65918 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65919
65920         * README: Typos.
65921
65922 2005-08-02  Simon Josefsson  <jas@extundo.com>
65923
65924         * modules/readline: New file.
65925
65926 2005-08-02  Simon Josefsson  <jas@extundo.com>
65927
65928         * modules/getdelim: New file.
65929
65930         * modules/getline: Rewrite, don't use getndelim2.
65931
65932 2005-08-02  Simon Josefsson  <jas@extundo.com>
65933
65934         * m4/getline.m4: Separate out getdelim stuff into separate module.
65935
65936         * m4/getdelim.m4: New file.
65937
65938 2005-08-02  Simon Josefsson  <jas@extundo.com>
65939
65940         * lib/getline.h, getline.c: Rewrite.
65941
65942         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
65943
65944 2005-07-31  Bruno Haible  <bruno@clisp.org>
65945
65946         * lib/lock.h (gl_lock_initializer): New macro.
65947         (gl_lock_define_initialized): Use it.
65948         (gl_rwlock_initializer): New macro.
65949         (gl_rwlock_define_initialized): Use it.
65950         (gl_recursive_lock_initializer): New macro.
65951         (gl_recursive_lock_define_initialized): Use it.
65952
65953 2005-07-30  Karl Berry  <karl@gnu.org>
65954
65955         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
65956         Report from Ben Pfaff, regarding getopt.
65957
65958 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
65959
65960         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
65961         normal way.
65962         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
65963         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
65964         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
65965         (gl_GETOPT): Use the new macros.  Most of the implementation
65966         is moved to the new macros.  This is for programs like Emacs
65967         that don't want all the functionality of gl_GETOPT.
65968
65969 2005-07-26  Bruno Haible  <bruno@clisp.org>
65970
65971         * m4/lock.m4: Update from GNU gettext.
65972
65973 2005-07-26  Bruno Haible  <bruno@clisp.org>
65974
65975         * lib/lock.h: Update from GNU gettext.
65976         * lib/lock.c: Update from GNU gettext.
65977
65978 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
65979
65980         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
65981         obsolescent AC_TRY_RUN.  Include the default includes files, for
65982         'exit'.
65983
65984 2005-07-24  Bruno Haible  <bruno@clisp.org>
65985
65986         * modules/visibility: New file.
65987         * MODULES.html.sh (Misc): Add visibility.
65988
65989 2005-07-24  Bruno Haible  <bruno@clisp.org>
65990
65991         * m4/visibility.m4: New file.
65992
65993 2005-07-24  Bruno Haible  <bruno@clisp.org>
65994
65995         * doc/visibility.texi: New file.
65996
65997 2005-07-22  Bruno Haible  <bruno@clisp.org>
65998
65999         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
66000         $(ALLOCA_H), redundant through BUILT_SOURCES.
66001         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
66002         redundant through BUILT_SOURCES.
66003         * modules/byteswap (Makefile.am): Remove explicit dependency on
66004         $(BYTESWAP_H), redundant through BUILT_SOURCES.
66005         * modules/fnmatch (Makefile.am): Remove explicit dependency on
66006         $(FNMATCH_H), redundant through BUILT_SOURCES.
66007         * modules/getopt (Makefile.am): Remove explicit dependency on
66008         $(GETOPT_H), redundant through BUILT_SOURCES.
66009         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
66010         redundant through BUILT_SOURCES.
66011         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
66012         redundant through BUILT_SOURCES.
66013         * modules/stdbool (Makefile.am): Remove explicit dependency on
66014         $(STDBOOL_H), redundant through BUILT_SOURCES.
66015         * modules/stdint (Makefile.am): Remove explicit dependency on
66016         $(STDINT_H), redundant through BUILT_SOURCES.
66017         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
66018         Remove explicit dependency on $(SYSEXITS_H).
66019         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
66020
66021 2005-07-18  Simon Josefsson  <jas@extundo.com>
66022
66023         * lib/check-version.c (check_version): Accept identical versions too.
66024
66025 2005-07-18  Bruno Haible  <bruno@clisp.org>
66026
66027         * modules/lock: New file.
66028         * MODULES.html.sh (Multithreading): New section.
66029
66030 2005-07-18  Bruno Haible  <bruno@clisp.org>
66031
66032         * m4/lock.m4: New file, from GNU gettext.
66033
66034 2005-07-18  Bruno Haible  <bruno@clisp.org>
66035
66036         * lib/lock.h: New file, from GNU gettext.
66037         * lib/lock.c: New file, from GNU gettext.
66038
66039 2005-07-18  Bruno Haible  <bruno@clisp.org>
66040
66041         * lib/lock.h (gl_once_t): New type.
66042         (gl_once_define, gl_once): New macros.
66043         * lib/lock.c (fresh_once): New variable.
66044         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
66045         functions.
66046
66047 2005-07-16  Simon Josefsson  <jas@extundo.com>
66048
66049         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
66050         workaround, suggested by Bruno.
66051
66052 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
66053
66054         * modules/xalloc (Depends-on): Add xalloc-die.
66055         * modules/xvasprintf (Depends-on): Add xalloc-die.
66056
66057 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
66058
66059         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
66060         with a minor change.
66061
66062 2005-07-15  Bruno Haible  <bruno@clisp.org>
66063
66064         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
66065         When using lib/poll.c, define poll as rpl_poll.
66066
66067 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
66068
66069         * modules/argp (Depends-on): Remove unlocked-io.
66070
66071 2005-07-14  Derek Price  <derek@ximbiot.com>
66072
66073         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
66074         for glob symlink bug.
66075
66076 2005-07-14  Bruno Haible  <bruno@clisp.org>
66077
66078         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
66079         Instead, test for *_unlocked function declarations directly.
66080
66081 2005-07-11  Simon Josefsson  <jas@extundo.com>
66082
66083         * modules/size_max: New file.
66084
66085         * modules/xsize: Depend on size_max module for size_max.m4.
66086
66087 2005-07-11  Simon Josefsson  <jas@extundo.com>
66088
66089         * lib/size_max.h: New file.
66090
66091 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
66092
66093         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
66094         copyright symbol and the year.
66095         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
66096         (version_etc_va): Use parameterized copyright notice.
66097         Reword to conform to the current GNU coding standards.
66098
66099 2005-07-11  Karl Berry  <karl@gnu.org>
66100
66101         * doc/gnulib.texi (Quoting): new node.
66102         (Initial import): more info, from Patrice.
66103
66104 2005-07-11  Bruno Haible  <bruno@clisp.org>
66105
66106         * gnulib-tool (func_usage): Document option --avoid.
66107         (Command line options): Handle --avoid.
66108         (func_acceptable): New function.
66109         (func_modules_transitive_closure): Use it.
66110
66111 2005-07-11  Bruno Haible  <bruno@clisp.org>
66112
66113         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
66114         Reported by Jim Meyering.
66115
66116 2005-07-10  Bruno Haible  <bruno@clisp.org>
66117
66118         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
66119         Needed when size_t is smaller than 'unsigned int'.
66120         Reported by Paul Eggert.
66121
66122 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66123
66124         * modules/argp (Depends-on): Add unlocked-io
66125
66126 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66127
66128         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
66129         block of defines.
66130
66131 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66132
66133         * config/srclist.txt: Comment out regcomp.c, since we have a porting
66134         fix now.
66135
66136 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
66137         and Paul Eggert  <eggert@cs.ucla.edu>
66138
66139         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
66140         in wint_t, not wchar_t.  Remove now-unnecessary cast.
66141
66142 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66143
66144         * modules/regex (Files): Add lib/regex_internal.c,
66145         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
66146         (Depends-on): Add extensions.
66147         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
66148
66149 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66150
66151         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
66152         pathconf.
66153         * m4/same.m4 (gl_SAME): Likewise.
66154         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
66155
66156         * m4/regex.m4: Adjust to new libc regex implementation.
66157         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
66158         all the .c and .h parts of (the new) regex.
66159         Quote the m4 stuff better.
66160         Check for RE_ICASE bug of old gnulib.
66161         Check for REG_STARTEND of recent libc.
66162         Rename local variables from jm_* to gl_*.
66163         Quote operand of "test -f".
66164         Say "recent enough" version of libc, not "version 2".
66165         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
66166         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
66167         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
66168         Remove check for btowc, isascii.
66169         Require AM_LANGINFO_CODESET.
66170
66171 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66172
66173         * lib/regex.c, regex.h: Sync from libc.
66174         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
66175         * lib/regexec.c:
66176         New files, synced from libc, except that regex_internal.h
66177         currently has a small porting fix.
66178
66179 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66180
66181         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
66182         regex_internal.c, regexec.c.
66183         Add regex_internal.h too, but as a comment, since the libc version
66184         is currently broken in gnulib mode.
66185
66186 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66187
66188         Support programs like Emacs that use gnulib but not gettext.
66189         * MODULES.html.sh (Internationalization functions): Add gettext-h.
66190         * modules/gettext-h: New file.
66191         * modules/gettext (Files): Remove lib/gettext.h.
66192         (Depends-on): Add gettext-h.
66193         (Makefile.am): Remove lib_SOURCES.
66194         * modules/argmatch, modules/c-stack, modules/closeout:
66195         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
66196         * modules/execute, modules/file-type, modules/getaddrinfo:
66197         * modules/getopt, modules/human, modules/javacomp:
66198         * modules/javaexec, modules/mkdir-p, modules/obstack:
66199         * modules/openat, modules/pagealign_alloc, modules/pipe:
66200         * modules/quotearg, modules/regex, modules/rpmatch:
66201         * modules/unicodeio, modules/userspec, modules/version-etc:
66202         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
66203         * modules/xsetenv:
66204         Depend on gettext-h, not gettext.
66205
66206 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66207
66208         * gnulib-tool (func_import): Add support for 'public domain' license.
66209         * modules/alloca, modules/atexit, modules/memmove:
66210         Now public domain, not GPL.
66211         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
66212         * modules/realloc, modules/strerror, modules/strtod:
66213         Now LGPL, not GPL.
66214
66215 2005-07-05  Bruno Haible  <bruno@clisp.org>
66216
66217         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
66218         autoconf CVS. Needed for mingw.
66219
66220 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66221
66222         Remove the dependency of the strftime module on the tzset module.
66223         * modules/strftime (Depends-on): Remove dependency on tzset.
66224
66225 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66226
66227         Remove the dependency of the strftime module on the tzset module.
66228         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
66229         gl_FUNC_TZSET_CLOBBER.
66230
66231 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66232
66233         Remove the dependency of the strftime module on the tzset module.
66234         * lib/strftime.c (my_strftime)
66235         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
66236         Copy the input structure, to work around some of the bug with
66237         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
66238         Solaris releases, you should also use the tzset module, but we won't
66239         require it as a dependency any more since we don't want LGPLed code
66240         to depend on GPLed code.
66241
66242 2005-07-02  Jim Meyering  <jim@meyering.net>
66243
66244         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
66245         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
66246         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
66247         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
66248
66249 2005-07-02  Jim Meyering  <jim@meyering.net>
66250
66251         * lib/backupfile.c (backup_args): Change a `0' to NULL.
66252
66253 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66254
66255         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
66256         declares only 'struct timespec;' (!).
66257
66258 2005-07-01  Jim Meyering  <jim@meyering.net>
66259
66260         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
66261         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
66262         * lib/save-cwd.c, tempname.c:
66263         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
66264         and don't include <sys/file.h>).
66265
66266 2005-06-29  Jim Meyering  <jim@meyering.net>
66267
66268         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
66269         type name.  Use the variable name instead.
66270         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
66271         Likewise.
66272
66273 2005-06-28  Simon Josefsson  <jas@extundo.com>
66274
66275         * modules/check-version (Files): Add check-version.m4.
66276
66277 2005-06-28  Simon Josefsson  <jas@extundo.com>
66278
66279         * m4/check-version.m4: New file, suggested by Jim Meyering
66280         <jim@meyering.net>.
66281
66282 2005-06-28  Simon Josefsson  <jas@extundo.com>
66283
66284         * lib/check-version.h, lib/check-version.c: New files.
66285
66286 2005-06-28  Simon Josefsson  <jas@extundo.com>
66287
66288         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
66289         collision with global variable.  Better indentation.  Don't
66290         increment buffer pointer beyond buffer end.  Based on comments
66291         from Paul Eggert <eggert@cs.ucla.edu>.
66292
66293         * lib/base64.h: Indent.
66294
66295 2005-06-28  Simon Josefsson  <jas@extundo.com>
66296
66297         * doc/gnulib.texi (Library version handling): New section.
66298
66299 2005-06-28  Jim Meyering  <jim@meyering.net>
66300
66301         * check-module (find_included_lib_files): Hard-code another
66302         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
66303         but modules/fts-lgpl (correctly) does not list those files.
66304
66305         * modules/canonicalize (Files): Add lib/pathmax.h.
66306
66307 2005-06-25  Simon Josefsson  <jas@extundo.com>
66308
66309         * modules/check-version: New file.
66310
66311 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
66312
66313         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
66314         initializer of struct addrinfo, as an indication that we don't
66315         care how many members the structure has.
66316
66317 2005-06-24  Derek Price  <derek@ximbiot.com>
66318         and Bruno Haible  <bruno@clisp.org>
66319
66320         Remove stat module & update lstat.
66321         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
66322         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66323         * m4/stat.m4: Remove this file.
66324
66325 2005-06-24  Derek Price  <derek@ximbiot.com>
66326         and Bruno Haible  <bruno@clisp.org>
66327
66328         Remove stat module & update lstat.
66329         * lib/stat.c: Remove this file...
66330         (slash_aware_lstat): ...moving this content and its support...
66331         * lib/lstat.c (rpl_lstat): ...into here.
66332         * lib/lstat.h: New file.
66333
66334 2005-06-24  Derek Price  <derek@ximbiot.com>
66335         and Bruno Haible  <bruno@clisp.org>
66336
66337         Remove stat module & update lstat.
66338         * config/srclist.txt (libc sources): Remove stat.
66339
66340 2005-06-24  Derek Price  <derek@ximbiot.com>
66341         and Bruno Haible  <bruno@clisp.org>
66342
66343         Remove stat module & update lstat.
66344         * MODULES.html.sh (stat): Remove.
66345         * MODULES.html: Regenerated.
66346         * modules/lstat (Description): Correct function name.
66347         (Files): Add "lstat.h".
66348         (Depends-on): Remove stat, add xalloc, stat-macros.
66349         * modules/stat: Remove this file.
66350         (Include): Add "lstat.h", remove <sys/stat.h>.
66351
66352 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66353
66354         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
66355         (ranged_convert): Don't save conversion in a temporary struct.
66356         This causes a warning with GCC 4.0.0, and anyway in the typical
66357         case it's not worth the extra 100 bytes or so of code.
66358         (ranged_convert, __mktime_internal): When calling a function via a
66359         pointer P, use P () rather than (*P) (), as we now assume C89 or
66360         better.
66361
66362 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66363
66364         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
66365         "who -r" failed to give output.  Problem reported by Tim Waugh.
66366
66367         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
66368         (xcalloc): Use it to avoid needless tests.
66369         Problem reported by Jim Meyering.
66370
66371 2005-06-20  Derek Price  <derek@ximbiot.com>
66372
66373         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
66374         unnecessary for Autoconfs > 2.59c.
66375
66376 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66377
66378         * lib/argp.h (__option_is_short): Check upper limit of
66379         __key. Isprint() requires its argument to have the value
66380         of an unsigned char or EOF.
66381
66382 2005-06-16  Jim Meyering  <jim@meyering.net>
66383
66384         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
66385         when either N or S is zero.
66386
66387 2005-06-16  Derek Price  <derek@ximbiot.com>
66388
66389         * m4/bison.m4: Declare YACC & YFLAGS precious.
66390
66391 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
66392
66393         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
66394         multibyte string or pattern, fall back on unibyte matching.
66395         Problem reported by James Youngman.
66396
66397 2005-06-08  Bruno Haible  <bruno@clisp.org>
66398
66399         * modules/csharpcomp: New file.
66400         * MODULES.html.sh (C#): Add csharpcomp.
66401
66402 2005-06-08  Bruno Haible  <bruno@clisp.org>
66403
66404         * m4/csharpcomp.m4: New file, from GNU gettext.
66405
66406 2005-06-08  Bruno Haible  <bruno@clisp.org>
66407
66408         * lib/csharpcomp.h: New file, from GNU gettext.
66409         * lib/csharpcomp.c: New file, from GNU gettext.
66410         * lib/csharpcomp.sh.in: New file, from GNU gettext.
66411
66412 2005-06-08  Bruno Haible  <bruno@clisp.org>
66413
66414         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
66415         warning on mingw.
66416
66417 2005-06-07  Derek Price  <derek@ximbiot.com>
66418
66419         Sync from CVS.
66420         * lib/glob_.h: Indent nested #ifdef.
66421
66422 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66423
66424         Sync from coreutils.
66425         Use "file name" when talking about file names, instead of "filename"
66426         or "path", as per the GNU coding standards.
66427         * lib/mkdir-p.c: Renamed from makepath.c.
66428         (make_dir_parents): Renamed from make_path.  All callers changed.
66429         * lib/mkdir-p.h: Likewise.  All includers changed.
66430         * lib/filenamecat.c: Renamed from path-concat.c.
66431         (file_name_concat): Renamed from path_concat.  All callers changed.
66432         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
66433         * lib/filenamecat.h: Likewise.  All includers changed.
66434         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
66435         in comments or local variable names.
66436         * lib/basename.c: Likewise.
66437         * lib/canonicalize.c, canonicalize.h: Likewise.
66438         * lib/dirname.c, dirname.h: Likewise.
66439         * lib/euidaccess.c: Likewise.
66440         * lib/exclude.c: Likewise
66441         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
66442         * lib/fsusage.c, fsuage.h: Likewise.
66443         * lib/fts.c, fts_.h: Likewise.
66444         * lib/getcwd.c: Likewise.
66445         * lib/getloadavg.c: Likewise.
66446         * lib/mkstemp.c: Likewise.
66447         * lib/mountlist.c, mountlist.h: Likewise.
66448         * lib/openat.c, openat.h: Likewise.
66449         * lib/readlink-stub.c: Likewise.
66450         * lib/readutmp.c, readutmp.h: Likewise.
66451         * lib/rename.c: Likewise.
66452         * lib/rmdir.c: Likewise.
66453         * lib/same.c: Likewise.
66454         * lib/savedir.c: Likewise.
66455         * lib/stripslash.c: Likewise.
66456         * lib/tempname.c: Likewise.
66457         * lib/xreadlink.c: Likewise.
66458         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
66459         All uses changed.
66460         * lib/exclude.h: Likewise.
66461
66462         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
66463         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66464         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
66465         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66466         * lib/pathmax.h: Include <limits.h> unconditionally, since other
66467         files have been getting away with it for years (MORE/BSD 4.3
66468         is extinct now).
66469         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
66470         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66471
66472         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
66473         Define to 256, not 255, as per modern POSIX.
66474
66475 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66476
66477         Sync from coreutils.
66478         Use "file name" when talking about file names, instead of "filename"
66479         or "path", as per the GNU coding standards.
66480         * MODULES.html.sh: mkdir-p renamed from makepath.
66481         filenamecat renamed from path-concat.
66482         * modules/filenamecat: Renamed from modules/path-concat.
66483         (Files): filenamecat.h and filenamecat.c renamed from
66484         path-concat.h and path-concat.c.
66485         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
66486         (Include): filenamecat.h, not path-concat.h.
66487         * modules/mkdir-p: Renamed from modules/makepath.
66488         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
66489         makepath.c.
66490         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
66491         (Include): mkdir-p.h, not makepath.h.
66492
66493 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66494
66495         Sync from coreutils.
66496         * m4/mkdir-p.m4: Renamed from makepath.m4.
66497         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
66498         Rename files from makepath.c to mkdir-p.c, and from
66499         makepath.h to mkdir-p.h.
66500         * m4/filenamecat.m4: Renamed from path-concat.m4.
66501         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
66502         Rename files from path-concat.c to filenamecat.c,
66503         and from path-concat.h to filenamecat.h.
66504         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
66505         "file name" in local variables or comments.
66506         * m4/rename.m4: Likewise.
66507
66508 2005-06-01  Bruno Haible  <bruno@clisp.org>
66509
66510         * modules/csharpexec: New file.
66511         * MODULES.html.sh (C#): New section.
66512
66513 2005-06-01  Bruno Haible  <bruno@clisp.org>
66514
66515         * m4/csharp.m4: New file, from GNU gettext.
66516         * m4/csharpexec.m4: New file, from GNU gettext.
66517
66518 2005-06-01  Bruno Haible  <bruno@clisp.org>
66519
66520         * lib/csharpexec.h: New file, from GNU gettext.
66521         * lib/csharpexec.c: New file, from GNU gettext.
66522         * lib/csharpexec.sh.in: New file, from GNU gettext.
66523
66524 2005-05-31  Derek Price  <derek@ximbiot.com>
66525             Paul Eggert  <eggert@cs.ucla.edu>
66526
66527         Sync from cvs.
66528         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66529
66530 2005-05-31  Derek Price  <derek@ximbiot.com>
66531             Paul Eggert  <eggert@cs.ucla.edu>
66532
66533         Sync from cvs.
66534         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66535
66536 2005-05-29  Derek Price  <derek@ximbiot.com>
66537
66538         * config/srclist.txt (glob_.h, glob.c): Add these files.
66539
66540 2005-05-29  Derek Price  <derek@ximbiot.com>
66541
66542         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
66543         * modules/glob: New file.
66544         * modules/getlogin_r: Add link to POSIX spec in description.
66545
66546 2005-05-29  Derek Price  <derek@ximbiot.com>
66547             Paul Eggert  <eggert@cs.ucla.edu>
66548
66549         * m4/glob.m4: New file.
66550
66551 2005-05-29  Derek Price  <derek@ximbiot.com>
66552             Paul Eggert  <eggert@cs.ucla.edu>
66553
66554         * lib/glob_.h, lib/glob.c: New files.
66555
66556 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66557
66558         * modules/fts (Files): Remove m4/inttypes-pri.m4.
66559         * modules/fts-lgpl (Depends-on): Remove gettext.
66560
66561 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66562
66563         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
66564         and don't require gt_INTTYPES_PRI.
66565
66566 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66567
66568         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
66569
66570         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
66571         the configuration hassle isn't worth it.
66572         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
66573         (LONGEST_MODIFIER, PRIuMAX): Remove.
66574
66575 2005-05-27  Bruno Haible  <bruno@clisp.org>
66576
66577         * lib/getlogin_r.h: Remove second include of <stddef.h>.
66578
66579 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
66580
66581         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
66582         _POSIX_PTHREAD_SEMANTICS for Solaris.
66583
66584 2005-05-25  Derek Price  <derek@ximbiot.com>
66585
66586         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
66587
66588 2005-05-25  Derek Price  <derek@ximbiot.com>
66589             Paul Eggert  <eggert@cs.ucla.edu>
66590
66591         * modules/getlogin_r, m4/getlogin_r.m4: New files.
66592         * lib/getlogin_r.c, getlogin_r.h: New files.
66593
66594 2005-05-25  Bruno Haible  <bruno@clisp.org>
66595             Derek Price  <derek@ximbiot.com>
66596
66597         * lib/getlogin_r.h: Simplify API documentation.
66598
66599 2005-05-23  Derek Price  <derek@ximbiot.com>
66600
66601         * modules/minmax (Files): Add m4/minmax.m4.
66602         (configure.ac): Add gl_MINMAX.
66603
66604 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
66605
66606         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
66607         so that unistd-safer.h (GPL'ed code) need not be included.
66608
66609 2005-05-22  Bruno Haible  <bruno@clisp.org>
66610
66611         * m4/minmax.m4: New file.
66612         Based on a patch by Derek Price <derek@ximbiot.com>.
66613
66614 2005-05-22  Bruno Haible  <bruno@clisp.org>
66615
66616         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
66617         (INT64_MIN): Fix definition.
66618         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
66619
66620         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
66621         NEED_SIGNED_INT_TYPES.
66622
66623         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
66624         HAVE_SYSTEM_INTTYPES.
66625
66626 2005-05-22  Bruno Haible  <bruno@clisp.org>
66627
66628         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
66629         Also include <sys/param.h> if it defines MIN, MAX.
66630         Based on a patch by Derek Price <derek@ximbiot.com>.
66631
66632 2005-05-21  Jim Meyering  <jim@meyering.net>
66633
66634         * modules/fts (Files): Add m4/inttypes-pri.m4.
66635         (Depends-on): Add lstat and remove gettext.  Alphabetize.
66636
66637 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66638
66639         New fts module.
66640         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
66641         (setup_dir, free_dir): New functions.
66642         (enter_dir, leave_dir): Define trivial
66643         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
66644         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
66645         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
66646         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
66647         Move to fts-cycle.c.
66648         (fts_open): Use setup_dir.
66649         (fts_close): Use free_dir.
66650         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
66651         This adds a label and some gotos, but the alternatives were messier.
66652         Check for memory allocation failure when entering a dir.
66653         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
66654         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
66655         (FTS): New member fts_cycle, that is a union that contains the
66656         old active_dir_ht and cycle_state.  All uses changed to mention
66657         fts_cycle.ht and fts_cycle.state.
66658         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
66659         fts.c, with the following changes:
66660         (setup_dir, free_dir): New functions.
66661         (enter_dir): Now returns bool.  Return true if successful, false
66662         if memory exhausted.  All callers changed.
66663         Do not bother partly cleaning up on
66664         memory allocation failure; that is free_dir's job.
66665         However, free ad if hash_insert fails, to avoid memory leak.
66666         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
66667         fts->fts_options to see which union member to use.
66668
66669 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66670
66671         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
66672         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
66673
66674 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66675
66676         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
66677
66678 2005-05-20  Jim Meyering  <jim@meyering.net>
66679
66680         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
66681         Now a macro, to pacify GCC.
66682
66683 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66684
66685         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
66686         of -1.
66687
66688 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66689
66690         * lib/chown.c (rpl_chown): Return -1 on failure.
66691
66692 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66693
66694         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
66695         Don't check for stddef.h.
66696         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
66697         don't use its results.
66698         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
66699         since we include them unconditionally.  Don't require
66700         AM_STDBOOL_H, since stdbool is a prerequisite.
66701         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
66702         since we assume C89 or better.
66703         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
66704         as we don't use their results.
66705         Don't check for fchdir, memmove, memset, strrchr, as we use
66706         them unconditionally.
66707         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
66708         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
66709
66710 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66711
66712         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
66713         Include <stddef.h> unconditionally, since we assume C89 now.
66714         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
66715         * lib/fts.c: Include fts_.h first, to check interface.
66716         Do not include intprops.h; no longer needed.
66717         Include cycle-check.h and hash.h, since fts_.h no longer does.
66718         Remove unnecessary casts of closedir to void.
66719         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
66720         decide whether to decrement nlinks.
66721         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
66722         (FTS): Use struct hash_table * instead of Hash_table, so that
66723         we no longer need to include hash.h here.
66724
66725 2005-05-18  Jim Meyering  <jim@meyering.net>
66726
66727         * modules/dirfd (License): Change to LGPL.  Most of the code
66728         is already in the public domain.
66729
66730 2005-05-18  Jim Meyering  <jim@meyering.net>
66731
66732         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
66733         Reported by Yoann Vandoorselaere.
66734
66735 2005-05-17  Jim Meyering  <jim@meyering.net>
66736
66737         * m4/fts.m4: New file, from coreutils.
66738
66739 2005-05-17  Jim Meyering  <jim@meyering.net>
66740
66741         * lib/fts.c, lib/fts_.h: New files, from coreutils.
66742
66743 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66744
66745         Sync from coreutils.
66746         * m4/unlinkdir.m4: New file.
66747
66748 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66749
66750         Sync from coreutils.
66751         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
66752         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
66753         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
66754         White space changes only.
66755         * lib/makepath.c (make_path): Port to hosts where leading "//" is
66756         special.
66757         * lib/yesno.c: Include getline.h, not ctype.h.
66758         (yesno): Don't remove leading white space; POSIX doesn't allow it.
66759         Use getline to remove arbitrary restriction on response length.
66760
66761 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66762
66763         * config/srclist-update: Spell out "Street" in FSF postal
66764         mail address; this is the style the FSF seems to prefer.
66765
66766         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
66767         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
66768         this updates FSF postal mail address.
66769
66770         Sync from coreutils.
66771         * modules/unlinkdir: New file.
66772         * modules/yesno (Depends-on): Add getline.
66773         * MODULES.html.sh (File system functions): Add unlinkdir.
66774
66775 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66776
66777         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
66778         lib/strsep.h:
66779         Change the initial comment to refer to GPL, not LGPL.
66780         gnulib-tool will change it to LGPL as needed.
66781
66782         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
66783         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
66784         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
66785         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
66786         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
66787         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
66788         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
66789         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
66790         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
66791         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
66792         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
66793         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
66794         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
66795         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
66796         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
66797         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
66798         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
66799         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
66800         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
66801         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
66802         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
66803         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
66804         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
66805         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
66806         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
66807         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
66808         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
66809         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
66810         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
66811         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
66812         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
66813         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
66814         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
66815         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
66816         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
66817         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
66818         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
66819         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
66820         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
66821         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
66822         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
66823         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
66824         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
66825         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
66826         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
66827         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
66828         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
66829         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
66830         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
66831         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
66832         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
66833         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
66834         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
66835         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
66836         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
66837         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
66838         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
66839         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
66840         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
66841         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
66842         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
66843         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
66844         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
66845         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
66846         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
66847         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
66848         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
66849         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
66850         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
66851         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
66852         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
66853         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
66854         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
66855         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
66856         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
66857         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
66858         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
66859         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
66860         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
66861         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
66862         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
66863         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
66864         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
66865         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
66866         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
66867         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
66868         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
66869         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
66870         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
66871         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
66872         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
66873         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
66874         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
66875         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
66876         lib/yesno.c, lib/yesno.h:
66877         Update FSF postal mail address.
66878
66879 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66880
66881         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
66882         tests/test-memmem.c, tests/test-stpncpy.c:
66883         Update FSF postal mail address.
66884
66885 2005-05-13  Bruno Haible  <bruno@clisp.org>
66886
66887         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
66888         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
66889         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
66890         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
66891         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
66892         Add support for 64-bit integers in the MSVC compiler.
66893
66894 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66895
66896         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
66897
66898 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
66899
66900         * gnulib-tool (func_import): Sort and uniquify recommended includes.
66901
66902 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
66903
66904         * doc/getdate.texi (General date syntax): Don't say that date
66905         date --iso-8601=ns generates acceptable dates; it doesn't yet.
66906         Problem reported by Nic Ferrier.
66907
66908 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66909
66910         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
66911         specified in ai_socktype. Fix invalid ai_protocol
66912         check. ai_protocol is usually set to 0 or depending on
66913         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
66914         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
66915         ai_socktype / ai_protocol in the returned addrinfo structure.
66916
66917 2005-05-10  Simon Josefsson  <jas@extundo.com>
66918
66919         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
66920         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66921
66922 2005-05-10  Karl Berry  <karl@gnu.org>
66923
66924         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
66925         (from http://www.gnu.org/licenses).
66926         * doc/COPYING.LIB: also rename to COPYING.LESSER.
66927         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
66928         fdl.texi suffices.
66929
66930 2005-05-10  Karl Berry  <karl@gnu.org>
66931
66932         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
66933         (COPYING.DOC): remove.
66934
66935         * config/srclist-update: new FSF address.
66936
66937 2005-05-10  Derek Price  <derek@ximbiot.com>
66938
66939         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
66940         possible.
66941
66942 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66943             Bruno Haible  <bruno@clisp.org>
66944
66945         * modules/inet_ntop: New file.
66946         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66947         inet_ntop.
66948
66949 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66950             Bruno Haible  <bruno@clisp.org>
66951
66952         * m4/inet_ntop.m4: New file.
66953
66954 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66955             Bruno Haible  <bruno@clisp.org>
66956
66957         * lib/inet_ntop.h: New file.
66958         * lib/inet_ntop.c: New file, from glibc with modifications.
66959
66960 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
66961
66962         * modules/time_r (License): Change to LGPL.
66963         * modules/extensions (License): Change to LGPL.  Actually,
66964         the license is more permissive than that, but currently gnulib-tool
66965         doesn't know how to handle more-permissive licenses.
66966
66967         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
66968         Problem reported by Dave Love.
66969
66970 2005-05-08  Jim Meyering  <jim@meyering.net>
66971
66972         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
66973         blank.
66974
66975 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
66976
66977         * modules/argmatch (Depends-on): Add stdbool.
66978         * modules/backupfile (Depends-on): Likewise.
66979         * modules/chdir-long (Depends-on): Likewise.
66980         * modules/closeout (Depends-on): Likewise.
66981         * modules/cycle-check (Depends-on): Likewise.
66982         * modules/dirname (Depends-on): Likewise.
66983         * modules/fnmatch (Depends-on): Likewise.
66984         * modules/fsusage (Depends-on): Likewise.
66985         * modules/fwriteerror (Depends-on): Likewise.
66986         * modules/getcwd (Depends-on): Likewise.
66987         * modules/getloadavg (Depends-on): Likewise.
66988         * modules/hard-locale (Depends-on): Likewise.
66989         * modules/makepath (Depends-on): Likewise.
66990         * modules/mountlist (Depends-on): Likewise.
66991         * modules/nanosleep (Depends-on): Likewise.
66992         * modules/posixtm (Depends-on): Likewise.
66993         * modules/quotearg (Depends-on): Likewise.
66994         * modules/readtokens (Depends-on): Likewise.
66995         * modules/readtokens0 (Depends-on): Likewise.
66996         * modules/readutmp (Depends-on): Likewise.
66997         * modules/save-cwd (Depends-on): Likewise.
66998         * modules/strftime (Depends-on): Likewise.
66999         * modules/userspec (Depends-on): Likewise.
67000         * modules/utimecmp (Depends-on): Likewise.
67001         * modules/xgetcwd (Depends-on): Likewise.
67002         * modules/xnanosleep (Depends-on): Likewise.
67003         * modules/xstrtod (Depends-on): Likewise.
67004         * modules/yesno (Depends-on): Likewise.
67005
67006 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
67007
67008         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
67009         needless checks.
67010
67011 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67012
67013         Merge from coreutils.  Among other things,
67014         add bulletproofing for cases where stdin, stdout, or stderr are closed.
67015         * lib/fd-safer.c: New file.
67016         * lib/fcntl-safer.h, open-safer.c: Remove.
67017         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
67018         * lib/dup-safer.c: Include unistd-safer.h first.
67019         Don't include errno.h.
67020         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
67021         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
67022         * lib/file-type.c: Rely on file-type.h change.
67023         * lib/getloadavg.c: Include unistd-safer.h.
67024         (getloadavg): Use safer open.
67025         * lib/getusershell.c: Include "stdio-safer.h".
67026         (getusershell): Use safer fopen.
67027         * lib/long-options.c (long_options): Use NULL rather than 0.
67028         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
67029         'free'.
67030         * lib/modechange.c: Likewise.
67031         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
67032         (MODE_DONE): New constant.
67033         (struct mode_change): Remove 'next' member.
67034         (make_node_op_equals): New function; like the old one of the
67035         same name, except it allocates an array.
67036         (mode_compile, mode_create_from_ref): Use it.
67037         (mode_compile): Allocate result as an array, not a linked list.
67038         Parse octal string ourself, so that we catch mistakes like "+0".
67039         (mode_adjust): Arg is an array, not a linked list.
67040         * lib/modechange.c: Include stat-macros.h, xalloc.h.
67041         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
67042         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
67043         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
67044         Remove.  This is now stat-macros.h's job.
67045         (talloc): Remove.  All callers replaced by xalloc, so that
67046         our invokers don't have to worry about reporting memory failures.
67047         (make_node_op_equals): Remove.
67048         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
67049         New constants.
67050         (struct mode_change): Moved here from modechange.h.
67051         (mode_append_entry): Remove.
67052         (mode_compile): Remove MASKED_OPS arg, since it encouraged
67053         apps to have incorrect behavior.  Use simpler algorithm for head
67054         and tail.  Don't futz with umask; that's now the job of mode_adjust.
67055         Detect more invalid usages rather than having somewhat-random behavior.
67056         Don't insert an "a=" action, as that leads to incorrect behavior.
67057         (mode_compile, mode_create_from_ref): Return NULL on error instead
67058         of an enum, since now there's only one way to have an error.  All
67059         callers changed.
67060         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
67061         at the correct time.  Simplify calculation of "+u" and its ilk.
67062         Don't mishandle "+X".
67063         (mode_free): Remove "register" and localize decls.
67064         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
67065         (struct mode_change): Move to modechange.c; callers don't
67066         need to see this stuff.
67067         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
67068         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
67069         (mode_change, mode_adjust): Reflect the new signatures noted above.
67070         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
67071         that might redefine system include files.
67072         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
67073         (my_usleep): Use NULL rather than (void *) 0.
67074         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
67075         Use siginterrupt to specify that system calls should be interrupted.
67076         (rpl_nanosleep): Move initialization of suspended closer to call of
67077         my_usleep.
67078         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
67079         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
67080         (desirable_utmp_entry): New function.
67081         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
67082         using x2nrealloc, to simplify logic.
67083         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
67084         size calculation.  Do not assume utmp file is a regular file.
67085         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
67086         (READ_UTMP_CHECK_PIDS): New constant.
67087         * lib/save-cwd.c: Include unistd-safer.h.
67088         (save_cwd): Use fd_safer.
67089         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
67090         [!_LIBC] Include "stat-macros.h" instead.
67091         * lib/unistd-safer.h (fd_safer): New decl.
67092
67093 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67094
67095         * modules/getloadavg (Depends-on): Add unistd-safer.
67096         * modules/getusershell (Depends-on): Add stdio-safer.
67097         * modules/lstat (Depends-on): Remove xalloc.
67098         * modules/mkstemp (Depends-on): Add stat-macros.
67099         * modules/modechange (Depends-on): Remove xstrtol.
67100         Add stat-macros, xalloc.
67101         * modules/save-cwd (Depends-on): Add unistd-safer.
67102         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
67103         * modules/unistd-safer (Files): Add lib/fd-safer.c
67104         (Makefile.am): Remove lib_SOURCES.
67105
67106         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
67107         Remove fcntl-safer; unistd-safer supersedes it.
67108
67109 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67110
67111         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
67112         AC_HEADER_STAT.
67113         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
67114         (gl_PREREQ_CHOWN): Remove.
67115         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
67116         it.  Don't require AC_HEADER_STAT.
67117         (gl_PREREQ_LSTAT): Remove.
67118         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
67119         Don't require AC_HEADER_STAT.
67120         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
67121         (gl_PREREQ_RMDIR): Remove.
67122         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
67123         mention stat-macros.h or AC_HEADER_STAT, since we'll make
67124         the stat-macros module a prerequisite.
67125         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
67126         * m4/filemode.m4 (gl_FILEMODE): Likewise.
67127         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
67128         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
67129         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
67130         variable names.
67131         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
67132         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
67133         variable prefixes.
67134         * m4/fcntl-safer.m4: Remove.
67135         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
67136         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
67137         Invoke gl_PREREQ_FD_SAFER.
67138         (gl_PREREQ_FD_SAFER): New macro.
67139         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
67140         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
67141         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
67142         Remove duplicate call to AC_LIBOBJ(readutmp).
67143         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
67144
67145         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
67146         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
67147
67148 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67149
67150         * MODULES.html.sh (Misc): Add byteswap.
67151
67152 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67153
67154         * modules/getcwd (Depends-on): Add extensions.
67155         * modules/openat (Depends-on): Likewise.
67156
67157 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67158
67159         * modules/byteswap: New file.
67160
67161 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67162
67163         * m4/byteswap.m4: New file.
67164
67165 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67166
67167         * lib/byteswap_.h: New file.
67168
67169 2005-04-25  Karl Berry  <karl@gnu.org>
67170
67171         * m4/gettext.m4: Update from GNU gettext 0.14.4.
67172
67173 2005-04-25  Albert Chin  <china@thewrittenword.com>
67174
67175         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
67176         Toolkit C bug.
67177
67178 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
67179
67180         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
67181         (func_ln_if_changed) Remove forcibly for no error message
67182         in case file does not exist.
67183
67184 2005-04-19  Simon Josefsson  <jas@extundo.com>
67185
67186         * gnulib-tool (Options): Make --symlink mean --symbolic.
67187
67188 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
67189
67190         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
67191
67192 2005-04-16  Simon Josefsson  <jas@extundo.com>
67193
67194         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
67195
67196 2005-04-15  Simon Josefsson  <jas@extundo.com>
67197
67198         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
67199
67200 2005-04-15  Simon Josefsson  <jas@extundo.com>
67201
67202         * gnulib-tool: Rename --symlink to --symbolic.
67203
67204 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
67205
67206         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
67207         symbolic links to files instead of copying/moving.  Add --aux-dir,
67208         specifying directory relative --dir where auxiliary build tools
67209         are placed.
67210
67211 2005-04-14  Bruno Haible  <bruno@clisp.org>
67212
67213         * modules/allocsa (License): Change to LGPL.
67214         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
67215
67216 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67217
67218         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
67219         that "UTC +1 second" continues to work.  Problem reported
67220         by Dmitry V. Levin.
67221         (relunit_snumber): New rule.
67222         (relunit): Use it.
67223
67224 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
67225
67226         * lib/getdate.y (universal_time_zone_table): New constant.
67227         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
67228         universal_time_zone_table.
67229         (lookup_zone): Prefer universal_time_zone_table to
67230         local_time_zone_table, so that "GMT" time stamps are allowed in
67231         London during the summer.  Problem reported by Ian Abbott.
67232
67233 2005-04-12  Jim Meyering  <jim@meyering.net>
67234
67235         * lib/human.c (humblock): Set *options even when returning due to
67236         xstrtoumax conversion failure.  Thanks to a used-uninitialized
67237         warning from gcc-4.
67238
67239 2005-04-09  Jim Meyering  <jim@meyering.net>
67240
67241         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
67242         -Wuninitialized: initialize tm0.tm_year.
67243
67244 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67245
67246         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
67247         count, since there's no maximum.  All uses changed.
67248         Add member dsts_seen.
67249         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
67250         not being INT_MAX.
67251         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
67252         Use pc_rels_seen to decide whther a date is absolute.
67253
67254         * lib/getdate.y (number): Don't overwrite year.
67255         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
67256         check.
67257
67258 2005-04-02  Simon Josefsson  <jas@extundo.com>
67259
67260         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
67261         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
67262
67263 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
67264
67265         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
67266         where no absolute path name can be longer than PATH_MAX.
67267
67268 2005-03-27  Jim Meyering  <jim@meyering.net>
67269
67270         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
67271
67272 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
67273
67274         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
67275         "one's complement" -> "ones' complement" in comment, as per Knuth.
67276         "value of type" -> "type or expression" in comment.
67277         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
67278
67279 2005-03-26  Jim Meyering  <jim@meyering.net>
67280
67281         Comment nits.
67282         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
67283         Correct typos: s/or/of/.
67284
67285 2005-03-26  Jim Meyering  <jim@meyering.net>
67286
67287         * modules/check-include-files: Move to ../ and rename to...
67288         * check-module: ...this.
67289
67290 2005-03-25  Jim Meyering  <jim@meyering.net>
67291
67292         * modules/xvasprintf (Files): Add xalloc.h.
67293
67294 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67295
67296         * modules/gettext (Files): config/config.rpath ->
67297         build-aux/config.rpath
67298         * modules/iconv (Files): Likewise.
67299         Problem reported by Oskar Liljeblad.
67300
67301 2005-03-23  Jim Meyering  <jim@meyering.net>
67302
67303         * modules/check-include-files: New script to check for
67304         missing dependencies, multiple includes, etc.
67305
67306         * modules/c-strtold (Depends-on): Add xalloc.
67307         * modules/c-strtod (Depends-on): Add xalloc.
67308         * modules/hash (Depends-on): Add xalloc.
67309         (Files): Remove lib/xalloc.h.
67310
67311         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
67312         * modules/userspec (Files): Add lib/inttostr.h.
67313
67314 2005-03-23  Jim Meyering  <jim@meyering.net>
67315
67316         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
67317
67318 2005-03-22  Jim Meyering  <jim@meyering.net>
67319
67320         * modules/stat-macros: New module.
67321         * modules/canonicalize, modules/euidaccess, modules/file-type,
67322         * modules/filemode, modules/lchown, modules/makepath,
67323         * modules/rmdir, modules/stat: Depend on new stat-macros module
67324         rather than listing lib/stat-macros.h manually.
67325         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
67326
67327 2005-03-22  Jim Meyering  <jim@meyering.net>
67328
67329         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
67330
67331 2005-03-22  Bruno Haible  <bruno@clisp.org>
67332
67333         * config/srclist.txt: Replace target directory 'config' with
67334         'build-aux'.
67335         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
67336         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
67337         ../build-aux/.
67338
67339 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
67340
67341         * modules/chdir-long (Depends-on): Add mempcpy.
67342
67343         * modules/acl, modules/backupfile, modules/c-strtod,
67344         modules/c-strtold, modules/canon-host, modules/canonicalize,
67345         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
67346         modules/exclude, modules/exitfail, modules/file-type,
67347         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
67348         modules/getdate, modules/getline, modules/getpagesize,
67349         modules/getpass, modules/getugroups, modules/group-member,
67350         modules/hard-locale, modules/hash, modules/human, modules/idcache,
67351         modules/inttostr, modules/long-options, modules/makepath,
67352         modules/md5, modules/memcasecmp, modules/memcoll,
67353         modules/modechange, modules/mountlist, modules/path-concat,
67354         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
67355         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
67356         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
67357         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
67358         modules/strftime, modules/strndup, modules/strverscmp,
67359         modules/timespec, modules/unlocked-io, modules/userspec,
67360         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
67361         modules/yesno:
67362         Remove lib_SOURCES line from Makefile.am section, as this is now
67363         done automatically by the corresponding Autoconf macro.
67364
67365 2005-03-21  Jim Meyering  <jim@meyering.net>
67366
67367         Changes imported from coreutils.
67368
67369         * lib/cycle-check.c: Don't include xalloc.h.
67370
67371         * lib/path-concat.c: Don't include assert.h.
67372         (path_concat): Remove assertion that would have triggered
67373         for ABASE starting with more than one slash.
67374         Reported by Andreas Schwab.
67375
67376         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
67377         properly when ABASE is an absolute file name.
67378         Correct the description of this function.
67379         Include <assert.h>.
67380         Add an assertion and a test driver.
67381         This fixes a bug introduced on 2004-07-02.
67382         Andreas Schwab reported the resulting failure of cp --parents:
67383         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
67384
67385 2005-03-21  Jim Meyering  <jim@meyering.net>
67386
67387         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
67388         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
67389
67390 2005-03-21  Jim Meyering  <jim@meyering.net>
67391         and  Paul Eggert  <eggert@cs.ucla.edu>
67392
67393         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
67394         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
67395         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
67396         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
67397         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
67398         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
67399         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
67400         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
67401         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
67402         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
67403         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
67404         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
67405         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
67406         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
67407         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
67408         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
67409         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
67410         for these modules.
67411
67412 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
67413
67414         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
67415         (which shouldn't happen), generate nothing instead of returning 0
67416         immediately, so that nstrftime (NULL, ...) doesn't return 0.
67417
67418 2005-03-16  Bruno Haible  <bruno@clisp.org>
67419
67420         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
67421         HAVE_LONGLONG_64BIT.
67422
67423 2005-03-16  Bruno Haible  <bruno@clisp.org>
67424
67425         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
67426         HAVE_LONGLONG_64BIT.
67427
67428 2005-03-16  Bruno Haible  <bruno@clisp.org>
67429
67430         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
67431         HAVE_LONGLONG_64BIT.
67432
67433 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67434
67435         * lib/strftime.c (my_strftime): Prepend space to format so that we can
67436         reliably distinguish strftime failure from empty output on POSIX
67437         hosts.
67438
67439 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67440
67441         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
67442         (iconv_string): Don't guess a size-zero buffer, as that might cause
67443         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
67444         result would be 'too large', where 'too large' is (heuristically)
67445         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
67446         overflow concerns.  This will prevent some unwanted malloc failures
67447         when the inputs are very large.
67448
67449 2005-03-15  Karl Berry  <karl@gnu.org>
67450
67451         * config/srclist.txt (config.rpath): from gettext.
67452         * config/config.rpath: update.
67453
67454 2005-03-15  Bruno Haible  <bruno@clisp.org>
67455
67456         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
67457         to 'negate'.
67458
67459         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
67460         variable.
67461
67462         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
67463         results.
67464
67465 2005-03-14  Simon Josefsson  <jas@extundo.com>
67466
67467         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
67468         <fx@gnu.org>.
67469
67470 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
67471
67472         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
67473         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
67474         intprops.h.
67475         * lib/strtol.c: Likewise.
67476
67477 2005-03-14  Jim Meyering  <jim@meyering.net>
67478
67479         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
67480         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
67481         to be nonzero so that we (and caller) can detect the difference
67482         between a valid zero-length expansion and an error return, even
67483         when the underlying strftime fails before writing anything into
67484         that location.
67485
67486 2005-03-14  Bruno Haible  <bruno@clisp.org>
67487
67488         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
67489         Update from GNU gettext 0.14.3.
67490
67491 2005-03-10  Jim Meyering  <jim@meyering.net>
67492
67493         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
67494
67495 2005-03-10  Jim Meyering  <jim@meyering.net>
67496
67497         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
67498         so that this module works on systems without fchdir.
67499
67500 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
67501
67502         Factor int-properties macros into a single file, except for
67503         glibc-related files.
67504         * lib/intprops.h: New file.
67505         * lib/getloadavg.c: Include it instead of limits.h.
67506         (INT_STRLEN_BOUND): Remove.
67507         * lib/human.c: Include intprops.h.
67508         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
67509         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
67510         302/1000.
67511         * lib/inttostr.h: Include intprops.h instead of limits.h.
67512         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
67513         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
67514         for consistency with intprops.h.
67515         (time_t_is_integer, twos_complement_arithmetic): Use them.
67516         * lib/sig2str.h: Include <signal.h>, intprops.h.
67517         (INT_STRLEN_BOUND): Remove.
67518         * lib/strftime.c (TYPE_SIGNED): Remove.
67519         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
67520         * lib/strtol.c: Adjust comments to match intprops.h.
67521         * lib/userspec.c: Include intprops.h.
67522         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
67523         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
67524         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
67525         instead of rolling our own expressions.
67526         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
67527
67528         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
67529         instead of int.
67530         (my_strftime): Do not mishandle years close to INT_MAX, by doing
67531         the right thing even if adding 1900 would overflow.  Similarly
67532         for tm_mon + 1 and tm_yday + 1.
67533         Make %Y always equivalent to %C%y, and similarly for %G and %g.
67534         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
67535         (DO_SIGNED_NUMBER): New macro.
67536         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
67537
67538 2005-03-07  Bruno Haible  <bruno@clisp.org>
67539
67540         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
67541
67542 2005-03-07  Bruno Haible  <bruno@clisp.org>
67543
67544         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
67545
67546 2005-03-04  Derek R. Price  <derek@ximbiot.com>
67547
67548         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
67549         (func_import): Only replace files via --import when they have actually
67550         changed.
67551
67552 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67553
67554         * m4/mmap-anon.m4: New file.
67555         * m4/pagealign_alloc.m4: New file.
67556
67557 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67558             Bruno Haible  <bruno@clisp.org>
67559
67560         * modules/pagealign_alloc: New file.
67561         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
67562
67563 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67564             Bruno Haible  <bruno@clisp.org>
67565
67566         * lib/pagealign_alloc.h: New file.
67567         * lib/pagealign_alloc.c: New file.
67568
67569 2005-03-03  Bruno Haible  <bruno@clisp.org>
67570
67571         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
67572         Use an all-permissive copyright notice, recommended by RMS.
67573
67574 2005-03-02  Bruno Haible  <bruno@clisp.org>
67575
67576         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
67577         of AIX, the replacement has to be done only after <string.h> is
67578         included, therefore not in config.h. stpncpy.h does the replacement,
67579         and stpncpy.c uses it.
67580
67581 2005-03-02  Bruno Haible  <bruno@clisp.org>
67582
67583         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
67584         stpncpy.c uses it.
67585
67586 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67587
67588         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
67589         The workaround isn't strictly needed for POSIX conformance, and
67590         it's too much of a pain to configure and maintain.  We'll ask
67591         people to fix their kernels instead.
67592         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
67593         (NANOSLEEP_BUG_WORKAROUND): Remove.
67594         (xnanosleep): Remove the workaround.
67595
67596 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67597
67598         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
67599         Reported by Derek Price.
67600         (Include): Add "timespec.h".
67601
67602         * modules/xnanosleep (Depends-on): Remove gethrxtime.
67603
67604 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67605
67606         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
67607         to detect nanosleep bug.
67608
67609 2005-03-01  Bruno Haible  <bruno@clisp.org>
67610
67611         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
67612
67613 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67614
67615         * modules/gethrxtime: New file.
67616         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
67617         (Depends-on): Add gethrxtime.
67618         (configure.ac): Add gl_XNANOSLEEP.
67619         (Makefile.am): Remove lib_SOURCES line.
67620
67621 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67622
67623         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
67624         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
67625
67626 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67627
67628         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
67629         * lib/timespec.h (gettime): Return void, since it always
67630         succeeds now.  All uses changed.
67631         * lib/gettime.c (gettime) Likewise.
67632         [HAVE_NANOTIME]: Prefer nanotime.
67633         Assume gettimeofday succeeds, as POSIX requires.
67634         Assime time () succeeds, since other code already does.
67635         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
67636         (timespec_subtract): Remove.
67637         (NANOSLEEP_BUG_WORKAROUND): New constant.
67638         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
67639         things considerably.  Use it only on GNU/Linux hosts, since the
67640         workaround shouldn't be needed elsewhere.
67641
67642 2005-02-24  Bruno Haible  <bruno@clisp.org>
67643
67644         * modules/gettext (Files): Add m4/glibc2.m4.
67645
67646 2005-02-24  Bruno Haible  <bruno@clisp.org>
67647
67648         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
67649         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
67650         * m4/progtest.m4:
67651         Update from GNU gettext 0.14.2.
67652         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
67653
67654 2005-02-24  Bruno Haible  <bruno@clisp.org>
67655
67656         * lib/localcharset.c: Update from GNU gettext 0.14.2.
67657         * lib/config.charset: Update from GNU gettext 0.14.2.
67658
67659 2005-02-24  Bruno Haible  <bruno@clisp.org>
67660
67661         * lib/gettext.h: Update from GNU gettext 0.14.2.
67662
67663 2005-02-23  Simon Josefsson  <jas@extundo.com>
67664
67665         * m4/iconvme.m4: New file.
67666
67667 2005-02-23  Jim Meyering  <jim@meyering.net>
67668
67669         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
67670         change.
67671         Thanks to Bruno Haible for catching it.
67672
67673 2005-02-22  Simon Josefsson  <jas@extundo.com>
67674
67675         * modules/iconvme: New file.
67676
67677         * MODULES.html.sh: Add iconvme.
67678
67679 2005-02-22  Simon Josefsson  <jas@extundo.com>
67680
67681         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
67682
67683 2005-02-22  Simon Josefsson  <jas@extundo.com>
67684
67685         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
67686
67687 2005-02-22  Jim Meyering  <jim@meyering.net>
67688
67689         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
67690         s/ifndef/ifdef/.
67691
67692 2005-02-20  Neil Conway  <neilc@samurai.com>
67693
67694         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
67695         returned by OSX/Darwin if the specified buffer is not large
67696         enough for the hostname.
67697
67698 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67699
67700         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
67701         pass it to _help, otherwise the latter coredumps trying to
67702         dereference state.root_argp.
67703
67704 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67705
67706         * modules/chdir-long (Depends-on): Add memrchr.
67707         * modules/memrchr (Files): Add lib/memrchr.h.
67708         (Include): "memrchr.h".
67709
67710 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67711
67712         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
67713
67714 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67715
67716         * lib/memrchr.h: New file.
67717         * lib/chdir-long.c: Include it.
67718         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
67719         Don't bother including stddef.h.
67720
67721 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67722
67723         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
67724         inclusion.
67725         Include <sys/types.h>, for dev_t.
67726         (ME_DUMMY, ME_REMOTE): Move from here....
67727         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
67728         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
67729         Dmitry V. Levin.
67730         Include mountlist.h first, to test the interface.
67731
67732 2005-01-29  Bruno Haible  <bruno@clisp.org>
67733
67734         * lib/progname.c (program_name): Initialize.
67735         Needed when linking statically on MacOS X.
67736
67737 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67738
67739         Sync from coreutils.
67740         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
67741         (Depends-on): Add c-strtod.
67742         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
67743
67744 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67745
67746         Sync from coreutils.
67747         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
67748
67749         Remove files that are specific to coreutils.
67750         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
67751
67752 2005-01-28  Bruno Haible  <bruno@clisp.org>
67753
67754         * modules/javacomp: New file.
67755         * MODULES.html.sh (Java): Add javacomp.
67756
67757 2005-01-28  Bruno Haible  <bruno@clisp.org>
67758
67759         * m4/javacomp.m4: New file, from GNU gettext.
67760
67761 2005-01-28  Bruno Haible  <bruno@clisp.org>
67762
67763         * lib/javacomp.sh.in: New file, from GNU gettext.
67764         * lib/javacomp.h: New file, from GNU gettext.
67765         * lib/javacomp.c: New file, from GNU gettext.
67766
67767 2005-01-26  Simon Josefsson  <jas@extundo.com>
67768
67769         * lib/gai_strerror.c: Use GPL in header.
67770
67771 2005-01-26  Bruno Haible  <bruno@clisp.org>
67772
67773         * modules/javaexec: New file.
67774         * MODULES.html.sh (Java): Add javaexec.
67775
67776 2005-01-26  Bruno Haible  <bruno@clisp.org>
67777
67778         * m4/javaexec.m4: New file, from GNU gettext.
67779
67780 2005-01-26  Bruno Haible  <bruno@clisp.org>
67781
67782         * lib/javaexec.sh.in: New file, from GNU gettext.
67783         * lib/javaexec.h: New file, from GNU gettext.
67784         * lib/javaexec.c: New file, from GNU gettext.
67785
67786 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67787
67788         * modules/lchown (Depends-on): Remove lchown.h
67789
67790 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67791
67792         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
67793         must be defined if the header file was not found, in order
67794         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
67795
67796 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67797
67798         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
67799         initializers for struct pentry_state.
67800         (__argp_error): Check return value of __asprintf
67801         (__argp_failure): Translate error message
67802
67803         * lib/argp-parse.c: Removed braces around the expansion of N_()
67804
67805 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67806
67807         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
67808         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
67809         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
67810         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
67811         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
67812         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
67813         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
67814         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
67815         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
67816         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
67817         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
67818         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
67819         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
67820         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
67821         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
67822         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
67823         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
67824         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
67825         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
67826         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
67827         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
67828         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
67829         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
67830         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
67831         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
67832         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
67833         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
67834         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
67835         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
67836         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
67837         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
67838         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
67839         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
67840         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
67841         xstrtol.m4, xstrtoumax.m4, yesno.m4:
67842         Use an all-permissive copyright notice, recommended by RMS.
67843
67844 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
67845
67846         * modules/chdir-long (Depends-on): Remove mempcpy.
67847
67848 2005-01-21  Jim Meyering  <jim@meyering.net>
67849
67850         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
67851         same value as for Solaris 9.
67852
67853         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
67854         component length.  This included changing the parameter to be
67855         of type `char *' rather than `char const *'.
67856         * lib/chdir-long.h (chdir_long): Update prototype.
67857
67858         * lib/openat.c (fdopendir, fstatat): New functions.
67859         * lib/openat.h: Include headers required for use of DIR and struct
67860         stat.
67861         [AT_SYMLINK_NOFOLLOW]: Define.
67862         (fdopendir, fstatat): Add prototypes.
67863
67864 2005-01-21  Bruno Haible  <bruno@clisp.org>
67865
67866         * modules/classpath: New file.
67867         * MODULES.html.sh (Java): Add classpath.
67868
67869 2005-01-21  Bruno Haible  <bruno@clisp.org>
67870
67871         * lib/classpath.h: New file, from GNU gettext.
67872         * lib/classpath.c: New file, from GNU gettext.
67873
67874 2005-01-20  Simon Josefsson  <jas@extundo.com>
67875
67876         * modules/version-etc-fsf: New file.
67877
67878 2005-01-20  Simon Josefsson  <jas@extundo.com>
67879
67880         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
67881         * lib/version-etc.c: Remove version_etc_copyright.
67882         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
67883         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
67884
67885 2005-01-20  Simon Josefsson  <jas@extundo.com>
67886
67887         * lib/base64.h (isbase64): Add.
67888
67889         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
67890         using a unsigned prototype, don't inline.
67891         (base64_decode): Use it.
67892
67893 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67894
67895         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
67896         it.
67897
67898 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67899
67900         * lib/save-cwd.c (save_cwd): Remove code to support the case
67901         where fchdir is missing or flaky.
67902
67903 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67904
67905         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
67906
67907 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67908
67909         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
67910         AC_LIBSOURCES now does this.
67911         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
67912         with new ullong_max module.
67913
67914 2005-01-19  Bruno Haible  <bruno@clisp.org>
67915
67916         * modules/sh-quote: New file.
67917         * MODULES.html.sh (Executing programs): Add sh-quote.
67918
67919 2005-01-19  Bruno Haible  <bruno@clisp.org>
67920
67921         * lib/sh-quote.h: New file, from GNU gettext.
67922         * lib/sh-quote.c: New file, from GNU gettext.
67923
67924 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67925
67926         Merge from coreutils.
67927         * m4/ullong_max.m4: New file.
67928         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
67929         (gl_MACROS): Assume localeconv exists.
67930
67931 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67932
67933         Merge changes from coreutils, as described below in several
67934         changelogs dated today.
67935
67936         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
67937         (O_DIRECTORY): Remove; not needed here, since "." must be
67938         a directory.  All uses removed.
67939         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
67940         universal on Suns, and we also need to test for IRIX.
67941         Revamp code to use 'if' rather than '#if'.
67942         Avoid unnecessary comparison of cwd->desc to 0.
67943
67944         * lib/utimens.c (futimens): Robustify the previous patch, by checking
67945         for known valid error numbers rather than observed invalid ones.
67946
67947 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67948
67949         * modules/ullong_max: New file.
67950
67951         * modules/chdir-long, modules/openat: New files.
67952         * modules/save-cwd (Depends-on): Depend on chdir-long.
67953         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
67954
67955 2005-01-18  Jim Meyering  <jim@meyering.net>
67956
67957         Merge from coreutils.
67958         * m4/chdir-long.m4, m4/openat.m4: New files.
67959         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
67960         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
67961         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
67962         is sane and DOES follow symlinks.  Besides, testing 20 different
67963         systems found no broken chown implementations.
67964         Prompted by a change in rsync's copy of this macro.
67965         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
67966
67967         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
67968
67969         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
67970         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
67971         NULL-means-set-to-current-time semantics.
67972         Remove temporary file immediately, rather than waiting
67973         for configure's at-exit trap code to do it.
67974
67975 2005-01-18  Jim Meyering  <jim@meyering.net>
67976
67977         * lib/version-etc.c (version_etc_copyright): Update copyright date.
67978
67979         * lib/utimens.c (futimens): Account for the fact that futimes
67980         can also fail with errno == ENOSYS or errno == ENOENT.
67981         Patch from Dmitry V. Levin.
67982
67983         Change the name of the robust chdir function from chdir to chdir_long.
67984         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
67985         (restore_cwd): Use chdir_long, not chdir.
67986         * lib/chdir-long.c: Renamed from chdir.c.
67987         * lib/chdir-long.h: Renamed from chdir.h.
67988         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
67989         Hurd.
67990
67991 2005-01-18  Bruno Haible  <bruno@clisp.org>
67992
67993         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
67994         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
67995         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
67996         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
67997         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
67998         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
67999         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
68000         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
68001         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
68002         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
68003         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
68004         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
68005         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
68006         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
68007         Use an all-permissive copyright notice, recommended by RMS.
68008
68009 2005-01-18  Bob Proulx  <bob@proulx.com>
68010
68011         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
68012         simplify offsetof() macro construct to avoid compile failure with
68013         native HP-UX 11.0 ANSI C compiler.
68014
68015 2005-01-17  Bruno Haible  <bruno@clisp.org>
68016
68017         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
68018         redundant because stpncpy.m4 takes care of it.
68019
68020 2005-01-17  Bruno Haible  <bruno@clisp.org>
68021
68022         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
68023
68024 2005-01-17  Bruno Haible  <bruno@clisp.org>
68025
68026         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
68027         used.
68028
68029 2005-01-17  Bruno Haible  <bruno@clisp.org>
68030
68031         * lib/fwriteerror.h (fwriteerror): Change specification to include
68032         fclose.
68033         * lib/fwriteerror.c: Include <stdbool.h>.
68034         (fwriteerror): At the end, close the file stream. Record whether
68035         stdout was already closed.
68036
68037 2005-01-17  Bruno Haible  <bruno@clisp.org>
68038
68039         * lib/execute.c (environ): Declare if needed.
68040         * lib/pipe.c (environ): Likewise.
68041         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
68042
68043 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68044
68045         * modules/argp: Depend on vsnprintf
68046
68047 2005-01-10  Jim Meyering  <jim@meyering.net>
68048
68049         * modules/closeout (Depends-on): Add atexit.
68050
68051 2005-01-06  Bruno Haible  <bruno@clisp.org>
68052
68053         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
68054
68055 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68056
68057         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
68058         definitions to be after all include files, to avoid collisions.
68059         Problem reported by Bob Proulx.
68060
68061 2005-01-04  Jim Meyering  <jim@meyering.net>
68062
68063         Changes imported from coreutils.
68064         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
68065         as the mkstemp template, use a temporary directory and an
68066         8.3-friendly template to avoid trouble on systems like DJGPP.
68067         Reported by Juan M. Guerrero via Stepan Kasal.
68068         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
68069         close. Remove the temporary directory right away, rather than waiting
68070         for configure's at-exit trap code to do it.
68071         Suggestion from Stepan Kasal.
68072
68073 2005-01-01  Simon Josefsson  <jas@extundo.com>
68074
68075         * gnulib-tool: Print #include directives when --import'ing.
68076
68077 2004-12-28  Simon Josefsson  <jas@extundo.com>
68078
68079         * tests/test-base64.c: Include required header files.  Remove
68080         unused variables.
68081
68082 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68083
68084         * modules/error (Depends-on): Remove gettext.
68085
68086 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68087
68088         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
68089         not needed.  This removes a dependency on the gettext module.
68090         [defined _LIBC]: Do not include <libintl.h>; not needed.
68091
68092 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
68093
68094         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
68095         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
68096
68097 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
68098
68099         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
68100         HAVE_DECL_STRTOLD.
68101
68102 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68103
68104         * modules/getdate (Depends-on): Remove alloca-opt.
68105
68106 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68107
68108         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
68109
68110 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68111
68112         * lib/argp-parse.c: Include <stddef.h>.
68113         (alignof, alignto): New macros.
68114         (parser_init): Don't assume that void * is aligned sufficiently
68115         for struct option.
68116
68117         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
68118         need to extend the stack.
68119         (YYINITDEPTH): New macro, so that the initial stack isn't overly
68120         large.
68121
68122 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68123
68124         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
68125
68126 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
68127
68128         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
68129         (2004-10-24) change.  Apparently this was a false alarm.
68130
68131         * modules/getdate: Depend on alloca-opt, not alloca.
68132
68133 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
68134
68135         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
68136         Remove now-obsolete comment about AIX.
68137         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
68138         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
68139         (YYMAXDEPTH): New macro.
68140
68141 2004-12-18  Simon Josefsson  <jas@extundo.com>
68142
68143         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
68144
68145 2004-12-18  Bruno Haible  <bruno@clisp.org>
68146
68147         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
68148
68149 2004-12-18  Bruno Haible  <bruno@clisp.org>
68150
68151         * lib/fatal-signal.c (fatal_signals): Make non-const.
68152         (init_fatal_signals): New function.
68153         (uninstall_handlers, install_handlers): Ignore signals that were set to
68154         SIG_IGN.
68155         (at_fatal_signal): Call init_fatal_signals.
68156         (init_fatal_signal_set): Likewise. Ignore signals that were set to
68157         SIG_IGN.
68158         Reported by Paul Eggert.
68159
68160 2004-12-18  Bruno Haible  <bruno@clisp.org>
68161
68162         * doc/alloca.texi: New file.
68163         * doc/alloca-opt.texi: New file.
68164
68165 2004-12-17  Jim Meyering  <jim@meyering.net>
68166
68167         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
68168         Otherwise, install-sh could exit with improper exit status when
68169         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
68170
68171 2004-12-16  Simon Josefsson  <jas@extundo.com>
68172
68173         * tests/test-base64.c: Add license.
68174
68175 2004-12-15  Stepan Kasal  <address@hidden>
68176
68177         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
68178
68179 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
68180
68181         * modules/getcwd (Files): Add m4/d-ino.m4.
68182         Suggested by Mark D. Baushke.
68183
68184 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
68185
68186         * lib/getdate.y (textint): New member "negative".
68187         (time_zone_hhmm): New function.
68188         Expect 14 shift-reduce conflicts, not 13.
68189         (o_colon_minutes): New rule.
68190         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
68191         (yylex): Set the "negative" member of signed numbers.
68192
68193 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
68194
68195         * doc/getdate.texi (Time of day items, Time zone items):
68196         Describe new formats +00:00, UTC+00:00.
68197
68198 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68199
68200         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
68201         spurious "-l"s.  Problem reported by Stepan Kasal.
68202
68203 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
68204
68205         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
68206         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
68207
68208 2004-12-04  Simon Josefsson  <jas@extundo.com>
68209
68210         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
68211         Vandoorselaere <yoann@prelude-ids.org>.
68212
68213 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68214
68215         Changes imported from coreutils.
68216         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
68217         exist.
68218         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
68219
68220 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68221
68222         Changes imported from coreutils.
68223         * lib/hard-locale.c: Assume <locale.h> exists.
68224         Include "strdup.h".
68225         (GLIBC_VERSION): New macro.
68226         (hard_locale): Assume setlocale exists.
68227         Rewrite to avoid #ifdef.
68228         Use strdup rather than malloc + strcpy.
68229         * lib/human.c: Assume <locale.h> exists.
68230         (human_readable): Assume localeconv exists.
68231
68232 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68233
68234         * modules/hard-locale (Depends-on): Add strdup.
68235
68236 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68237
68238         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
68239         convert T2, not T.  (Imported from libc.)
68240
68241 2004-11-30  Simon Josefsson  <jas@extundo.com>
68242
68243         * modules/restrict (License): Change to LGPL.
68244
68245 2004-11-30  Simon Josefsson  <jas@extundo.com>
68246
68247         * m4/restrict.m4: Add copyright and copying conditions.
68248
68249 2004-11-30  Simon Josefsson  <jas@extundo.com>
68250
68251         * m4/base64.m4: New file.
68252
68253 2004-11-30  Simon Josefsson  <jas@extundo.com>
68254
68255         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
68256         base64.
68257
68258         * tests/test-base64.c: New file.
68259
68260         * modules/base64: New file.
68261
68262 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
68263
68264         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
68265         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
68266
68267         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
68268
68269 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
68270
68271         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
68272         (__getcwd.c): Don't restore errno; glibc doesn't.
68273         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
68274         first, falling back to our code only if its results look suspicious.
68275         Ensure that the resulting buffer is only as large as necessary.
68276
68277         * lib/readutmp.c: Include readutmp.h first.
68278         Include <errno.h>, since readutmp.h no longer does that.
68279         * lib/readutmp.h: Don't include <errno.h>,
68280         <sys/param.h>, <time.h>; not needed to establish interface.
68281         (errno): Remove decl.
68282         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
68283         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
68284         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
68285
68286 2004-11-28  Simon Josefsson  <jas@extundo.com>
68287
68288         * lib/base64.h, base64.c: New file.
68289
68290 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68291
68292         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
68293
68294 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68295
68296         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
68297         (Depends-on): Remove pathmax, same.  Add mempcpy.
68298         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
68299         (Makefile.am): Append getcwd.h to lib_SOURCES.
68300         (Include): Add getcwd.h.
68301         (Maintainer): Change from Jim Meyering to "all, glibc",
68302         since getdate now uses intended-for-glibc code.
68303         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
68304         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
68305
68306 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68307
68308         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
68309         HP's ANSI C compiler.
68310         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
68311         Declaring int functions causes warnings on some modern systems and
68312         shouldn't be needed to compile on ancient ones.
68313         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
68314         defined.
68315
68316         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
68317         with the following changes.
68318         (__set_errno): Parenthesize properly.
68319         Include <stdbool.h>.
68320         (MIN, MAX, MATCHING_INO): New macros.
68321         (__getcwd): Define with prototype, not K&R form.
68322         Use heuristics to allocate default buffer on stack if possible.
68323         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
68324         behavior, and to avoid the PATH_MAX limit when computing
68325         ../../../../...
68326         Use MATCHING_INO to compare inode number to file.
68327         Check for arithmetic overflow in size calculations.
68328         Fix bug in reallocation of dot array that caused getcwd to fail
68329         on directories nested deeper than 75.
68330         Be more careful about saving errno on error.
68331         Do not use realloc; use only free+malloc, as this is a bit
68332         more flexible and avoids a needless copy operation.
68333         Do not inspect st_dev and st_ino for symbolic links; POSIX
68334         doesn't specify the latter.
68335         Check for closedir errors.
68336         Avoid needless casts.
68337         Use "#ifdef weak_alias" around weak_alias, to be like other
68338         glibc code.
68339         The following changes to getcwd.c have effect only when used in
68340         gnulib; they have no effect inside glibc proper.
68341         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
68342         as alloca isn't used.
68343         (alloca, __alloca): Likewise.
68344         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
68345         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
68346         unconditionally, as gnulib assumes C89 or better.
68347         Do not include <sys/param.h>.
68348         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
68349         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
68350         better.
68351         (NULL) [!defined NULL]: Remove; we assume C89 or better.
68352         Include <dirent.h> in a way that is compatible with modern Autoconf.
68353         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
68354         New macros, if not already defined.
68355         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
68356         Use "_LIBC", not "defined _LIBC", for consistency.
68357         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
68358         a mempcpy module.
68359         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
68360         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
68361         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
68362         credit only to Jim Meyering and adjust the copyright dates.
68363         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
68364         <stdlib.h>, <unistd.h>, "pathmax.h".
68365         Instead, include "xgetcwd.h" (first) and "getcwd.h".
68366         (INITIAL_BUFFER_SIZE): Remove.
68367         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
68368
68369 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68370
68371         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
68372         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
68373         Use the _ONCE methods, for efficiency.
68374         Check for fcntl.h.  In test program, include <errno.h>
68375         and <fcntl.h> if available.  Remove old K&R cruft from
68376         test program.  Check for common errors in GNU/Linux,
68377         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
68378         don't do AC_LIBOBJ, as that's getcwd.m4's job.
68379         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
68380         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
68381         name accordingly.
68382         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
68383         accommodate new getcwd.c.
68384         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
68385         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
68386         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
68387         that's all we need now.
68388
68389 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68390
68391         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
68392         argp-parse.c depends on getopt internals, that means we should
68393         always use our getopt, to be on the safe side.
68394         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
68395         order not to spoil the result of an eventual previous invocation
68396         of gl_GETOPT_SUBSTITUTE.
68397
68398 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68399
68400         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
68401         redefinition warnings. To avoid them, include the defines
68402         in `#if !defined __need_getopt ... #endif'. The only place
68403         where __getopt_argv_const is used is in definitions
68404         of getopt_long and getopt_long_only below, which are as well
68405         protected by `#ifndef __need_getopt'.
68406         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
68407         __need_getopt after including <stdio.h> and <unistd.h> These
68408         headers might have defined it.
68409
68410 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68411
68412         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
68413
68414 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68415
68416         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
68417         (futimens): New function, which uses futimes if available.
68418         (futimens, utimens): Support timespec==NULL, with same semantics
68419         as utime and utimens.
68420         * lib/utimens.h (futimens): New decl.
68421
68422 2004-11-23  Jim Meyering  <jim@meyering.net>
68423
68424         * lib/getopt_.h: Remove trailing blanks.
68425
68426 2004-11-23  Jim Meyering  <jim@meyering.net>
68427
68428         * lib/__fpending.c: Add comment.
68429
68430 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
68431
68432         * modules/canonicalize (Depends-on): Add xreadlink.
68433         Problem reported by James Youngman.
68434
68435 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68436
68437         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
68438         New macros.
68439         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
68440         optopt): Use them instead of invoking ## directly; otherwise, the
68441         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
68442
68443 2004-11-19  Bruno Haible  <bruno@clisp.org>
68444
68445         * lib/strtok_r.c: Move comments from here...
68446         * lib/strtok_r.h: ... to here.
68447
68448 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68449
68450         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
68451         implementations that mishandle size_t overflow.
68452
68453 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68454
68455         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
68456         might fail.  Problem reported by Yoann Vandoorselaere.
68457         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
68458         implementations that mishandle size_t overflow.
68459
68460 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68461
68462         * modules/canon-host (Depends-on): Add strdup.
68463
68464 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68465
68466         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
68467
68468 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68469
68470         * lib/canon-host.c: Include "strdup.h".
68471         (canon_host): Use getaddrinfo if available, so that IPv6 works.
68472         Use strdup instead of malloc/strcpy to duplicate strings.
68473
68474         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
68475         (human_space_before_unit): New constant.
68476         * lib/human.c (human_readable): Support it.
68477
68478         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
68479         (xgetcwd): Set errno correctly when failing.
68480         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
68481         the failure is actually due to a PATH_MAX problem.
68482
68483         Further getopt changes to make it more likely that glibc will
68484         buy the changes back.
68485         * lib/getopt.c (POSIXLY_CORRECT): New constant.
68486         (getopt): Use it, so to preserve glibc semantic
68487         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
68488         when compiling for libc.
68489         * lib/getopt_.h (__getopt_argv_const): Bring it back.
68490         (getopt_long, getopt_long_only): Use it.
68491
68492         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68493         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
68494         (getopt): Argv is now char * const *, as per standard.
68495         (_getopt_internal_r, _getopt_internal): Argv is now char **,
68496         not char *__getopt_argv_const *.
68497         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68498         _getopt_long_only_r): Likewise.
68499         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
68500         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68501         _getopt_long_r, _getopt_long_only_r): Likewise.
68502         * lib/getopt_.h (__getopt_argv_const): Remove.
68503         (getopt): Argv is now char * const *, as per standard.
68504
68505         * lib/getdate.y (tORDINAL): New token.
68506         (day, relunit): Allow it for relative times.
68507         (relative_time_table): Use tORDINAL for ordinals.
68508
68509 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68510
68511         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
68512         Document that "second" isn't allowed as an ordinal number.
68513
68514 2004-11-16  Jim Meyering  <jim@meyering.net>
68515
68516         * modules/closeout (Depends-on): Add fpending.
68517
68518 2004-11-15  Jim Meyering  <jim@meyering.net>
68519
68520         * lib/closeout.c: Include "__fpending.h" once again.
68521         Include <stdbool.h>.
68522         (close_stdout): Don't fail just because stdout was closed initially,
68523         since some programs don't write to stdout in the normal course of
68524         operation (other than --version and --help), and we don't want this
68525         function to make e.g. `touch file >&-' fail.
68526         But do fail if it was closed and someone has tried to write to it.
68527         E.g., `printf foo >&-' must fail.
68528
68529 2004-11-13  Jim Meyering  <jim@meyering.net>
68530
68531         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
68532
68533 2004-11-12  Simon Josefsson  <jas@extundo.com>
68534
68535         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
68536         small doc fix is still pending.
68537
68538 2004-11-11  Simon Josefsson  <jas@extundo.com>
68539
68540         * modules/strtok_r: New file.
68541
68542         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68543         strtok_r.
68544
68545 2004-11-11  Simon Josefsson  <jas@extundo.com>
68546
68547         * m4/strtok_r.m4: New file.
68548
68549         * m4/getopt.m4: Replace opterr.
68550
68551 2004-11-11  Simon Josefsson  <jas@extundo.com>
68552
68553         * lib/strtok_r.h, strtok_r.c: New file.
68554
68555 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68556
68557         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
68558         of replacing opterr, getopt, etc.  This should handle the
68559         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
68560
68561 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68562
68563         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
68564         we can stop lying to compilers about the constness of argv when we
68565         are compiled outside glibc.
68566         (getopt, getopt_long, getopt_long_only): Use it.
68567         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68568         _getopt_internal, getopt): Likewise.
68569         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68570         _getopt_long_only_r): Likewise.
68571         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68572         _getopt_long_r, _getopt_long_only_r): Likewise.
68573
68574         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
68575         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
68576         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
68577         the other external symbols.
68578         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
68579         declaration, since the above renaming now works around collisions.
68580
68581 2004-11-11  Jim Meyering  <jim@meyering.net>
68582
68583         * lib/linebreak.c: Remove trailing blanks.
68584         * lib/alloca_.h: Likewise.
68585         * lib/acosl.c: Likewise.
68586         * lib/euidaccess.c: Likewise.
68587         * lib/allocsa.h: Likewise.
68588
68589 2004-11-10  Simon Josefsson  <jas@extundo.com>
68590
68591         * m4/getaddrinfo.m4: New file.
68592
68593 2004-11-10  Simon Josefsson  <jas@extundo.com>
68594
68595         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
68596
68597 2004-11-10  Simon Josefsson  <jas@extundo.com>
68598
68599         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68600         getaddrinfo.
68601
68602         * modules/getaddrinfo: New file.
68603
68604 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68605
68606         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
68607
68608 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68609
68610         * lib/mktime.c (SHR): New macro, which is a portable
68611         substitute for >> that should work even on Crays.
68612         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
68613         Problem reported by Mark D. Baushke in
68614         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
68615         * lib/getdate.y (SHR): Likewise.
68616         (tm_diff): Use it.
68617         * lib/strftime.c (SHR): Likewise.
68618         (tm_diff): Use it.
68619         * lib/quotearg.c (struct quoting_options): Use unsigned int for
68620         quote_these_too, so that right shifts are well defined.  All uses
68621         changed.
68622
68623 2004-11-10  Jim Meyering  <jim@meyering.net>
68624
68625         Ensure that no close failure goes unreported.
68626         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
68627         return early when it seems there's nothing to flush.
68628         Don't include __fpending.h.
68629
68630 2004-11-10  Jim Meyering  <jim@meyering.net>
68631
68632         * modules/closeout (Depends-on): Remove fpending.
68633
68634 2004-11-10  Jim Meyering  <jim@meyering.net>
68635
68636         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
68637
68638 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68639
68640         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
68641         gl_FUNC_STRFTIME.
68642         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
68643         and AC_REQUIRE when possible, to avoid duplicate checks.
68644         Check for <wchar.h>.
68645
68646 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68647
68648         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
68649
68650 2004-11-09  Bruno Haible  <bruno@clisp.org>
68651
68652         * m4/sockpfaf.m4: New file.
68653
68654 2004-11-05  Bruno Haible  <bruno@clisp.org>
68655
68656         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
68657         Reported by Mark D. Baushke <mdb@cvshome.org>.
68658
68659 2004-11-04  Bruno Haible  <bruno@clisp.org>
68660
68661         2004-09-11  Bruno Haible  <bruno@clisp.org>
68662                 * allocsa.valgrind: New file.
68663         2004-02-06  Bruno Haible  <bruno@clisp.org>
68664                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
68665                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
68666                 Reported by Christopher Seip <chris.seip@hp.com>.
68667
68668 2004-11-04  Bruno Haible  <bruno@clisp.org>
68669
68670         * modules/allocsa (Files): Add lib/allocsa.valgrind.
68671         (Makefile.am): Distribute it.
68672
68673 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68674
68675         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
68676         with errno == ERANGE if the buffer is too small.
68677         Problem reported by Mark D. Baushke.
68678
68679 2004-11-03  Albert Chin  <china@thewrittenword.com>
68680             Paul Eggert  <eggert@cs.ucla.edu>
68681
68682         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
68683         equivalent, substitute $ac_type for equivalent type rather than
68684         blindly using uint32_t *always* which won't work if uint32_t is not
68685         available.  Define _UINT32_T to work around typedef of uint32_t if
68686         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
68687         2.5.1.
68688
68689 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68690
68691         * m4/jm-macros.m4: Sync from coreutils.
68692         (gl_MACROS): Check for mbrlen, for pathchk.
68693         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
68694
68695 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68696
68697         * lib/xreadlink.c (MAXSIZE): New macro.
68698         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
68699         size does not exceed MAXSIZE.  Avoid cast.
68700         As suggested by Mark D. Baushke in
68701         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
68702         if readlink fails with buffer size just under MAXSIZE, try again
68703         with MAXSIZE.
68704
68705 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68706
68707         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
68708
68709 2004-11-02  Derek R. Price  <derek@ximbiot.com>
68710         and  Paul Eggert  <eggert@cs.ucla.edu>
68711
68712         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
68713         (get_date): Overparenthesize to avoid GCC warning.
68714
68715 2004-11-02  Bruno Haible  <bruno@clisp.org>
68716
68717         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
68718         returns void.
68719
68720 2004-11-02  Bruno Haible  <bruno@clisp.org>
68721
68722         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
68723         function returns void.
68724
68725 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68726
68727         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
68728         fflush_unlocked, flockfile, funlockfile, funlockfile,
68729         fputs_unlocked, putc_unlocked.
68730
68731 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68732
68733         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68734         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
68735         already declared.
68736
68737 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68738
68739         * modules/getdate (Files): Add doc/getdate.texi.
68740         (Depends-on): Add setenv, xalloc.
68741
68742 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68743
68744         * lib/getdate.y: Add support for TZ="foo" within a date string.
68745         Fix some bugs near time_t boundaries.  Reject dates with
68746         out-of-range components, e.g., "Sept 31".
68747         Include <stdlib.h>, "setenv.h", "xalloc.h".
68748         (ISDIGIT_LOCALE): Remove; unused.
68749         Note that the TZ and time functions used here are not reentrant.
68750         (mktime_ok, get_tz): New functions.
68751         (TZBUFSIZE): New constant.
68752         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
68753         This requires that we sometimes generate our own TZ="XXX..." setting.
68754
68755 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68756
68757         * doc/getdate.texi: New file, from coreutils with modifications for
68758         the new TZ parsing.
68759
68760 2004-10-27  Derek R. Price  <derek@ximbiot.com>
68761
68762         * lib/mktime.c (not_equal_tm): Remove redundant check.
68763
68764 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68765
68766         * modules/regex (lib_SOURCES): Add regex.c.
68767         Reported by James Youngman in
68768         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
68769
68770 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68771
68772         * lib/getdate.y: Use Bison 1.875 features, and some minor
68773         code cleanups.  This change does not affect semantics.
68774         Don't include <stdlib.h>; no longer needed.
68775         Don't include unlocked-io.h; only the "#if TEST" code uses
68776         stdio, and performance isn't crucial there.
68777         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
68778         Bison 1.875 features as described below.
68779         All uses of "PC." replaced by "pc->".
68780         (YYSTYPE): Add a forward declaration.
68781         (yylex, yyerror): Use full prototypes in forward decls.
68782         Use "%pure-parser" rather than obsolescent "%pure_parser".
68783         Use %parse-param and %lex-param instead of obsolescent
68784         YYPARSE_PARAM and YYLEX_PARAM.
68785         (meridian_table, month_and_day_table, time_units_table,
68786         relative_time_table, time_zone_table, military_table,
68787         lookup_zone, lookup_word, get_date):
68788         Use NULL instead of 0 where appropriate.
68789         (to_hour): Avoid abort (), to avoid a dependency on
68790         stdlib.h.
68791         (yyerror, yylex): Now accepts parser_control * arg.
68792         (main) [TEST]: Use '\0' rather than 0 for char.
68793
68794 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68795
68796         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
68797
68798 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68799
68800         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
68801         It's now the caller's responsibility to handle the case where
68802         !HAVE_GETPAGESIZE && !defined getpagesize.
68803
68804         * lib/mktime.c (leapyear): Arg is long int, not int.
68805
68806 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
68807
68808         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
68809
68810 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
68811
68812         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
68813         missing.  Problem reported by James Youngman.
68814
68815 2004-10-16  Simon Josefsson  <jas@extundo.com>
68816
68817         * gnulib-tool: Fix comments.  Fix parse problem.
68818         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
68819
68820 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
68821
68822         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
68823         implementation of getopt_long.  Problem reported by Alexander Taler in:
68824         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
68825
68826 2004-10-15  Bruno Haible  <bruno@clisp.org>
68827
68828         * gnulib-tool: Untabify. Initialize supplied_libname.
68829         (func_usage): More homogenous output.
68830         (func_modules_transitive_closure, func_modules_to_filelist,
68831         func_emit_lib_Makefile_am): New functions.
68832         (func_import): New function, extracted from big case statement. Use
68833         func_get_license, func_modules_transitive_closure,
68834         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
68835         opt_lgpl. Don't use test -a, as it's not portable.
68836         (func_create_testdir): Use func_modules_transitive_closure,
68837         func_modules_to_filelist, func_emit_lib_Makefile_am.
68838
68839 2004-10-15  Bruno Haible  <bruno@clisp.org>
68840
68841         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
68842
68843 2004-10-15  Bruno Haible  <bruno@clisp.org>
68844
68845         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
68846         the portions belonging to each module.
68847         Suggested by Derek Robert Price <derek@ximbiot.com>.
68848
68849 2004-10-12  Simon Josefsson  <jas@extundo.com>
68850
68851         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68852         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
68853         to real functions.
68854
68855 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68856
68857         * modules/vsnprintf: New file.
68858
68859 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68860
68861         * m4/vsnprintf.m4: New file.
68862
68863 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68864
68865         * lib/vsnprintf.h: New file.
68866         * lib/vsnprintf.c: New file.
68867
68868 2004-10-11  Bruno Haible  <bruno@clisp.org>
68869
68870         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
68871         vsnprintf.
68872
68873 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
68874
68875         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
68876
68877 2004-10-07  Bruno Haible  <bruno@clisp.org>
68878
68879         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
68880         fits into the provided buffer.
68881
68882 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
68883
68884         * lib/diacrit.c, diacrit.h: Add GPL notice.
68885
68886         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
68887         notice.
68888         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
68889         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
68890         This avoids a potential constant-folding bug.
68891
68892 2004-10-05  Bruno Haible  <bruno@clisp.org>
68893
68894         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
68895         for the declaration of strsep.
68896
68897 2004-10-05  Bruno Haible  <bruno@clisp.org>
68898
68899         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
68900
68901 2004-10-04  Simon Josefsson  <jas@extundo.com>
68902
68903         * modules/memmem: New file.
68904         * tests/test-memmem.c: New file.
68905         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
68906
68907 2004-10-04  Simon Josefsson  <jas@extundo.com>
68908
68909         * m4/memmem.m4: New file.
68910
68911 2004-10-04  Simon Josefsson  <jas@extundo.com>
68912
68913         * lib/memmem.h: New file.
68914         * lib/memmem.c: New file, taken from glibc.
68915
68916 2004-10-04  Simon Josefsson  <jas@extundo.com>
68917
68918         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
68919         '#ifdef USE_UNLOCKED_IO'.
68920
68921 2004-10-04  Simon Josefsson  <jas@extundo.com>
68922
68923         * config/srclist.txt: Add memmem from glibc.
68924
68925 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68926
68927         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
68928
68929         * modules/argmatch, modules/argp, modules/closeout, modules/error,
68930         modules/exclude, modules/getdate, modules/getline,
68931         modules/getndelim2, modules/getpass, modules/getpass-gnu,
68932         modules/getusershell, modules/linebuffer, modules/md5,
68933         modules/mountlist, modules/posixtm, modules/readtokens,
68934         modules/readutmp, modules/regex, modules/sha1,
68935         modules/version-etc, modules/yesno:
68936         Remove dependency on unlocked-io.
68937
68938 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68939
68940         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
68941
68942         * m4/unlocked-io.m4: Add copyright notice.
68943         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
68944
68945 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68946
68947         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
68948         * lib/xmalloc.c (xmemdup): Likewise.
68949         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
68950         XFREE): Remove these long-obsolescent macros.
68951         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
68952         * lib/xstrdup.c: Remove.
68953
68954         * lib/regex.c (re_comp): Cast gettext return value to char *,
68955         Problem reported by Martin Neitzel via Mark D. Baushke.
68956
68957 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68958
68959         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
68960         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
68961         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
68962         regex.c, sha1.c, version-etc.c, yesno.c:
68963         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
68964         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
68965         the includer's responsibility.
68966
68967         Sync from coreutils.
68968
68969         * lib/modechange.c (mode_compile): Don't decrement a pointer that
68970         points to the start of a string, as the C Standard says the
68971         resulting behavior is undefined.
68972
68973         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
68974         simple -> simple_backups, numbered_existing ->
68975         numbered_existing_backups, numbered -> numbered_backups
68976         to avoid shadowing problems.  All uses changed.
68977         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
68978         * lib/backupfile.c (check_extension, numbered_backup):
68979         Rename locals to avoid shadowing 'basename'.
68980         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
68981         once.
68982
68983         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
68984         * lib/.cvsignore: Add getopt.h.
68985
68986 2004-10-04  Bruno Haible  <bruno@clisp.org>
68987
68988         * modules/README: New file.
68989         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
68990         not a module.
68991
68992 2004-10-02  Jim Meyering  <jim@meyering.net>
68993
68994         * lib/dirfd.h, getpagesize.h: Add copyright notice.
68995
68996 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68997
68998         * modules/strsep: New file.
68999
69000 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69001
69002         * m4/strsep.m4: New file.
69003
69004 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69005
69006         * lib/strsep.h: New file.
69007         * lib/strsep.c: New file.
69008
69009 2004-10-01  Simon Josefsson  <jas@extundo.com>
69010
69011         * lib/snprintf.c (snprintf): Handle size==0.
69012
69013 2004-10-01  Simon Josefsson  <jas@extundo.com>
69014             Bruno Haible  <bruno@clisp.org>
69015
69016         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
69017         (snprintf): Declare 'args'.
69018
69019 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
69020
69021         * lib/snprintf.c: Remove comments as to why each header is needed.
69022
69023 2004-10-01  Bruno Haible  <bruno@clisp.org>
69024
69025         * MODULES.html.sh: Add strsep.
69026
69027 2004-09-30  Simon Josefsson  <jas@extundo.com>
69028
69029         * modules/snprintf: New file.
69030
69031 2004-09-30  Simon Josefsson  <jas@extundo.com>
69032
69033         * m4/snprintf.m4: New file.
69034
69035 2004-09-30  Simon Josefsson  <jas@extundo.com>
69036
69037         * lib/snprintf.h, lib/snprintf.c: New files.
69038
69039 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69040
69041         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
69042         (hol_entry_help): Never translate an empty string.
69043         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
69044         * lib/argp.h (OPTION_NO_TRANS): New option.
69045
69046 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69047
69048         * modules/argp (Maintainer): Replace Simon Josefsson
69049         by Sergey Poznyakoff.
69050
69051 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69052
69053         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
69054         changes merged back into glibc.
69055
69056 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69057
69058         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
69059
69060 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
69061
69062         * lib/xvasprintf.c: Include xalloc.h.
69063         (xvasprintf): Use xalloc_die, not xmalloc_die.
69064
69065 2004-09-29  Bruno Haible  <bruno@clisp.org>
69066
69067         * modules/alloca-opt: New file, derived from modules/alloca.
69068         * modules/allocsa: Depend on alloca-opt instead of alloca.
69069         * modules/setenv: Likewise.
69070         * modules/vasnprintf: Likewise.
69071         * MODULES.html.sh: Add alloca-opt.
69072
69073 2004-09-28  Simon Josefsson  <jas@extundo.com>
69074
69075         * gnulib-tool: New parameter --lgpl, to asseert that modules are
69076         LGPL, and to replace license template from GPL to LGPL.
69077
69078 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
69079
69080         * modules/dummy: Change license to LGPL.
69081
69082 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
69083
69084         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
69085
69086 2004-09-24  Simon Josefsson  <jas@extundo.com>
69087
69088         * modules/minmax (License): Change from GPL to LGPL.
69089
69090 2004-09-23  Simon Josefsson  <jas@extundo.com>
69091
69092         * gnulib-tool (--import): Typo.
69093
69094 2004-09-23  Simon Josefsson  <jas@extundo.com>
69095
69096         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
69097
69098 2004-09-22  Bruno Haible  <bruno@clisp.org>
69099
69100         * modules/*: Add 'License' field.
69101         * gnulib-tool: Accept --extract-license option.
69102         (func_get_license): New function.
69103
69104 2004-09-21  Bruno Haible  <bruno@clisp.org>
69105
69106         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
69107         Reported by Simon Josefsson.
69108
69109 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69110
69111         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
69112         gl_AC_TYPE_LONG_LONG.
69113
69114 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69115
69116         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
69117
69118 2004-09-18  Simon Josefsson  <jas@extundo.com>
69119         and  Paul Eggert  <eggert@cs.ucla.edu>
69120
69121         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
69122         calls with autoreconf.  Define GL_LIB.
69123
69124 2004-09-14  Karl Berry  <karl@gnu.org>
69125
69126         * config/srclist.txt: unsync setenv.c, sigh.
69127
69128 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69129
69130         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
69131         Problem reported by Bruno Haible in:
69132         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
69133
69134 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69135
69136         * config/srclist.txt: Comment out argp-pvh.c.
69137
69138 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
69139
69140         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
69141         in case some system header has #define'd it.  Problem reported by
69142         Soeren D. Schulze in
69143         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
69144
69145 2004-09-09  Karl Berry  <karl@gnu.org>
69146
69147         * regex.[ch]: delete from the root.  These were supposed to be
69148                 synced with emacs cvs, but this has not happened for about
69149                 a year, and anyway nothing else uses emacs regex.[ch].
69150                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
69151                 lib/regex[.ch] is untouched.
69152
69153 2004-09-09  Bruno Haible  <bruno@clisp.org>
69154
69155         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
69156
69157 2004-09-09  Bruno Haible  <bruno@clisp.org>
69158
69159         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
69160         modifications.
69161         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
69162
69163 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
69164
69165         * modules/xvasprintf: New file.
69166         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
69167
69168 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
69169
69170         * lib/xvasprintf.h: New file.
69171         * lib/xvasprintf.c: New file.
69172         * lib/xasprintf.c: New file.
69173
69174 2004-09-08  Bruno Haible  <bruno@clisp.org>
69175
69176         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
69177
69178 2004-09-08  Bruno Haible  <bruno@clisp.org>
69179
69180         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
69181         length is > INT_MAX.
69182         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
69183         more.
69184
69185 2004-09-08  Bruno Haible  <bruno@clisp.org>
69186
69187         * lib/stdint_.h: New file, taken from GNU clisp.
69188
69189 2004-09-08  Bruno Haible  <bruno@clisp.org>
69190             Oskar Liljeblad  <oskar@osk.mine.nu>
69191
69192         * modules/stdint: New file.
69193         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
69194
69195 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69196
69197         Import from coreutils.
69198         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
69199         strings on unbounded length.  alloca's performance benefits aren't
69200         that important here.
69201         (V_STRDUP): Remove.
69202         (parse_with_separator): New function, with most of the internals
69203         of the old parse_user_spec.  Allow user to omit both user and group,
69204         for compatibility with FreeBSD.
69205         Clone only the user name, not the entire spec.
69206         Do not set *uid, *gid unless entirely successful.
69207         Avoid memory leak in some failing cases.
69208         Fix regression for USER.GROUP reported by Dmitry V. Levin in
69209         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
69210         (parse_user_spec): Rewrite to use parse_with_separator.
69211
69212 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69213
69214         * modules/userspec: Don't depend on alloca.
69215
69216 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69217
69218         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
69219
69220 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69221
69222         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
69223         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
69224         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
69225
69226 2004-08-16  Simon Josefsson  <jas@extundo.com>
69227
69228         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
69229         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
69230         Add --dry-run for --import.
69231         Let user provided command line parameters override configure.ac
69232         settings.
69233
69234 2004-08-12  Simon Josefsson  <jas@extundo.com>
69235
69236         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
69237         as discussed with Paul Eggert in threads rooted at
69238         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
69239         and
69240         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
69241         Before, the test was empty, and relied on ELIDE_CODE in source
69242         code.)
69243         (gl_PREREQ_GETOPT): New macro.
69244         (gl_GETOPT): Use them.
69245
69246 2004-08-12  Simon Josefsson  <jas@extundo.com>
69247
69248         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
69249         * lib/getopt_.h: Renamed from getopt.h.
69250
69251 2004-08-12  Simon Josefsson  <jas@extundo.com>
69252
69253         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
69254         Change default library name from libfoo to libgnu.
69255         Now, if you have a configure.ac that says:
69256                 gl_SOURCE_BASE(gl)
69257                 gl_M4_BASE(gl/m4)
69258                 gl_MODULES(error getopt etcetera)
69259                 gl_INIT
69260         you can import all you need by running:
69261                 ../gnulib/gnulib-tool --import
69262
69263         * modules/getopt (Files): Rename getopt.h to getopt_.h.
69264         (Makefile.am): Rewrite, use logic from argz.
69265         (Include): Use <getopt.h> instead of "getopt.h".
69266
69267 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69268
69269         * modules/argp (Files): Add m4/unlocked-io.m4.
69270         (Depends-on): Add extensions.
69271
69272 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69273
69274         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
69275         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
69276         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
69277         Check for program_invocation_name, program_invocation_short_name,
69278         flockfile, funlockfile, features.h, _getopt_long_only_r.
69279
69280 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69281
69282         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
69283         its complicated substitute.
69284         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
69285         and program_invocation_name.
69286         (__argp_basename) [!_LIBC]: Remove; the only use was
69287         replaced by its body.
69288         (__argp_short_program_name): Change condition from
69289         !defined __argp_short_program_name to
69290         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
69291         to match argp-namefrob.h.
69292         (__argp_failure): Don't assume strerror_r returns char *.
69293         * lib/argp-parse.c (N_): Define unconditionally.
69294         (argp_default_options): Fill out initializers with 0 to avoid
69295         gcc warnings.
69296
69297 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69298
69299         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
69300         getopt1.c.
69301
69302 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69303
69304         Merge from coreutils.
69305
69306         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
69307
69308         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
69309         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
69310
69311 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69312
69313         Merge from coreutils.
69314
69315         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
69316         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
69317         for Reliant Unix 5.43.
69318
69319         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
69320         (union fooround): Use uintmax_t, not long int.
69321         The rest is a merge from libc:
69322         [defined _LIBC]: Include <shlib-compat.h>.
69323         (_obstack) [defined _LIBC]: Remove after 2.3.4.
69324
69325         * lib/settime.c (settime): Recode to avoid warning with
69326         Sun Forte C 6U2.
69327
69328         * lib/strverscmp.c: Convert to UTF-8.
69329
69330 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69331
69332         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
69333         m4/uintmax_t.m4.
69334
69335 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69336
69337         * modules/xalloc-die: New file.
69338         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
69339
69340         * modules/md5 (Files): Add m4/uint32_t.m4.
69341         * modules/sha1: Renamed from modules/sha.
69342         (Files):
69343         Rename lib/sha.h to lib/sha1.h.
69344         Rename lib/sha.c to lib/sha1.c.
69345         Rename m4/sha.m4 to m4/sha1.m4.
69346         (lib_SOURCES): Likewise.
69347         (configure.ac): Rename gl_SHA to gl_SHA1.
69348         (Include): sha.h -> sha1.h.
69349
69350 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69351
69352         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
69353         * m4/sha1.m4: Renamed from sha.m4.
69354         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
69355
69356 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69357
69358         * lib/obstack.h (obstack_empty_p):
69359         Don't assume that chunk->contents is suitably aligned.
69360         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
69361         Likewise. Problem reported by Benno in
69362         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
69363
69364         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
69365         readable.  This could be improved further but it'd take some work.
69366
69367 2004-08-08  Simon Josefsson  <jas@extundo.com>
69368
69369         * modules/xgethostname (Depends-on): Remove exit and error (not
69370         used).
69371
69372         * modules/getpass-gnu: Add getpass.h.
69373         (Depends-on): Add stdbool.
69374         * modules/getpass: Add getpass.h.
69375
69376 2004-08-08  Simon Josefsson  <jas@extundo.com>
69377
69378         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
69379         Check getpass declaration.
69380
69381 2004-08-08  Simon Josefsson  <jas@extundo.com>
69382
69383         * lib/xgethostname.c: Don't include error.h (not used).
69384
69385         * lib/getpass.h: Add.
69386         * lib/getpass.c: Include getpass.h first.
69387
69388 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
69389
69390         * lib/xalloc-die.c: New file.
69391         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
69392         All uses removed.
69393         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
69394         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
69395         xalloc-die.c.
69396         (_, N_, xalloc_die): Move to xalloc-die.c.
69397         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
69398         so that we needn't mess with xalloc_msg_memory_exhausted.
69399
69400         * lib/sha1.h: Renamed from sha.h.
69401         (SHA1_H): Renamed from _SHA_H.
69402         (sha1_ctx): Renamed from sha_ctx.
69403         (sha1_init_ctx): Renamed from sha_init_ctx.
69404         (sha1_process_block): Renamed from sha_process_block.
69405         (sha1_process_bytes): Renamed from sha_process_bytes.
69406         (sha1_finish_ctx): Renamed from sha_finish_ctx.
69407         (sha1_read_ctx): Renamed from sha_read_ctx.
69408         (sha1_stream): Renamed from sha_stream.
69409         (sha1_buffer): Renamed from sha_buffer.
69410         * lib/sha1.c: Likewise; renamed from sha.c.
69411         Do not include <sys/types.h>.
69412         Include <stddef.h> rather than <stdlib.h>.
69413
69414 2004-08-08  Bruno Haible  <bruno@clisp.org>
69415
69416         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
69417         FILESYSTEM_PREFIX_LEN.
69418         * lib/progreloc.c: Likewise.
69419         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
69420
69421 2004-08-06  Simon Josefsson  <jas@extundo.com>
69422
69423         * modules/progname (Depends-on): Don't depend on stdbool.
69424
69425 2004-08-06  Simon Josefsson  <jas@extundo.com>
69426
69427         * modules/getsubopt: New file.
69428         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69429         getsubopt.
69430
69431 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69432
69433         More merge from coreutils.
69434
69435         * m4/utimens.m4, m4/utimecmp.m4: New files.
69436         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
69437         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
69438         prereq.m4, sha.m4: Import changes from coreutils.
69439
69440 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69441
69442         More merge from coreutils.
69443         * modules/raise, modules/readtokens0, modules/utimens:
69444         * modules/utimecmp, module/xnanosleep: New files.
69445         * modules/strftime: Add lib/strftime.h.
69446         Change include from <time.h> to "strftime.h".
69447         * modules/yesno: Add lib/yesno.h.
69448         * modules/backupfile: Remove lib/addext.c.
69449         * modules/euidaccess: Add stat-macros.h.
69450         * modules/canonicalize, modules/euidaccess,
69451         modules/filemode, modules/lchown, modules/makepath,
69452         modules/rmdir, modules/stat: Likewise.
69453
69454 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69455
69456         Merge from tar.
69457         * lib/argp-help.c (make_hol, hol_append): Don't assume that
69458         SIZE_MAX is a valid preprocessor constant.
69459         (__argp_basename): Change from "#ifndef _LIBC"
69460         to "#ifndef __argp_short_program_name", so that
69461         we don't compile these functions for tar.
69462
69463         More merges from coreutils.
69464         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
69465         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
69466         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
69467         * lib/addext.c: Remove; no longer needed.
69468         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
69469         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
69470         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
69471         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
69472         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
69473         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
69474         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
69475         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
69476         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
69477         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
69478         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
69479         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
69480         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
69481         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
69482         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
69483         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
69484         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
69485         Import changes from coreutils.
69486
69487 2004-08-05  Simon Josefsson  <jas@extundo.com>
69488
69489         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
69490
69491 2004-08-05  Simon Josefsson  <jas@extundo.com>
69492
69493         * m4/getsubopt.m4: New file.
69494
69495 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69496
69497         Merge from coreutils.
69498
69499         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
69500         * m4/getcwd-path-max.m4: New files.
69501
69502         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
69503         FILESYSTEM_PREFIX_LEN ->
69504         FILE_SYSTEM_PREFIX_LEN.
69505         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
69506         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
69507         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
69508         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
69509
69510         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
69511         prerequisite modules now handle the DOS stuff.
69512         Don't check for unistd.h.
69513
69514 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69515
69516         Merge from coreutils.
69517
69518         * lib/.gdb-history: Remove; this doesn't belong here.
69519
69520         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
69521         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
69522         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
69523         * lib/getcwd.c: New files.
69524
69525         * lib/dirname.h: Include <stdbool.h>.
69526         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
69527         for consistency with POSIX terminology.  All uses changed.
69528         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
69529         (strip_trailing_slashes): Use bool for booleans.
69530         * lib/stripslash.c (strip_trailing_slashes): Likewise.
69531
69532         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
69533         sometimes returns a positive errno value even when it succeeds.
69534         (print_errno_message) [!LIBC]: Fall back on strerror if
69535         __strerror_r fails.
69536
69537         * lib/path-concat.c (mempcpy): Don't define if a system header defines
69538         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
69539         (longest_relative_suffix): New function.
69540         (path_concat): Use it.  Assume first argument is not NULL.
69541         Port to DOS.  Omit redundant separators.
69542         Report an error instead of returning NULL.
69543         Use mempcpy instead of memcpy.
69544         (xpath_concat): Remove: not declared or used.
69545
69546         * lib/same.h: Include <stdbool.h>
69547         (same_name): Return bool, not int.
69548         * lib/same.c (same_name): Likewise.
69549         (errno): Don't declare; we assume C89 or better now.
69550
69551         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
69552         if not already defined.
69553
69554         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
69555         * lib/dup-safer.c (errno): Likewise.
69556
69557 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69558
69559         Merge from coreutils.
69560         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
69561         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
69562         * modules/path-concat: Don't depend on strdup.
69563
69564 2004-08-03  Simon Josefsson  <jas@extundo.com>
69565
69566         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
69567         * lib/progname.h: Don't include stdbool.h.
69568
69569 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69570
69571         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
69572         * MODULES.html.sh (func_all_modules): Remove fatal.
69573
69574 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69575
69576         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
69577
69578 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69579
69580         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
69581         working.
69582
69583 2004-08-02  Simon Josefsson  <jas@extundo.com>
69584
69585         * lib/getsubopt.h: New file, with comments from Bruno Haible.
69586         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
69587         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
69588
69589 2004-08-01  Simon Josefsson  <jas@extundo.com>
69590
69591         * lib/xgetdomainname.c: Include stdlib.h, for free().
69592
69593 2004-07-19  Bruno Haible  <bruno@clisp.org>
69594
69595         * MODULES.html.sh (func_all_modules): Add dummy.
69596
69597 2004-07-16  Simon Josefsson  <jas@extundo.com>
69598
69599         * modules/dummy: New file.
69600
69601 2004-07-16  Simon Josefsson  <jas@extundo.com>
69602
69603         * lib/dummy.c: New file.
69604
69605 2004-07-16  Bruno Haible  <bruno@clisp.org>
69606
69607         * lib/backupfile.h: Add extern "C" for C++.
69608         * lib/closeout.h: Likewise.
69609         * lib/copy-file.h: Likewise.
69610         * lib/findprog.h: Likewise.
69611         * lib/full-write.h: Likewise.
69612         * lib/pathname.h: Likewise.
69613         * lib/progname.h: Likewise.
69614         * lib/stpcpy.h: Likewise.
69615         * lib/stpncpy.h: Likewise.
69616         * lib/strcase.h: Likewise.
69617         * lib/strstr.h: Likewise.
69618         * lib/xalloc.h: Likewise.
69619
69620         * lib/mbswidth.h: Add extern "C" for C++.
69621         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
69622
69623 2004-07-13  Robert Millan  <robertmh@gnu.org>
69624
69625         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
69626
69627 2004-07-09  Simon Josefsson  <jas@extundo.com>
69628
69629         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
69630         failed without this.)
69631
69632 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69633
69634         * modules/chown (Files): Add lib/fchown-stub.c, since
69635         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
69636
69637 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69638
69639         * lib/fchown-stub.c: New file.
69640
69641 2004-06-24  Jim Meyering  <jim@meyering.net>
69642
69643         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
69644
69645 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69646
69647         * modules/argz: Omit "#include".
69648
69649         * MODULES.html.sh (func_all_modules): Add calloc, to match
69650         2004-06-01 addition of calloc module.
69651
69652 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69653
69654         * m4/argz.m4: New file, which is autoupdated from libtool.
69655
69656 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69657
69658         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
69659         libtool.
69660
69661 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69662
69663         * config/srclist-update: Don't insist on "USA." before the
69664         close-comment, as libtool omits the period and puts the */ on a
69665         separate line.
69666         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
69667         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
69668
69669 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
69670
69671         * modules/argz: New file.
69672         * MODULES.html.sh (func_all_modules): Add argz.
69673
69674 2004-06-12  Jim Meyering  <jim@meyering.net>
69675         and  Paul Eggert  <eggert@cs.ucla.edu>
69676
69677         * modules/hash (Files): Add lib/xalloc.h.
69678         * modules/pipe (Depends-on): Add wait-process.
69679         * modules/stat (Depends-on): Add xalloc.
69680         * modules/userspec (Files): Add lib/userspec.h.
69681         * modules/xstrto
69682
69683         Upgrade from gettext-0.13.
69684         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
69685         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
69686         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
69687
69688 2004-06-10  Jim Meyering  <jim@meyering.net>
69689
69690         * lib/calloc.c: New file.
69691
69692 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69693
69694         * lib/getdate.y (yylex): Allow space between sign and number.
69695         Problem reported by Dan Jacobson.
69696
69697 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69698
69699         Merge from coreutils CVS.
69700
69701         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
69702         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
69703         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
69704         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
69705         xstrtol.m4: Fix copyright date and/or serial number.
69706
69707         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
69708         See if we need an fchown replacement.
69709         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
69710         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
69711         and use the replacement function if we detect either defect.
69712
69713         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
69714         gl_UTIMECMP.
69715
69716 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69717         and  Jim Meyering  <jim@meyering.net>
69718
69719         Merge from coreutils CVS.
69720
69721         * lib/stat-macros.h: New file, with contents from file-type.h
69722         and coreutils' system.h.
69723         * lib/file-type.c: Include "stat-macros.h".
69724         * lib/file-type.h (file_type): Move all macro definitions to new file,
69725         stat-macros.h.
69726
69727         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
69728         Wrap old code with this conditional.
69729         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
69730         function that does not dereference symlinks.
69731         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
69732
69733         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
69734         dependency problems.
69735         (xreadlink): Accept new arg SIZE, for efficiency.
69736         All decls and uses changed.
69737         * lib/xreadlink.h: Include <stddef.h>, for size_t.
69738
69739         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
69740         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
69741
69742         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
69743         sysexits.h.
69744
69745 2004-06-01  Jim Meyering  <jim@meyering.net>
69746
69747         * m4/calloc.m4: New file.
69748
69749 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
69750
69751         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
69752         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
69753         Also, fix a typo in a diagnostic.
69754
69755 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69756
69757         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
69758         or AC_FUNC_REALLOC.
69759
69760 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69761
69762         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
69763         macros to be defined.
69764         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
69765         the allocator returns NULL because the requested size is zero.
69766
69767 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69768
69769         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
69770         var.  Add comment explaining why libc still defines it.  This
69771         merges the following patch from glibc:
69772         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
69773
69774 2004-05-20  Andreas Schwab  <schwab@suse.de>
69775
69776         * m4/free.m4: Replace free if it not known to work, not the other
69777         way round.
69778
69779 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69780
69781         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
69782         present in glibc since revision 1.1 of this file.
69783         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
69784         obstack_alignment_mask, obstack_alloc, obstack_base,
69785         obstack_blank, obstack_blank_fast, obstack_chunk_size,
69786         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
69787         obstack_grow0, obstack_init, obstack_int_grow,
69788         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
69789         obstack_next_free, obstack_object_size, obstack_ptr_grow,
69790         obstack_ptr_grow_fast, obstack_room): Remove declarations of
69791         nonexistent functions.
69792
69793 2004-05-18  Karl Berry  <karl@gnu.org>
69794
69795         * config/srclist.txt: break link for vasnprintf.c.
69796
69797 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69798
69799         Port obstack to the AS/400, where pointers are 16 bytes wide and
69800         you cannot cast an integer to a valid pointer.  This patch is
69801         currently waiting to be integrated into glibc; see
69802         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
69803
69804         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
69805         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
69806         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
69807         (struct obstack): temp member is now a union of a pointer and
69808         an integer, instead of an integer.  All integer uses changed.
69809         This does not affect the physical layout of struct obstack,
69810         except on hosts (like the AS/400) where the size or alignment of
69811         void * is greater than that of ptrdiff_t.
69812         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
69813         __STDC__)]: Store temporary in pointer member of union, not
69814         integer member.
69815         * lib/obstack.c: Include <stddef.h>, for offsetof.
69816         (struct fooalign): Remove; it doesn't need a name.
69817         (union fooround): Change double to long double, and add void *.
69818         (DEFAULT_ALIGNMENT): Use offsetof to compute.
69819         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
69820         not a macro.  Hence the values are always int; so remove all
69821         casts-to-int in uses.
69822
69823 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69824
69825         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
69826         we can get this patch merged into glibc.
69827
69828 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69829             Paul Eggert  <eggert@cs.ucla.edu>
69830
69831         * m4/argp: Depend on alloca.
69832
69833 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69834             Paul Eggert  <eggert@cs.ucla.edu>
69835
69836         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
69837         freecoding.
69838
69839 2004-05-17  Bruno Haible  <bruno@clisp.org>
69840
69841         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
69842         precision that consists of a '.' followed by an empty digit string.
69843         Patch by Tor Lillqvist <tml@iki.fi>.
69844
69845 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69846
69847         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
69848         for backward compatibility with older code.  We need our own
69849         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
69850         it under some other name, and our alloca.h will define it.
69851
69852 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69853             Derek Price  <derek@ximbiot.com>
69854
69855         * lib/alloca.c: Include <alloca.h>, to get our interface.
69856         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
69857         include <alloca.h> first.  Use C89 prototype for alloca; this
69858         requires including <stddef.h> for size_t.  Use extern "C" if C++.
69859         Use #elif for simplicity, since we can assume C89 now.
69860         Don't try to source the system alloca.h since it will not be found
69861         and to prevent recursively including its replacement.
69862         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
69863         * lib/regex.c: Likewise.
69864
69865 2004-05-16  Derek Price  <derek@ximbiot.com>
69866             Paul Eggert  <eggert@cs.ucla.edu>
69867
69868         getline cleanup.  This changes the getndelim2 API: both order of
69869         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
69870         no delimiter).
69871
69872         * lib/getline.c: Don't include stddef.h or stdio.h, since our
69873         interface does that.
69874         (getline): Always use getdelim, so that we don't have two
69875         copies of this code.
69876         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
69877         if available.
69878         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
69879         (GETNDELIM2_MAXIMUM): New macro.
69880         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
69881         instead of the old practice of delim2==0.  All callers changed.
69882         Return -1 on overflow, instead of returning junk.
69883         Do not set *linesize unless allocation succeeds.
69884         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
69885         that we include sys/types.h.
69886         * lib/getnline.h: Likewise.
69887         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
69888         (getndelim2): Reorder arguments.
69889         * lib/getnline.c (getnline, getndelim):
69890         Don't discard the NMAX argument.
69891         (getnline): Invoke getndelim, to avoid code duplication.
69892         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
69893         of (size_t) -1 by callers of the getnline family.
69894
69895 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69896
69897         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
69898         Check for gettimeofday.
69899         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
69900         Check for settimeofday, stime.
69901
69902 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69903
69904         * lib/nanosleep.c (suspended): Change its type from int to
69905         sig_atomic_t volatile.
69906         (first_call): Make it private to rpl_nanosleep, and have it
69907         be zero initially as that's a bit faster.
69908         (my_usleep): Round up fractional times instead of truncating them,
69909         as this is the usual meaning for 'sleep'.
69910
69911         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
69912         doesn't work.
69913         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
69914         (ENOSYS): Define if not defined.
69915         (settime): Fall back on stime if it exists and settimeofday fails.
69916         But don't bother with fallbacks if a method fails with errno == EPERM.
69917
69918 2004-05-11  Jim Meyering  <jim@meyering.net>
69919
69920         Prior to this change, the save_cwd caller required read access to the
69921         current directory on most systems (ones with the fchdir function).
69922
69923         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
69924         fails, try write-only, and finally, resort to using xgetcwd.
69925
69926 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
69927
69928         * lib/obstack.c, obstack.h: Import changes from libc.
69929
69930 2004-04-28  Bruno Haible  <bruno@clisp.org>
69931
69932         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
69933         also implicitly appends .exe to executables.
69934         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
69935         accepts Windows pathnames.
69936         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69937         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69938         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69939         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69940         Reported by Derek Robert Price <derek@ximbiot.com>.
69941
69942 2004-04-21  Karl Berry  <karl@gnu.org>
69943
69944         * config/srclist.txt (localcharset.c): break sync.
69945
69946 2004-04-20  Paul Eggert  <eggert@twinsun.com>
69947
69948         * m4/host-os.m4: Add a copyright notice.
69949
69950 2004-04-20  Jim Meyering  <jim@meyering.net>
69951
69952         Change UTILS_ to gl_ in AC_DEFINE'd names.
69953         Change utils_- and jm_-prefixed variables, too.
69954         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
69955         UTILS_FUNC_MKDIR_TRAILING_SLASH.
69956         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
69957
69958         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
69959         Don't emit trailing blanks.
69960         Also rename jm_-prefixed variables to have gl_ prefix.
69961
69962         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
69963         Also rename jm_-prefixed variables to have gl_ prefix.
69964
69965         * m4/jm-macros.m4: Reflect the renamings.
69966         * m4/prereq.m4: Likewise.
69967
69968 2004-04-20  Jim Meyering  <jim@meyering.net>
69969
69970         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
69971         memory.
69972
69973 2004-04-20  Jim Meyering  <jim@meyering.net>
69974             Bruno Haible  <bruno@clisp.org>
69975
69976         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
69977         memory when realloc fails.
69978
69979 2004-04-19  Jim Meyering  <jim@meyering.net>
69980
69981         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
69982         now that readutmp.c may call `free (0)'.
69983
69984 2004-04-19  Bruno Haible  <bruno@clisp.org>
69985
69986         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
69987         * m4/inttypes_h.m4: Likewise.
69988         * m4/stdint_h.m4: Likewise.
69989         * m4/intmax_t.m4: Likewise.
69990         * m4/uintmax_t.m4: Likewise.
69991
69992 2004-04-18  Jim Meyering  <jim@meyering.net>
69993
69994         * m4/prereq.m4: Don't forbid jm_ prefix.
69995
69996         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
69997         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
69998         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
69999         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
70000         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
70001         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
70002         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
70003         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
70004         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
70005         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
70006         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
70007         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
70008         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
70009         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
70010         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
70011         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
70012         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
70013         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
70014         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
70015
70016 2004-04-18  Jim Meyering  <jim@meyering.net>
70017
70018         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
70019         failure, don't leak memory and do call END_UTMP_ENT.
70020
70021 2004-04-16  Jim Meyering  <jim@meyering.net>
70022
70023         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
70024         coreutils' stat program.
70025         (gl_PREREQ): Don't require jm_PREREQ_STAT.
70026
70027 2004-04-11  Paul Eggert  <eggert@twinsun.com>
70028
70029         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
70030         C89.
70031         (CHAR_BIT): Remove, since we assume C89.
70032         Include <stdint.h> if available, as per current Autoconf CVS advice.
70033
70034 2004-03-31  Jim Meyering  <jim@meyering.net>
70035
70036         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
70037         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
70038         * m4/xalloc.m4: Likewise.
70039
70040 2004-03-30  Paul Eggert  <eggert@twinsun.com>
70041
70042         Merge from coreutils.
70043
70044         * m4/inttostr.m4: New file.
70045         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
70046         Require AM_STDBOOL_H and gl_TIMESPEC instead.
70047         Require gl_CLOCK_TIME.
70048         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
70049
70050 2004-03-30  Paul Eggert  <eggert@twinsun.com>
70051
70052         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
70053         not bool, to be more consistent with Unix conventions.
70054         Suggested by Bruno Haible.
70055
70056         Merge from coreutils.
70057
70058         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
70059         * lib/umaxtostr.c: New files.
70060
70061         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
70062         the usual <time.h> dance.
70063         (get_date): Change signature to support fractional time stamps.
70064         All callers changed.
70065         * lib/getdate.y: Include "getdate.h" first, as we can now
70066         assume C89 and don't need to worry about 'const'.
70067         Similarly, include "unlocked-io.h" near start, not in middle.
70068         Include <limits.h>.
70069         (textint.value): Use long int rather than int.
70070         (textint.digits): Use size_t rather than int.
70071         (BILLION, LOG10_BILLION): New constants.
70072         (parser_control): New member rel_ns.  Members day_ordinal,
70073         time_zone, month, day, hour, minutes, rel_year, rel_month,
70074         rel_day, rel_hour, rel_minutes, rel_seconds
70075         are now long int, not int.  Member seconds is now struct timespec,
70076         not int.  New member timespec_seen.  Members dates_seen, days_seen,
70077         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
70078         not int.
70079         (%union.intval): Now long int, not int.
70080         New member timespec.
70081         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
70082         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
70083         (spec): Now is a timespec or an item list.
70084         (timespec, items): New nonterminals.
70085         (time, rel, relunit, number, get_date):
70086         Add support for fractional seconds.
70087         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
70088         (gmtime, localtime, mktime): Remove decls; not needed with C89.
70089         (to_hour): First arg is now long int, not int.
70090         (to_year): Returns long int, not int.
70091         Don't treat year -70 like 70.
70092         (tm_diff): Returns long int, not int.
70093         (lookup_word): Use bool instead of int when appropriate.
70094         (yylex): Use size_t for count, not int.
70095         Detect overflow when parsing large integer constants.
70096         Add support for fractions.
70097         (get_date): Make pointers 'const' if possible.
70098         Use more-portable code to detect integer overflow.
70099         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
70100         Don't use ctime; it's not reliable if the year has >4 digits.
70101
70102         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
70103         This is for compatibility with BSD.
70104
70105         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
70106         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
70107         From coreutils' system.h.
70108
70109         * lib/userspec.c: Don't include "posixver.h".
70110         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
70111         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
70112         compatible extension.  Simplify code by removing a boolean int
70113         that was always nonzero if a string was nonnull.
70114
70115 2004-03-30  Jim Meyering  <jim@meyering.net>
70116
70117         Merge from coreutils.
70118
70119         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
70120         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
70121         on some systems one must include <grp.h> before it.
70122         Reported by Christian Krackowizer.
70123
70124 2004-03-30  Jim Meyering  <jim@meyering.net>
70125
70126         Merge from coreutils.
70127
70128         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
70129
70130         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
70131         an empty input stream.
70132
70133         * lib/readtokens.c: Include <stdbool.h>.
70134         (readtoken): Use `size_t' rather than int/long.
70135         All callers adjusted.
70136         Use `bool' rather than `int' where appropriate.
70137         Use memset rather than an explicit loop.
70138         Use x2nrealloc rather than xrealloc.
70139         Allow the use of `\0' as a delimiter.
70140         (readtokens): Likewise.
70141         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
70142
70143 2004-03-30  Jim Meyering  <jim@meyering.net>
70144
70145         * m4/realloc.m4: Remove file, since now it does no more than
70146         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
70147         the `configure.ac' section of module/realloc.
70148         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
70149
70150 2004-03-30  Bruno Haible  <bruno@clisp.org>
70151
70152         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
70153         nonnull.
70154
70155 2004-03-29  Paul Eggert  <eggert@twinsun.com>
70156
70157         Merge changes to getloadavg.c from coreutils and Emacs.
70158
70159         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
70160         Define to an expression, not to the empty string.
70161         Include cloexec.h and xalloc.h.
70162         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
70163         Use set_cloexec_flag rather than rolling our own.
70164         * lib/cloexec.c, lib/cloexec.h: New files.
70165
70166 2004-03-29  Paul Eggert  <eggert@twinsun.com>
70167
70168         * m4/cloexec.m4: New file.
70169
70170 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70171
70172         * lib/getopt.h: Sync with libc CVS.
70173
70174 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70175             Bruno Haible  <bruno@clisp.org>
70176
70177         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
70178         mbswidth.
70179
70180 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70181             Bruno Haible  <bruno@clisp.org>
70182
70183         * lib/mbswidth.h: Include <wchar.h> only if
70184         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
70185         <wchar.h>.
70186         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
70187
70188 2004-03-09  Paul Eggert  <eggert@twinsun.com>
70189
70190         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
70191         Sync with libc CVS.
70192         * lib/getopt_int.h: New file, also synced from libc.
70193
70194 2004-03-09  Paul Eggert  <eggert@twinsun.com>
70195
70196         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
70197         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
70198         Bring back getopt.c, getopt.h, getopt1.c.
70199
70200 2004-03-07  Paul Eggert  <eggert@twinsun.com>
70201
70202         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
70203         All uses changed.  Check for sa_sigaction member; this fixes
70204         a bug first reported by Jason Andrade in
70205         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
70206
70207 2004-03-07  Paul Eggert  <eggert@twinsun.com>
70208
70209         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
70210         '#if' expressions.  Unlike the code it replaces, it does not
70211         depend on (defined _SC_PAGESIZE).  However, it does depend on
70212         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
70213         first reported by Jason Andrade in
70214         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
70215
70216 2004-02-25  Simon Josefsson  <jas@extundo.com>
70217
70218         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
70219
70220 2004-02-25  Simon Josefsson  <jas@extundo.com>
70221
70222         * lib/strdup.h: New file.
70223         * lib/strdup.c: Include it.
70224         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
70225         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
70226
70227 2004-02-23  Karl Berry  <karl@gnu.org>
70228
70229         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
70230         (from fencepost.gnu.org:/gd/gnuorg).
70231
70232 2004-02-23  Karl Berry  <karl@gnu.org>
70233
70234         * config/srclistvars.sh (GNUORG) [karl]: redefine.
70235         * config/srclist.txt: add maintain/standards documents.
70236
70237 2004-02-18  Bruno Haible  <bruno@clisp.org>
70238
70239         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
70240         Reported by Derek Robert Price <derek@ximbiot.com>.
70241
70242 2004-02-16  Karl Berry  <karl@gnu.org>
70243
70244         * config/mkinstalldirs, install-sh: update from automake.
70245
70246 2004-02-06  Karl Berry  <karl@gnu.org>
70247
70248         * m4/po.m4: update from gettext 0.14.1.
70249
70250 2004-02-06  Karl Berry  <karl@gnu.org>
70251
70252         * lib/config.charset: update from gettext 0.14.1.
70253
70254 2004-02-05  Paul Eggert  <eggert@twinsun.com>
70255
70256         Add comments and code, prompted by suggestions from Bruno Haible
70257         for sh-quote.
70258         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
70259         describing the enum quoting_style values.
70260         * lib/quotearg.c (quotearg_alloc): New function.
70261         (quotearg_buffer_restyled): Treat lone { and } as special.
70262         Treat = as special.  Work around bug with older shells
70263         that "see" a '\' that is really the 2nd byte of a multibyte char.
70264         Quote empty string with shell_quoting_style.
70265
70266 2004-02-03  Bruno Haible  <bruno@clisp.org>
70267
70268         * m4/pipe.m4: New file, from GNU gettext.
70269
70270 2004-02-03  Bruno Haible  <bruno@clisp.org>
70271
70272         * lib/pipe.h: New file, from GNU gettext.
70273         * lib/pipe.c: New file, from GNU gettext.
70274
70275 2004-01-27  Bruno Haible  <bruno@clisp.org>
70276
70277         * m4/execute.m4: New file, from GNU gettext.
70278
70279 2004-01-27  Bruno Haible  <bruno@clisp.org>
70280
70281         * lib/execute.h: New file, from GNU gettext.
70282         * lib/execute.c: New file, from GNU gettext.
70283         * lib/w32spawn.h: New file, from GNU gettext.
70284
70285 2004-01-24  Paul Eggert  <eggert@twinsun.com>
70286
70287         Merge from diffutils.
70288
70289         * lib/file-type.c (file_type): Add typed memory objects.
70290         * lib/file-type.h (S_TYPEISTMO): New macro.
70291
70292         * lib/c-stack.h (c_stack_action): Remove argv argument.
70293         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
70294         (die): Don't calculate message unless segv_action returns.
70295         (get_stack_location, min_address_from_argv, max_address_from_argv,
70296         volatile stack_base, volatile_stack_size): Remove.
70297         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
70298         that every segmentation violation is a stack overflow.  (Ouch!)
70299         See Debian bug 136249 (still outstanding) for more info about why
70300         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
70301
70302 2004-01-24  Paul Eggert  <eggert@twinsun.com>
70303
70304         Exit-status fix from coreutils.
70305
70306         Use exit_failure consistently in place of EXIT_FAILURE,
70307         so that program exit statuses are consistent on failure.
70308
70309         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
70310         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
70311         * lib/argmatch.h: Comment fix to match the above.
70312         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
70313         Now a macro referring to exit_failure, instead of a separate
70314         variable.  Include "exitfail.h" to get it.
70315         * lib/xstrtol.h: Include "exitfail.h".
70316         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
70317
70318         * lib/long-options.c (parse_long_options): Use prototype
70319         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
70320         for clarity.
70321
70322 2004-01-21  Jim Meyering  <jim@meyering.net>
70323
70324         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
70325         so as not to conflict with a different-sized __mktime_internal
70326         function in GNU libc.
70327         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
70328         Problem building statically-linked `ls' reported by Michael Brunnbauer.
70329
70330 2004-01-20  Karl Berry  <karl@gnu.org>
70331
70332         * config/config.guess: update from config.
70333
70334         * config/srclistvars.sh: GNUWWWLICENSES for karl.
70335
70336 2004-01-20  Bruno Haible  <bruno@clisp.org>
70337
70338         Safer stack allocation.
70339         * lib/setenv.c: Include allocsa.h.
70340         (alloca): Remove fallback definition.
70341         (freea): Remove macro.
70342         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
70343         instead of freea.
70344
70345 2004-01-20  Bruno Haible  <bruno@clisp.org>
70346
70347         * m4/eealloc.m4: New file, from GNU gettext.
70348
70349 2004-01-20  Bruno Haible  <bruno@clisp.org>
70350
70351         * m4/allocsa.m4: New file, from GNU gettext.
70352
70353 2004-01-20  Bruno Haible  <bruno@clisp.org>
70354
70355         * lib/xallocsa.h: New file, from GNU gettext.
70356         * lib/xallocsa.c: New file, from GNU gettext.
70357
70358 2004-01-20  Bruno Haible  <bruno@clisp.org>
70359
70360         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
70361
70362 2004-01-20  Bruno Haible  <bruno@clisp.org>
70363
70364         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
70365         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
70366         specially.
70367
70368 2004-01-20  Bruno Haible  <bruno@clisp.org>
70369
70370         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
70371         patch.
70372
70373 2004-01-20  Bruno Haible  <bruno@clisp.org>
70374
70375         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
70376
70377 2004-01-20  Bruno Haible  <bruno@clisp.org>
70378
70379         * lib/eealloc.h: New file.
70380
70381 2004-01-20  Bruno Haible  <bruno@clisp.org>
70382
70383         * lib/binary-io.h: Avoid warnings on Cygwin.
70384
70385 2004-01-20  Bruno Haible  <bruno@clisp.org>
70386
70387         * lib/allocsa.h: New file, from GNU gettext.
70388         * lib/allocsa.c: New file, from GNU gettext.
70389
70390 2004-01-18  Karl Berry  <karl@gnu.org>
70391
70392         * doc/gpl.texi, doc/lgpl.texi: new files.
70393
70394 2004-01-18  Karl Berry  <karl@gnu.org>
70395
70396         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
70397         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
70398
70399 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70400
70401         Merge from coreutils.
70402
70403         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
70404         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
70405         (gl_DEFAULT_POSIX2_VERSION): Move
70406         the documentation from 'configure' into 'config.hin',
70407         so that 'configure --help' isn't burdened by it and
70408         we don't have to worry about its formatting there.
70409         Reword the documentation so that it's more succinct
70410         and can be run together into a single paragraph.
70411         * m4/same.m4 (gl_SAME): Check for pathconf.
70412
70413 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70414
70415         Merge from coreutils.
70416
70417         * lib/posixver.c: Include posixver.h.
70418
70419         * lib/same.c: Include <stdbool.h>, <limits.h>.
70420         (_POSIX_NAME_MAX): Define if not defined.
70421         (MIN): New macro.
70422         (same_name): If file names are silently truncated, report
70423         that the file names are the same if they are the same after
70424         the silent truncation.
70425
70426         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
70427         conversion function.
70428         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
70429         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
70430         longer needed.
70431
70432 2004-01-15  Jim Meyering  <jim@meyering.net>
70433
70434         Merge from coreutils.
70435
70436         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
70437         if no library is required.
70438         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
70439         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
70440         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
70441         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
70442         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
70443         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
70444         value, $ac_cv_search_crypt, if it's "none required".
70445         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
70446         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
70447         not gl_FUNC_GETLOADAVG.
70448         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
70449         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
70450
70451 2004-01-15  Jim Meyering  <jim@meyering.net>
70452
70453         Merge from coreutils.
70454
70455         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
70456         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
70457         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
70458
70459         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
70460         optional configure-time default.
70461
70462         * lib/version-etc.c (version_etc_copyright): Update copyright date.
70463
70464         * lib/xreadlink.c (xreadlink): Correct outdated comment.
70465
70466 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
70467
70468         Merge from coreutils.
70469
70470         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
70471         value, $ac_cv_search_nanosleep, if it's "none required".
70472
70473 2004-01-14  Paul Eggert  <eggert@twinsun.com>
70474
70475         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
70476         with like-named macro in fnmatch.c.
70477         (EXT): Use an internal constant instead.
70478
70479         Merge fnmatch patches from glibc.
70480         * lib/fnmatch.c (mbsinit): Remove define.
70481         Add libc_hidden_ver (__fnmatch, fnmatch).
70482         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
70483         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
70484
70485 2004-01-14  Karl Berry  <karl@gnu.org>
70486
70487         * config/install-sh: update from automake.
70488
70489 2004-01-13  Karl Berry  <karl@gnu.org>
70490
70491         * config/install-sh: update from automake.
70492
70493 2004-01-09  Karl Berry  <karl@gnu.org>
70494
70495         * config/install-sh: update from automake.
70496
70497 2004-01-05  Karl Berry  <karl@gnu.org>
70498
70499         * config/config.{sub,guess}: update from config.
70500
70501 2003-12-31  Karl Berry  <karl@gnu.org>
70502
70503         * config/depcomp: update from automake.
70504
70505 2003-12-14  Karl Berry  <karl@gnu.org>
70506
70507         * lib/config.charset: update from gettext-runtime.
70508
70509 2003-12-03  Paul Eggert  <eggert@twinsun.com>
70510
70511         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
70512         Bug reported by Alfred M. Szmidt.
70513
70514 2003-12-03  Bruno Haible  <bruno@clisp.org>
70515
70516         * m4/gettext.m4: Upgrade from gettext-0.13.
70517         * m4/po.m4: Upgrade from gettext-0.13.
70518         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
70519         * m4/intmax.m4: New file, from gettext-0.13.
70520         * m4/printf-posix.m4: New file, from gettext-0.13.
70521
70522 2003-11-29  Karl Berry  <karl@gnu.org>
70523
70524         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
70525
70526 2003-11-25  Paul Eggert  <eggert@twinsun.com>
70527             Bruno Haible  <bruno@clisp.org>
70528
70529         * lib/printf-parse.h: Don't include sys/types.h.
70530         (ARG_NONE): New macro.
70531         (char_directive): Change type of *arg_index fields to size_t.
70532         * lib/printf-parse.c: Don't include sys/types.h.
70533         (SSIZE_MAX): Remove macro.
70534         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
70535         Remove unnecessary overflow check.
70536         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
70537         fields.
70538
70539 2003-11-25  Bruno Haible  <bruno@clisp.org>
70540
70541         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
70542
70543 2003-11-25  Bruno Haible  <bruno@clisp.org>
70544
70545         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
70546         gt_TYPE_SSIZE_T.
70547
70548 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70549
70550         * modules/alloca: Remove dependency on xalloc.
70551
70552 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70553
70554         * lib/alloca.c: Remove dependency on xalloc module.
70555         (xalloc_die): Remove.
70556         (memory_full) [!defined emacs]: New macro.
70557         [!defined emacs]: Don't include xalloc.h.
70558         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
70559         address arithmetic overflows.  Change datatypes a bit to avoid
70560         unnecessary casts.
70561
70562 2003-11-22  Jim Meyering  <jim@meyering.net>
70563
70564         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
70565         s/size/size_t/.
70566
70567 2003-11-21  Karl Berry  <karl@gnu.org>
70568
70569         * config/config.{sub,guess}: update from config.
70570
70571 2003-11-18  Karl Berry  <karl@gnu.org>
70572
70573         * config/config.{sub,guess}: update from config.
70574
70575         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
70576
70577 2003-11-17  Paul Eggert  <eggert@twinsun.com>
70578
70579         * README: Mention that S+T cannot overflow if S is the size of
70580         an existing object and T is sufficiently small.
70581
70582 2003-11-17  Jim Meyering  <jim@meyering.net>
70583
70584         On systems without utime and without a utimes function capable of
70585         dealing with a NULL struct utimbuf* argument, this utime replacement
70586         could -- in unusual circumstances -- leak a file descriptor.
70587         * lib/utime.c: Include <unistd.h> and <errno.h>.
70588         (utime_null): Be sure to close `fd' and to preserve errno.
70589         Reported by Geoff Collyer via Arnold Robbins.
70590
70591 2003-11-17  Bruno Haible  <bruno@clisp.org>
70592
70593         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
70594         (Depends-on): Add xsize.
70595
70596 2003-11-17  Bruno Haible  <bruno@clisp.org>
70597
70598         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
70599
70600 2003-11-17  Bruno Haible  <bruno@clisp.org>
70601
70602         * lib/vasnprintf.c (alloca): Remove fallback definition.
70603         (freea): Remove definition.
70604         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
70605         Reported by Paul Eggert.
70606
70607 2003-11-16  Paul Eggert  <eggert@twinsun.com>
70608             Bruno Haible  <bruno@clisp.org>
70609
70610         Protect against address arithmetic overflow.
70611         * lib/printf-args.h: Include stddef.h.
70612         (arguments): Change type of field 'count' to size_t.
70613         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
70614         'unsigned int' where appropriate.
70615         * lib/printf-parse.h: Include sys/types.h.
70616         (char_directive): Change type of *arg_index fields to ssize_t.
70617         (char_directives): Change type of fields 'count', max_*_length to
70618         size_t.
70619         * lib/printf-parse.c: Include sys/types.h and xsize.h.
70620         (SSIZE_MAX): Define fallback value.
70621         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
70622         instead of 'int' where appropriate. Check a_allocated, d_allocated
70623         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
70624         * lib/vasnprintf.c: Include xsize.h.
70625         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
70626         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
70627         overflow. Avoid wraparound when converting a width or precision from
70628         decimal to binary.
70629
70630 2003-11-16  Bruno Haible  <bruno@clisp.org>
70631
70632         Update from GNU gettext.
70633         * lib/printf-parse.c: Generalize to it can be compiled for wide
70634         strings.
70635         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
70636         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
70637         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
70638         SNPRINTF): New macros.
70639         Don't include <alloca.h> if the file is used inside libintl.
70640         (local_wcslen): New function, for Solaris 2.5.1.
70641         (VASNPRINTF): Use it instead of wcslen.
70642
70643 2003-11-16  Bruno Haible  <bruno@clisp.org>
70644
70645         * lib/xsize.h (xmax): New function.
70646         (xsum, xsum3, xsum4): Declare as "pure" functions.
70647
70648 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70649
70650         * modules/xalloc (Files): Undo latest change, since xalloc.h
70651         no longer needs SIZE_MAX or PTRDIFF_MAX.
70652
70653 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70654
70655         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
70656         gl_PTRDIFF_MAX.
70657
70658 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70659
70660         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
70661         "return", to pacify some unknown compiler.  Problem reported
70662         by Joerg Schilling.
70663
70664 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70665
70666         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
70667         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
70668         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
70669         heuristic is just as accurate as far as we know, and it removes a
70670         dependency on size_max.m4 and ptrdiff_max.m4.
70671
70672 2003-11-11  Bruno Haible  <bruno@clisp.org>
70673
70674         * modules/xsize (Files): Add m4/size_max.m4.
70675         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
70676
70677 2003-11-11  Bruno Haible  <bruno@clisp.org>
70678
70679         * m4/size_max.m4: New file.
70680         * m4/ptrdiff_max.m4: New file.
70681         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
70682         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
70683         (gl_XALLOC): Invoke it.
70684
70685 2003-11-11  Bruno Haible  <bruno@clisp.org>
70686
70687         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
70688         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
70689         defined.
70690
70691 2003-11-10  Paul Eggert  <eggert@twinsun.com>
70692
70693         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
70694         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
70695         rejected some allocations of exactly SIZE_MAX - 2 bytes.
70696         From Bruno Haible.
70697         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
70698         not (size_t) -1, since it's defined here.
70699
70700 2003-11-09  Karl Berry  <karl@gnu.org>
70701
70702         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
70703
70704 2003-11-06  Paul Eggert  <eggert@twinsun.com>
70705
70706         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
70707         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
70708         Reject sizes of exactly SIZE_MAX bytes.
70709         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
70710         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
70711
70712 2003-11-05  Bruno Haible  <bruno@clisp.org>
70713
70714         * lib/xsize.h: Include limits.h, to avoid a possible collision with
70715         SIZE_MAX defined in <limits.h> on Solaris.
70716
70717 2003-11-04  Jim Meyering  <jim@meyering.net>
70718
70719         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
70720         variable names, rather than @VAR@.
70721         * modules/poll: Likewise.
70722
70723 2003-11-04  Bruno Haible  <bruno@clisp.org>
70724
70725         * modules/xsize: New file.
70726         * modules/linebreak: Depend on xsize.
70727         * MODULES.html.sh (func_all_modules): Add xsize.
70728
70729 2003-11-04  Bruno Haible  <bruno@clisp.org>
70730
70731         * m4/xsize.m4: New file.
70732
70733 2003-11-04  Bruno Haible  <bruno@clisp.org>
70734
70735         * lib/xsize.h: New file.
70736         * lib/linebreak.c: Include xsize.h.
70737         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
70738         argument for overflow.
70739         Suggested by Paul Eggert.
70740
70741 2003-11-03  Karl Berry  <karl@gnu.org>
70742
70743         * config/config.{guess,sub}: update from config.
70744
70745 2003-11-03  Jim Meyering  <jim@meyering.net>
70746
70747         * modules/userspec (lib_SOURCES): Add userspec.h.
70748         (Include): Add "userspec.h".
70749         Improve description.
70750
70751 2003-11-03  Jim Meyering  <jim@meyering.net>
70752
70753         * lib/userspec.c: Include "userspec.h".
70754         * lib/userspec.h: New file.
70755
70756 2003-11-03  Bruno Haible  <bruno@clisp.org>
70757
70758         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
70759
70760 2003-11-03  Bruno Haible  <bruno@clisp.org>
70761
70762         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
70763         available, to avoid (extremely rare) race condition.
70764         Suggested by Paul Eggert.
70765
70766 2003-11-02  Karl Berry  <karl@gnu.org>
70767
70768         * config/srclist.txt (vasprintf.c): sync broken, sigh.
70769
70770 2003-10-31  Paul Eggert  <eggert@twinsun.com>
70771
70772         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
70773         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
70774         (read_filesystem_list): Set and use me_type_malloced.
70775         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
70776         whatever the type happens to be), for brevity and consistency.
70777         Check for size calculation overflow on Alphas running OSF/1.
70778
70779 2003-10-31  Jim Meyering  <jim@meyering.net>
70780
70781         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
70782
70783         * lib/linebuffer.c: Include <string.h> for declaration of memset.
70784
70785 2003-10-30  Paul Eggert  <eggert@twinsun.com>
70786             Bruno Haible  <bruno@clisp.org>
70787
70788         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
70789         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
70790
70791 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70792
70793         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
70794         netbsd*-gnu*.  Suggested by Robert Millan.
70795
70796 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70797
70798         * modules/group-member: Depend on stdbool.
70799
70800 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70801
70802         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
70803
70804 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70805
70806         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
70807         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
70808         after the 'gnu' in these cases.  This fixes some bugs in the
70809         previous change, and is based on suggestions by Robert Millan.
70810
70811 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70812
70813         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
70814         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
70815         no longer needed.
70816         * lib/quotearg.c (quotearg_n_options): Use it.
70817         * lib/group-member.c: Include <stdbool.h>.
70818         (free_group_info): Arg is now const *; don't free arg.
70819         (get_group_info): Now returns bool and accepts struct group_info *,
70820         rather than returning a malloc'ed struct group_info *.
70821         All uses changed.  Check for overflow in internal size calculation.
70822
70823         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
70824         rather than xmalloc/xrealloc.
70825         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
70826         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
70827         conformance bug: the old code used a pointer after freeing the
70828         storage that it addressed.
70829         * lib/hash.c (hash_initialize): Simplify the code by using
70830         xalloc_oversized rather than doing it by hand.
70831         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
70832         the buffer preserved.  Use free and xmalloc instead.
70833         * lib/quotearg.c (quotearg_n_options): Likewise.
70834         Use a simpler test for size overflow.  Don't use xalloc_oversized
70835         because unsigned int might be wider than size_t (!); this suggests
70836         that we should switch from unsigned int to size_t for slot numbers.
70837
70838 2003-10-28  Paul Eggert  <eggert@twinsun.com>
70839
70840         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
70841         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
70842         NetBSD kernels.  Requested by Richard Stallman.
70843
70844 2003-10-27  Paul Eggert  <eggert@twinsun.com>
70845
70846         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
70847         to allocate the returned structure.  Do not allocate a subarray,
70848         as x2nrealloc will do that.
70849         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
70850         instead of xnrealloc.
70851         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
70852
70853 2003-10-27  Bruno Haible  <bruno@clisp.org>
70854
70855         * lib/stdbool_.h: Better support for BeOS.
70856
70857 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70858
70859         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
70860         now uses inline.
70861
70862 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70863
70864         * lib/xalloc.h (xalloc_oversized): New static inline function, for
70865         callers that want to do their own size-overflow checking.  Include
70866         <stdbool.h>, since xalloc_oversized returns bool.
70867         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
70868         to use xalloc_oversized.
70869
70870         Add two functions x2realloc, x2nrealloc, for programs that grow
70871         arrays dynamically by doubling their sizes.
70872         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
70873         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
70874         New functions.
70875
70876         Port to C99 semantics for 'inline' of external functions.
70877         Bug reported by Bruno Haible.
70878         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
70879         with the old contents of xnmalloc.
70880         (xnmalloc, xmalloc): Use it.
70881         (xnrealloc_inline): New static inline function,
70882         with the old contents of xnrealloc.
70883         (xnrealloc, xrealloc): Use it.
70884
70885         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
70886         that.
70887
70888 2003-10-26  Karl Berry  <karl@gnu.org>
70889
70890         * config/srclist.txt (COPYING.DOC): no longer available from
70891         /gd/gnuorg; don't know where the ultimate source is.
70892
70893 2003-10-25  Paul Eggert  <eggert@twinsun.com>
70894
70895         Fix several address-calculation bugs in the hash modules,
70896         plus some minor code cleanup.
70897
70898         * lib/hash.h: Include <stdbool.h>, for bool.
70899         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
70900         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
70901         hash_get_n_entries, hash_get_max_bucket_length,
70902         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
70903         hash_rehash): Use size_t rather than unsigned.
70904         * lib/hash.c (struct hash_table, hash_get_n_buckets,
70905         hash_get_n_buckets_used, hash_get_n_entries,
70906         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
70907         hash_get_entries, hash_do_for_each, hash_string, is_prime,
70908         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
70909         Likewise.
70910         (SIZE_MAX): Define if not defined.
70911         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
70912         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
70913         hash_print):
70914         Use const * when possible.
70915         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
70916         (check_tuning): Fix bug: if tuning parameters were very close to
70917         0 or 1, rounding errors could have caused subscript violations.
70918         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
70919         (hash_initialize): Add 'fail:' label
70920         to free table and return NULL, and use it to simplify code.
70921         Use calloc rather than clearing the storage ourself.
70922         (hash_initialize, hash_rehash): Check for arithmetic overflow in
70923         buffer size calculations.
70924         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
70925         Include <stddef.h>, for size_t.
70926         * lib/hash-pjw.c (hash_pjw): Likewise.
70927         Switch to method described by Bruno Haible.
70928         Include <limits.h>, for CHAR_BIT.
70929         (SIZE_BITS): New macro.
70930
70931 2003-10-23  Paul Eggert  <eggert@twinsun.com>
70932
70933         * m4/getline.m4 (AM_FUNC_GETLINE):
70934         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
70935         hosts.  Problem reported by Derek Robert Price in
70936         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
70937         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
70938         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
70939
70940 2003-10-21  Paul Eggert  <eggert@twinsun.com>
70941
70942         * lib/getndelim2.c (getndelim2): When size calculation overflows,
70943         ceiling the allocation at NMAX bytes rather than silently
70944         discarding input bytes before NMAX is reached.  This makes
70945         a difference only if NMAX exceeds SIZE_MAX / 2.
70946
70947         * lib/obstack.c: Merge from glibc.
70948         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
70949         Add libc_hidden_def (_obstack_newchunk).
70950         (_obstack_free) [! defined _LIBC]: Remove.
70951         [defined _LIBC]: Make a strong alias from obstack_free, rather than
70952         a clone of the function body.
70953         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
70954         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
70955
70956         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
70957         glibc.
70958         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
70959         arg to memcpy.
70960
70961         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
70962         (obstack_ptr_grow_fast, obstack_int_grow_fast):
70963         Don't use lvalue casts, as GCC plans to remove support for them
70964         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
70965         was also present in the non-GCC version, indicating that this
70966         code had always been buggy and had never been widely used.
70967         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
70968         Use the fast variant of each macro, rather than copying the
70969         definiens of the fast variant; that way, we'll be more likely to
70970         catch future bugs in the fast variants.
70971
70972 2003-10-20  Bruno Haible  <bruno@clisp.org>
70973
70974         * modules/wait-process: New file.
70975         * MODULES.html.sh (func_all_modules): Add wait-process.
70976
70977 2003-10-20  Bruno Haible  <bruno@clisp.org>
70978
70979         * m4/wait-process.m4: New file.
70980
70981 2003-10-20  Bruno Haible  <bruno@clisp.org>
70982
70983         * lib/wait-process.h: New file, from GNU gettext.
70984         * lib/wait-process.c: New file, from GNU gettext.
70985
70986 2003-10-19  Jim Meyering  <jim@meyering.net>
70987
70988         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
70989         HPUX 10.20.
70990
70991 2003-10-18  Karl Berry  <karl@gnu.org>
70992
70993         * config/config.guess: update from config.
70994
70995 2003-10-16  Paul Eggert  <eggert@twinsun.com>
70996
70997         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
70998         (getgroups): First arg is int, not size_t.
70999         Don't let 'free' mangle errno.
71000
71001 2003-10-16  Paul Eggert  <eggert@twinsun.com>
71002
71003         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
71004
71005 2003-10-16  Karl Berry  <karl@gnu.org>
71006
71007         * config/config.{guess,sub}: update from config.
71008
71009 2003-10-16  Jim Meyering  <jim@meyering.net>
71010
71011         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
71012         memcpy.
71013
71014 2003-10-15  Paul Eggert  <eggert@twinsun.com>
71015
71016         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
71017         (SIZE_MAX): Remove.
71018         (new_exclude, add_exclude_file): Initial size no longer needs to
71019         be a power of 2.
71020         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
71021         our own address arithmetic overflow checking.
71022
71023         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
71024         (fnmatch): Do not alloca more than 2000 wide characters;
71025         instead, use malloc for large buffers.
71026         Check for address arithmetic overflow, and return -1
71027         with errno set to ENOMEM in that case.
71028         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
71029         (NEW_PATTERN): Do not alloca more than 8000 bytes;
71030         instead, return -1.  Check for address arithmetic overflow.
71031
71032 2003-10-14  Paul Eggert  <eggert@twinsun.com>
71033
71034         Handle invalid suffixes and overflow independently, so that
71035         callers can treat them independently as needed.  Fix some bugs in
71036         suffix handling, e.g., "100k@" was not diagnosed as an invalid
71037         suffix for a human-readable blocksize.  The major caller-visible
71038         change is the addition of a new
71039         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
71040         that both overflow and suffix chars were found.
71041
71042         * lib/human.c (humblock): Don't check separately for invalid suffix
71043         char; that is xstrtoumax's job (now that its bug is fixed).
71044         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
71045         INTMAX_MAX]: New macros.
71046         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
71047         TYPE_MAXIMUM): New macros.
71048         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
71049         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
71050         if overflow occurs, as it's what __strtol does and it's more useful
71051         in practice.
71052         (__xstrtol): If __strtol reports some error other than ERANGE,
71053         reflect it to the caller as LONGINT_INVALID.  If it reports
71054         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
71055         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
71056         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
71057         value.
71058         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
71059         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
71060         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
71061         [defined UINTMAX_MAX]: New macros.
71062
71063 2003-10-14  Bruno Haible  <bruno@clisp.org>
71064
71065         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
71066
71067 2003-10-14  Bruno Haible  <bruno@clisp.org>
71068
71069         * m4/sig_atomic_t: New file, from GNU gettext.
71070         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
71071
71072 2003-10-14  Bruno Haible  <bruno@clisp.org>
71073
71074         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
71075         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
71076         Also use volatile where needed.
71077
71078 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71079
71080         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
71081         Change maintainer from Bruno Haible to 'all'.
71082
71083 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71084
71085         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
71086
71087 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71088
71089         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
71090         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
71091         and define in terms of the other primitives.
71092         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
71093         (SIZE_MAX): Define if not already defined.
71094         (array_size_overflow): New function.
71095         (xalloc_die): Abort instead of exiting if 'error' returns.
71096         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
71097         (xmalloc, xrealloc): Use them.
71098         (xcalloc): Check for address arithmetic overflow.
71099         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
71100         a bit faster than strcpy.
71101
71102 2003-10-10  Simon Josefsson  <jas@extundo.com>
71103
71104         * modules/argp (Depends-on): Add restrict and strcase.
71105
71106 2003-10-10  Simon Josefsson  <jas@extundo.com>
71107
71108         * m4/argp.m4: Add AC_C_INLINE.
71109
71110 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71111
71112         Merge getpass from libc, plus a few fixes.
71113
71114         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
71115         Include <stdbool.h>.
71116         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
71117         __fsetlocking to empty.
71118         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
71119         do include <bits/libc-lock.h>.
71120         Do not include <fcntl.h>; not needed.
71121         [_LIBC]: Include <wchar.h>.
71122         (NOTCANCEL_MODE): New macro.
71123         (flockfile, funlockfile) [_LIBC]: New macros.
71124         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
71125         [!_LIBC]: New macros.
71126         (call_fclose): New function.
71127         (getpass): Use it.  Save tty stream separately; this simplifies the
71128         code and makes it more reliable if stdin happens to equal stdout.
71129         Invoke __fsetlocking on tty.
71130         Handle thread cancellation if needed.
71131         Namespace cleanup (use __tcgetattr, __getline).
71132         Use bool for Booleans.
71133         [USE_IN_LIBIO]: Handle wide streams.
71134         [!_LIBC]: Unconditionally do the fseek, since we don't know what
71135         stream might go where.
71136
71137         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
71138         doesn't have to include <stdio.h> before us.
71139         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
71140         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
71141         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
71142         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
71143         if not declared, so that we can use getpass.c code from libc without
71144         rewriting it.
71145         (flockfile, ftrylockfile, funlockfile): New macros.
71146
71147 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71148
71149         * modules/getpass: Depend on stdbool.
71150
71151 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71152
71153         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
71154
71155 2003-10-07  Karl Berry  <karl@gnu.org>
71156
71157         * config/config.{guess,sub}: update from config.
71158
71159 2003-10-06  Jim Meyering  <jim@meyering.net>
71160             Bruno Haible  <bruno@clisp.org>
71161
71162         This lets translators provide better translations for the
71163         "Written by ..." part of --version output.
71164         * lib/version-etc.h: Include stdarg.h.
71165         (version_etc_copyright): Declare as readonly.
71166         (version_etc): Make this function variadic with a NULL-terminated list
71167         of author name strings.
71168         (version_etc_va): New declaration.
71169         * lib/version-etc.c: Include stdarg.h, stdlib.h.
71170         (version_etc_copyright): Declare as readonly.
71171         (version_etc_va): New function. Provide a different translatable string
71172         for each possible number of authors < 10. Abbreviate when there are 10
71173         authors or more.
71174         (version_etc): Make this function variadic. Call version_etc_va.
71175         Suggestion from Gary V. Vaughan.
71176
71177         * lib/long-options.h (parse_long_options): Change prototype: the
71178         authors string is moved to the end and becomes variadic.
71179         * lib/long-options.c: Include stdarg.h.
71180         (parse_long_options): Make this function variadic, too.
71181         Call version_etc_va, not version_etc.
71182
71183 2003-10-06  Bruno Haible  <bruno@clisp.org>
71184
71185         * modules/version-etc-2: Remove file.
71186         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
71187
71188 2003-10-06  Bruno Haible  <bruno@clisp.org>
71189
71190         * modules/fatal-signal: New file.
71191         * MODULES.html.sh (func_all_modules): Add fatal-signal.
71192
71193 2003-10-06  Bruno Haible  <bruno@clisp.org>
71194
71195         * m4/fatal-signal.m4: New file.
71196         * m4/signalblocking.m4: New file, from GNU gettext.
71197
71198 2003-10-06  Bruno Haible  <bruno@clisp.org>
71199
71200         * lib/version-etc-2.h: Remove file.
71201         * lib/version-etc-2.c: Remove file.
71202
71203 2003-10-06  Bruno Haible  <bruno@clisp.org>
71204
71205         * lib/fatal-signal.h: New file, from GNU gettext.
71206         * lib/fatal-signal.c: New file, from GNU gettext.
71207
71208 2003-10-05  Paul Eggert  <eggert@twinsun.com>
71209
71210         * README: Rework advice for preventing empty .o files.
71211         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
71212         not <sys/types.h>.
71213
71214 2003-10-04  Karl Berry  <karl@gnu.org>
71215
71216         * lib/argp*: update from libc.
71217
71218 2003-10-04  Karl Berry  <karl@gnu.org>
71219
71220         * config/config.{guess,sub}: update from config.
71221
71222 2003-10-02  Bruno Haible  <bruno@clisp.org>
71223
71224         * modules/lchown (Include): Add lchown.h.
71225         * modules/time_r (Include): Use "..." syntax.
71226         * modules/xgetdomainname (Include): Add xgetdomainname.h.
71227
71228 2003-10-01  Simon Josefsson  <jas@extundo.com>
71229
71230         * MODULES.html.sh (func_all_modules): Move gethostname from section
71231         'based on' to section 'lacking' POSIX:2001.
71232
71233 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
71234
71235         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
71236         to output mode on the same stream.
71237
71238 2003-09-29  Paul Eggert  <eggert@twinsun.com>
71239
71240         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
71241         Fix arg typo in previous patch.
71242
71243 2003-09-28  Jim Meyering  <jim@meyering.net>
71244
71245         * lib/error.c: Correct cpp indentation.
71246
71247 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71248
71249         * modules/free: New file.
71250
71251 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71252
71253         * m4/free.m4: New file.
71254
71255 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71256
71257         * lib/minmax.h (MIN, MAX)
71258         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
71259         Omit the special code that used __typeof__, since we worry that
71260         it could be more trouble than it's worth.  See:
71261         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
71262         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
71263
71264         * lib/free.c: New file.
71265
71266 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
71267
71268         Trivial fixes to Makefile.am parts of module listings.
71269         * modules/strstr: Append strstr.h to lib_SOURCES.
71270         * modules/strcase: Likewise, for strcase.h.
71271
71272 2003-09-27  Karl Berry  <karl@gnu.org>
71273
71274         * config/mkinstalldirs: update from automake.
71275
71276 2003-09-26  Paul Eggert  <eggert@twinsun.com>
71277
71278         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
71279         (error_tail): Do not loop, reallocating temporary buffer, since
71280         the output cannot contain more wide characters than the input
71281         contains bytes, the size must be big enough already.  This avoids
71282         one potential size overflow calculation.  Check for size overflow
71283         when calculating temporary buffer size.  Free temporary buffer
71284         when done, if it was allocated with malloc; this plugs a memory
71285         leak.  Remove casts from void * to pointers, that are no longer
71286         needed now that we're assuming C89 or better.
71287
71288         Merge error changes from glibc.
71289
71290         * lib/error.c, error.h: Update copyright notice header to match glibc.
71291         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
71292         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
71293         Disable cancellation while printing error.
71294         * lib/error.h: Prepend __ to parameter names.
71295
71296 2003-09-26  Jim Meyering  <jim@meyering.net>
71297
71298         * lib/error.c (error_tail): Move some declarations
71299         into inner scope where the local variables are used.
71300
71301 2003-09-26  Bruno Haible  <bruno@clisp.org>
71302
71303         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
71304         stpncpy().
71305         Don't define stpncpy through config.h; it's now done through stpncpy.h.
71306
71307 2003-09-26  Bruno Haible  <bruno@clisp.org>
71308
71309         * lib/stpncpy.h (gnu_stpncpy): New declaration.
71310         (stpncpy): Define as alias for gnu_stpncpy.
71311         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
71312
71313 2003-09-25  Simon Josefsson  <jas@extundo.com>
71314
71315         * lib/xgetdomainname.h: New file.
71316         * lib/xgetdomainname.c: New file.
71317
71318 2003-09-25  Simon Josefsson  <jas@extundo.com>
71319             Bruno Haible  <bruno@clisp.org>
71320
71321         * modules/getdomainname: New file.
71322         * modules/xgetdomainname: New file.
71323         * MODULES.html.sh (func_all_modules): Add getdomainname,
71324         xgetdomainname.
71325
71326 2003-09-25  Simon Josefsson  <jas@extundo.com>
71327             Bruno Haible  <bruno@clisp.org>
71328
71329         * m4/getdomainname.m4: New file.
71330
71331 2003-09-25  Simon Josefsson  <jas@extundo.com>
71332             Bruno Haible  <bruno@clisp.org>
71333
71334         * lib/getdomainname.h: New file.
71335         * lib/getdomainname.c: New file.
71336
71337 2003-09-25  Karl Berry  <karl@gnu.org>
71338
71339         * lib/argp-fmtstream.c, argp-help.c: update from libc.
71340
71341 2003-09-25  Karl Berry  <karl@gnu.org>
71342
71343         * config/install-sh: update from automake.
71344
71345 2003-09-25  Bruno Haible  <bruno@clisp.org>
71346
71347         * modules/version-etc-2: New file, from modules/version-etc with
71348         modifications.
71349         * MODULES.html.sh (func_all_modules): Add version-etc-2.
71350
71351 2003-09-25  Bruno Haible  <bruno@clisp.org>
71352
71353         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
71354         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
71355
71356 2003-09-24  Simon Josefsson  <jas@extundo.com>
71357
71358         * modules/xgethostname: Add xgethostname.h.
71359
71360 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71361
71362         * lib/linebuffer.c (freebuffer): Don't free the argument, just
71363         the buffer associated with the argument.  Bug reported by
71364         Simon Josefsson.
71365
71366 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71367
71368         * README: Document assumptions that 'int' is at least 32 bits
71369         wide, that integer arithmetic is 2's complement without overflow,
71370         that there are no holes in integer values, that adding sizes of
71371         two nonoverlapping objects can't overflow, and that all-bits-zero
71372         yields scalar zero.  Fix spelling and capitalization typos.
71373
71374 2003-09-19  Karl Berry  <karl@gnu.org>
71375
71376         * lib/argp.h: update from libc.
71377
71378 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71379
71380         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
71381         to avoid spurious warnings like "AC_RUN_IFELSE was called before
71382         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
71383
71384 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71385
71386         * gnulib-tool: Use "test -h", not "test -L", for portability
71387         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
71388         (tags_regexp): Remove, since \| doesn't conform to POSIX.
71389         (sed_extract_prog): Issue s commands one-by-one, rather than
71390         using \| in one s command.
71391
71392 2003-09-16  Paul Eggert  <eggert@twinsun.com>
71393
71394         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
71395         input error, instead of returning NULL the next time we are called
71396         (and therefore losing track of errno).
71397
71398 2003-09-16  Bruno Haible  <bruno@clisp.org>
71399
71400         * gnulib-tool (func_create_testdir): Warn about duplicated
71401         dependencies.
71402
71403 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71404
71405         * modules/argmatch, modules/fatal, modules/obstack,
71406         modules/xalloc, modules/xgethostname: Sort dependencies by
71407         importance, not alphabetically.
71408
71409 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71410
71411         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
71412         fails, so that the caller gets the proper errno.
71413
71414         * lib/readutmp.c (read_utmp): Likewise.
71415         Check for fstat error.  Close stream and free storage
71416         when failing.
71417
71418 2003-09-14  Karl Berry  <karl@gnu.org>
71419
71420         * config/srclist.txt (strdup.c): disable for c89 changes.
71421
71422 2003-09-14  Jim Meyering  <jim@meyering.net>
71423
71424         * lib/getloadavg.c: Correct cpp indentation.
71425         * lib/strdup.c: Likewise.
71426         * lib/vasnprintf.c: Likewise.
71427
71428 2003-09-14  Bruno Haible  <bruno@clisp.org>
71429
71430         * modules/fwriteerror: New file.
71431         * MODULES.html.sh (func_all_modules): Add fwriteerror.
71432
71433 2003-09-14  Bruno Haible  <bruno@clisp.org>
71434
71435         * lib/fwriteerror.h: New file.
71436         * lib/fwriteerror.c: New file.
71437
71438 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71439
71440         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
71441         modules/xgethostname, modules/xalloc: Depend on exit.
71442
71443 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71444
71445         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
71446
71447         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
71448         and AC_MINIX, too, so that their extensions are available.
71449
71450         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
71451         This macro has been superseded by gl_BACKUPFILE.
71452
71453         More patches to assume C89 or better.
71454
71455         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
71456
71457         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
71458         unconditionally.
71459         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
71460         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
71461         Include <string.h>, <stdlib.h> unconditionally.
71462         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
71463         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
71464         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
71465         headers or for string.h.
71466         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
71467         or strtoul.
71468
71469         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
71470         headers.
71471         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
71472         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71473         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
71474         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
71475         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71476         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
71477         memcpy, memset.
71478         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
71479         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
71480         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
71481         strtol.
71482         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
71483         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
71484         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
71485         strtoul.
71486
71487 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71488
71489         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
71490         * lib/obstack.c [!defined _LIBC]: Likewise.
71491         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
71492         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
71493         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
71494
71495         More changes to assume C89 or better.
71496
71497         * lib/error.c (error_tail): Assume vprintf.
71498
71499         * lib/argmatch.c (getenv): Remove decl.
71500         * lib/progreloc.c (get_full_program_name): Define via prototype.
71501         * lib/setenv.c (clearenv): Likewise.
71502         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
71503         needed.
71504         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
71505         (malloc, memcpy): Remove decls.
71506         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
71507         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
71508         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71509         (memcpy): Remove macro.
71510         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
71511         (__P): Remove.  All uses removed.
71512         (PTR): Remove.  All uses changed to void *.
71513         (CHAR_BIT, NULL): Remove.
71514         (spaces, zeros, memset_space, memset_zero)
71515         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
71516         Remove.
71517         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
71518         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
71519         Define with prototype.
71520         Remove now-unnecessary prototype decl.
71521         (extra_args_spec): Assume ANSI C.  All uses changed.
71522         (extra_args_spec_iso): Remove.
71523         (my_strftime, emacs_strftimeu): Define via prototype.
71524         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
71525         unconditionally.
71526         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
71527         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
71528         (strtoul, strtol): Remove decls.
71529         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
71530         LONG_MAX): Remove.
71531         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71532         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
71533         (LOCALE_PARAM_PROTO): New macro.
71534         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
71535         (INTERNAL (strtol), strtol): Define with a prototype.
71536         (PARAMS): Remove.  All uses removed.
71537         * lib/tempname.c: Include <string.h> unconditionally.
71538         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
71539         * lib/xgethostname.c (main): Define with a prototype.
71540         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
71541         Include <stdlib.h> unconditionally.
71542         (calloc, malloc, realloc, free): Remove decls.
71543         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
71544         Include <stdlib.h> unconditionally.  Sort include file names.
71545         (strtod): Remove.
71546         (xstrtod): Define with a prototype.
71547         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
71548         (strtol, strtoul): Remove decls.
71549
71550 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71551
71552         More patches to assume C89 or better.
71553         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
71554         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
71555         string.h, memchr, STDC_HEADERS.
71556
71557 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71558
71559         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
71560         Include <stdlib.h>, <string.h> unconditionally.
71561         Remove now-unnecessary cast to char *.
71562         * lib/strnlen.c: Include <string.h> unconditionally.
71563         * lib/yesno.c (yesno): Define with a prototype.
71564
71565 2003-09-11  Bruno Haible  <bruno@clisp.org>
71566
71567         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
71568
71569 2003-09-10  Jim Meyering  <jim@meyering.net>
71570
71571         * lib/error.c: Correct indentation of cpp directives.
71572
71573 2003-09-10  Bruno Haible  <bruno@clisp.org>
71574
71575         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
71576         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
71577         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
71578         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
71579         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
71580         <stdlib.h> and <string.h> checks.
71581         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
71582         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
71583
71584 2003-09-10  Bruno Haible  <bruno@clisp.org>
71585
71586         * lib/strcspn.c: Include <string.h> unconditionally.
71587         * lib/strpbrk.c: Include <string.h> unconditionally.
71588         * lib/strstr.c: Include <string.h> unconditionally.
71589         * lib/unicodeio.c: Include <string.h> unconditionally.
71590         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
71591         * lib/unsetenv.c: Likewise.
71592         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
71593         * lib/yesno.c: Include <stdlib.h> unconditionally.
71594         (rpmatch): Add prototype.
71595
71596 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71597
71598         More patches to assume C89 or better.
71599         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
71600         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
71601         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
71602         or for string.h.
71603         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
71604         stdlib.h.
71605         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
71606         C headers.
71607         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
71608         string.h.
71609         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
71610         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
71611         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
71612         or for string.h.
71613         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
71614         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
71615         C headers.
71616         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
71617         memcpy.
71618         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
71619         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
71620         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
71621         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
71622         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
71623         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
71624         string.h, free.
71625         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
71626         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
71627         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
71628         C headers, or for string.h.
71629         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
71630         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
71631         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
71632         headers, memory.h, stdlib.h, string.h, strings.h.
71633         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
71634         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
71635         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
71636         strchr.
71637         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
71638         headers, memory.h, string.h.
71639         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
71640         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
71641         free.
71642         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
71643         headers.
71644         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
71645         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
71646         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
71647         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
71648         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
71649
71650 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71651
71652         More K&R removal.
71653
71654         * lib/acosl.c (main): Use a prototype.
71655         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
71656         tanl.c: Likewise.
71657
71658         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
71659
71660         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
71661         (getopt, etopt_long, getopt_long_only, _getopt_internal)
71662         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
71663         with a prototype.
71664         * lib/getopt.c (const): Remove macro.
71665         Include <string.h> unconditionally.
71666         (my_index): Remove; all uses changed to strchr.
71667         (strlen): Remove decl.
71668         (exchange): Remove forward decl; no longer needed.
71669         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
71670         Define with prototype.
71671         * lib/getopt1.c (const): Remove macro.
71672         (getopt_long, getopt_long_only, main): Define with prototype.
71673
71674         * lib/getugroups.c: Include <string.h> unconditionally.
71675
71676         * lib/getusershell.c: Include <stdlib.h> unconditionally.
71677         (getusershell, setusershell, endusershell, readname, main):
71678         Define with prototypes.
71679
71680         * lib/group-member.c: Include group-member.h first.
71681         Include <stdlib.h> unconditionally.
71682
71683         * lib/hard-locale.c: Include hard-locale.h first.
71684         Include <stdlib.h>, <string.h> unconditionally.
71685
71686         * lib/hash.c (free, malloc): Remove decls.
71687         Include <stdlib.h> unconditionally.
71688
71689         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
71690         (getenv): Do not declare.
71691
71692         * lib/idcache.c: Include <string.h> unconditionally.
71693
71694         * lib/long-options.c: Include long-options.h first, to test interface.
71695         Include <stdlib.h> unconditionally.
71696
71697         * lib/makepath.c: Include makepath.h first, to test interface.
71698         Include <stdlib.h> and <string.h> unconditionally.
71699
71700         * lib/linebuffer.c: Include <stdlib.h>.
71701         (free): Remove decl.
71702
71703         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
71704         stddef.h. rpl_malloc returns void *, not char *.
71705         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
71706         prototype.
71707
71708         * lib/md5.h: Include <limits.h> unconditionally.
71709         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
71710         (__P): Remove; all uses removed.
71711         * lib/md5.c: Include "md5.h" first.
71712         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
71713         md5_buffer, md5_process_bytes, md5_process_block):
71714         Define with prototypes.
71715         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
71716         * lib/sha.c: Include "sha.h" first.
71717         Include <stdlib.h>, <string.h> unconditionally.
71718
71719         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
71720         * lib/memcmp.c (__ptr_t): Likewise.
71721         * lib/memrchr.c (__ptr_t): Likewise.
71722         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
71723         Include <string.h> unconditionally.
71724         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
71725         * lib/memchr.c: Include <stdlib.h> unconditionally.
71726         * lib/memchr.c (LONG_MAX): Remove.
71727         * lib/memrchr.c (LONG_MAX): Likewise.
71728         * lib/memchr.c (__memchr): Define via a prototype.
71729         * lib/memrchr.c (__memrchr): Likewise.
71730         * lib/memcmp.c (__P): Remove, and remove all uses.
71731         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
71732         Remove forward decls; no longer needed.
71733         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
71734         Use types required by C89 in prototype.
71735
71736         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
71737         * lib/savedir.c: Likewise.
71738         * lib/mkdir.c (free): Remove decl.
71739         * lib/rmdir.c (rmdir): Define with a prototype.
71740         * lib/savedir.c: Include savedir.h first, to test interface.
71741
71742         * lib/mktime.c (STDC_HEADERS): Remove.
71743         Include <stdlib.h>, <string.h> unconditionally.
71744
71745         * lib/modechange.c: Include <stdlib.h> unconditionally.
71746         (malloc): Remove decl.
71747
71748         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
71749         (free): Remove decl.
71750
71751         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
71752         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
71753         (This type really should be intptr_t, but that's a C99ism.)
71754         (_obstack_memcpy): Remove: all uses changed to memcpy.
71755         Include <string.h> unconditionally.
71756         (struct obstack): Assume __STDC__ for types of members
71757         chunkfun, freefun, extra_arg.
71758         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
71759         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
71760         obstack_begin, obstack_specify_allocation,
71761         obstack_specify_allocation_with_arg, obstack_chunkfun,
71762         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
71763         Remove unprototyped decls and the macros that use them.
71764         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
71765         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
71766         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
71767         (defined __STDC__ && __STDC__)]:
71768         Remove nonprototyped code.
71769         Include <stdlib.h> unconditionally.
71770         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
71771         _obstack_allocated_p, _obstack_free, obstack_free,
71772         _obstack_memory_used, print_and_abort):
71773         Define using prototypes.
71774         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
71775         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
71776         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
71777         obstack_next_free, obstack_object_size, obstack_room) [0]:
71778         Remove unused, unprototyped code.
71779
71780         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
71781
71782         * lib/physmem.c (physmem_total, physmem_available, main): Define
71783         with prototypes.
71784
71785         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
71786         (main): Define with a prototype.
71787
71788         * lib/posixver.c (getenv): Remove decl.
71789
71790         * lib/putenv.c (malloc): Returns void *, not char *.
71791         Include <string.h> unconditionally.
71792         (strchr, memcpy, NULL): Do not define.
71793
71794         * lib/readtokens.c: Include readtokens.h first, to test interface.
71795         Include <stdlib.h>, <string.h> unconditionally.
71796         (init_tokenbuffer): Define with a prototype.
71797
71798         * lib/regex.c (PARAMS): Remove.  All uses removed.
71799         All uses of _RE_ARGS removed, too.
71800         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71801         unconditionally.
71802         (bzero): Assume memset exists.
71803         (memcmp, memcpy, NULL): Remove.
71804         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
71805         char, or assignments to local vars of type signed char.
71806         (init_syntax_once, PREFIX(extract_number_and_incr),
71807         PREFIX(print_partial_compiled_pattern),
71808         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
71809         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
71810         PREFIX(regex_grow_registers), PREFIX(regex_compile),
71811         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
71812         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
71813         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
71814         wcs_compile_range, byte_compile_range, truncate_wchar,
71815         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
71816         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
71817         count_mbs_length, wcs_re_match_2_internal,
71818         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
71819         PREFIX(alt_match_null_string_p),
71820         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
71821         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
71822         regfree, PREFIX(extract_number)): Define with prototype.  Remove
71823         now-unnecessary declaration, if any.
71824         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
71825         regcomp, regexec):
71826         Remove now-unnecessary casts among pointer types.
71827         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
71828
71829         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
71830         (free): Remove decl.
71831
71832         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
71833
71834         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
71835         (free): Remove decl.
71836
71837         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
71838         * lib/xgetcwd.c: Likewise.
71839
71840         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
71841         (free): Remove decl.
71842
71843         * lib/strchrnul.c (strchrnul): Define with a prototype.
71844         Fix bug: c_in was not converted to char before searching.
71845
71846         The following changes are not K&R related:
71847
71848         * lib/group-member.h: Include <sys/types.h>, so that this file is
71849         self-contained.
71850         * lib/makepath.h: Likewise.
71851
71852         * lib/getusershell.c (readname, default_index, line_size, readname):
71853         Use size_t, not int, for sizes.
71854         (readname): If the size overflows, report an error instead of
71855         looping forever.
71856
71857 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71858
71859         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
71860         libc.
71861
71862 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71863
71864         * README: New section: portability guidelines.
71865
71866 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71867
71868         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
71869         C89 spec.
71870
71871 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71872
71873         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
71874
71875 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71876
71877         Assume C89 or better; remove K&R cruft.
71878         A few of these changes were first proposed by Derek Robert Price
71879         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
71880
71881         * lib/addext.c: Include <string.h> unconditionally.
71882         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
71883         Don't declare getenv or malloc.
71884
71885         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
71886         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
71887         (NULL): Remove.
71888         (find_stack_direction, alloca): Use prototypes.
71889
71890         * lib/atexit.c (atexit): Define using a prototype.
71891
71892         * lib/basename.c, dirname.c, stripslash.c:
71893         Include <string.h> unconditionally.
71894
71895         * lib/bcopy.c: Include <stddef.h>.
71896         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
71897
71898         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
71899
71900         * lib/error.h (error, error_at_line, error_print_progname)
71901         [! (defined (__STDC__) && __STDC__)]: Remove decls.
71902         * lib/error.c: Include error.h first, to check interface.
71903         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71904         (VA_START): Remove; all uses changeed to va_start.
71905         (exit, strerror): Remove decls.
71906         (error_print_progname): Prototype uncondionally.
71907         Don't include <errno.h>; no longer needed.
71908         (private_strerror): Remove.
71909         (error_tail): Always define.
71910         (error, error_at_line): Assume C89 or better; always use prototypes.
71911         * lib/fatal.c: Include "fatal.h" first, to test interface.
71912         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71913         (VA_START): Remove; all uses changed to va_start.
71914         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
71915         this case.
71916         (exit): Remove decl.
71917         (fatal): Prototype unconditionally.  Assume va_start works.
71918         Abort at end, to pacify gcc.
71919
71920         * lib/euidaccess.c (main): Define with a prototype.
71921
71922         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
71923
71924         * lib/exitfail.c: Include <stdlib.h> unconditionally.
71925
71926         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
71927         prototypes.
71928         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
71929         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
71930         (getenv): Remove decl.
71931         (fnmatch): Define using a prototype.
71932         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
71933         (FCT): Define using a prototype.
71934
71935         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
71936
71937         * lib/gethostname.c: Include <stddef.h>.
71938         (gethostname): Define with prototype.  Length is size_t, not int.
71939
71940 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71941
71942         Assume C89 or better; remove K&R cruft.
71943         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
71944         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
71945         string.h, getenv, malloc.
71946         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
71947         headers.
71948         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
71949         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
71950         do not check for strerror.
71951         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
71952         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
71953         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
71954         do not check for doprnt or vprintf.
71955         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
71956         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
71957
71958 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71959
71960         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
71961         getversion.c should have been removed then, but was accidentally
71962         preserved.
71963
71964         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
71965         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
71966
71967 2003-09-08  Karl Berry  <karl@gnu.org>
71968
71969         * config/config.sub, config.guess, srclistvars.sh: update from savannah
71970                 config, forget about prep.
71971
71972         * config/depcomp, missing: update from automake.
71973
71974 2003-09-07  Paul Eggert  <eggert@twinsun.com>
71975
71976         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
71977         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
71978
71979 2003-09-07  Paul Eggert  <eggert@twinsun.com>
71980
71981         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
71982         copy_tm_result.  Bug reported by Simon Josefsson in
71983         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
71984
71985 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71986
71987         * m4/time_r.m4: New file.
71988         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
71989         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
71990         is. Check for timegm declaration.
71991         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
71992         Do not check for gmtime_r.
71993         Replace mktime if __mktime_internal does not exist and if mktime
71994         hasn't been replaced already.
71995
71996 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71997
71998         * lib/time_r.c, lib/time_r.h: New files.
71999
72000         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
72001         __localtime_r.
72002         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
72003         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
72004
72005         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
72006         __gmtime_r.
72007         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
72008         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
72009         Include <time_r.h>.
72010
72011         * lib/timegm.c: Switch to glibc implementation, with the following
72012         changes:
72013         [defined HAVE_CONFIG_H]: Include <config.h>.
72014         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
72015         (__mktime_internal) [!defined _LIBC]: New decl.
72016         (__gmtime_r) [!defined _LIBC]: New macro and function.
72017         (timegm): Use a prototype, since gnulib assumes C89.
72018         Do not bother declaring tmp to be const, as it's not really usefu.
72019         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
72020         (timegm): Declare only if HAVE_DECL_TIMEGM.
72021
72022 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72023
72024         * MODULES.html.sh (func_all_modules): Add time_r.
72025         * modules/time_r: New file.
72026         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
72027         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
72028
72029 2003-09-03  Paul Eggert  <eggert@twinsun.com>
72030
72031         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
72032         Bug reported by Lute Kamstra in
72033         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
72034
72035         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
72036         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
72037         course with correspondingly smaller numbers for tomorrow and
72038         yesterday.  From Tadayoshi Funaba.  Originally installed into
72039         sh-utils on 1999-08-07, but the patch got lost (I guess during the
72040         coreutils merge?).
72041
72042 2003-08-31  Simon Josefsson  <jas@extundo.com>
72043
72044         * modules/timegm: New file.
72045         * MODULES.html.sh (func_all_modules): Add timegm.
72046
72047 2003-08-31  Simon Josefsson  <jas@extundo.com>
72048
72049         * m4/timegm.m4: New file.
72050
72051 2003-08-31  Simon Josefsson  <jas@extundo.com>
72052
72053         * lib/timegm.h: New file.
72054         * lib/timegm.c: New file.  Based on
72055         wget-1.8.2/src/http.c:mktime_from_utc.
72056
72057 2003-08-31  Karl Berry  <karl@gnu.org>
72058
72059         * lib/argp.h: update from libc.
72060
72061 2003-08-28  Bruno Haible  <bruno@clisp.org>
72062
72063         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
72064         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
72065         followed by '#define fnmatch fnmatch_posix' gives an error.
72066
72067 2003-08-28  Bruno Haible  <bruno@clisp.org>
72068
72069         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
72070         warning on QNX, which defines O_BINARY to 000000.
72071
72072 2003-08-27  Jim Meyering  <jim@meyering.net>
72073
72074         * m4/mkstemp.m4: Require that the system mkstemp be able to create
72075         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
72076         would fail after 32.  Reported by Danny Levinson.  Details here:
72077         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
72078
72079 2003-08-24  Bruno Haible  <bruno@clisp.org>
72080
72081         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
72082         MSVC7 <stdio.h> is included later.
72083
72084 2003-08-22  Simon Josefsson  <jas@extundo.com>
72085
72086         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
72087
72088 2003-08-20  Karl Berry  <karl@gnu.org>
72089
72090         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
72091
72092 2003-08-20  Bruno Haible  <bruno@clisp.org>
72093
72094         * modules/progname: New file.
72095         * MODULES.html.sh (func_all_modules): Add progname.
72096
72097 2003-08-20  Bruno Haible  <bruno@clisp.org>
72098
72099         * lib/progname.h: New file, from GNU gettext.
72100         * lib/progname.c: New file, from GNU gettext.
72101         * lib/progreloc.c: New file, from GNU gettext.
72102
72103 2003-08-19  Jim Meyering  <jim@meyering.net>
72104
72105         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
72106         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
72107
72108 2003-08-19  Bruno Haible  <bruno@clisp.org>
72109
72110         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
72111         more.
72112
72113 2003-08-19  Bruno Haible  <bruno@clisp.org>
72114
72115         * lib/xstrdup.c: Assume <string.h> exists.
72116
72117 2003-08-18  Paul Eggert  <eggert@twinsun.com>
72118
72119         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
72120         in makefile rules.
72121
72122 2003-08-18  Jim Meyering  <jim@meyering.net>
72123
72124         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
72125         * m4/lib-ld.m4: Likewise.
72126
72127 2003-08-18  Jim Meyering  <jim@meyering.net>
72128
72129         * lib/setenv.h: Indent nested cpp directive.
72130         * lib/vasnprintf.c: Remove trailing blanks.
72131
72132 2003-08-17  Simon Josefsson  <jas@extundo.com>
72133
72134         * modules/xstrndup: New file.
72135         * MODULES.html.sh (func_all_modules): Add xstrndup.
72136
72137 2003-08-17  Simon Josefsson  <jas@extundo.com>
72138
72139         * modules/argp: Fix autoconf macro name. Add more dependencies.
72140
72141 2003-08-17  Simon Josefsson  <jas@extundo.com>
72142
72143         * m4/xstrndup.m4: New file.
72144
72145 2003-08-17  Simon Josefsson  <jas@extundo.com>
72146
72147         * m4/argp.m4: New file.
72148
72149 2003-08-17  Simon Josefsson  <jas@extundo.com>
72150             Bruno Haible  <bruno@clisp.org>
72151
72152         * lib/xstrndup.h: New file.
72153         * lib/xstrndup.c: New file.
72154
72155 2003-08-17  Bruno Haible  <bruno@clisp.org>
72156
72157         * modules/strndup (Files, Include): Add lib/strndup.h.
72158
72159 2003-08-17  Bruno Haible  <bruno@clisp.org>
72160
72161         * modules/euidaccess (Files): Add lib/euidaccess.h.
72162
72163 2003-08-17  Bruno Haible  <bruno@clisp.org>
72164
72165         * lib/strndup.h: New file.
72166
72167 2003-08-17  Bruno Haible  <bruno@clisp.org>
72168
72169         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
72170         like AC_GNU_SOURCE.
72171         * modules/extensions (configure.ac): Comment out the invocation of
72172         gl_USE_SYSTEM_EXTENSIONS.
72173
72174 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72175
72176         Merges from coreutils, etc.
72177         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
72178         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
72179         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
72180         fixing a typo.
72181         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
72182         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
72183
72184 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72185
72186         Document merge from coreutils.
72187         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
72188         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
72189         * modules/utime: Add m4/utimes-null.m4.
72190
72191 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72192
72193         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
72194         space, undoing this 2003-08-12 change:
72195         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
72196
72197 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72198
72199         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
72200         strtoul.c from libc, undoing this 2003-08-12 change:
72201         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
72202
72203 2003-08-16  Jim Meyering  <jim@meyering.net>
72204
72205         Merges from coreutils.
72206         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
72207         prefix.  Adjust cache variables similarly.  Create 500 rather than
72208         just 300 files, to exercise bug on Darwin6.5, too.
72209         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
72210         $missing_dir.
72211         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
72212         AM_SYS_POSIX_TERMIOS.
72213         Reported by mkc@mathdogs.com.
72214         Also change use of $am_cv_sys_posix_termios
72215         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
72216         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
72217         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
72218         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
72219         in /proc/mounts until it finds one with matching device number.  This
72220         is unnecessary when the FILE argument *is* a mount point.  No stat call
72221         is necessary in that case.  So, disable the statvfs-testing code on
72222         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
72223         as RedHat bug# 84846.
72224         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
72225         to 1MB, so as not to render systems with no stack size limit (e.g.,
72226         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
72227         Include <unistd.h>.  On some systems,
72228         it is required for the definition of _SC_PAGESIZE.
72229
72230 2003-08-16  Jim Meyering  <jim@meyering.net>
72231
72232         Merge from coreutils.
72233         * lib/xstrtoimax.c: #else #if -> #elif.
72234         * lib/xstrtoumax.c: Likewise.
72235
72236 2003-08-16  Jim Meyering  <jim@meyering.net>
72237
72238         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
72239         * m4/utimes.m4: Removed.
72240         * m4/utimes-null.m4: Renamed from utimes.m4.
72241
72242         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
72243         to 1MB, so as not to render systems with no stack size limit (e.g.,
72244         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
72245         Include <unistd.h>.  On some systems,
72246         it is required for the definition of _SC_PAGESIZE.
72247
72248 2003-08-16  Jim Meyering  <jim@meyering.net>
72249         and Paul Eggert  <eggert@cs.ucla.edu>
72250
72251         Merges from coreutils, etc.
72252
72253         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
72254         using the latest version from cvs.  This avoids problems with #line
72255         directives using a vendor (Sun) compiler.
72256         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
72257         Don't set GETGROUPS_LIB here; now it's
72258         done via getgroups.m4's wrapper function.
72259         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
72260         rather than just in sh-util/configure.in, so that the
72261         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
72262         same.
72263         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
72264         AC_FUNC_GETLOADAVG where to find getloadavg.c.
72265         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
72266         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
72267         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
72268         Remove code that is now done by the newly-required macros.
72269         Append $(EXEEXT) to DF_PROG.
72270         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
72271         Do not invoke or require the following here,
72272         since prereq.m4 or some gnulib .m4 now does this for us:
72273         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
72274         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
72275         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
72276         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
72277         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
72278         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
72279         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
72280         AC_FUNC_OBSTACK.
72281         Do not replace the following functions, as this is now the job
72282         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
72283         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
72284         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
72285         atexit getpass, strdup, getpagesize.
72286         Replace 'raise'.
72287         Do not check for the following functions, as this is now the job
72288         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
72289         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
72290         setregid.
72291         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
72292         Check for sys/sysctl.h.
72293         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
72294         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
72295         of checking for ssize_t ourselves.
72296
72297         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
72298         Require every macro that gnulib/modules/* suggests for us.
72299         (jm_PREREQ_ADDEXT): New macro.
72300         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
72301         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
72302
72303         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
72304         (gl_PHYSMEM): Use it.
72305         Also check for `table' function.
72306         Check for new headers and functions.
72307         Add check for sys/sysmp.h.
72308         With suggestions from Kaveh Ghazi.
72309         Ignore headers that are present but cannot be compiled.  This
72310         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
72311         C 5.4.
72312
72313 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72314
72315         Document merge from coreutils.
72316         * modules/userspec: Depend on posixver.
72317         * modules/strftime: Depend on tzset.
72318
72319 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72320
72321         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
72322         rather than tab, after '#' in shell-script copyright notices.
72323         Suggested by Bruno Haible.
72324
72325 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72326
72327         * config/srclist-update: Use three spaces, rather than tab, after '#'
72328         in shell-script copyright notices.  Suggested by Bruno Haible.
72329         Remove unnecessary parenthesization in regular expression.
72330
72331 2003-08-15  Jim Meyering  <jim@meyering.net>
72332
72333         Merge from coreutils.
72334         * lib/xgethostname.c: Include <stdlib.h>.
72335         (xghostname): Don't exit for anything other than memory-related
72336         failure; just return NULL.
72337         * lib/userspec.c: Include "posixver.h".
72338         (parse_user_spec): Accept `.' as a separator only
72339         in pre-POSIX-200112 mode.
72340         * lib/strtoimax.c: Use #elif rather than #else #if.
72341         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
72342         Remove function, now that we can rely on a working tzset function.
72343         [!_LIBC]: Ensure that the required autoconf test has been run.
72344         [!defined _NL_CURRENT && HAVE_STRFTIME]:
72345         Use underlying_strftime for %r.
72346         * lib/sha.c: Merge in some clean-up and optimization changes from
72347         glibc.
72348         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
72349         Ensure that it is a multiple of 64.
72350         Rearrange loop exit tests so as to avoid performing an
72351         additional fread after encountering an error or EOF.
72352         * lib/realloc.c: Update copyright date.
72353
72354 2003-08-15  Jim Meyering  <jim@meyering.net>
72355         and Paul Eggert  <eggert@twinsun.com>
72356
72357         Merge from coreutils.
72358         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
72359         member but strut utmpx does not.  Needed for AIX 4.3.3.
72360         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
72361
72362 2003-08-15  Jim Meyering  <jim@meyering.net>
72363         and Paul Eggert  <eggert@cs.ucla.edu>
72364
72365         Merges from coreutils, etc.
72366         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
72367         Require gl_FUNC_TZSET_CLOBBER.
72368         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
72369         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
72370         members.
72371
72372 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72373
72374         Help the merge from coreutils.
72375         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
72376         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
72377         * m4/tzset.m4: Use it too.
72378
72379 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72380
72381         * modules/tzset: New file.
72382
72383 2003-08-14  Jim Meyering  <jim@meyering.net>
72384
72385         Merges from coreutils.
72386         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
72387         variable names, rather than @FNMATCH_H@.
72388         * modules/alloca: Likewise for $(ALLOCA_H).
72389
72390         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
72391         the three copies of the literal target, `fnmatch.h'.
72392         * modules/alloca (alloca.h): Likewise.
72393
72394 2003-08-14  Jim Meyering  <jim@meyering.net>
72395
72396         Merge from coreutils.
72397         * m4/tzset.m4: New file.
72398         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
72399         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
72400         otherwise, AIX 5.1 systems would end up using the latter.
72401         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
72402         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
72403         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
72404         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
72405
72406 2003-08-14  Jim Meyering  <jim@meyering.net>
72407
72408         Merge from coreutils.
72409         * lib/obstack.h: Whitespace changes.
72410         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
72411         and xcalloc return values.
72412         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
72413         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
72414         hang on OSF/1 5.1 for DIR on both local and remote file systems.
72415         Reported by (and fix confirmed by) Nelson H. F. Beebe.
72416         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72417         error from mntctl.
72418         Use mntctl's return value to drive the entry-processing loop, since
72419         we can't rely on the value of the vmt_length member in the last
72420         entry.  On some systems doing so could result in exhausting
72421         virtual memory.  Based in part on a patch from Mike Jetzer.
72422
72423 2003-08-14  Jim Meyering  <jim@meyering.net>
72424         and Paul Eggert  <eggert@twinsun.com>
72425
72426         Merges from coreutils, plus other fixes.
72427         * lib/physmem.c: Merge in portability changes from gcc/libiberty
72428         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
72429         for credits and details.  Thanks to Kaveh Ghazi for helping
72430         to keep these files in sync.
72431         (ARRAY_SIZE): Define it.
72432         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
72433         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
72434         (memcasecmp): Don't assume size_t fits in unsigned int.
72435         Remove casts and duplicate code.
72436         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
72437         (memcpy): Remove definition.
72438         Merge in some clean-up and optimization changes from glibc.
72439         [BLOCKSIZE]: Move definition to top of file.
72440         Ensure that it is a multiple of 64.
72441         Rearrange loop exit tests so as to avoid performing an
72442         additional fread after encountering an error or EOF.
72443         * lib/md5.h (md5_uintptr): Define.
72444         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
72445         return to the initial working directory.  Preserve errno
72446         for caller.
72447         * lib/idcache.c: Include "xalloc.h".
72448         (xmalloc, xrealloc): Remove decls.
72449         (getuser): Remove casts no longer required in C89.
72450         * lib/human.c: Include stdio.h, for sprintf.
72451         * lib/group-member.c: Include "xalloc.h".
72452         (xmalloc, xrealloc): Remove decls.
72453         (get_group_info): Remove casts no longer required in C89.
72454         * lib/getusershell.c (readname): Remove casts no longer required in
72455         C89.
72456         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
72457         * lib/getline.c: Whitespace fix, from coreutils.
72458
72459 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72460
72461         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
72462         Check for isascii.
72463
72464         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72465         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72466         Undo previous (whitespace-only) change.
72467
72468 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72469
72470         * lib/exclude.c: Include <ctype.h>
72471         (IN_CTYPE_DOMAIN): New macro.
72472         (is_space): New fn.
72473         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
72474         and empty lines.
72475
72476         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72477         Undo previous (whitespace-only) change.
72478
72479 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72480
72481         * config/srclist-update: Change update back to the old behavior,
72482         leaving whitespace alone.  Use one 'sed' command rather than a
72483         pipeline.
72484         (fixlicense): Now a variable, not a function.
72485         (remove_trailing_blanks): Remove.
72486         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
72487         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72488         Undo previous (whitespace-only) change.
72489
72490 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72491
72492         Merge from coreutils.
72493         * modules/euidaccess: Add lib_SOURCES, include for new
72494         file euidaccess.h
72495
72496 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72497
72498         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72499         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72500         Normalize leading white space and remove trailing white space.
72501
72502         Merge from coreutils
72503         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
72504
72505         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
72506         0.12.1.  These files are now being upgraded automatically by
72507         ../config/srclist-update.
72508
72509 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72510
72511         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72512         Normalize leading white space and remove trailing white space.
72513         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
72514         notice, as per ../config/srclist-update.
72515
72516         Merge from coreutils.
72517         * lib/euidaccess.h: New file.
72518         * lib/euidaccess.c: Include it.
72519         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
72520         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
72521         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
72522
72523 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72524
72525         * config/srclist-update: Add copyright notice.
72526         (remove_id_lines, remove_trailing_blanks): New constants.
72527         (fixfile): Use them to normalize spacing a bit in copied files.
72528         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72529         Normalize leading white space and remove trailing white space.
72530
72531         * config/texinfo.tex: Sync with texinfo.
72532
72533         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
72534         strtoul.c from libc, to merge coreutils whitespace changes.
72535
72536         * config/srclist.txt: Get the following m4 files from gettext:
72537         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
72538         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
72539         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
72540         wint_t.m4.
72541
72542 2003-08-12  Karl Berry  <karl@gnu.org>
72543
72544         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
72545         been made.
72546
72547 2003-08-11  Paul Eggert  <eggert@twinsun.com>
72548
72549         * modules/gnu-source, m4/gnu-source.m4:
72550         Remove; we're assuming Autoconf 2.54 or later now.
72551         Suggested by Bruno Haible.
72552         * MODULES.html.sh (func_all_modules): Remove gnu-source.
72553
72554 2003-08-11  Bruno Haible  <bruno@clisp.org>
72555
72556         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
72557
72558 2003-08-11  Bruno Haible  <bruno@clisp.org>
72559
72560         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
72561         (vasnprintf): Use it instead of wcslen.
72562
72563 2003-08-11  Bruno Haible  <bruno@clisp.org>
72564
72565         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
72566         value to ensure that _Bool promotes to int. Use #define for _Bool when
72567         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
72568
72569 2003-08-10  Karl Berry  <karl@gnu.org>
72570
72571         * lib/regex.h: update from libc (whitespace fix).
72572
72573 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72574
72575         Merge some files from coreutils.  These changes were
72576         originally made by Jim Meyering.
72577         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
72578         many older Unixes require this.
72579         * lib/alloca.c (alloca): Remove cast to argument of free;
72580         no longer needed in C89.
72581         * lib/alloca_.h, regex.h: Fix white space to match
72582         what GNU indent does.
72583
72584 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72585
72586         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
72587         apparently Emacs's Unicode mode got confused before my 2003-08-05
72588         checkin.
72589
72590 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72591
72592         * m4/extensions.m4: New file.
72593         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
72594         Require gl_USE_SYSTEM_EXTENSIONS.
72595         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
72596         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
72597
72598 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72599
72600         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
72601         * modules/extensions, modules/gnu-source: New files.
72602         * modules/timespec, modules/unlocked-io: Depend on extensions.
72603
72604 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72605
72606         * modules/restrict: New file.
72607         * MODULES.html.sh (func_all_modules): Add restrict.
72608         * modules/regex: Depend on restrict.
72609
72610 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72611
72612         * m4/restrict.m4: New file.
72613         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
72614
72615 2003-08-07  Bruno Haible  <bruno@clisp.org>
72616
72617         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
72618         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
72619
72620 2003-08-07  Bruno Haible  <bruno@clisp.org>
72621
72622         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
72623         makes the module 'getndelim2' compatible with the module 'getline'.
72624
72625 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72626
72627         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
72628         byte with "\201" to avoid glitches when editing that source file
72629         with multi-gnome-terminal.
72630
72631 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72632
72633         * lib/bumpalloc.h: Remove.
72634
72635 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72636
72637         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
72638         * modules/bumpalloc: Remove.
72639
72640 2003-08-04  Paul Eggert  <eggert@twinsun.com>
72641
72642         * lib/getloadavg.c: Change copyright notice and spacing to conform to
72643         GNU coding style.
72644
72645         Merge from coreutils.
72646         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
72647         1. From glibc.
72648         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
72649         from Karl Berry, implemented by Jim Meyering.
72650         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
72651         from Dmitry V. Levin.
72652         Remove anachronistic cast of xrealloc.
72653         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
72654         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
72655         type. Otherwise, it wouldn't compile with at least /bin/cc on
72656         ymp-cray-unicos9.0.2.X.
72657         Combine two mostly-identical uses of alloca into one.
72658         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
72659
72660 2003-08-04  Dave Love  <d.love@dl.ac.uk>
72661
72662         [From Emacs.]
72663
72664         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
72665         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
72666         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
72667         obsolete NLIST_NAME_UNION.
72668         [__GNU__]: Undef BSD and FSCALE.
72669         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
72670
72671 2003-08-03  Paul Eggert  <eggert@twinsun.com>
72672
72673         * lib/stdbool_.h (_Bool): Make it signed char, instead of
72674         an enum type, so that it's guaranteed to promote to int.  See:
72675         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
72676
72677 2003-08-03  Karl Berry  <karl@gnu.org>
72678
72679         * config/depcomp: update from automake.
72680
72681 2003-07-31  Paul Eggert  <eggert@twinsun.com>
72682
72683         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
72684         (strerror): Don't assume that a printable int fits in 14 bytes.
72685
72686 2003-07-31  Bruno Haible  <bruno@clisp.org>
72687
72688         * modules/getpass-gnu: New file.
72689         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
72690
72691 2003-07-31  Bruno Haible  <bruno@clisp.org>
72692
72693         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
72694
72695 2003-07-24  Karl Berry  <karl@gnu.org>
72696
72697         * config/missing: update from automake.
72698
72699 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
72700             Bruno Haible  <bruno@clisp.org>
72701
72702         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
72703         * lib/getline.c (getline, getdelim): Likewise.
72704         Remove _GNU_SOURCE define; now it's defined in config.h through
72705         m4/getline.m4.
72706
72707 2003-07-23  Karl Berry  <karl@gnu.org>
72708
72709         * config/config.sub: update from prep.
72710
72711 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72712
72713         * modules/xalloc (Depends-on): Add exitfail.
72714         * modules/xmemcoll: Likewise.
72715
72716 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72717
72718         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
72719         over-parenthesization in macros.
72720
72721         Sync with coreutils.
72722
72723         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
72724         required by C99.
72725
72726         Use `exit_failure' for xalloc and xmemcoll instead of their own
72727         private exit-failure variables.
72728         * lib/xalloc.h (xalloc_exit_failure): Remove.
72729         * lib/xmalloc.c: Likewise.  Include exitfail.h.
72730         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
72731         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
72732         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
72733         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
72734
72735 2003-07-20  Jim Meyering  <jim@meyering.net>
72736
72737         * modules/closeout (Depends-on): Add exitfail.
72738         Suggestion from Bruno Haible.
72739
72740 2003-07-19  Karl Berry  <karl@gnu.org>
72741
72742         * config/config.sub: update from prep.
72743
72744 2003-07-18  Paul Eggert  <eggert@twinsun.com>
72745
72746         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
72747         Remove.
72748         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
72749         to test that it can stand by itself.  Include "exitfail.h".
72750         Clients should set exit_failure instead.
72751         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
72752
72753 2003-07-18  Bruno Haible  <bruno@clisp.org>
72754
72755         * modules/getndelim2: New file.
72756         * modules/getline: Share files with module getndelim2.
72757         * modules/getnline: Depend on getndelim2 instead of sharing files with
72758         it. Add getnline.c to lib_SOURCES.
72759         * MODULES.html.sh (func_all_modules): Add getndelim2.
72760
72761 2003-07-18  Bruno Haible  <bruno@clisp.org>
72762
72763         * m4/getndelim2.m4: New file.
72764         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
72765         invoke gl_PREREQ_GETNDELIM2.
72766         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
72767         gl_PREREQ_GETNDELIM2.
72768         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
72769         gl_GETNDELIM2.
72770
72771 2003-07-18  Bruno Haible  <bruno@clisp.org>
72772
72773         * lib/getndelim2.h: New file.
72774         * lib/getndelim2.c: Make into a module of its own. Include config.h,
72775         getndelim2.h.
72776         (getndelim2): Make non-static. Change return type to ssize_t.
72777         * lib/getline.h: Change argument names.
72778         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
72779         * lib/getnline.c: Include getndelim2.h.
72780
72781 2003-07-18  Andreas Schwab  <schwab@suse.de>
72782
72783         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
72784
72785 2003-07-17  Karl Berry  <karl@gnu.org>
72786
72787         * config/config.sub: update from prep.
72788
72789 2003-07-17  Bruno Haible  <bruno@clisp.org>
72790
72791         * modules/getnline: New file.
72792         * modules/getline: Add lib/getndelim2.c to source file list.
72793         * MODULES.html.sh (func_all_modules): Add getnline.
72794
72795 2003-07-17  Bruno Haible  <bruno@clisp.org>
72796
72797         * m4/getnline.m4: New file.
72798
72799 2003-07-17  Bruno Haible  <bruno@clisp.org>
72800
72801         * m4/Makefile.am.in: Remove file.
72802         * m4/Makefile.am: Remove file.
72803         * m4/Makefile.in: Remove file.
72804
72805 2003-07-17  Bruno Haible  <bruno@clisp.org>
72806
72807         * lib/getnline.h: New file.
72808         * lib/getnline.c: New file.
72809         * lib/getndelim2.c: New file, extracted from getline.c.
72810         (getndelim2): Renamed from getdelim2, with added nmax argument.
72811         * lib/getline.c: Include getndelim2.c.
72812         (getdelim2): Moved out to getndelim2.c.
72813         (getline, getdelim): Update.
72814
72815 2003-07-17  Bruno Haible  <bruno@clisp.org>
72816
72817         * lib/Makefile.am: Remove file.
72818         * lib/Makefile.in: Remove file.
72819
72820 2003-07-17  Bruno Haible  <bruno@clisp.org>
72821
72822         * configure.in: Remove file.
72823         * Makefile.in: Remove file.
72824
72825 2003-07-17  Bruno Haible  <bruno@clisp.org>
72826
72827         * MODULES.html.sh: Put the </BODY> right before </HTML>.
72828
72829 2003-07-16  Karl Berry  <karl@gnu.org>
72830
72831         * config/srclist-update: was running fixlicense twice, which caused
72832                 texinfo.tex to be nullified for some reason.  Simplify,
72833                 $gplsrc is no longer needed as far as I can see?
72834
72835 2003-07-16  Jim Meyering  <jim@meyering.net>
72836
72837         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
72838
72839 2003-07-15  Paul Eggert  <eggert@twinsun.com>
72840
72841         * config/srclist.txt: Get the following files from gettext-runtime/intl
72842         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
72843         ref-del.sin.  From Bruno Haible.
72844         * config/srclist-update (fixfile): Change grep pattern again, since the
72845         previous fix didn't work (there was another trailing $).  Use
72846         '[$]' to escape the $s.
72847
72848 2003-07-15  Karl Berry  <karl@gnu.org>
72849
72850         * lib/vasnprintf.c: update from gettext.
72851
72852 2003-07-15  Karl Berry  <karl@gnu.org>
72853
72854         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
72855         gets expanded when surrounded by '$'.
72856
72857 2003-07-15  Jim Meyering  <jim@meyering.net>
72858
72859         * modules/save-cwd: Don't depend on error.  From Derek Price.
72860
72861 2003-07-15  Jim Meyering  <jim@meyering.net>
72862
72863         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
72864
72865 2003-07-14  Simon Josefsson  <jas@extundo.com>
72866
72867         * modules/mempcpy: New file.
72868         * MODULES.html.sh (func_all_modules): Add mempcpy.
72869
72870 2003-07-14  Simon Josefsson  <jas@extundo.com>
72871
72872         * m4/mempcpy.m4: New file.
72873
72874 2003-07-14  Simon Josefsson  <jas@extundo.com>
72875
72876         * lib/mempcpy.h: New file.
72877         * lib/mempcpy.c: New file.
72878
72879 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72880
72881         * modules/getdate, modules/posixtm: Depend on mktime.
72882
72883 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72884
72885         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
72886         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
72887         unicodeio.c, unicodeio.h, unlocked-io.h:
72888         Switch from LGPL to GPL.
72889
72890 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72891
72892         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
72893         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
72894         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
72895         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
72896         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
72897         updated automatically by ../config/srclist-update.  This changes
72898         their license from LPGL to GPL.
72899
72900 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72901
72902         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
72903         assumed to refer to the root of the most recent stable gettext version.
72904         * config/srclistvars.sh: Add defaults for eggert.
72905         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
72906         Match "This program" as well as "The program".  This is needed
72907         for gettext.
72908
72909 2003-07-14  Jim Meyering  <jim@meyering.net>
72910
72911         Don't emit diagnostics.  Let callers do that.
72912         * lib/save-cwd.c: Don't include "error.h".
72913         (save_cwd): Don't call error.  Ensure that errno is valid
72914         when returning nonzero.
72915
72916         * lib/save-cwd.h (restore_cwd): Update prototype.
72917         * lib/save-cwd.c (restore_cwd): Remove two parameters.
72918         Simplify.  Don't call error upon failure.  Let callers do that.
72919         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
72920         when auditing is enabled.  But don't bother updating the #if.
72921
72922 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
72923
72924         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
72925         it breaks C++ compilation.
72926         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
72927
72928 2003-07-10  Simon Josefsson  <jas@extundo.com>
72929
72930         * modules/strchrnul (Makefile.am): Add strchrnul.h.
72931
72932 2003-07-10  Jim Meyering  <jim@meyering.net>
72933
72934         * m4/clock_time.m4: Remove trailing blank.
72935         * m4/intmax_t.m4: Likewise.
72936
72937 2003-07-10  Jim Meyering  <jim@meyering.net>
72938
72939         * lib/vasnprintf.c: Remove trailing blanks.
72940         Make cpp indentation consistent.
72941
72942 2003-07-09  Paul Eggert  <eggert@twinsun.com>
72943
72944         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
72945         posixver.c, strftime.c, strnlen.c, strverscmp.c:
72946         Switch from LGPL to GPL.
72947
72948 2003-07-09  Paul Eggert  <eggert@twinsun.com>
72949
72950         * config/srclist.txt: Sort sublists.  Add
72951         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
72952         that differ from gnulib for one reason or another; we'd like this list
72953         to be smaller but for now let's document what we have.
72954
72955 2003-07-08  Paul Eggert  <eggert@twinsun.com>
72956
72957         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
72958         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
72959         and sweeter "eval x=$x".
72960         * config/srclist.txt: Get lib/argp* from glibc.
72961
72962 2003-07-07  Paul Eggert  <eggert@twinsun.com>
72963
72964         * lib/mktime.c: Fix some boundary cases and remove need for floating
72965         point.
72966
72967         Issue a compile-time diagnostic if time_t is floating point, or if
72968         two's complement arithmetic is not in effect, or if arithmetic
72969         right shift does not propagate the sign.  These assumptions were
72970         all in the original code but they weren't checked.
72971
72972         (TIME_T_MIDPOINT, verify): New macros.
72973         (__isleap): Remove; it has integer overflow problems.
72974         (leapyear): New function, without those problems.
72975         (ydhms_tm_diff): Remove; splitting into two parts.
72976         (ydhms_diff): New function, containing the arithmetic part of
72977         the old ydhms_tm_diff function.  Issue a compile-time
72978         diagnostic if we are not using C99 integer division.
72979         Avoid casts when possible.
72980         (guess_time_tm): New function, containing the checking part of
72981         the old ydhms_tm_diff function.  Return the new value, rather than
72982         the difference between it and the old.  Accept a new argument T
72983         so that *T specifies the old value.  Check for overflow in the result.
72984
72985         (__mktime_internal): Use a time_t offset, not a long int offset.
72986         This undoes the 2003-06-04 change, which is no longer needed now
72987         that we have better overflow checking.
72988         (localtime_offset): Likewise.
72989
72990         (__mktime_internal): Avoid harmful overflow on hosts where time_t
72991         and long are 64-bit but int is only 32-bit.
72992         (ydhms_diff): Use long int to store year1 and yday1.
72993         Issue a compile-time diagnostic if long int is not wide enough.
72994
72995         (__mktime_internal): Use long int to store adjusted year and yday.
72996         Use plain C rather than preprocessor commands, if that doesn't
72997         affect efficiency.
72998         Check for overflow (and try to repair) after each probe
72999         rather than checking only at the very end.  This avoids some bugs
73000         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
73001         does not equal GMT offset at maximum time).
73002         Use integer to check for overflow rather than floating point; this
73003         is more portable to non-IEEE hosts, and is a tad faster.
73004         When we detect that we are oscillating between two values,
73005         don't check whether tm_isdst has the requested value, since
73006         we already know the answer.  When tm_isdst has the wrong value,
73007         use a different heuristic to find the right one, based on the
73008         extreme values actually observed in practice in tz2003a,
73009         rather than the (overly optimistic) "previous 3 calendar quarters".
73010
73011         (not_equal_tm, print_tm, check_result): Use "const T" rather than
73012         "T const" to accommodate glibc style.
73013         (check_result): Use less-confusing report format.  "long" -> "long int.
73014         (main): Likewise.
73015         Don't loop if the iteration overflows time_t.
73016         Allow a negative step in the iteration.
73017
73018 2003-07-06  Karl Berry  <karl@gnu.org>
73019
73020         * config/depcomp: update from automake.
73021         * config/config.sub: update from prep.
73022
73023 2003-07-03  Karl Berry  <karl@gnu.org>
73024
73025         * config/config.guess: update from prep.
73026
73027 2003-07-01  Paul Eggert  <eggert@twinsun.com>
73028
73029         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
73030         xreadlink.c now includes it unconditionally.
73031
73032 2003-07-01  Paul Eggert  <eggert@twinsun.com>
73033
73034         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
73035         having it depend on HAVE_SYS_TYPES_H.
73036
73037 2003-07-01  Bruno Haible  <bruno@clisp.org>
73038
73039         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
73040         <sys/types.h> should be sufficient.
73041         Reported by Paul Eggert.
73042
73043 2003-06-26  Karl Berry  <karl@gnu.org>
73044
73045         * config/depcomp: update from automake.
73046
73047 2003-06-26  Bruno Haible  <bruno@clisp.org>
73048
73049         * modules/human: Depend on module stdbool.
73050
73051 2003-06-25  Bruno Haible  <bruno@clisp.org>
73052
73053         * modules/readlink: New file.
73054         * modules/xreadlink: Depend on it.
73055         * MODULES.html.sh (func_all_modules): Add readlink.
73056
73057 2003-06-25  Bruno Haible  <bruno@clisp.org>
73058
73059         * m4/readlink.m4: New file.
73060
73061 2003-06-25  Bruno Haible  <bruno@clisp.org>
73062
73063         * lib/readlink.c: New file.
73064
73065 2003-06-22  Karl Berry  <karl@gnu.org>
73066
73067         * config/srclist.txt: update mkinstalldirs from automake.
73068         * config/mkinstalldirs: update.
73069
73070 2003-06-22  Bruno Haible  <bruno@clisp.org>
73071
73072         Portability to mingw32.
73073         * m4/ssize_t.m4: New file, from GNU gettext.
73074         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
73075         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
73076
73077 2003-06-22  Bruno Haible  <bruno@clisp.org>
73078
73079         * modules/safe-read: Add m4/ssize_t.m4.
73080         * modules/xreadlink: Add m4/ssize_t.m4.
73081
73082 2003-06-20  Bruno Haible  <bruno@clisp.org>
73083
73084         Assume C89, so PARAMS isn't needed.
73085         * lib/unicodeio.h (PARAMS): Remove.
73086         * lib/unicodeio.c: Don't use PARAMS.
73087
73088 2003-06-18  Karl Berry  <karl@gnu.org>
73089
73090         * config/config.{guess,sub}: update from prep.
73091
73092 2003-06-18  Jim Meyering  <jim@meyering.net>
73093
73094         Merge changes from coreutils.
73095         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
73096         Remove explicit declarations of xmalloc and realloc.
73097         Include xalloc.h.
73098         (read_utmp): Remove anachronistic cast of xmalloc.
73099
73100 2003-06-17  Paul Eggert  <eggert@twinsun.com>
73101
73102         Assume C89, so PARAMS isn't needed.
73103         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
73104         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
73105         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
73106         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
73107         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
73108         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
73109         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
73110         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
73111         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
73112         lib/xstrtod.h, lib/xstrtol.h: Likewise.
73113         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
73114         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
73115         no longer needed. Anyway, config.h should always be included before any
73116         other file.
73117
73118 2003-06-11  Simon Josefsson  <jas@extundo.com>
73119
73120         * modules/sysexits: New file.
73121         * MODULES.html.sh (func_all_modules): Add sysexits.
73122
73123 2003-06-11  Simon Josefsson  <jas@extundo.com>
73124
73125         * lib/sysexit_.h: New file.
73126
73127 2003-06-11  Derek Price  <derek@ximbiot.com>
73128
73129         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
73130         necessary.
73131
73132 2003-06-11  Bruno Haible  <bruno@clisp.org>
73133
73134         * m4/sysexits.m4: New file.
73135
73136 2003-06-10  Simon Josefsson  <jas@extundo.com>
73137
73138         * lib/argp.h: New file, from glibc.
73139         * lib/argp-ba.c: New file, from glibc.
73140         * lib/argp-eexst.c: New file, from glibc.
73141         * lib/argp-fmtstream.c: New file, from glibc.
73142         * lib/argp-fmtstream.h: New file, from glibc.
73143         * lib/argp-fs-xinl.c: New file, from glibc.
73144         * lib/argp-help.c: New file, from glibc.
73145         * lib/argp-namefrob.h: New file, from glibc.
73146         * lib/argp-parse.c: New file, from glibc.
73147         * lib/argp-pv.c: New file, from glibc.
73148         * lib/argp-pvh.c: New file, from glibc.
73149         * lib/argp-xinl.c: New file, from glibc.
73150
73151 2003-06-10  Simon Josefsson  <jas@extundo.com>
73152
73153         * modules/strchrnul: New file.
73154
73155 2003-06-10  Simon Josefsson  <jas@extundo.com>
73156
73157         * modules/argp: New file.
73158
73159 2003-06-10  Simon Josefsson  <jas@extundo.com>
73160
73161         * m4/strchrnul.m4: New file.
73162
73163 2003-06-10  Simon Josefsson  <jas@extundo.com>
73164
73165         * lib/strchrnul.h: New file.
73166         * lib/strchrnul.c: New file.
73167
73168 2003-06-10  Bruno Haible  <bruno@clisp.org>
73169
73170         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
73171
73172 2003-06-07  Karl Berry  <karl@gnu.org>
73173
73174         * config/config.{guess,sub}: update from prep.
73175
73176 2003-06-07  Jim Meyering  <jim@meyering.net>
73177
73178         * modules/strtod: Use $(...) notation, not @...@ for
73179         AC_REPLACE'd variables.
73180         * modules/localcharset: Likewise.
73181
73182 2003-06-07  Jim Meyering  <jim@meyering.net>
73183
73184         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
73185         in place of my name in the copyright comment.
73186         Remove definition and uses of __P.
73187
73188         From coreutils.
73189         * lib/stat.c: Don't declare xmalloc explicitly.
73190         Instead, include "xalloc.h".
73191         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
73192         xrealloc, and xcalloc return values.
73193         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
73194         Improve comment.
73195         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
73196
73197 2003-06-07  Bruno Haible  <bruno@clisp.org>
73198
73199         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
73200         avoid AC_CONFIG_LINKS.
73201         * modules/fnmatch (Makefile.am): Use explicit creation rule for
73202         fnmatch.h, to avoid AC_CONFIG_LINKS.
73203         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
73204
73205 2003-06-07  Bruno Haible  <bruno@clisp.org>
73206
73207         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
73208         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
73209         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
73210         directory.
73211         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
73212         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
73213         directory.
73214
73215 2003-06-06  Jim Meyering  <jim@meyering.net>
73216
73217         Merge from coreutils.
73218         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
73219         Consolidate declarations and initializations of *_base* locals.
73220
73221         Merge from coreutils.
73222         This avoids a core dump on systems without GNU putenv,
73223         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
73224         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
73225         (unsetenv): New static function, from GNU libc.
73226         (rpl_putenv): Use it.
73227
73228         * lib/modechange.c: Remove trailing blanks.
73229
73230         Merge from coreutils.
73231         * lib/fsusage.c: Remove declaration of statfs.
73232         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
73233
73234         * lib/posixtm.c: Include <stdbool.h> unconditionally.
73235
73236 2003-06-06  Jim Meyering  <jim@meyering.net>
73237
73238         * lib/stdbool_.h: Renamed from stdbool.h.in.
73239
73240 2003-06-06  Jim Meyering  <jim@meyering.net>
73241             Bruno Haible  <bruno@clisp.org>
73242
73243         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
73244         Adjust Makefile.am snippet not to redirect directly to target.
73245         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
73246
73247 2003-06-05  Paul Eggert  <eggert@twinsun.com>
73248
73249         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
73250         mismatch, look in future quarters as well as past.  This fixes a
73251         bug when processing fall-backwards gaps immediately after a long
73252         period of daylight-saving time.
73253
73254         * lib/mktime.c: Assume freestanding C89 or better.
73255         (HAVE_LIMITS_H): Remove.  Assume it's 1.
73256         (__P): Remove; not used.
73257         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
73258         (mktime, not_equal_tm, print_tm, check_result,
73259         main): Use prototypes.  Use const * where appropriate.
73260         (main): Fix typo in testing code that uncovered by above changes.
73261         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
73262
73263 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73264
73265         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
73266         locale.h, localeconv.  This merges changes from coreutils.
73267
73268         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
73269         It can be removed after the next Autoconf is released.
73270         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
73271         needed.
73272
73273 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73274
73275         * lib/mktime.c: Fix Debian bug 177940
73276         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
73277         (localtime_offset): Now long int, not time_t, because we want it
73278         to be guaranteed to be signed.  All uses changed.
73279         (__mktime_internal): If overflow would occur when adding offset,
73280         don't add it.
73281
73282         Merge 'human' changes from coreutils.  Rewrite to support
73283         locale-specific notations like thousands separators.
73284         * lib/human.c: Simplify authorship notice.
73285         Include human.h immediately after config.h.
73286         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
73287         <limits.h>: Do not include, since human.h does.
73288         (SIZE_MAX, UINTMAX_MAX): New macros.
73289         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
73290         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
73291         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
73292         (power_letter): Renamed from suffixes.
73293         (generate_suffix_backwards): Remove.
73294         (adjust_value): Now takes int style (because of human.h changes)
73295         and long double value (for greater precision on some platforms).
73296         (group_number): New function.
73297         (human_readable): Use it.  Use integer options, not enum.
73298         Put the options before the sizes in the arg list.
73299         Support all the new options.
73300         The old human_readable function has been removed;
73301         use inttostr.h instead.
73302         (human_readable, default_block_size, humblock):
73303         Use uintmax_t, not int, for block sizes.
73304         (human_readable_inexact, block_size_types): Remove.
73305         (block_size_opts): New constant.
73306         (human_options): Renamed from human_block_size, with new signature
73307         that allows block sizes up to UINTMAX_MAX.  All callers changed.
73308         * lib/human.h: Add copyright and authorship notice.
73309         Include <limits.h> and <stdbool.h> unconditionally.
73310         (PARAMS): Remove.  All uses removed.
73311         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
73312         (enum human_inexact_style): Remove tag; now a nameless enum.
73313         (human_floor, human_ceiling, human_round_to_even): Now have
73314         values 2, 0, 1 rather than -1, 1, 0.
73315         (human_group_digits, human_suppress_point_zero, human_autoscale,
73316         human_base_1024, human_SI, human_B): New constants.
73317         (human_readable_inexact, human_block_size): Remove.
73318         (human_readable): Size args are now uintmax_t, not int.
73319         (human_options): New decl.
73320
73321         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
73322         unnecessary now that we assume C89 or better.  This change
73323         imported from coreutils.
73324
73325         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73326         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
73327         in the 2003-05-30 sync from glibc.
73328
73329         .h files should stand alone, but we shouldn't include <sys/types.h>
73330         if we can get away with just <stddef.h>.
73331
73332         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
73333         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
73334         rather than <sys/types.h>, as we merely need size_t.
73335         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
73336         to get size_t.
73337         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
73338         Include <stdio.h>, to get FILE.
73339         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
73340         memcasecmp.h has included <stddef.h> and all we need is size_t.
73341         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
73342         our interface, instead of including <sys/types.h>
73343
73344 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73345
73346         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
73347         now, as glibc mktime is buggy on non-glibc systems.
73348
73349 2003-06-03  Karl Berry  <karl@gnu.org>
73350
73351         * config/config.sub: update from prep.
73352
73353 2003-06-02  Paul Eggert  <eggert@twinsun.com>
73354
73355         [from coreutils]
73356         Fix some minor time-related bugs with POSIX time arguments.
73357         Some valid time stamps were being rejected (notably -1, and
73358         time stamps before 1900 on 64-bit hosts).  And some invalid
73359         time stamps were being accepted, e.g. September 31.
73360
73361         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
73362         that we can return (time_t) -1 successfully.
73363         * lib/posixtm.c: Likewise.
73364         [HAVE_STDBOOL_H]: Include <stdbool.h>.
73365         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
73366         (t): Remove static var.
73367         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
73368         of static var.  All uses changed.
73369         (year): Do not reject years before 1900; they can occur with
73370         64-bit time_t.
73371         (posix_time_parse): Do not check for out-of-range components;
73372         that is now the caller's responsibility, since our checks were
73373         only approximations.
73374         (posixtime): Use mktime to check for out-of-range components,
73375         since it knows them exactly.
73376         If mktime returns (time_t) -1, check whether an error actually occurred
73377         by invoking localtime on -1.
73378         (main) [TEST_POSIXTIME]: Check for input data errors, and report
73379         posixtime failures better.
73380         Improve the test data (in comments only).
73381
73382 2003-06-02  Karl Berry  <karl@gnu.org>
73383
73384         * config/mkinstalldirs (version): new variable.
73385         (--version): new option.
73386         (usage): improve message.
73387
73388 2003-05-30  Karl Berry  <karl@gnu.org>
73389
73390         * lib/mktime.c: update from libc.
73391
73392 2003-05-30  Bruno Haible  <bruno@clisp.org>
73393
73394         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
73395         * config/config.rpath: Upgrade to gettext-0.12.1.
73396
73397 2003-05-30  Bruno Haible  <bruno@clisp.org>
73398
73399         * m4/gettext.m4: Upgrade to gettext-0.12.1.
73400         * m4/nls.m4: New file, from gettext-0.12.1.
73401         * m4/po.m4: New file, from gettext-0.12.1.
73402         * m4/progtest.m4: Upgrade to gettext-0.12.1.
73403
73404 2003-05-30  Bruno Haible  <bruno@clisp.org>
73405
73406         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
73407         * lib/localcharset.h: Likewise.
73408         * lib/localcharset.c: Likewise.
73409
73410 2003-05-29  Karl Berry  <karl@gnu.org>
73411
73412         * config/config.rpath: update from gettext.
73413
73414 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73415
73416         Assume the headers required for C89 freestanding compilers.
73417         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
73418         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
73419         * m4/human.m4 (gl_HUMAN): Likewise.
73420         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
73421         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
73422         * m4/userspec.m4 (gl_USERSPEC): Likewise.
73423         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
73424         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73425         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
73426
73427 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73428
73429         Assume the headers required for C89 freestanding compilers.
73430         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
73431         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
73432         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
73433         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
73434         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
73435         define, since <limits.h> is guaranteed to do that.
73436         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
73437         * lib/exclude.c: Include <stdbool.h> unconditionally.
73438         * lib/tempname.c: Include <stddef.h> unconditionally.
73439         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
73440         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
73441         <stddef.h> does that.
73442         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
73443         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
73444         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
73445         needed.
73446         * lib/xstrtol.c: Likewise.
73447         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
73448         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
73449
73450         * lib/addext.c (addext): Use assignment rather than cast, to avoid
73451         warnings on some platforms.
73452
73453         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73454         arbitrarily.
73455
73456 2003-05-26  Jim Meyering  <jim@meyering.net>
73457
73458         Merge in a change from coreutils:
73459         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
73460         that is guaranteed to be `no'.  Use `no_such_member' to indicate
73461         that condition, rather than `-1' which is slightly misleading.
73462         Change the name of the cache variable to have the gl_ prefix.
73463         Prompted by a patch from Richard Dawe for DJGPP.
73464
73465 2003-05-24  Karl Berry  <karl@gnu.org>
73466
73467         * config/config.guess: update from prep.
73468
73469 2003-05-22  Karl Berry  <karl@gnu.org>
73470
73471         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
73472
73473 2003-05-20  Karl Berry  <karl@gnu.org>
73474
73475         * config/config.guess: update from prep.
73476
73477 2003-05-18  Karl Berry  <karl@gnu.org>
73478
73479         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
73480         might actually be set by the user.
73481
73482         * config/depcomp, install-sh, mdate-sh: update from automake.
73483
73484 2003-05-17  Bruno Haible  <bruno@clisp.org>
73485
73486         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
73487         invalid expansion for AC_EGREP_CPP.
73488         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
73489         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
73490         Suggested by Akim Demaille <akim@epita.fr> in
73491         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
73492
73493 2003-05-12  Jim Meyering  <jim@meyering.net>
73494
73495         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
73496         the space-padded-by-default conversion specifiers, %e, %k, %l.
73497
73498 2003-05-12  Bruno Haible  <bruno@clisp.org>
73499
73500         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
73501         the string is longer than 4 KB.
73502
73503 2003-05-11  Karl Berry  <karl@gnu.org>
73504
73505         * config/config.{guess,sub}: update from prep.
73506
73507 2003-05-09  Bruno Haible  <bruno@clisp.org>
73508
73509         * modules/error: Add m4/strerror_r.m4 to file list.
73510
73511 2003-05-03  Bruno Haible  <bruno@clisp.org>
73512
73513         Upgrade to Unicode-4.0.
73514         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
73515         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
73516         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
73517         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
73518         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
73519         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
73520         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
73521         Change width of U+E0100..U+E01EF from 1 to 0.
73522
73523 2003-04-25  Jim Meyering  <jim@meyering.net>
73524
73525         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
73526         of type size_t, not int.
73527
73528 2003-04-25  Bruno Haible  <bruno@clisp.org>
73529
73530         * lib/copy-file.c: Include <stddef.h>, for size_t.
73531
73532 2003-04-21  Paul Eggert  <eggert@twinsun.com>
73533
73534         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
73535         code which expansion is under static control.  Patch imported from
73536         Akim Demaille's patch to Bison; see
73537         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
73538
73539 2003-04-14  Bruno Haible  <bruno@clisp.org>
73540
73541         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
73542
73543 2003-04-11  Jim Meyering  <jim@meyering.net>
73544
73545         Merge changes from Coreutils.
73546
73547         2003-03-22  Jim Meyering  <jim@meyering.net>
73548
73549         * lib/strftime.c (widen): Cast alloca return value to proper type.
73550
73551         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
73552
73553         From GNU libc.
73554         * lib/strftime.c (my_strftime): Handle very large width
73555         specifications for numeric values correctly.  Improve checks for
73556         overflow.
73557
73558         2003-01-19  Jim Meyering  <jim@meyering.net>
73559
73560         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
73561         definitions.
73562         (nl_get_alt_digit) [! defined my_strftime]: Define.
73563         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
73564         _nl_get_alt_digit and _nl_get_walt_digit.
73565
73566         * lib/strftime.c (my_strftime): Merge in locale-related changes from
73567         libc. These changes have no effect outside of _LIBC.
73568
73569 2003-04-10  Bruno Haible  <bruno@clisp.org>
73570
73571         * modules/findprog: New file.
73572         * MODULES.html.sh (func_all_modules): Add it.
73573
73574 2003-04-10  Bruno Haible  <bruno@clisp.org>
73575
73576         * m4/findprog.m4: New file.
73577         * m4/eaccess.m4: New file.
73578
73579 2003-04-10  Bruno Haible  <bruno@clisp.org>
73580
73581         * lib/findprog.h: New file, from GNU gettext.
73582         * lib/findprog.c: New file, from GNU gettext.
73583
73584 2003-04-05  Jim Meyering  <jim@meyering.net>
73585
73586         Merge changes from Coreutils.
73587
73588         * lib/exclude.h (PARAMS): Remove definition and uses.
73589         * lib/exclude.c: Remove uses of `PARAMS'.
73590
73591         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
73592         Add test-cases for DOS filenames. Declare program_name.
73593         (main): Set up program_name.  Patch by Rich Dawe.
73594
73595         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73596         error from mntctl.
73597         Use mntctl's return value to drive the entry-processing loop, since
73598         we can't rely on the value of the vmt_length member in the last
73599         entry.  On some systems doing so could result in exhausting
73600         virtual memory.  Based in part on a patch from Mike Jetzer.
73601
73602 2003-04-04  Bruno Haible  <bruno@clisp.org>
73603
73604         * modules/linebreak: New file.
73605         * MODULES.html.sh (func_all_modules): Add it.
73606
73607 2003-04-04  Bruno Haible  <bruno@clisp.org>
73608
73609         * m4/linebreak.m4: New file.
73610
73611 2003-04-04  Bruno Haible  <bruno@clisp.org>
73612
73613         * lib/linebreak.h: New file, from GNU gettext.
73614         * lib/linebreak.c: New file, from GNU gettext with slight
73615         modifications.
73616         * lib/lbrkprop.h: New file, from GNU gettext.
73617
73618 2003-04-03  Bruno Haible  <bruno@clisp.org>
73619
73620         * modules/utf8-ucs4: New file.
73621         * modules/utf16-ucs4: New file.
73622         * modules/ucs4-utf8: New file.
73623         * modules/ucs4-utf16: New file.
73624         * MODULES.html.sh (func_all_modules): Add them.
73625
73626 2003-04-03  Bruno Haible  <bruno@clisp.org>
73627
73628         * m4/utf-ucs4.m4: New file.
73629         * m4/ucs4-utf.m4: New file.
73630
73631 2003-04-03  Bruno Haible  <bruno@clisp.org>
73632
73633         * lib/utf8-ucs4.h: New file, from GNU gettext.
73634         * lib/utf16-ucs4.h: New file, from GNU gettext.
73635         * lib/ucs4-utf8.h: New file, from GNU gettext.
73636         * lib/ucs4-utf16.h: New file, from GNU gettext.
73637
73638 2003-04-02  Bruno Haible  <bruno@clisp.org>
73639
73640         * modules/binary-io: New file.
73641         * MODULES.html.sh (func_all_modules): Add it.
73642
73643 2003-04-02  Bruno Haible  <bruno@clisp.org>
73644
73645         * lib/binary-io.h: New file, from GNU gettext.
73646
73647 2003-04-01  Bruno Haible  <bruno@clisp.org>
73648
73649         * modules/pathname: New file.
73650         * MODULES.html.sh (func_all_modules): Add it.
73651
73652 2003-04-01  Bruno Haible  <bruno@clisp.org>
73653
73654         * lib/pathname.h: New file, from GNU gettext.
73655         * lib/concatpath.c: New file, from GNU gettext.
73656
73657 2003-03-30  Bruno Haible  <bruno@clisp.org>
73658
73659         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
73660
73661 2003-03-30  Bruno Haible  <bruno@clisp.org>
73662
73663         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
73664         function chown() doesn't exist.
73665
73666 2003-03-28  Bruno Haible  <bruno@clisp.org>
73667
73668         * modules/copy-file: New file.
73669         * MODULES.html.sh (func_all_modules): Add it.
73670
73671 2003-03-28  Bruno Haible  <bruno@clisp.org>
73672
73673         * m4/copy-file.m4: New file.
73674
73675 2003-03-28  Bruno Haible  <bruno@clisp.org>
73676
73677         * lib/copy-file.h: New file, from GNU gettext.
73678         * lib/copy-file.c: New file, from GNU gettext.
73679
73680 2003-03-18  Jim Meyering  <jim@meyering.net>
73681
73682         * lib/quote.c (quote_n): Fix typo in comment.
73683
73684 2003-03-18  Bruno Haible  <bruno@clisp.org>
73685
73686         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
73687         checking.
73688         * m4/onceonly_2_57.m4: Likewise.
73689
73690 2003-03-17  Bruno Haible  <bruno@clisp.org>
73691
73692         * m4/onceonly.m4: Require autoconf 2.54 or newer.
73693         (m4_quote): Remove macro.
73694         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
73695
73696 2003-03-14  Jim Meyering  <jim@meyering.net>
73697
73698         Merge changes from Coreutils.
73699         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
73700         to be const, in order to avoid warnings.
73701         (obstack_room): Likewise.
73702         (obstack_empty_p): Likewise.
73703
73704 2003-03-14  Bruno Haible  <bruno@clisp.org>
73705
73706         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
73707         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
73708
73709 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73710
73711         Merge changes from Bison.
73712         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
73713         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
73714         when compiling Bison 1.875's `bitset bset = obstack_alloc
73715         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
73716         * lib/hash.c: Include <stdbool.h> unconditionally.
73717
73718 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73719
73720         * m4/onceonly.m4 (m4_quote): New macro.
73721         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
73722         Quote AC_FOREACH variable-expansions properly.
73723
73724 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73725
73726         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
73727
73728 2003-03-09  Paul Eggert  <eggert@twinsun.com>
73729
73730         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
73731         Reported by Bruce Becker; see:
73732         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
73733
73734 2003-03-03  Paul Eggert  <eggert@twinsun.com>
73735             Bruno Haible  <bruno@clisp.org>
73736
73737         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
73738         Reported by John Hughes, see
73739         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
73740
73741 2003-02-20  Bruno Haible  <bruno@clisp.org>
73742
73743         * MODULES.html.sh (func_all_modules): Add poll.
73744
73745 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73746
73747         * modules/poll: New file.
73748
73749 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73750
73751         * lib/poll_.h: New file.
73752         * lib/poll.c: New file.
73753
73754 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73755
73756         * m4/poll.m4: New file.
73757
73758 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73759
73760         * modules/mathl: New file.
73761
73762 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73763
73764         * lib/mathl.h: New file.
73765         * lib/acosl.c: New file.
73766         * lib/asinl.c: New file.
73767         * lib/atanl.c: New file.
73768         * lib/ceill.c: New file.
73769         * lib/cosl.c: New file.
73770         * lib/expl.c: New file.
73771         * lib/floorl.c: New file.
73772         * lib/frexpl.c: New file.
73773         * lib/ldexpl.c: New file.
73774         * lib/logl.c: New file.
73775         * lib/sincosl.c: New file.
73776         * lib/sinl.c: New file.
73777         * lib/sqrtl.c: New file.
73778         * lib/tanl.c: New file.
73779         * lib/trigl.c: New file.
73780         * lib/trigl.h: New file.
73781
73782 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73783
73784         * m4/mathl.m4: New file.
73785
73786 2003-02-18  Bruno Haible  <bruno@clisp.org>
73787
73788         * MODULES.html.sh (func_all_modules): Add mathl.
73789
73790 2003-02-17  Bruno Haible  <bruno@clisp.org>
73791
73792         * modules/mkdtemp: New module.
73793         * MODULES.html.sh (func_all_modules): Add it.
73794
73795 2003-02-17  Bruno Haible  <bruno@clisp.org>
73796
73797         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
73798
73799 2003-02-17  Bruno Haible  <bruno@clisp.org>
73800
73801         * lib/mkdtemp.h: New file, from GNU gettext.
73802         * lib/mkdtemp.c: New file, from GNU gettext.
73803
73804 2003-02-02  Jim Meyering  <jim@meyering.net>
73805
73806         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
73807         e.g. glibc-2.2.93.
73808
73809 2003-01-31  Bruno Haible  <bruno@clisp.org>
73810
73811         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
73812         'rpl_rename'.
73813         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
73814         'rpl_strnlen'.
73815         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
73816         'rpl_strtod'.
73817         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
73818         'rpl_utime'.
73819
73820 2003-01-31  Bruno Haible  <bruno@clisp.org>
73821
73822         * lib/rename.c: #undef rename before defining rpl_rename.
73823         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
73824
73825 2003-01-30  Bruno Haible  <bruno@clisp.org>
73826
73827         * modules/vasnprintf, modules/vasprintf: New modules.
73828         * MODULES.html.sh (func_all_modules): Add them.
73829
73830 2003-01-30  Bruno Haible  <bruno@clisp.org>
73831
73832         * m4/signed.m4: New file, from GNU gettext.
73833         * m4/longdouble.m4: New file, from GNU gettext.
73834         * m4/wchar_t.m4: New file, from GNU gettext.
73835         * m4/wint_t.m4: New file, from GNU gettext.
73836         * m4/vasnprintf.m4: New file.
73837         * m4/vasprintf.m4: New file.
73838
73839 2003-01-30  Bruno Haible  <bruno@clisp.org>
73840
73841         * lib/printf-args.h: New file, from GNU gettext.
73842         * lib/printf-args.c: New file, from GNU gettext.
73843         * lib/printf-parse.h: New file, from GNU gettext.
73844         * lib/printf-parse.c: New file, from GNU gettext.
73845         * lib/vasnprintf.h: New file, from GNU gettext.
73846         * lib/vasnprintf.c: New file, from GNU gettext.
73847         * lib/asnprintf.c: New file, from GNU gettext.
73848         * lib/vasprintf.h: New file, from GNU gettext with modifications.
73849         * lib/vasprintf.c: New file, from GNU gettext.
73850         * lib/asprintf.c: New file, from GNU gettext.
73851
73852 2003-01-29  Bruno Haible  <bruno@clisp.org>
73853
73854         * modules/stpncpy: New module.
73855         * MODULES.html.sh (func_all_modules): Add it.
73856
73857 2003-01-29  Bruno Haible  <bruno@clisp.org>
73858
73859         * m4/stpncpy.m4: New file.
73860
73861 2003-01-29  Bruno Haible  <bruno@clisp.org>
73862
73863         * lib/stpncpy.h: New file, from GNU gettext with modifications.
73864         * lib/stpncpy.c: New file, from GNU gettext with modifications.
73865
73866 2003-01-28  Bruno Haible  <bruno@clisp.org>
73867
73868         * modules/c-ctype: New module.
73869         * MODULES.html.sh (func_all_modules): Add it.
73870
73871 2003-01-28  Bruno Haible  <bruno@clisp.org>
73872
73873         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
73874         Paul Eggert.
73875         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
73876         Paul Eggert.
73877
73878 2003-01-27  Bruno Haible  <bruno@clisp.org>
73879
73880         * modules/xsetenv: New module.
73881         * MODULES.html.sh (func_all_modules): Add it.
73882
73883 2003-01-27  Bruno Haible  <bruno@clisp.org>
73884
73885         * lib/xsetenv.h: New file, from GNU gettext.
73886         * lib/xsetenv.c: New file, from GNU gettext.
73887
73888 2003-01-23  Jim Meyering  <jim@meyering.net>
73889
73890         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
73891         from working on systems without dirfd (at least Irix and OSF1/Tru64).
73892
73893 2003-01-23  Bruno Haible  <bruno@clisp.org>
73894
73895         * modules/minmax: New module.
73896         * MODULES.html.sh (func_all_modules): Add it.
73897
73898 2003-01-23  Bruno Haible  <bruno@clisp.org>
73899
73900         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
73901         Eggert.
73902
73903 2003-01-22  Bruno Haible  <bruno@clisp.org>
73904
73905         * modules/exit: New module.
73906         * MODULES.html.sh (func_all_modules): Add it.
73907
73908 2003-01-22  Bruno Haible  <bruno@clisp.org>
73909
73910         * lib/exit.h: New file, from GNU gettext.
73911
73912 2003-01-19  Bruno Haible  <bruno@clisp.org>
73913
73914         * gnulib-tool: Recognize option --extract-maintainer.
73915         (func_get_maintainer): New function.
73916         * modules/*: Add Maintainer entry.
73917
73918 2003-01-16  Jim Meyering  <jim@meyering.net>
73919
73920         * m4/regex.m4: The `regex' struct is both input and output.
73921         Initialize it before each use.  Patch by Tim Waugh.
73922
73923 2003-01-16  Bruno Haible  <bruno@clisp.org>
73924
73925         * MODULES.html.sh: Add a table of contents. Add the module name as
73926         leftmost column. Add hyperlinks.
73927
73928 2003-01-15  Bruno Haible  <bruno@clisp.org>
73929
73930         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
73931
73932 2003-01-15  Bruno Haible  <bruno@clisp.org>
73933
73934         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
73935         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
73936         suffix.
73937
73938 2003-01-15  Bruno Haible  <bruno@clisp.org>
73939
73940         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
73941
73942 2003-01-15  Bruno Haible  <bruno@clisp.org>
73943
73944         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
73945         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
73946
73947 2003-01-14  Jim Meyering  <jim@meyering.net>
73948
73949         * lib/same.c (same_name): Tweak a comment.
73950
73951 2003-01-14  Bruno Haible  <bruno@clisp.org>
73952
73953         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
73954         when a string comparison is sufficient.
73955
73956 2003-01-14  Bruno Haible  <bruno@clisp.org>
73957
73958         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
73959         'unsigned int'.
73960
73961 2003-01-14  Bruno Haible  <bruno@clisp.org>
73962
73963         * lib/hash-pjw.c: Add comment about low quality of this function.
73964
73965 2003-01-13  Bruno Haible  <bruno@clisp.org>
73966
73967         * modules/stpcpy: Distribute lib/stpcpy.h.
73968         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
73969
73970 2003-01-13  Bruno Haible  <bruno@clisp.org>
73971
73972         * modules/*: Add a description.
73973         * modules/strpbrk: Fix Makefile.am snippet.
73974         * modules/strtoimax: Fix dependencies.
73975         * modules/strtoumax: Likewise.
73976
73977 2003-01-13  Bruno Haible  <bruno@clisp.org>
73978
73979         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
73980         * modules/alloca (Makefile.am): All object files depend on alloca.h.
73981         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
73982
73983 2003-01-13  Bruno Haible  <bruno@clisp.org>
73984
73985         * gnulib-tool (func_create_testdir): Store config/* files in the main
73986         directory.
73987         * config.rpath: Move to ...
73988         * config/config.rpath: ... here.
73989         * modules/gettext: Contains config/config.rpath, not config.rpath.
73990         * modules/iconv: Likewise.
73991
73992 2003-01-12  Paul Eggert  <eggert@twinsun.com>
73993
73994         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
73995         to avoid collisions with libcurses and libreadline.
73996
73997         * m4/getstr.m4: Remove.
73998         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
73999
74000 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74001
74002         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74003         to avoid collisions with libcurses and libreadline.
74004
74005         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
74006         * lib/getstr.h, getstr.c: Remove.
74007         * lib/getline.c: Include "getline.h", to check interface.
74008         Move body of old getstr.c here: this defines MIN_CHUNK and
74009         declares getdelim2, which is renamed from getstr.
74010         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
74011
74012         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
74013         All uses changed.
74014         * lib/linebuffer.h: Likewise.
74015         (readline): Remove backward-compatibility macro.
74016
74017 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74018
74019         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74020         to avoid collisions with libcurses and libreadline.
74021         * getstr: Remove.
74022         * MODULES.html.sh: Remove getstr.
74023         * modules/getline: Depend on unlocked-io, not getstr.
74024
74025 2003-01-12  Jim Meyering  <jim@meyering.net>
74026
74027         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
74028
74029 2003-01-10  Bruno Haible  <bruno@clisp.org>
74030
74031         * modules/alloca: Change Makefile.am requirements. Simplify Include
74032         requirements. Add lib/alloca_.h to file list.
74033
74034 2003-01-10  Bruno Haible  <bruno@clisp.org>
74035
74036         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
74037
74038 2003-01-10  Bruno Haible  <bruno@clisp.org>
74039
74040         * lib/alloca_.h: New file.
74041         * lib/getdate.y: Unconditionally include alloca.h.
74042         * lib/makepath.c: Likewise.
74043         * lib/setenv.c: Likewise.
74044         * lib/userspec.c: Likewise.
74045
74046 2003-01-09  Karl Berry  <karl@gnu.org>
74047
74048         * MODULES.html.sh: include `dirname $0` in PATH, to find
74049         gnulib-tool.
74050
74051 2003-01-09  Bruno Haible  <bruno@clisp.org>
74052
74053         * modules/stdbool: Change configure.ac, Makefile.am requirements.
74054         Simplify Include requirements. Add lib/stdbool.h.in to file list.
74055
74056 2003-01-09  Bruno Haible  <bruno@clisp.org>
74057
74058         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
74059
74060 2003-01-09  Bruno Haible  <bruno@clisp.org>
74061
74062         * lib/stdbool.h.in: New file.
74063
74064 2003-01-09  Bruno Haible  <bruno@clisp.org>
74065
74066         * gnulib-tool (func_all_modules): Ignore files ending in ~.
74067         * MODULES.html.sh: Likewise.
74068
74069 2003-01-08  Jim Meyering  <jim@meyering.net>
74070
74071         * lib/full-write.c: Undefine and define-away `const' after inclusion
74072         of errno.h, not before.  Suggestion from Bruno Haible.
74073
74074 2003-01-08  Bruno Haible  <bruno@clisp.org>
74075
74076         * modules/full-read: Depend on full-write.
74077
74078 2003-01-08  Bruno Haible  <bruno@clisp.org>
74079
74080         * lib/safe-read.c: Include specification header first, to ensure its
74081         selfcontainedness.
74082         * lib/full-write.c: Likewise.
74083
74084 2003-01-07  Jim Meyering  <jim@meyering.net>
74085
74086         * lib/full-write.c: Rework so that it may serve to define full_read,
74087         too.
74088         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
74089
74090 2003-01-07  Bruno Haible  <bruno@clisp.org>
74091
74092         * lib/strtoimax.c: Include <stdint.h> as an alternative to
74093         <inttypes.h>.
74094         * lib/xstrtol.h: Likewise.
74095         * lib/xstrtoimax.c: Likewise.
74096         * lib/xstrtoumax.c: Likewise.
74097         * lib/human.h: Likewise.
74098
74099         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
74100         on systems that have <inttypes.h> but not <stdint.h>.
74101
74102 2003-01-07  Bruno Haible  <bruno@clisp.org>
74103
74104         * MODULES.html.sh: Add copyright notice.
74105         (missed_files): Omit CVS directory entries.
74106         (func_module): Make it work with sed-3.02.
74107         * MODULES.txt: Remove file.
74108
74109 2003-01-06  Jim Meyering  <jim@meyering.net>
74110
74111         * lib/version-etc.c: Update year in translatable copyright string.
74112
74113 2003-01-03  Karl Berry  <karl@gnu.org>
74114
74115         * config/config.{guess,sub}: update from prep.
74116
74117 2003-01-02  Karl Berry  <karl@gnu.org>
74118
74119         * doc/COPYING.DOC: belatedly updated to 1.2.
74120
74121 2003-01-01  Karl Berry  <karl@gnu.org>
74122
74123         * gnulib-tool (func_verify_module): report module name $module in
74124         error message, not $1.
74125         * gnulib-tool (create-testdir): don't complain if destdir couldn't
74126         be created, only if it doesn't exist.
74127         * gnulib-tool (last_checkin_date): don't expand the $Date here.
74128
74129 2002-12-31  Paul Eggert  <eggert@twinsun.com>
74130
74131         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
74132
74133 2002-12-31  Paul Eggert  <eggert@twinsun.com>
74134
74135         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
74136         memcmp if strcoll doesn't work.
74137
74138 2002-12-31  Bruno Haible  <bruno@clisp.org>
74139
74140         * lib/utime.c (utime_null): No need to call ftruncate if the file was
74141         nonempty.
74142
74143 2002-12-31  Bruno Haible  <bruno@clisp.org>
74144
74145         * lib/memcoll.c (STRCOLL): New macro.
74146         (memcoll): Use it.
74147
74148 2002-12-31  Bruno Haible  <bruno@clisp.org>
74149
74150         * lib/localcharset.h: New file.
74151         * lib/localcharset.c: Include it.
74152         * lib/unicodeio.c: Likewise.
74153
74154 2002-12-31  Bruno Haible  <bruno@clisp.org>
74155
74156         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
74157         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
74158
74159 2002-12-31  Bruno Haible  <bruno@clisp.org>
74160
74161         * lib/getline.h: Include <stddef.h>, for size_t.
74162
74163         * lib/unicodeio.h: Include <stddef.h>, for size_t.
74164         * lib/unicodeio.c: Don't include <stddef.h>.
74165
74166 2002-12-31  Bruno Haible  <bruno@clisp.org>
74167
74168         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
74169         HAVE_TM_ZONE.
74170
74171 2002-12-24  Karl Berry  <karl@gnu.org>
74172
74173         * config/config.guess: update from prep.
74174
74175 2002-12-24  Bruno Haible  <bruno@clisp.org>
74176
74177         General infrasructure.
74178         * m4/README: Rewritten.
74179         * m4/onceonly.m4: New file.
74180         * m4/onceonly_2_57.m4: New file.
74181
74182         Module atexit.
74183         * m4/atexit.m4: New file.
74184
74185         Module strtod.
74186         * m4/strtod.m4: New file.
74187
74188         Module strtol.
74189         * m4/strtol.m4: New file.
74190
74191         Module strtoul.
74192         * m4/strtoul.m4: New file.
74193
74194         Module memchr.
74195         * m4/memchr.m4: New file.
74196
74197         Module memcmp.
74198         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
74199         (jm_FUNC_MEMCMP): Invoke it.
74200
74201         Module memcpy.
74202         * m4/memcpy.m4: New file.
74203
74204         Module memmove.
74205         * m4/memmove.m4: New file.
74206
74207         Module memset.
74208         * m4/memset.m4: New file.
74209
74210         Module strcspn.
74211         * m4/strcspn.m4: New file.
74212
74213         Module strpbrk.
74214         * m4/strpbrk.m4: New file.
74215
74216         Module strstr.
74217         * m4/strstr.m4: New file.
74218
74219         Module strerror.
74220         * m4/strerror.m4: New file.
74221
74222         Module mktime.
74223         * m4/mktime.m4: Renamed from jm-mktime.m4.
74224         (gl_PREREQ_MKTIME): New macro.
74225         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
74226
74227         Module malloc.
74228         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
74229         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
74230         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
74231
74232         Module realloc.
74233         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
74234         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
74235         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
74236
74237         Module strftime.
74238         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
74239         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
74240         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
74241         gl_TM_GMTOFF.
74242         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
74243
74244         Module xalloc.
74245         * m4/xalloc.m4: New file.
74246
74247         Module alloca.
74248         * m4/alloca.m4: New file.
74249
74250         Module putenv.
74251         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
74252         (jm_FUNC_PUTENV): Invoke it.
74253
74254         Module setenv.
74255         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
74256         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
74257         when invoked twice.
74258         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
74259         gt_FUNC_SETENV.
74260
74261         Module memrchr.
74262         * m4/memrchr.m4: New file.
74263
74264         Module stpcpy.
74265         * m4/stpcpy.m4: New file.
74266
74267         Module strcase.
74268         * m4/strcase.m4: New file.
74269
74270         Module strdup.
74271         * m4/strdup.m4: New file.
74272
74273         Module strnlen.
74274         * m4/strnlen.m4: New file.
74275
74276         Module strndup.
74277         * m4/strndup.m4: New file.
74278
74279         Module xstrtod.
74280         * m4/xstrtod.m4: New file.
74281
74282         Module xstrtol.
74283         * m4/xstrtol.m4: New file.
74284
74285         Module getdate.
74286         * m4/getdate.m4: New file.
74287
74288         Module unlocked-io.
74289         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
74290         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
74291         * m4/jm-glibc-io.m4n: Remove file.
74292
74293         Module long-options.
74294         * m4/long-options.m4: New file.
74295
74296         Module md5.
74297         * m4/md5.m4: New file.
74298
74299         Module sha.
74300         * m4/sha.m4: New file.
74301
74302         Module getstr.
74303         * m4/getstr.m4: New file.
74304
74305         Module getline.
74306         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
74307         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
74308         <sys/types.h>, for size_t. Use the function name gnu_getline, not
74309         simply getline. Infoke gl_PREREQ_GETLINE.
74310
74311         Module obstack.
74312         * m4/obstack.m4: New file.
74313
74314         Module hash.
74315         * m4/hash.m4: New file.
74316
74317         Module readtokens.
74318         * m4/readtokens.m4: New file.
74319
74320         Module strverscmp.
74321         * m4/strverscmp.m4: New file.
74322
74323         Module stdbool.
74324         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
74325         OSF/1.
74326
74327         Module strtoll.
74328         * m4/strtoll.m4: New file.
74329
74330         Module strtoull.
74331         * m4/strtoull.m4: New file.
74332
74333         Module strtoimax.
74334         * m4/strtoimax.m4: New file.
74335
74336         Module strtoumax.
74337         * m4/strtoumax.m4: New file.
74338
74339         Module xstrtoimax.
74340         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
74341         jm_AC_PREREQ_XSTRTOIMAX.
74342         Moved the strtol prerequisites to strtol.m4.
74343         Moved the strtoll prerequisites to strtoll.m4.
74344         Moved the strtoimax prerequisites to strtoimax.m4.
74345
74346         Module xstrtoumax.
74347         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
74348         jm_AC_PREREQ_XSTRTOUMAX.
74349         Moved the strtoul prerequisites to strtoul.m4.
74350         Moved the strtoull prerequisites to strtoull.m4.
74351         Moved the strtoumax prerequisites to strtoumax.m4.
74352
74353         Module chown.
74354         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
74355         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
74356
74357         Module dup2.
74358         * m4/dup2.m4: New file.
74359
74360         Module ftruncate.
74361         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
74362         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
74363
74364         Module getgroups.
74365         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
74366         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
74367
74368         Module gettimeofday.
74369         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
74370         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
74371         gl_PREREQ_GETTIMEOFDAY.
74372
74373         Module mkdir.
74374         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
74375         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
74376
74377         Module mkstemp.
74378         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
74379         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
74380         jm_AC_TYPE_UINTMAX_T.
74381         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
74382
74383         Module stat.
74384         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
74385         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
74386
74387         Module lstat.
74388         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
74389         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
74390
74391         Module timespec.
74392         * m4/timespec.m4 (gl_TIMESPEC): New macro.
74393         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
74394         * m4/st_mtim.m4: Indentation.
74395
74396         Module nanosleep.
74397         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
74398         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
74399         gl_PREREQ_NANOSLEEP.
74400
74401         Module regex.
74402         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
74403         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
74404         (gl_REGEX): New macro.
74405
74406         Module rename.
74407         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
74408         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
74409
74410         Module rmdir.
74411         * m4/rmdir.m4: New file.
74412
74413         Module utime.
74414         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
74415         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
74416         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
74417
74418         Module dirname.
74419         * m4/dirname.m4: New file.
74420
74421         Module getopt.
74422         * m4/getopt.m4: New file.
74423
74424         Module unistd-safer.
74425         * m4/unistd-safer.m4: New file.
74426
74427         Module fnmatch.
74428         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
74429         declaration.
74430         (gl_PREREQ_FNMATCH_EXTRA): New macro.
74431         (gl_FUNC_FNMATCH_POSIX): New macro.
74432         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
74433         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
74434         simply fnmatch.
74435
74436         Module exclude.
74437         * m4/exclude.m4: New file.
74438
74439         Module human.
74440         * m4/human.m4: New file.
74441
74442         Module acl.
74443         * m4/acl.m4: Nop.
74444
74445         Module backupfile.
74446         * m4/backupfile.m4: New file.
74447         * m4/d-ino.m4: Indentation.
74448
74449         Module fsusage.
74450         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
74451         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
74452         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
74453
74454         Module dirfd.
74455         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
74456         requirements.
74457
74458         Module euidaccess.
74459         * m4/euidaccess.m4: New file.
74460
74461         Module file-type.
74462         * m4/file-type.m4: New file.
74463
74464         Module fileblocks.
74465         * m4/fileblocks.m4: New file.
74466
74467         Module filemode.
74468         * m4/filemode.m4: New file.
74469
74470         Module isdir.
74471         * m4/isdir.m4: New file.
74472
74473         Module lchown.
74474         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
74475         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
74476
74477         Module makepath.
74478         * m4/makepath.m4: New file.
74479
74480         Module modechange.
74481         * m4/modechange.m4: New file.
74482
74483         Module mountlist.
74484         * m4/mountlist.m4: New file.
74485         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
74486         Indentation.
74487
74488         Module path-concat.
74489         * m4/path-concat.m4: New file.
74490
74491         Module pathmax.
74492         * m4/pathmax.m4: New file.
74493
74494         Module same.
74495         * m4/same.m4: New file.
74496
74497         Module save-cwd.
74498         * m4/save-cwd.m4: New file.
74499
74500         Module savedir.
74501         * m4/savedir.m4: New file.
74502
74503         Module xgetcwd.
74504         * m4/xgetcwd.m4: New file.
74505         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
74506
74507         Module xreadlink.
74508         * m4/xreadlink.m4: New file.
74509
74510         Module safe-read.
74511         * m4/safe-read.m4: New file.
74512
74513         Module safe-write.
74514         * m4/safe-write.m4: New file.
74515
74516         Module closeout.
74517         * m4/closeout.m4: New file.
74518
74519         Module stdio-safer.
74520         * m4/stdio-safer.m4: New file.
74521
74522         Module getpass.
74523         * m4/getpass.m4: New file.
74524
74525         Module getugroups.
74526         * m4/getugroups.m4: New file.
74527
74528         Module group-member.
74529         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
74530         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
74531
74532         Module idcache.
74533         * m4/idcache.m4: New file.
74534
74535         Module userspec.
74536         * m4/userspec.m4: New file.
74537
74538         Module gettime.
74539         * m4/clock_time.m4: New file.
74540         * m4/gettime.m4: New file.
74541
74542         Module settime.
74543         * m4/settime.m4: New file.
74544
74545         Module posixtm.
74546         * m4/posixtm.m4: New file.
74547
74548         Module gethostname.
74549         * m4/gethostname.m4: New file.
74550
74551         Module canon-host.
74552         * m4/canon-host.m4: New file.
74553
74554         Module gettext.
74555         * m4/codeset.m4: New file, from gettext-0.11.5.
74556         * m4/gettext.m4: New file, from gettext-0.11.5.
74557         * m4/glibc21.m4: New file, from gettext-0.11.5.
74558         * m4/iconv.m4: New file, from gettext-0.11.5.
74559         * m4/intdiv0.m4: New file, from gettext-0.11.5.
74560         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
74561         * m4/inttypes.m4: New file, from gettext-0.11.5.
74562         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
74563         * m4/isc-posix.m4: New file, from gettext-0.11.5.
74564         * m4/lcmessage.m4: New file, from gettext-0.11.5.
74565         * m4/lib-ld.m4: New file, from gettext-0.11.5.
74566         * m4/lib-link.m4: New file, from gettext-0.11.5.
74567         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
74568         * m4/progtest.m4: New file, from gettext-0.11.5.
74569         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
74570         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
74571         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
74572
74573         Module localcharset.
74574         * m4/localcharset.m4: New file.
74575
74576         Module hard-locale.
74577         * m4/hard-locale.m4: New file.
74578
74579         Module mbswidth.
74580         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
74581         onceonly macros.
74582         * m4/mbrtowc.m4: Add comment.
74583
74584         Module memcasecmp.
74585         * m4/memcasecmp.m4: New file.
74586
74587         Module memcoll.
74588         * m4/memcoll.m4: New file.
74589
74590         Module unicodeio.
74591         * m4/unicodeio.m4: New file.
74592
74593         Module rpmatch.
74594         * m4/rpmatch.m4: New file.
74595
74596         Module yesno.
74597         * m4/yesno.m4: New file.
74598
74599         Module exitfail.
74600         * m4/exitfail.m4: New file.
74601
74602         Module c-stack.
74603         * m4/c-stack.m4 (gl_C_STACK): New macro.
74604         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
74605
74606         Module error.
74607         * m4/error.m4 (gl_ERROR): New macro.
74608         (jm_PREREQ_ERROR): Use onceonly macros.
74609
74610         Module fatal.
74611         * m4/fatal.m4: New file.
74612
74613         Module getloadavg.
74614         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
74615         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
74616
74617         Module getpagesize.
74618         * m4/getpagesize.m4: New file.
74619
74620         Module getusershell.
74621         * m4/getusershell.m4: New file.
74622
74623         Module physmem.
74624         * m4/physmem.m4: New file.
74625
74626         Module posixver.
74627         * m4/posixver.m4: New file.
74628
74629         Module quotearg.
74630         * m4/quotearg.m4: New file.
74631
74632         Module quote.
74633         * m4/quote.m4: New file.
74634
74635         Module readutmp.
74636         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
74637
74638         Module sig2str.
74639         * m4/sig2str.m4: New file.
74640
74641         Other.
74642         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
74643         ulonglong.m4.
74644         * m4/intmax_t.m4: New file.
74645         * m4/d-type.m4: Indentation.
74646         * m4/jm-macros.m4: Update.
74647         * m4/prereq.m4 (jm_PREREQ): Update.
74648         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
74649         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
74650         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
74651         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
74652         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
74653         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
74654         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
74655         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
74656         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
74657         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
74658         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
74659         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
74660         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
74661         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
74662         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
74663         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
74664         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
74665         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
74666         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
74667
74668 2002-12-24  Bruno Haible  <bruno@clisp.org>
74669
74670         * MODULES.txt: Update according to m4/ changes.
74671
74672         Module gettext.
74673         * config.rpath: New file, from gettext-0.11.5.
74674
74675         * modules/*: New module descriptions.
74676         * gnulib-tool: New file.
74677         * MODULES.html.sh: New file.
74678
74679 2002-12-21  Karl Berry  <karl@gnu.org>
74680
74681         * doc/fdl.texi: update to version 1.2.
74682
74683 2002-12-19  Karl Berry  <karl@gnu.org>
74684
74685         * config/config.guess: update from prep.
74686
74687 2002-12-18  Bruno Haible  <bruno@clisp.org>
74688
74689         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
74690         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
74691
74692 2002-12-17  Bruno Haible  <bruno@clisp.org>
74693
74694         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
74695         stdlib.h, string.h.
74696
74697 2002-12-17  Bruno Haible  <bruno@clisp.org>
74698
74699         * lib/canon-host.c (strdup): Remove unused declaration.
74700
74701         * lib/fsusage.c: Include full_read.h.
74702         (get_fs_usage): Use full_read instead of safe_read.
74703
74704         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
74705
74706 2002-12-12  Karl Berry  <karl@gnu.org>
74707
74708         * config/config.guess: update from prep.
74709
74710 2002-12-11  Bruno Haible  <bruno@clisp.org>
74711
74712         * m4/setenv.m4: New file, from gettext-0.11.5.
74713
74714 2002-12-11  Bruno Haible  <bruno@clisp.org>
74715
74716         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
74717         not unsetenv().
74718         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
74719         modifications:
74720
74721         2002-12-11  Bruno Haible  <bruno@clisp.org>
74722
74723                 * setenv.c (alloca): Fall back to malloc.
74724                 (freea): New macro.
74725                 (setenv): Use freea() to free memory allocated with alloca().
74726
74727         2002-11-13  Bruno Haible  <bruno@clisp.org>
74728
74729                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
74730                 function declarations.
74731                 * unsetenv.c (unsetenv): Likewise.
74732
74733         2002-03-04  Bruno Haible  <bruno@clisp.org>
74734
74735                 Portability to AIX 4.3.3.
74736                 * unsetenv.c: New file, extracted from setenv.c.
74737                 * setenv.c: Move the unsetenv() function to unsetenv.c.
74738
74739         2001-12-20  Bruno Haible  <bruno@clisp.org>
74740
74741                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
74742                 use malloc instead. For SunOS 4.
74743
74744         2001-12-11  Bruno Haible  <bruno@clisp.org>
74745
74746                 * setenv.c: Declare alloca.
74747                 (compar_fn_t): New typedef.
74748                 (KNOWN_VALUE, STORE_VALUE): Use it.
74749
74750         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
74751         setenv.h.
74752
74753 2002-12-10  Paul Eggert  <eggert@twinsun.com>
74754
74755         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
74756         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
74757         Choose values that are less likely to collide with system fnmatch
74758         options.
74759         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
74760         defined (e.g., a pure POSIX system).
74761         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
74762         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
74763
74764 2002-12-06  Paul Eggert  <eggert@twinsun.com>
74765
74766         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
74767         a pain in practice to deal with generated m4 files.  This change
74768         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
74769
74770         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
74771         and jm-glibc-io.m4, as they are no longer a special case.
74772         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
74773         kludge and the auto-generation stuff.  Check only whether the
74774         functions are declared, not whether they exist, since older hosts
74775         that don't declare the functions can't use the optimization anyway.
74776
74777 2002-12-06  Jim Meyering  <jim@meyering.net>
74778
74779         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
74780
74781         Merge in changes from libc's misc/error.c, in preparation
74782         for the merge of gnulib's changes back into libc.
74783
74784         * lib/error.c (_): Define only if not already defined.
74785         Move definition to follow all #include directives.
74786         Include unlocked-io.h only if !_LIBC.
74787         [_LIBC]: Include <libio/libioP.h>.
74788         [USE_IN_LIBIO]: Include <libio/iolibio.h>
74789         (fflush): Tweak definition to use INTUSE.
74790         (putc): Define.
74791
74792 2002-12-05  Paul Eggert  <eggert@twinsun.com>
74793
74794         * lib/alloca.c [defined emacs]: Include "lisp.h".
74795         (xalloc_die) [defined emacs]: New macro.
74796         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
74797         [! defined emacs]: Include <xalloc.h>.
74798         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
74799         (pointer): Typedef to POINTER_TYPE *.
74800         (malloc): Remove decl; we now always use xmalloc.
74801         (alloca): Use old-style definition, since Emacs needs this.
74802         Check for arithmetic overflow when computing combined size.
74803
74804 2002-12-04  Paul Eggert  <eggert@twinsun.com>
74805
74806         Do not generate unlocked-io.h automatically, since it's easier to
74807         maintain it by hand.
74808
74809         * lib/unlocked-io.h: New file, from GNU diffutils,
74810         but with proper copyright notice and attribution.
74811         * lib/gen-uio: Remove.
74812         * lib/Makefile.am: Add copyright notice.
74813         (libfetish_a_SOURCES): Add unlocked-io.h.
74814         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
74815         (DISTCLEANFILES, io_functions): Remove macros.
74816         (EXTRA_DIST): Remove gen_uio.
74817         (unlocked-io.h): Remove rule.
74818
74819 2002-12-04  Jim Meyering  <jim@meyering.net>
74820
74821         Reflect the fact that stat.c and lstat.c are no longer generated.
74822         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
74823         (DISTCLEANFILES): Likewise.
74824         (EXTRA_DIST): Likewise.
74825         (all_local): Don't depend on stat.c or lstat.c.
74826         (stat.c, lstat.c): Remove rules.
74827         (EXTRA_DIST): Remove xstat.in.
74828
74829         * lib/xstat.in: Remove file.  Contents moved into stat.c.
74830         * lib/stat.c: New file.  Contents mostly from xstat.in.
74831         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
74832         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
74833
74834         * lib/safe-read.c: Rework so that it may serve to define safe_write,
74835         too.
74836         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
74837
74838 2002-12-03  Jim Meyering  <jim@meyering.net>
74839
74840         * lib/safe-read.c, safe-write.c: Change variable names and comments,
74841         but not semantics, to minimize the differences between these two files.
74842         (safe_read): Change comment to mention SAFE_READ_ERROR.
74843
74844         * lib/safe-read.c (IS_EINTR): Define.
74845         (safe_read): Use IS_EINTR in place of in-function cpp directives.
74846
74847 2002-12-02  Jim Meyering  <jim@meyering.net>
74848
74849         * lib/safe-read.c (EINTR): Define.
74850         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
74851         (INT_MAX): Provide fallback.
74852         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
74853
74854         * lib/safe-read.h (SAFE_READ_ERROR): Define.
74855
74856 2002-12-02  Bruno Haible  <bruno@clisp.org>
74857
74858         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
74859         Define, taken from safe-read.c.
74860         (INT_MAX): Provide fallback.
74861         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
74862         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
74863
74864         * lib/safe-read.c (EINTR): Remove definition.
74865         (safe_read): Don't use EINTR if it is absent.
74866
74867 2002-12-01  Jim Meyering  <jim@meyering.net>
74868
74869         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
74870         zero.
74871         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
74872
74873 2002-11-27  Paul Eggert  <eggert@twinsun.com>
74874
74875         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
74876         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
74877         with `if (! (value < limit)) abort ();', for readability.
74878
74879 2002-11-26  Karl Berry  <karl@gnu.org>
74880
74881         * lib/strdup.c: copy from libc again, with jim's ok.
74882         * lib/.cppi-disable: re-add strdup.c
74883
74884 2002-11-25  Karl Berry  <karl@gnu.org>
74885
74886         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
74887         instead of "strtol.c".
74888
74889 2002-11-25  Karl Berry  <karl@gnu.org>
74890
74891         * config/install-sh: update from automake for variable quoting, $0 in
74892         error msgs, etc.
74893
74894         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
74895         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
74896         entry.
74897
74898 2002-11-25  Jim Meyering  <jim@meyering.net>
74899
74900         * lib/mktime.c: Sync from libc, now that it has the latest fix.
74901
74902 2002-11-24  Karl Berry  <karl@gnu.org>
74903
74904         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
74905         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
74906
74907 2002-11-24  Jim Meyering  <jim@meyering.net>
74908
74909         Update from coreutils:
74910
74911         * lib/mktime.c: Merge in changes from libc.
74912
74913         Avoid a link-time failure on some Linux systems.
74914         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
74915         (otherwise).
74916         (__mon_yday): Declare with the STATIC attribute.
74917         (__mktime_internal): Likewise.
74918         Based on a report from Greg Schafer.
74919
74920 2002-11-23  Jim Meyering  <jim@meyering.net>
74921
74922         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
74923         Use `unsigned', not `int', as type of index.
74924
74925         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
74926
74927         * lib/fsusage.c: Remove unneeded parentheses around operands of
74928         `defined'.
74929
74930 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74931
74932         * lib/quotearg.h: Allow multiple inclusion by surrounding with
74933         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
74934         so that we can be included first.
74935         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
74936         * lib/quotearg.c: Include quotearg.h immediately after config.h.
74937         No need to include stddef.h or sys/types.h any more.
74938         Surround local include files with "", not "<>".
74939         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
74940         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
74941         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
74942         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
74943         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
74944         (ISPRINT): Remove; no longer needed now that we assume C89.
74945
74946         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
74947         Preserve errno.
74948
74949         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
74950         quotearg_char): Use SIZE_MAX rather than
74951         (size_t) -1 when we are talking about "infinity".
74952
74953         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
74954
74955 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74956
74957         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
74958         hint that one should use `if (! x) abort ();' rather than `assert
74959         (x);', and anyway it's one less thing to worry about configuring.
74960         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
74961         hash_rehash, hash_insert): Use abort rather than assert.
74962
74963 2002-11-22  Bruno Haible  <bruno@clisp.org>
74964
74965         * lib/safe-read.h: Assume C89. Add comments.
74966         (safe_read): Change return type to size_t.
74967         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
74968         byte counts > SSIZE_MAX correctly.
74969         * lib/safe-write.h: New file.
74970         * lib/safe-write.c: New file.
74971         * lib/full-read.h: New file.
74972         * lib/full-read.c: New file.
74973         * lib/full-write.h: Assume C89. Add comments.
74974         * lib/full-write.c: Include safe-write.h.
74975         (full_write): Rewritten to use safe_write.
74976         Suggested by Jim Meyering and Paul Eggert.
74977
74978 2002-11-21  Jim Meyering  <jim@meyering.net>
74979
74980         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
74981
74982         Merge in changes from the coreutils.
74983
74984         2002-09-25  Paul Eggert  <eggert@twinsun.com>
74985         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
74986         <stdint.h>.
74987         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
74988         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
74989         int.  Work more efficiently if X is the same width as uintmax_t.
74990         Do not compare X to -1, to avoid bogus compiler warning.
74991         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
74992         Don't assume that f_frsize and f_bsize are the same type.
74993
74994         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
74995         warning on FreeBSD.
74996
74997         * lib/makepath.c (make_path): Restore umask *before* creating the final
74998         component.
74999         (make_path): Minor reformatting.
75000
75001         * lib/xmalloc.c: Adjust to work with new autoconf macros,
75002         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
75003         HAVE_MALLOC/HAVE_REALLOC.
75004
75005         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
75006         dummy ones.  At least on GNU/Linux systems, `auto' means something
75007         else.
75008         From Michael Stone.
75009
75010 2002-11-21  Bruno Haible  <bruno@clisp.org>
75011
75012         Remove case insensitive option matching.
75013         * lib/argmatch.h (argcasematch): Remove declaration.
75014         (ARGCASEMATCH): Remove macro.
75015         (__xargmatch_internal): Remove case_sensitive argument.
75016         (XARGMATCH): Update.
75017         (XARGCASEMATCH): Remove macro.
75018         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
75019         case_sensitive argument.
75020         (argcasematch): Remove function.
75021         (__xargmatch_internal): Remove case_sensitive argument.
75022         (main): Use XARGMATCH instead of XARGCASEMATCH.
75023
75024         * lib/xmalloc.c: Change compile-time error message. Add comment about
75025         required autoconf version.
75026
75027 2002-11-20  Paul Eggert  <eggert@twinsun.com>
75028
75029         Merge argmatch cleanups from Bison.  Assume C89.
75030
75031         * lib/argmatch.c: Include config.h here, not in argmatch.h.
75032         Include stdlib.h, for EXIT_FAILURE.
75033         Always include <string.h>, since we assume C89.
75034         (EXIT_FAILURE): Remove pre-C89 bug workaround.
75035         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
75036         Include <stddef.h> instead, since it's all we need for size_t.
75037         (PARAMS): Remove.  All uses removed.
75038         (ARRAY_CARDINALITY): Do not bother to #undef.
75039         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
75040         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
75041         Remove unnecessary parentheses.
75042         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
75043         Insert necessary parentheses.
75044         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
75045         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
75046
75047 2002-11-19  Bruno Haible  <bruno@clisp.org>
75048
75049         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
75050         * lib/mbswidth.h: Include <stddef.h>, for size_t.
75051
75052         * lib/mbswidth.h (PARAMS): Remove macro.
75053         (mbswidth, mbsnwidth): Use ANSI C function declarations.
75054         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
75055
75056         * lib/gcd.h (PARAMS): Remove macro.
75057         (gcd): Use ANSI C function declarations.
75058         * lib/gcd.c (gcd): Likewise.
75059
75060 2002-11-15  Bruno Haible  <bruno@clisp.org>
75061
75062         * lib/strcspn.c: Include <stddef.h>.
75063         (strcspn): Use ANSI C function declaration. Change return type to
75064         size_t. Use NULL.
75065         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
75066         (strpbrk): Use NULL.
75067         * lib/strpbrk.h (PARAMS): Remove macro.
75068         (strpbrk): Use ANSI C function declaration.
75069         * lib/strstr.c: Don't include <sys/types.h>.
75070         * lib/strstr.h (PARAMS): Remove macro.
75071         (strstr): Use ANSI C function declarations.
75072
75073 2002-11-14  Karl Berry  <karl@gnu.org>
75074
75075         * config/mkinstalldirs: `do' on separate line, instead of
75076         `for var; do'.
75077
75078 2002-11-06  Bruno Haible  <bruno@clisp.org>
75079
75080         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
75081         * lib/gcd.c (gcd): Likewise.
75082
75083 2002-11-05  Bruno Haible  <bruno@clisp.org>
75084
75085         * lib/gcd.h: New file, from gettext-0.11.5.
75086         * lib/gcd.c: New file, from gettext-0.11.5.
75087
75088 2002-11-05  Bruno Haible  <bruno@clisp.org>
75089
75090         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75091         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75092         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75093         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75094
75095         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
75096         <libintl.h>.
75097         * lib/makepath.c: Include gettext.h instead of <locale.h> and
75098         <libintl.h>.
75099
75100         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
75101         * lib/human.c: Include gettext.h instead of <libintl.h>.
75102         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
75103         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
75104         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
75105         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
75106         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
75107         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
75108         (textdomain): Remove definition.
75109         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
75110
75111         * lib/long-options.c: Remove include of <libintl.h> and definition of
75112         _.
75113         * lib/same.c: Remove include of <libintl.h> and definition of _.
75114
75115 2002-11-04  Owen Taylor  <otaylor@redhat.com>
75116
75117         * lib/config.charset: A few additions for Solaris.
75118
75119 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
75120
75121         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
75122         * lib/localcharset.c (locale_charset): Declare as extern "C".
75123
75124 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
75125
75126         * lib/config.charset: msdos in uk_UA uses CP1125.
75127
75128 2002-11-04  Bruno Haible  <bruno@clisp.org>
75129
75130         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
75131         * lib/strcase.h: New file, from GNU gettext-0.11.5.
75132         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
75133         * lib/strstr.h: New file, from GNU gettext-0.11.5.
75134         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
75135
75136 2002-11-04  Bruno Haible  <bruno@clisp.org>
75137
75138         * lib/localcharset.c (locale_charset): Don't return an empty string.
75139
75140 2002-11-04  Bruno Haible  <bruno@clisp.org>
75141
75142         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
75143         aliases.
75144
75145 2002-11-04  Bruno Haible  <bruno@clisp.org>
75146
75147         * lib/config.charset: Update for newest glibc. Add canonical names
75148         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
75149
75150 2002-11-04  Bruno Haible  <bruno@clisp.org>
75151
75152         * lib/config.charset: Add support for NetBSD.
75153
75154 2002-11-04  Bruno Haible  <bruno@clisp.org>
75155
75156         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
75157
75158 2002-11-01  Bruno Haible  <bruno@clisp.org>
75159
75160         * configure.in: Add AC_CONFIG_AUX_DIR call.
75161         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
75162         test/Makefile.
75163         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
75164
75165 2002-09-28  Karl Berry  <karl@gnu.org>
75166
75167         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
75168         installed automake until the next release, since changes have been
75169         made.
75170
75171 2002-09-25  Karl Berry  <karl@gnu.org>
75172
75173         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
75174         * lib/getopt*: copy from libc/posix.
75175         * lib/gettext.h: copy from gettext.
75176         * lib/.cppi-disable: add strdup.c, gettext.h.
75177
75178 2002-09-25  Karl Berry  <karl@gnu.org>
75179
75180         * config/srclist.txt: enable gettext.h check.
75181         * config/config.{guess,sub}: update from prep.
75182         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
75183                 from automake 1.6.3.
75184         See srclist*.
75185
75186 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
75187
75188         * regex.c (PATFETCH): Remove the translating fetch.
75189         (PATFETCH_RAW): Rename to PATFETCH.
75190         (set_image_of_range): New fun.
75191         (SET_RANGE_TABLE_WORK_AREA): Use it.
75192         (regex_compile): Don't translate the pattern chars so eagerly.
75193         Only do it when inserting an `exactn' bytecode or when handling
75194         a char-range.
75195         (mutually_exclusive_p): Avoid empty statement.
75196
75197 2002-07-06  Jim Meyering  <meyering@lucent.com>
75198
75199         * m4/README: Don't mention Makefile.am.in.
75200         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
75201
75202 2002-07-01  Jim Meyering  <meyering@lucent.com>
75203
75204         * lib/c-stack.c: Include sys/time.h.
75205         From Volker Borchert.
75206
75207 2002-06-26  Paul Eggert  <eggert@twinsun.com>
75208
75209         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
75210
75211 2002-06-26  Paul Eggert  <eggert@twinsun.com>
75212
75213         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
75214         New macro.  Use it uniformly instead of
75215         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
75216         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
75217         reported by Vin Shelton.
75218
75219 2002-06-22  Paul Eggert  <eggert@twinsun.com>
75220
75221         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
75222         Do not assume SA_SIGINFO behavior.
75223         Bug reported by Jim Meyering on NetBSD 1.5.2.
75224
75225 2002-06-22  Jim Meyering  <meyering@lucent.com>
75226
75227         * m4/c-stack.m4: New file, from diffutils-2.8.2.
75228         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
75229
75230         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
75231         now that configure.ac uses AC_GNU_SOURCE.
75232         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
75233         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
75234
75235         Update to latest tools.  Suggestions from Paul Eggert.
75236         * m4/stdbool.m4: New file, from diffutils-2.8.2.
75237         * m4/gnu-source.m4: Update from diffutils-2.8.2.
75238         * m4/fnmatch.m4: Likewise.
75239         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
75240         to AC_HEADER_STDBOOL
75241
75242 2002-06-22  Jim Meyering  <meyering@lucent.com>
75243
75244         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
75245         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
75246
75247 2002-06-22  Jim Meyering  <meyering@lucent.com>
75248
75249         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
75250
75251         * lib/exitfail.c, exitfail.h: Likewise.
75252         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
75253
75254         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
75255         of fnmatch.h.
75256         (EXTRA_DIST): Add fnmatch_loop.c.
75257         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
75258
75259         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
75260         * lib/fnmatch.c: Update from diffutils-2.8.2.
75261         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
75262         * lib/fnmatch.h: Remove file.
75263
75264 2002-06-21  Jim Meyering  <meyering@lucent.com>
75265
75266         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
75267         * m4/mbrtowc.m4: Likewise.
75268
75269         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
75270         * m4/mbswidth.m4: Reflect name change:
75271         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
75272         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75273
75274         * m4/lib-link.m4: Update from gettext-0.11.2.
75275         * m4/gettext.m4: Likewise.
75276
75277         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
75278         From Alfred M. Szmidt.
75279
75280 2002-06-18  Paul Eggert  <eggert@twinsun.com>
75281
75282         * lib/file-type.h: Report an error if neither S_ISREG nor
75283         S_IFREG is defined, instead of using a test specific to glibc
75284         2.2.  This should be safe, since POSIX requires S_ISREG and
75285         Unix Version 7 had S_IFREG.  We don't need to check for
75286         <sys/types.h> since we don't use any symbols that it defines.
75287
75288 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
75289
75290         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
75291         $@-t, so that each temporary file name is unique and valid in the first
75292         8 characters, for operation under DOS.
75293
75294 2002-06-15  Paul Eggert  <eggert@twinsun.com>
75295
75296         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
75297
75298 2002-06-15  Jim Meyering  <meyering@lucent.com>
75299
75300         Work even with DJGPP 2.03, which lacks support for symlinks.
75301         From Richard Dawe.
75302         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
75303         is defined.
75304         * lib/lchown.c (S_ISLNK): Likewise.
75305
75306 2002-06-15  Jim Meyering  <meyering@lucent.com>
75307
75308         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
75309         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
75310         have been included before this file.
75311
75312 2002-06-14  Jim Meyering  <meyering@lucent.com>
75313
75314         * lib/file-type.h: Use the version from diffutils-2.8.2.
75315         * lib/file-type.c: Likewise.
75316
75317 2002-06-07  Jim Meyering  <meyering@lucent.com>
75318
75319         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
75320         They're needed at least for NetBSD 1.5.2.
75321         ($statxfs_includes): Include those same headers.
75322         ($statxfs_includes): Include sys/vfs.h if available.
75323         ($statxfs_includes): Likewise for sys/statvfs.h.
75324         Check for the following members in both structs statfs and statvfs:
75325         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
75326
75327 2002-06-01  Jim Meyering  <meyering@lucent.com>
75328
75329         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
75330         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
75331
75332 2002-05-28  Jim Meyering  <meyering@lucent.com>
75333
75334         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
75335         Reported by Volker Borchert.
75336
75337 2002-05-27  Jim Meyering  <meyering@lucent.com>
75338
75339         Fix a problem seen only on nonconforming systems whereby ls.c's
75340         use of localtime, and then of gettimeofday would cause trouble:
75341         the localtime call used to initialize rpl_gettimeofday's save
75342         mechanism would clobber ls's current local time information so
75343         that in any long listing the first file would always be listed
75344         with date 1970-01-01.  Analysis by Volker Borchert.
75345
75346         * lib/gettimeofday.c (localtime): Undefine.
75347         (rpl_localtime): New function.
75348
75349 2002-05-27  Jim Meyering  <meyering@lucent.com>
75350
75351         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
75352         localtime.
75353
75354         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
75355         use the replacement function; it wouldn't resolve at link time.
75356         Reported by Volker Borchert.
75357
75358 2002-05-22  Jim Meyering  <meyering@lucent.com>
75359
75360         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
75361         file-type.h.
75362         * lib/file-type.h: New file.
75363         * lib/file-type.c (file_type): New file/function.  Extracted from
75364         diffutils.
75365
75366 2002-04-30  Jim Meyering  <meyering@lucent.com>
75367
75368         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
75369
75370 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75371
75372         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
75373
75374 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75375
75376         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
75377         Do not check for alloca.h (no longer used) or stdbool.h (was never
75378         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
75379
75380 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75381
75382         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
75383
75384 2002-04-29  Jim Meyering  <meyering@lucent.com>
75385
75386         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
75387         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
75388         Use AC_FUNC_STRNLEN here instead.
75389
75390         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
75391         With autoconf-2.53a, it's part of AC_PROG_CC.
75392
75393 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75394
75395         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
75396         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
75397
75398 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75399
75400         * lib/sig2str.h, lib/sig2str.c: New files.
75401         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
75402
75403 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75404
75405         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
75406         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
75407         of 127, since 64 is the largest conceivable number for ancient
75408         nonstandard hosts.
75409         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
75410
75411 2002-04-28  Jim Meyering  <meyering@lucent.com>
75412
75413         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
75414
75415 2002-04-24  Jim Meyering  <meyering@lucent.com>
75416
75417         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
75418         (jm_PREREQ): Use it.
75419
75420         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
75421         mach/mach.h fcntl.h.
75422         Check for this function: setlocale.
75423
75424 2002-04-24  Jim Meyering  <meyering@lucent.com>
75425
75426         * lib/gettext.h: New file, from Gettext.
75427         * lib/Makefile.am (INCLUDES): Remove -I../intl.
75428         (libfetish_a_SOURCES): Add gettext.h.
75429
75430 2002-04-16  Jim Meyering  <meyering@lucent.com>
75431
75432         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
75433         ut_pid, ut_id, ut_exit.
75434
75435 2002-04-16  Jim Meyering  <meyering@lucent.com>
75436
75437         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
75438         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
75439         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
75440
75441 2002-04-12  Jim Meyering  <meyering@lucent.com>
75442
75443         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
75444         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
75445         existence of the getmntinfo function.  Needed for Darwin 5.3.
75446
75447         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
75448         This is necessary at least on Darwin 5.3.
75449
75450         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
75451         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
75452         strnlen.o in the library, and that makes some versions of ranlib
75453         object.
75454
75455 2002-04-12  Jim Meyering  <meyering@lucent.com>
75456
75457         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
75458
75459 2002-04-09  Jim Meyering  <meyering@lucent.com>
75460
75461         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
75462         to be more precise.  Rather than saying we're checking whether the
75463         function `works', say what we're testing.
75464         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
75465         Reported by Bruno Haible.
75466
75467 2002-03-10  Jim Meyering  <meyering@lucent.com>
75468
75469         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
75470         Suggestion from Santiago Vila.
75471
75472 2002-03-08  Jim Meyering  <meyering@lucent.com>
75473
75474         * lib/rename.c: Mention that this wrapper is needed also on
75475         mips-dec-ultrix4.4 systems.
75476
75477 2002-03-02  Jim Meyering  <meyering@lucent.com>
75478
75479         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
75480         not HAVE_CLOCK_SETTIME.
75481
75482 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75483
75484         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
75485         Check for clock_settime.
75486
75487 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75488
75489         * lib/nanosleep.h: Rename to....
75490         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
75491
75492         * lib/gettime.c: New file.
75493         * lib/settime.c: New file.
75494         * lib/stime.c: Remove.
75495
75496         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
75497         timespec.h.  Remove nanosleep.h.
75498
75499 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75500
75501         * m4/acl.m4: New file.
75502         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
75503         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
75504
75505 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75506
75507         * lib/acl.c, lib/acl.h: New files.
75508         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
75509
75510 2002-02-24  Jim Meyering  <meyering@lucent.com>
75511
75512         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
75513         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
75514         cause trouble.  Reported by Nelson Beebe.
75515
75516 2002-02-23  Paul Eggert  <eggert@twinsun.com>
75517
75518         * lib/path-concat.c (xpath_concat): Reorder code to pacify
75519         compilers that don't know that xalloc_die never returns.
75520
75521 2002-02-20  Jim Meyering  <meyering@lucent.com>
75522
75523         * lib/getdate.c: Regenerate using bison-1.33.
75524
75525 2002-02-17  Jim Meyering  <meyering@lucent.com>
75526
75527         * config/config.guess (main): Don't use `head -1'; it's no longer
75528         portable. Use `sed 1q' instead.
75529
75530 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
75531
75532         * m4/codeset.m4: Upgrade to gettext-0.11.
75533         * m4/gettext.m4: Upgrade to gettext-0.11.
75534         * m4/glibc21.m4: Upgrade to gettext-0.11.
75535         * m4/iconv.m4: Upgrade to gettext-0.11.
75536         * m4/isc-posix.m4: Upgrade to gettext-0.11.
75537         * m4/lcmessage.m4: Upgrade to gettext-0.11.
75538         * m4/lib-ld.m4: New file, from gettext-0.11.
75539         * m4/lib-link.m4: New file, from gettext-0.11.
75540         * m4/lib-prefix.m4: New file, from gettext-0.11.
75541         * m4/progtest.m4: Upgrade to gettext-0.11.
75542
75543 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75544
75545         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
75546         (jm_PREREQ): Use it.
75547
75548 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75549
75550         * lib/posixver.c, lib/posixver.h: New files.
75551         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75552
75553 2002-02-02  Paul Eggert  <eggert@twinsun.com>
75554             Bruno Haible  <bruno@clisp.org>
75555
75556         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
75557         (fwrite_success_callback): New declaration.
75558         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
75559         print_unicode_char. Call failure callback instead of error.
75560         (fwrite_success_callback): New function.
75561         (exit_failure_callback): New function.
75562         (fallback_failure_callback): New function.
75563         (print_unicode_char): Call unicode_to_mb.
75564
75565 2002-01-26  Jim Meyering  <meyering@lucent.com>
75566
75567         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
75568         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
75569
75570 2002-01-26  Jim Meyering  <meyering@lucent.com>
75571
75572         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
75573
75574 2002-01-22  Paul Eggert  <eggert@twinsun.com>
75575
75576         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
75577
75578 2002-01-22  Jim Meyering  <meyering@lucent.com>
75579
75580         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
75581         Otherwise, some versions of automake would omit the rule that makes
75582         Makefile from Makefile.in.
75583
75584 2002-01-21  Paul Eggert  <eggert@twinsun.com>
75585
75586         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
75587         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75588         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
75589         (memcoll): Set errno to zero if there is no error.
75590
75591         * lib/quotearg.c (quotearg_buffer_restyled):
75592         Fix bug with quoting buffers containing NUL when backslashing escapes.
75593         This bug was exposed by the other changes in this patch.
75594         (quotearg_n_options): New arg ARGSIZE.
75595         All callers changed.
75596         (quoting_options_from_style): New function.
75597         (quotearg_n_style): Use it.
75598         (quotearg_n_style_mem): New function.
75599
75600         * lib/quotearg.h (quotearg_n_style_mem): New function.
75601
75602 2002-01-19  Jim Meyering  <meyering@lucent.com>
75603
75604         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
75605         Remove useless quotes: DF_PROG="df".
75606         * m4/strnlen.m4: New file.
75607
75608 2002-01-16  Paul Eggert  <eggert@twinsun.com>
75609
75610         * lib/backupfile.c (ISDIGIT): Comment fix.
75611         * lib/getdate.y (ISDIGIT): Likewise.
75612         * lib/posixtm.c (ISDIGIT, year): Likewise.
75613         * lib/strverscmp.c (ISDIGIT): Likewise.
75614         * lib/userspec.c (ISDIGIT): Likewise.
75615
75616 2002-01-16  Jim Meyering  <meyering@lucent.com>
75617
75618         * lib/getdate.y: Add three semicolons, each just before a closing
75619         brace. Bison (as of version 1.31) no longer papers over that mistake.
75620
75621 2002-01-05  Jim Meyering  <meyering@lucent.com>
75622
75623         * lib/version-etc.c (version_etc_copyright): Update copyright year.
75624
75625 2001-12-19  Paul Eggert  <eggert@twinsun.com>
75626
75627         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
75628         not silently exit merely because the output buffer happens to
75629         have nothing pending.
75630
75631 2001-12-18  Paul Eggert  <eggert@twinsun.com>
75632
75633         See the big note in ../ChangeLog.
75634         * lib/human.c (suffixes): Prefer K to k for 1024.
75635         (generate_suffix_backwards): New function.
75636         (human_readable_inexact): Use it.
75637         * lib/xstrtol.c (__xstrtol): If there is no number but there
75638         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
75639         Accept 'K' as well as 'k'.
75640
75641 2001-12-15  Jim Meyering  <meyering@lucent.com>
75642
75643         * lib/regex.h (__restrict_arr): Update from libc.
75644
75645         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
75646         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
75647         (STREQ): Define.
75648
75649 2001-12-14  Jim Meyering  <meyering@lucent.com>
75650
75651         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
75652         Suggestion from Bruno Haible.
75653
75654 2001-12-10  Jim Meyering  <meyering@lucent.com>
75655
75656         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
75657         xrealloc, Instead, include "xalloc.h".
75658         (initbuffer): Don't cast xmalloc return value to char*.
75659         (readline): Reword comment.
75660         Don't cast xrealloc return value to char*
75661         Return NULL, not 0.
75662
75663 2001-12-09  Jim Meyering  <meyering@lucent.com>
75664
75665         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
75666         about `signed and unsigned type in conditional expression'.
75667         * lib/posixtm.c (posix_time_parse): Likewise.
75668
75669         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
75670
75671         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
75672         to avoid a pedantic warning.
75673
75674         * lib/getstr.c: Don't include assert.h.
75675         (getstr): Remove warning-evoking assertions.
75676         Return -1 if offset parameter is out of bounds.
75677         Change the type of a local from int to size_t.
75678
75679         * lib/strftime.c (my_strftime_localtime_r): Include this function
75680         definition in the `#if ! HAVE_TM_GMTOFF' block.
75681
75682         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
75683         Include xalloc.h instead.
75684
75685 2001-12-02  Jim Meyering  <meyering@lucent.com>
75686
75687         * lib/tempname.c: Don't declare getenv, thus reverting the change of
75688         2001-11-18.  It's no longer necessary, now that stdlib.h is always
75689         included.
75690
75691         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
75692         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
75693
75694 2001-11-30  Akim Demaille  <akim@epita.fr>
75695
75696         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
75697         before being defined.
75698
75699 2001-11-27  Paul Eggert  <eggert@twinsun.com>
75700
75701         * lib/quotearg.h (quotearg_n, quotearg_n_style):
75702         First arg is int, not unsigned.
75703         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
75704         (SIZE_MAX, UINT_MAX): New macros.
75705         (quotearg_n_options): Abort if N is negative.
75706         Avoid overflow check on hosts where size_t is 64 bits and int
75707         is 32 bits, as overflow is impossible there.
75708         Fix off-by-one typo that caused unnecessary reallocation.
75709
75710 2001-11-27  Jim Meyering  <meyering@lucent.com>
75711
75712         * lib/tempname.c: Merge with version from libc.
75713         * lib/regex.c: Likewise.
75714
75715         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
75716         systems for which STDC_HEADERS is 0, it was not included, resulting in
75717         a warning about an integer-to-pointer conversion problem with getenv.
75718         Reported by Volker Borchert.
75719
75720 2001-11-26  Jim Meyering  <meyering@lucent.com>
75721
75722         * lib/gtod.h: Remove file.
75723         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
75724         * lib/gettimeofday.c: Don't include gtod.h.
75725         (GTOD_init): Remove function.
75726         (rpl_gettimeofday): Do its job here instead, rather than aborting.
75727         Suggestion from Volker Borchert.
75728
75729 2001-11-23  Jim Meyering  <meyering@lucent.com>
75730
75731         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
75732         it.
75733         * lib/hash.c (struct hash_table): Define it here instead.
75734
75735 2001-11-22  Jim Meyering  <meyering@lucent.com>
75736
75737         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
75738
75739 2001-11-20  Jim Meyering  <meyering@lucent.com>
75740
75741         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
75742         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
75743
75744 2001-11-19  Jim Meyering  <meyering@lucent.com>
75745
75746         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
75747         directory.  Use "conftestXXXXXX" as the template.
75748         Suggestion from Paul Eggert.
75749
75750         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
75751         immediately, so the test doesn't mistakenly hit the max-open-files
75752         limit.
75753
75754 2001-11-18  Paul Eggert  <eggert@twinsun.com>
75755
75756         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
75757         (TEMPORARIES): New macro.
75758         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
75759         removes an artificial limitation (e.g. HP-UX 10.20, where
75760         TMP_MAX is 17576).
75761
75762 2001-11-18  Jim Meyering  <meyering@lucent.com>
75763
75764         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
75765
75766 2001-11-18  Jim Meyering  <meyering@lucent.com>
75767
75768         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
75769         on SunOS 4.
75770
75771         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
75772         files will be created before anything else.
75773
75774 2001-11-17  Paul Eggert  <eggert@twinsun.com>
75775
75776         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
75777         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
75778
75779 2001-11-17  Jim Meyering  <meyering@lucent.com>
75780
75781         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
75782         Prompted by a report from Bob Proulx.
75783
75784         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
75785         Instead, require UTILS_FUNC_MKSTEMP.
75786
75787 2001-11-17  Jim Meyering  <meyering@lucent.com>
75788
75789         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
75790         Now, that's done as part of AC_FUNC_STRTOD.
75791
75792 2001-11-17  Jim Meyering  <meyering@lucent.com>
75793
75794         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
75795         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
75796         rather than group writable.  Patch by Juan F. Codagnone.
75797
75798         * lib/readtokens.c: Remove explicit declarations of xmalloc and
75799         xrealloc, Instead, include "xalloc.h".
75800
75801         * lib/mountlist.c: Include unlocked-io.h after all system headers.
75802         Remove explicit declarations of xmalloc, xrealloc,
75803         and xstrdup.  Instead, include "xalloc.h".
75804
75805         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
75806         unlocked-io.h.
75807         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
75808         Likewise.
75809         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
75810
75811         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
75812         Reported by Padraig Brady.
75813
75814         * lib/mkstemp.c: #undef mkstemp.
75815         Include config.h.
75816         (rpl_mkstemp): Rename from mkstemp.
75817         Protoize.
75818
75819 2001-11-16  Jim Meyering  <meyering@lucent.com>
75820
75821         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
75822         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
75823         determine the amount of total physical memory, use pstat_getstatic.
75824         HPUX-11 doesn't define _SC_PHYS_PAGES.
75825         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
75826         If sysconf couldn't be used to determine the amount of available
75827         physical memory, use both pstat_getstatic and pstat_getdynamic.
75828         Based on a patch from Bob Proulx.
75829
75830 2001-11-10  Jim Meyering  <meyering@lucent.com>
75831
75832         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
75833         (jm_PREREQ): Use it.
75834
75835 2001-11-09  Jim Meyering  <meyering@lucent.com>
75836
75837         * m4/jm-macros.m4: Require autoconf-2.52f.
75838         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
75839         Use these AC_-prefixed names, not the AM_-prefixed ones.
75840
75841         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
75842
75843 2001-11-05  Jim Meyering  <meyering@lucent.com>
75844
75845         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
75846
75847 2001-11-04  Jim Meyering  <meyering@lucent.com>
75848
75849         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
75850         $DEFS.
75851
75852 2001-11-03  Jim Meyering  <meyering@lucent.com>
75853
75854         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
75855         of AC_DEFUN.
75856
75857         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
75858         know the name of the variable in the macro definition.
75859
75860 2001-11-03  Jim Meyering  <meyering@lucent.com>
75861
75862         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
75863         in argmatch_to_argument call.
75864
75865         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
75866         argument.
75867
75868         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
75869         e.g., a fault due to an attempt to free a NULL pointer.
75870
75871 2001-11-01  Jim Meyering  <meyering@lucent.com>
75872
75873         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
75874         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
75875
75876 2001-11-01  Jim Meyering  <meyering@lucent.com>
75877
75878         * lib/dirfd.c, lib/dirfd.h: New files.
75879         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
75880
75881         * lib/hash.c (hash_print) [TESTING]: Clean up.
75882
75883 2001-10-22  Paul Eggert  <eggert@twinsun.com>
75884
75885         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
75886         to avoid a warning if -Wall.
75887
75888 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
75889
75890         * README: New file
75891         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
75892         (per RMS's instructions, this is now the canonical source)
75893         * lgpl/, gpl/: New directories.
75894
75895 2001-10-21  Paul Eggert  <eggert@twinsun.com>
75896
75897         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
75898
75899 2001-10-21  Jim Meyering  <meyering@lucent.com>
75900
75901         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
75902         this code would end up calling gettext even in packages built
75903         with --disable-nls.
75904         * lib/getopt.c (_): Likewise.
75905         * lib/regex.c (_): Likewise.
75906
75907 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75908
75909         * m4/error.m4 (jm_PREREQ_ERROR):
75910         Do not invoke AC_CHECK_FUNCS with strerror_r, as
75911         AC_FUNC_STRERROR_R does that.
75912         Check for strerror declaration.
75913
75914         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
75915         are supposed to have them these days.
75916         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
75917         Merge changes from latest Autoconf CVS.
75918         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
75919         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
75920         POSIX decided to standardize on the int flavor of strerror_r.
75921
75922 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75923
75924         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
75925         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
75926         Use strerror_r that is only a macro, even if it is not a function.
75927         (strerror): Check for HAVE_DECL_STRERROR before declaring.
75928         (private_strerror): Use prototypes, not old-style function definition.
75929         (print_errno_message): New function.
75930         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
75931         char*-flavored one.
75932         (error_tail, error, error_at_line): Use it.
75933
75934 2001-10-11  Jim Meyering  <meyering@lucent.com>
75935
75936         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
75937         and quote_n (1, ... to avoid clobbering a buffer.
75938
75939 2001-10-05  Jim Meyering  <meyering@lucent.com>
75940
75941         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
75942         hash-pjw.h.
75943         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
75944         * lib/hash-pjw.h: New file.
75945
75946 2001-09-30  Jim Meyering  <meyering@lucent.com>
75947
75948         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
75949         `struct fsstat' has the `f_fstypename' member.
75950         Use that to define FS_TYPE, which is now used to make
75951         the getfsstat link test tighter.
75952
75953 2001-09-30  Jim Meyering  <meyering@lucent.com>
75954
75955         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
75956         Include <sys/ucred.h>, for Apple Darwin.
75957         Include sys/mount.h and sys/fs_types.h only if available.
75958         (FS_TYPE): Define.
75959         (read_filesystem_list): Use FS_TYPE.
75960
75961 2001-09-29  Paul Eggert  <eggert@twinsun.com>
75962
75963         * lib/exclude.c (excluded_filename): 0 -> false, since it's
75964         a boolean context.
75965
75966 2001-09-29  Jim Meyering  <meyering@lucent.com>
75967
75968         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
75969         [one-argument getmntent function]): Include stdio.h before mntent.h.
75970         SunOS 4.1.x needs it for the declaration of `FILE'.
75971         Patch by Volker Borchert.
75972
75973         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
75974         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
75975         sys/fs_types.h, and make the link-test for getfsstat guard #include
75976         directives with appropriate #if HAVE_*_H tests so that we can
75977         detect getfsstat on Apple Darwin1.3.7 systems.
75978         Reported by Nelson Beebe.
75979         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
75980
75981 2001-09-28  Paul Eggert  <eggert@twinsun.com>
75982
75983         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
75984         #defines strtoimax.  Also treat the other strto* functions
75985         like strtoimax.
75986
75987         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75988         Check for strtoul and strtoumax,
75989         as those declarations are made even in the signed case.
75990         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
75991         Likewise, for strtol and strtoimax.
75992
75993 2001-09-28  Paul Eggert  <eggert@twinsun.com>
75994
75995         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
75996         #defines strtoimax.  Also treat the other strto* functions
75997         like strtoimax.
75998
75999         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
76000         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
76001         (strtoimax, strtoumax): Do not declare if already defined as a macro.
76002
76003 2001-09-26  Jim Meyering  <meyering@lucent.com>
76004
76005         Most macros in unlocked-io.h had the wrong number of arguments.
76006         * lib/gen-uio: New script.
76007         (USE_UNLOCKED_IO): Define to 1 if not already defined.
76008         * lib/unlocked-io.hin: Remove file.
76009         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
76010         rather than trying to embed it here.
76011         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
76012         Reported by Padraig Brady.
76013
76014 2001-09-25  Volker Borchert  <bt@teknon.de>
76015
76016         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
76017         `result'.
76018
76019 2001-09-24  Jim Meyering  <meyering@lucent.com>
76020
76021         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
76022
76023 2001-09-23  Jim Meyering  <meyering@lucent.com>
76024
76025         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
76026         instead of the mere test for existence of mntent.h.  The latter
76027         would get a false-positive on AIX 3.4 systems.
76028         In the outer getmntent if-block, don't die if neither of the getmntent
76029         tests succeeds.  Instead, just fall through and continue with the
76030         remaining tests.
76031
76032 2001-09-23  Jim Meyering  <meyering@lucent.com>
76033
76034         * lib/mountlist.c: Remove useless parentheses in #if directives.
76035         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
76036         the deprecated MOUNTED symbol is no longer defined in mntent.h.
76037
76038 2001-09-22  Jim Meyering  <meyering@lucent.com>
76039
76040         * m4/gettext.m4: New file.  From gettext.
76041         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
76042         * m4/progtest.m4: Likewise
76043         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
76044         * m4/glibc21.m4: Likewise.
76045
76046         * m4/libintl.m4: Remove.  No longer used.
76047
76048 2001-09-22  Jim Meyering  <meyering@lucent.com>
76049
76050         * lib/localcharset.c: Update from latest gettext.
76051         * lib/config.charset: Likewise.
76052
76053 2001-09-20  Jim Meyering  <meyering@lucent.com>
76054
76055         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
76056         strtoimax.
76057         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
76058         strtoumax.
76059
76060 2001-09-20  Jim Meyering  <meyering@lucent.com>
76061
76062         * lib/xstrtol.c (strtoimax): Guard declaration with
76063         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
76064         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
76065         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
76066         (strtoumax): Likewise, for completeness (it wasn't necessary).
76067
76068 2001-09-17  Paul Eggert  <eggert@twinsun.com>
76069
76070         * lib/strtoimax.c (HAVE_LONG_LONG):
76071         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
76072         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
76073         to work around bug in IBM C compiler.
76074
76075 2001-09-17  Jim Meyering  <meyering@lucent.com>
76076
76077         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
76078         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
76079         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
76080         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
76081         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
76082         whenever the right hand side need not be expanded by the shell.
76083
76084 2001-09-16  Paul Eggert  <eggert@twinsun.com>
76085
76086         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
76087         library.  It's not correct, as some older glibcs are buggy.
76088         fnmatch wasn't fixed until glibc 2.2.
76089
76090         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
76091         special shell magic here.
76092
76093 2001-09-16  Jim Meyering  <meyering@lucent.com>
76094
76095         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
76096         * m4/jm-macros.m4: Require it.
76097
76098 2001-09-16  Jim Meyering  <meyering@lucent.com>
76099
76100         * lib/mkdir.c: New file.
76101
76102 2001-09-15  Jim Meyering  <meyering@lucent.com>
76103
76104         * m4/jm-macros.m4: Check for help2man.
76105
76106 2001-09-11  Jim Meyering  <meyering@lucent.com>
76107
76108         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
76109         The body, by Paul Eggert, was moved here from configure.in.
76110         * m4/jm-macros.m4: Require UTILS_HOST_OS.
76111
76112 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76113
76114         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
76115         (jm_PREREQ): Use it.
76116
76117 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76118
76119         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
76120         Use ssize_t, not int, to store result of readlink.
76121         Check for ssize_t overflow as well as size_t overflow,
76122         as POSIX says the result of readlink is implementation-defined
76123         when ssize_t overflows.
76124         Remove unnecessary cast to char*.
76125         Use free+malloc instead of realloc, as the storage doesn't need
76126         to be preserved and it's clearer and can be more efficient that way.
76127         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
76128         * lib/xreadlink.h (xreadlink): Update prototype.
76129
76130 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76131
76132         * lib/xgetcwd.c: Revert some of the previous change; intead,
76133         fix the HAVE_GETCWD_NULL code to behave more like the
76134         !HAVE_GETCWD_NULL code used to.
76135
76136         Include "xalloc.h".
76137         (xgetcwd): Do not return NULL when memory is exhausted; instead,
76138         invoke xalloc_die.
76139
76140 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76141
76142         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
76143         sys/param.h, as pathmax.h includes them.
76144
76145 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76146
76147         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
76148         (jm_PREREQ_XGETCWD): New macro.
76149
76150         * m4/getcwd.m4: New file.
76151
76152 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76153
76154         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
76155         like the HAVE_GETCWD_NULL code.
76156         Include pathmax.h if not HAVE_GETCWD.
76157         Do not include xalloc.h.
76158         (INITIAL_BUFFER_SIZE): New symbol.
76159         Do not use xmalloc / xrealloc, since the caller is responsible for
76160         handling errors.  Preserve errno around `free' during failure.
76161         Do not overrun buffer when using getwd.
76162
76163 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76164
76165         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
76166         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
76167         getcwd (NULL, 0).
76168
76169 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76170
76171         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
76172         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
76173         spotted by Jim Meyering.
76174
76175 2001-09-03  Jim Meyering  <meyering@lucent.com>
76176
76177         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
76178         failure.
76179
76180 2001-09-02  Jim Meyering  <meyering@lucent.com>
76181
76182         * lib/error.c: Update from GNU libc.
76183
76184 2001-09-01  Jim Meyering  <meyering@lucent.com>
76185
76186         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
76187         Used by df.
76188
76189 2001-09-01  Jim Meyering  <meyering@lucent.com>
76190
76191         * lib/xreadlink.c: New file.
76192         * lib/xreadlink.h: New file.
76193         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
76194         xreadlink.h.
76195
76196         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
76197         doesn't conflict with sparc Solaris 7's definition in
76198         /usr/include/sys/int_types.h.
76199
76200         * lib/exclude.c: Use `""', not `<>' to #include non-system header
76201         files.
76202         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
76203         and strncasecmp as r-values.  Unixware didn't have declarations.
76204
76205 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76206
76207         * lib/xstrtol.h: Add copyright notice.
76208         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
76209         LONGINT_INVALID_SUFFIX_CHAR.
76210
76211 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76212
76213         * lib/xstrtol.c (strtoimax): New decl.
76214
76215 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76216
76217         * lib/xgetcwd.c: Don't include pathmax.h.
76218         Include stdlib.h and unistd.h if available.
76219         Include xalloc.h.
76220         (xmalloc, xstrdup, free): Remove decls.
76221         (xgetcwd): Don't assume sizes fit in unsigned.
76222         Check for overflow when computing sizes.
76223         Simplify reallocation code.
76224
76225 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76226
76227         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
76228         a directory's st_size can have an arbitrary value, so the old
76229         usage could waste an arbitrary amount of memory.  All uses
76230         changed.
76231         * lib/savedir.h: Update prototype.
76232
76233 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76234
76235         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
76236
76237         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
76238         old strtoimax.c.
76239
76240         Also, make the following further changes to make this file's
76241         configuration more similar to that of strtol.c:
76242         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
76243         (strtoumax, uintmax_t, strtoull, strtol): Remove.
76244         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
76245         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
76246         changed to signed values.
76247
76248         And make the following changes as well:
76249         Fix copyright notice, as 1999 was missing.
76250         (verify): New macro.
76251         (strtoimax): Check sizes at compile-time, not run-time.
76252         Prefer strtol to strtoll if both work.
76253         (main): Remove; it was not that useful and was a pain to maintain.
76254
76255         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
76256
76257 2001-08-31  Jim Meyering  <meyering@lucent.com>
76258
76259         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
76260         Use an initial, malloc'd, buffer of length 128 rather than
76261         a statically allocated one of length 1024.
76262
76263 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76264
76265         Simplify code, partly by assuming autoconf 2.52 semantics.
76266
76267         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
76268
76269         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
76270         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
76271         All uses removed.
76272         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
76273         Move AC_REQUIRE to next-to-top level, to avoid confusion.
76274         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
76275         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
76276         jm_AC_HEADER_INTTYPES_H.
76277         * m4/jm-macros.m4 (jm_MACROS): Likewise.
76278
76279         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
76280
76281         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
76282         Quote first arg of AC_DEFUN.
76283         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
76284         since they are needed to parse the include file even if we need
76285         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
76286         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
76287         but with opposite signedness.
76288
76289 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76290
76291         Merge 'exclude' changes from tar 1.13.22.
76292         This fixes one or two unlikely storage allocation overflow bugs,
76293         but doesn't change user-visible behavior otherwise.
76294
76295 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76296
76297         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
76298         (jm_PREREQ_EXCLUDE): New macro.
76299
76300 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76301
76302         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
76303         tm to be declared.
76304
76305 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76306
76307         * lib/hash.c: Remove '2001' from copyright notice.
76308
76309 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76310
76311         * lib/full-write.h: New file.
76312         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
76313         * lib/full-write.c: Correct credits, as cccp.c no longer
76314         exists and anyway it was so heavily changed from the old cccp
76315         code as to be unrecognizable.  Include full-write.h.
76316         (full_write) Return size_t, with short writes meaning failure.
76317         All callers changed.  This fixes a bug with large buffers
76318         on 64-bit hosts.
76319         * lib/utime.c: Include full-write.h.
76320
76321 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76322
76323         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
76324         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
76325         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
76326         Include if available.
76327         (<xalloc.h>): Include
76328         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
76329         (verify): New macro.  Use it to verify that EXCLUDE macros do not
76330         collide with FNM macros.
76331         (struct patopts): New struct.
76332         (struct exclude): Use it, as exclude patterns now come with options.
76333         (new_exclude): Support above changes.
76334         (new_exclude, add_exclude_file):
76335         Initial size must now be a power of two to simplify overflow checking.
76336         (free_exclude, fnmatch_no_wildcards): New function.
76337         (excluded_filename): No longer requires options arg, as the options
76338         are determined by add_exclude.  Now returns bool, not int.
76339         (excluded_filename, add_exclude):
76340         Add support for the fancy new exclusion options.
76341         (add_exclude, add_exclude_file): Now takes int options arg.
76342         Check for arithmetic overflow when computing sizes.
76343         (add_exclude_file): xrealloc might modify errno, so don't
76344         realloc until after errno might be used.
76345
76346         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
76347         New macros.
76348         (free_exclude): New decl.
76349         (add_exclude, add_exclude_file): Now takes int options arg.
76350         (excluded_filename): No longer requires options arg, as the options
76351         are determined by add_exclude.  Now returns bool, not int.
76352
76353 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76354
76355         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
76356
76357 2001-08-27  Jim Meyering  <meyering@lucent.com>
76358
76359         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
76360
76361         * lib/version-etc.c (N_): Remove definition.
76362         Revert most of last change.
76363         Instead, simply don't mark the `Copyright...' string for translation.
76364         Based on advice from Paul Eggert.
76365
76366         * lib/strtoxmax.c: Tweak comment.
76367
76368 2001-08-26  Jim Meyering  <meyering@lucent.com>
76369
76370         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
76371
76372         * m4/xstrtoimax.m4: New file.
76373         * m4/xstrtoumax.m4: Add comments explaining why we
76374         AC_REPLACE_FUNCS(strtol).
76375
76376 2001-08-26  Jim Meyering  <meyering@lucent.com>
76377
76378         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
76379         of copyright with `%s' so translators don't get an untranslated
76380         message in 2002.
76381         (COPYRIGHT_YEAR): Define.
76382         (version_etc): Use fprintf rather than fputs.
76383         Suggestion from Ulrich Drepper.
76384
76385         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
76386
76387         * lib/strtoll.c: New file, from GNU libc.
76388         * lib/xstrtoimax.c: New file.
76389
76390         * lib/xstrtol.h: Add xstrtoimax.
76391         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
76392         * lib/strtoimax.c: New file.  Likewise, but first define
76393         STRTOUXMAX_SIGNED.
76394
76395         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
76396         ...
76397         * lib/strtoxmax.c: ... then renamed to this.
76398
76399 2001-08-18  Paul Eggert  <eggert@twinsun.com>
76400
76401         * m4/inttypes.m4: Add AC_PREREQ(2.13).
76402         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
76403         (jm_AC_TYPE_INTMAX_T): New macro.
76404         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
76405
76406         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
76407
76408         * m4/longlong.m4: Renamed from ulonglong.m4.
76409         * m4/inttypes.m4: Renamed from inttypes_h.m4.
76410         * m4/uintmax_t.m4: Removed.
76411
76412 2001-08-13  Paul Eggert  <eggert@twinsun.com>
76413
76414         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
76415         Port to Solaris 8, where 'sed' requires a space after the 'r'
76416         command, and where sh dislikes "$/".  Clean up the spacing a bit.
76417         Redirect output to $tmp just once.
76418
76419 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
76420
76421         * lib/addext.c (<errno.h>): Include.
76422         (errno): Declare if not defined.
76423         (addext): Work correctly when pathconf returns -1 and leaves
76424         errno alone because there is no limit.  Also, work even if
76425         pathconf returns a value greater than SIZE_MAX.
76426
76427 2001-08-12  Jim Meyering  <meyering@lucent.com>
76428
76429         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
76430         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
76431         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
76432         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
76433         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
76434         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
76435         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
76436         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
76437         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
76438         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
76439         utime.m4, utimes.m4, xstrtoumax.m4:
76440         Quote the first argument in each use of AC_DEFUN.
76441
76442 2001-08-12  Jim Meyering  <meyering@lucent.com>
76443
76444         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
76445         Simply `return getcwd (NULL, 0);'.
76446         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
76447         Use 1300 as initial value for length, not PATH_MAX.
76448
76449         * lib/pathmax.h: Clean up cpp syntax.
76450
76451 2001-08-12  Jim Meyering  <meyering@lucent.com>
76452
76453         * lib/gettimeofday.c: New file.
76454         * lib/gtod.h: New file.
76455         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
76456
76457 2001-08-05  Jim Meyering  <meyering@lucent.com>
76458
76459         * m4/jm-macros.m4: Require autoconf-2.52.
76460
76461 2001-08-04  Jim Meyering  <meyering@lucent.com>
76462
76463         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
76464         stmt, to get in sync with glibc.
76465
76466 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76467
76468         The following changes are from gettext 0.10.39 as maintained by
76469         Bruno Haible.
76470
76471         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
76472         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
76473         with inverted sense.  All uses changed.
76474
76475         * lib/mbswidth.c: Don't include <limits.h>.
76476         Include <stdlib.h> and <string.h> unconditionally.
76477         (iswcntrl, mbsinit, ISCNTRL): New macros.
76478         (mbsnwidth): Use K&R style function declarations.
76479         Don't bother checking for MB_LEN_MAX == 1, since the compiler
76480         can optimize it when MB_CUR_MAX == 1.
76481         The width of control characters is zero, not 1.
76482
76483 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76484
76485         The following changes are from gettext 0.10.39 as maintained by
76486         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
76487
76488         * m4/codeset.m4: Upgrade to serial AM1.
76489         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
76490         all uses changed.  Quote first arg of AC_DEFUN.
76491         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
76492
76493         * m4/iconv.m4: Upgrade to serial AM2.
76494         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
76495         Add --with-libconv-prefix.
76496         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
76497         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
76498         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
76499         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
76500         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
76501
76502         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
76503         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
76504         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
76505         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
76506         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
76507         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
76508         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
76509         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
76510         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76511
76512         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
76513         string.h any more.
76514
76515         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
76516         not the default value.
76517
76518         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
76519         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
76520         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
76521         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
76522         Also check for iswcntrl, used for wcwidth fallback.
76523         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
76524         to Autoconf 2.13.
76525
76526 2001-08-03  Jim Meyering  <meyering@lucent.com>
76527
76528         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
76529         as it was in the original.  Reported by Paul Eggert.
76530
76531 2001-07-16  Jim Meyering  <meyering@lucent.com>
76532
76533         * m4/gettimeofday.m4: New file.
76534         Prompted by a report from Bernhard Baehr.
76535
76536 2001-07-15  Jim Meyering  <meyering@lucent.com>
76537
76538         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
76539         stuff. Now it's in ../Makefile.cfg.
76540
76541 2001-07-15  Jim Meyering  <meyering@lucent.com>
76542
76543         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
76544         (BUILT_SOURCES): Add unlocked-io.h.
76545         (io_functions): Define.
76546         (unlocked-io.h): New rule.
76547         (DISTCLEANFILES): Add unlocked-io.h.
76548         (all-local): Depend on unlocked-io.h, to ensure it is created.
76549
76550         * lib/unlocked-io.hin: New file
76551
76552         * lib/regex.c: Update from glibc.
76553
76554 2001-07-05  Jim Meyering  <meyering@lucent.com>
76555
76556         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
76557         recommendation.
76558         (libfetish_a_SOURCES): Put all .h files here instead.
76559         Remove a thus-exposed (better checks in automake) duplicate and
76560         two unnecessary .h files.
76561
76562 2001-07-04  Jim Meyering  <meyering@lucent.com>
76563
76564         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
76565         that generates jm-glibc-io.m4 so that it doesn't trigger any make
76566         distcheck failure.
76567
76568 2001-07-02  Jim Meyering  <meyering@lucent.com>
76569
76570         The following changes were prompted by suggestions from Bruno Haible.
76571
76572         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
76573         is now generated.
76574         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
76575         definition of EXTRA_DIST.
76576         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
76577         ensure that the generated file is created/updated whenever the list
76578         of $(unlocked_functions) is changed.
76579         (jm-glibc-io.m4): New rule.
76580         (unlocked-io.h): New rule -- currently unused.
76581
76582 2001-06-24  Jim Meyering  <meyering@lucent.com>
76583
76584         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
76585         unmatched right bracket, rather than kludging it with an extra,
76586         falsely-matching quote in a comment.  Patch by Akim Demaille.
76587
76588 2001-06-11  Jim Meyering  <meyering@lucent.com>
76589
76590         * lib/regex.c: Update from GNU libc.
76591
76592 2001-05-27  Jim Meyering  <meyering@lucent.com>
76593
76594         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
76595         Check for ut_type in struct utmp.
76596
76597 2001-05-27  Jim Meyering  <meyering@lucent.com>
76598
76599         * lib/readutmp.h (UT_TYPE): Define.
76600
76601 2001-05-24  Jim Meyering  <meyering@lucent.com>
76602
76603         * lib/argmatch.c: Include "quote.h".
76604         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
76605         quote function.  Reported by Göran Uddeborg.
76606
76607 2001-05-22  Jim Meyering  <meyering@lucent.com>
76608
76609         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
76610         now that we use the package-supplied version unconditionally.
76611         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
76612
76613 2001-05-21  Jim Meyering  <meyering@lucent.com>
76614
76615         * m4/regex.m4: Change a couple backticks to single quotes to avoid
76616         shell syntax errors.
76617
76618 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76619
76620         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
76621
76622 2001-05-20  Paul Eggert  <eggert@twinsun.com>
76623
76624         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
76625         Don't bother to check library strftime, since
76626         we'll be using our own my_strftime function anyway.
76627         Define my_strftime instead of strftime.
76628
76629 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
76630
76631         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
76632         which is not yet declared.
76633
76634 2001-05-15  Jim Meyering  <meyering@lucent.com>
76635
76636         * m4/regex.m4: Use proper quoting so brackets appear in the test
76637         program.
76638         Reported by, and with help from, Bruno Haible.
76639
76640 2001-05-13  Jim Meyering  <meyering@lucent.com>
76641
76642         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
76643         undefined.
76644
76645 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76646
76647         dirname code cleanup.  base_name now behaves more compatibly
76648         with POSIX basename when given file names that have trailing
76649         slashes, and similarly for dir_name.  Add new primitives
76650         base_len and dir_len.  Put the directory-name-related decls
76651         into dirname.h.
76652
76653         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
76654         * lib/backupfile.c (base_name): Likewise.
76655         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
76656         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
76657         * lib/makepath.c (strip_trailing_slashes): Likewise.
76658         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
76659         ISSLASH): Likewise.
76660         * lib/rename.c (strip_trailing_slashes): Likewise.
76661         * lib/same.c (base_name): Likewise.
76662         * lib/stripslash.c (ISSLASH): Likewise.
76663
76664         * lib/addext.c: Include <dirname.h> after size_t is defined.
76665         * lib/backupfile.c: Likewise.
76666
76667         * lib/addext.c (addext): Use base_len to trim redundant
76668         trailing slashes instead of doing it ourselves.
76669         But do not trim the last slash if it is not redundant.
76670
76671         * lib/backupfile.c (find_backup_file_name,
76672         max_backup_version): Use base_len instead of rolling it ourselves.
76673         Handle the case of "" and (on DOS) "C:" correctly.
76674
76675         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
76676         needed. Include <string.h>, <dirname.h>.
76677         (base_name): Allow file names ending in slashes, other than names
76678         that are all slashes.  In this case, return the basename followed
76679         by the slashes.  This is more general, and can be used in places
76680         where the original base_name purposely had an assertion failure.
76681         (base_len): New function.
76682
76683         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
76684         Do not include <assert.h>; no longer needed.
76685         Include xalloc.h.
76686         (memrchr): Remove decl.
76687         (dir_name_r): Remove.
76688         (dir_len): Renamed from dirlen.  All callers changed.
76689         Rewrite in terms of base_name, for simplicity and consistency.
76690         (dir_name): Never return NULL.  All callers changed.
76691         Do not include <stdlib.h> in test program; no longer needed.
76692         return 0; is fine for test program.
76693
76694         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
76695         New macros.
76696         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
76697
76698         * lib/path-concat.c (path_concat): Use base_len to compute
76699         base length, not strlen; this means we cannot rely on memcpy
76700         to null-terminate.
76701
76702         * lib/same.c (STREQ): Remove.
76703         (same_name): Handle the case where the basename ends in trailing '/'.
76704
76705         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
76706         a slash was stripped.  Do not strip the last slash after a
76707         file system prefix.
76708
76709 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76710
76711         * lib/Makefile.am (libfetish_a_SOURCES):
76712         Add strftime.c, since we now compile it on all hosts.
76713
76714         * lib/strftime.c (my_strftime):
76715         Define to nstrftime if emacs, but only if my_strftime is not defined.
76716         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
76717         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
76718         Add one more extra argument: a nanoseconds value.
76719         All uses changed.
76720         (ns): New macro.
76721         (my_strftime function): Add %N format.
76722         (emacs_strftimeu): Renamed from emacs_strftime,
76723         with extra ut argument.
76724
76725 2001-05-09  Paul Eggert  <eggert@twinsun.com>
76726
76727         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
76728
76729 2001-04-21  Jim Meyering  <meyering@lucent.com>
76730
76731         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
76732         doesn't interfere.
76733
76734 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76735
76736         * m4/ftruncate.m4: Check for chsize.
76737         Link with ftruncate.o unconditionally if ftruncate is missing.
76738         This was required when cross-compiling to i586-mingw32msvc.
76739
76740 2001-04-08  Jim Meyering  <meyering@lucent.com>
76741
76742         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
76743         recomputed; that's necessary when the offset spans a DST transition.
76744         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
76745
76746 2001-04-02  Jim Meyering  <meyering@lucent.com>
76747
76748         * lib/regex.h, regex.c: Update from GNU libc.
76749
76750 2001-03-24  Jim Meyering  <meyering@lucent.com>
76751
76752         * m4/jm-macros.m4: Require autoconf-2.49d.
76753
76754 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
76755
76756         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
76757
76758 2001-03-19  Paul Eggert  <eggert@twinsun.com>
76759
76760         * lib/version-etc.c (version_etc_copyright): Update to 2001.
76761
76762 2001-03-17  Jim Meyering  <meyering@lucent.com>
76763
76764         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
76765         now that the version in autoconf is equivalent.
76766         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
76767
76768         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
76769         Suggestion from Akim Demaille.
76770
76771         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
76772         (jm_PREREQ_TEMPNAME): New function.
76773
76774 2001-03-16  Paul Eggert  <eggert@twinsun.com>
76775
76776         * lib/tempname.c (uint64_t): Define to uintmax_t if
76777         not defined, and if UINT64_MAX is not defined.
76778         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
76779         Reported by John David Anglin.
76780
76781 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
76782
76783         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
76784         resolve alias if codeset is empty.
76785         * lib/config.charset (BeOS): Use wildcard syntax.
76786
76787 2001-03-13  Jim Meyering  <meyering@lucent.com>
76788
76789         * lib/path-concat.c (path_concat)
76790         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
76791         concatenating e.g., `C:' and `foo'.
76792         From Bruno Haible.
76793
76794 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76795
76796         * lib/localcharset.c (locale_charset): Don't use
76797         setlocale(LC_CTYPE,NULL). Don't return NULL.
76798         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
76799
76800 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76801
76802         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
76803         support for DOS/DJGPP.
76804
76805 2001-03-01  Paul Eggert  <eggert@twinsun.com>
76806
76807         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
76808         lacks mkstemp.  Compile our own tempname.c if we compile our own
76809         mkstemp.c, as mkstemp relies on tempname.
76810
76811 2001-03-01  Jim Meyering  <meyering@lucent.com>
76812
76813         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
76814         AH_VERBATIM really does output its argument verbatim.
76815
76816 2001-02-28  Paul Eggert  <eggert@twinsun.com>
76817
76818         * lib/Makefile.am (libfetish_a_SOURCES):
76819         Add dup-safer.c, fopen-safer.c.
76820         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
76821
76822         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
76823         * lib/unistd-safer.h: New files.
76824
76825 2001-02-25  Paul Eggert  <eggert@twinsun.com>
76826
76827         The mkstemp replacement is taken from glibc 2.2.2, with some
76828         portability fixes for use outside glibc, as follows:
76829
76830         * lib/tempname.c (struct_stat64): New macro.
76831         (direxists, __gen_tempname): Use it.
76832         This avoids a portability problem with Solaris 8.
76833
76834         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
76835         (<stddef.h>, <stdint.h>, <string.h>):
76836         Include only if STDC_HEADERS || _LIBC.
76837         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
76838         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
76839         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
76840         (__set_errno): Define this macro if <errno.h> doesn't.
76841         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
76842         Define these macros if <stdio.h> doesn't.
76843         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
76844         Define these macros if <sys/stat.h>
76845         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
76846         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
76847         __xstat64): Define if not _LIBC.
76848         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
76849         (__gen_tempname): Invoke gettimeofday only if
76850         HAVE_GETTIMEOFDAY || _LIBC;
76851         otherwise, fall back on plain "time".
76852         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
76853
76854         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
76855
76856         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
76857
76858 2001-02-18  Paul Eggert  <eggert@twinsun.com>
76859
76860         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
76861
76862 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76863
76864         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
76865         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
76866         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
76867         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76868
76869 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76870
76871         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
76872         Remove workaround macros for hosts that have mbrtowc but not
76873         mbstate_t, as we now insist on proper declarations for both
76874         before using mbrtowc.
76875
76876 2001-02-17  Jim Meyering  <meyering@lucent.com>
76877
76878         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
76879         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
76880         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
76881         UnixWare 7.1.1.
76882
76883         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
76884         rather than AC_CACHE_VAL.
76885
76886 2001-02-17  Jim Meyering  <meyering@lucent.com>
76887
76888         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
76889         around included file name.
76890
76891         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
76892
76893         * lib/strftime.c: Update from GNU libc (the only changes were to
76894         comments).
76895
76896 2001-02-17  Jim Meyering  <meyering@lucent.com>
76897
76898         * lib/regex.c: Update from libc.
76899
76900 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
76901
76902         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
76903         clash.
76904
76905 2001-02-16  Paul Eggert  <eggert@twinsun.com>
76906
76907         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
76908         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
76909         Reported by Mark Hounschell via Paul Eggert.
76910
76911 2001-02-07  Jim Meyering  <meyering@lucent.com>
76912
76913         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
76914
76915 2001-02-05  Jim Meyering  <meyering@lucent.com>
76916
76917         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
76918         it includes the patch required for `large file' support with at least
76919         HP-UX's 10.20 /bin/cc.
76920
76921 2001-02-03  Jim Meyering  <meyering@lucent.com>
76922
76923         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
76924         AS_IF, now that it works once again (mysteriously).
76925         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76926
76927 2001-01-30  Jim Meyering  <meyering@lucent.com>
76928
76929         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
76930         * m4/chown.m4: Rename conftestchown to conftest.chown.
76931         * m4/rename.m4: s/conftestdir/conftest.d1/ and
76932         s/conftestdir2/conftest.d2/.
76933         * m4/utimes.m4: s/conftestdata/conftest.data/
76934         Inspired by Pavel Roskin's change in autoconf.
76935
76936 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
76937
76938         * lib/config.charset: Update for FreeBSD 4.2.
76939
76940 2001-01-27  Jim Meyering  <meyering@lucent.com>
76941
76942         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
76943         a use of AS_IF.
76944         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76945
76946 2001-01-26  Jim Meyering  <meyering@lucent.com>
76947
76948         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
76949         quotearg.c includes it.
76950
76951 2001-01-26  Jim Meyering  <meyering@lucent.com>
76952
76953         * lib/quotearg.c: Include stddef.h.
76954         * lib/quote.c: Include stddef.h.
76955         Reported by Axel Kittenberger.
76956
76957         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
76958         line in double quotes so that it evokes a better diagnostic.
76959         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
76960         Reported by Axel Kittenberger.
76961
76962 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
76963
76964         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
76965         as if it was a `charset'.
76966
76967 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
76968
76969         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
76970         has const.
76971
76972 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
76973
76974         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
76975         to avoid a warning.  Add back 'const' to inptr.
76976
76977 2001-01-20  Jim Meyering  <meyering@lucent.com>
76978
76979         Be sure that headers are checked before used in code compiled
76980         for the type checks.
76981         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
76982         In place of that, invoke jm_CHECK_ALL_TYPES.
76983         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
76984         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
76985         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
76986         The check for ssize_t was mistakenly run before the test for unistd.h.
76987
76988         The configure-time check for stdbool.h was missing.
76989         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
76990         (jm_PREREQ_HASH): New function.
76991
76992 2001-01-17  Jim Meyering  <meyering@lucent.com>
76993
76994         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
76995         for autoconf-2.49c.
76996         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
76997
76998 2001-01-16  Jim Meyering  <meyering@lucent.com>
76999
77000         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
77001         From Bruno Haible.
77002
77003 2001-01-14  Jim Meyering  <meyering@lucent.com>
77004
77005         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
77006         foo and bar.  Create conftestdir/ in the script, not in the C code.
77007         Remove directories in the script, not in the C code.
77008         Remove conftestdir{,2} before trying to create the directory.
77009         Make the entire configure script fail if the mkdir fails.
77010
77011 2001-01-14  Jim Meyering  <meyering@lucent.com>
77012
77013         * lib/rename.c: New file.  From Volker Borchert.
77014         Include stdlib.h, string.h or strings.h, and xalloc.h.
77015         Use strip_trailing_slashes rather than open-coding it.
77016
77017 2001-01-03  Paul Eggert  <eggert@twinsun.com>
77018
77019         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
77020
77021 2001-01-03  Jim Meyering  <meyering@lucent.com>
77022
77023         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
77024         of local `inptr' to avoid warning with some system declarations of
77025         iconv.
77026
77027 2001-01-02  Volker Borchert  <bt@teknon.de>
77028
77029         * m4/rename.m4: New file.
77030         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
77031
77032 2001-01-01  Jim Meyering  <meyering@lucent.com>
77033
77034         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
77035         even on systems with utmpx.h.  It's necessary for the declaration of
77036         utmp's ut_user member.  Reported by Andreas Jaeger.
77037
77038         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
77039         available. They are required for the declarations of getgrgid and
77040         getpwuid resp.
77041         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
77042         Reported by Andreas Jaeger.
77043
77044 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
77045
77046         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
77047         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
77048         so `make install' also works in VPATH builds.
77049
77050 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
77051
77052         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
77053         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
77054         can be used in subdirectories.
77055
77056 2000-12-29  Paul Eggert  <eggert@twinsun.com>
77057
77058         * lib/modechange.c: Do not assume that mode_t uses the
77059         traditional octal encoding.  E.g. "chmod 1 FOO" should set
77060         the other-execute bit of FOO even if S_IXOTH != 1.
77061
77062         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
77063         WOTH, XOTH, ALLM): New macros.
77064         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
77065          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
77066         Use them.
77067         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
77068         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
77069         (mode_compile):
77070         No need to use uintmax_t; unsigned long is long enough.
77071         Don't bother to get suffix since we don't use it.
77072
77073 2000-12-26  Jim Meyering  <meyering@lucent.com>
77074
77075         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
77076         better with autoheader.
77077
77078 2000-12-24  Jim Meyering  <meyering@lucent.com>
77079
77080         * lib/hash.c (is_prime): Return explicit boolean values.
77081         (hash_get_first): Return NULL to appease Irix5.6's 89.
77082         Reported by Nelson Beebe.
77083
77084 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
77085
77086         * lib/localcharset.c (locale_charset): Add support for Win32.
77087
77088 2000-12-18  Paul Eggert  <eggert@twinsun.com>
77089
77090         * lib/physmem.h, lib/physmem.c: New files.
77091
77092         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
77093         (noinst_HEADERS): Add physmem.h.
77094
77095         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
77096         't' for compatibility with Solaris 8 sort.
77097
77098 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
77099
77100         * lib/config.charset: Add support for BeOS.
77101
77102 2000-12-17  Jim Meyering  <meyering@lucent.com>
77103
77104         * m4/dos.m4 (jm_AC_DOS): New file and macro.
77105         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
77106
77107 2000-12-16  Jim Meyering  <meyering@lucent.com>
77108
77109         This bug had a serious impact on chown: `chown N:M FILE' (for integer
77110         N and M) would have treated it like `chown N:N FILE'.
77111
77112         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
77113
77114 2000-12-16  Jim Meyering  <meyering@lucent.com>
77115
77116         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
77117         SHELLS_FILE to a file name that's useful on djgpp systems.
77118         Include stdlib.h.
77119         (ADDITIONAL_DEFAULT_SHELLS): Define.
77120         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
77121         Based mostly on a patch from Prashant TR.
77122
77123 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
77124
77125         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
77126         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
77127         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
77128
77129 2000-12-08  Andreas Schwab  <schwab@suse.de>
77130
77131         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
77132         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
77133
77134 2000-12-07  Jim Meyering  <meyering@lucent.com>
77135
77136         * lib/stripslash.c (ISSLASH): Define.
77137         (strip_trailing_slashes): Use ISSLASH rather than comparing against
77138         `/'.
77139         From Prashant TR.
77140
77141         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
77142         (dir_name_r): Declare this function as static.
77143         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
77144         manifest itself on a name containing a mix of slashes and
77145         backslashes.
77146         Make this function work with names starting with a DOS-style
77147         drive letter and colon prefix.
77148         (dir_name): Append `.' if necessary.
77149         Based mostly on patches from Prashant TR and Eli Zaretskii.
77150
77151         * lib/dirname.h (dir_name_r): Remove prototype.
77152
77153 2000-12-06  Paul Eggert  <eggert@twinsun.com>
77154
77155         * m4/off_t-format.m4: Remove this file.
77156         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
77157
77158 2000-12-06  Jim Meyering  <meyering@lucent.com>
77159
77160         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
77161         replacement strtoull, we may well need the replacement strtoul, too.
77162         Check for declarations of strtoul and strtoull.
77163         Check for strtol.  Mainly as a cue to cause automake to include
77164         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
77165         Check for limits.h -- strtol.c needs it.
77166
77167 2000-12-05  Jim Meyering  <meyering@lucent.com>
77168
77169         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
77170
77171 2000-12-04  Jim Meyering  <meyering@lucent.com>
77172
77173         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
77174         Also include memory.h, stdlib.h, unistd.h if appropriate.
77175         Reported by Andreas Jaeger (conflicting declaration of malloc).
77176
77177 2000-12-02  Jim Meyering  <meyering@lucent.com>
77178
77179         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
77180         * m4/jm-macros.m4 (jm_MACROS): require it.
77181
77182 2000-12-02  Jim Meyering  <meyering@lucent.com>
77183
77184         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
77185
77186 2000-12-01  Paul Eggert  <eggert@twinsun.com>
77187
77188         * lib/memrchr.c: Include <config.h> before any system include file.
77189
77190 2000-11-30  Jim Meyering  <meyering@lucent.com>
77191
77192         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
77193
77194 2000-11-30  Jim Meyering  <meyering@lucent.com>
77195
77196         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
77197
77198 2000-11-29  Paul Eggert  <eggert@twinsun.com>
77199
77200         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
77201
77202 2000-11-26  Jim Meyering  <meyering@lucent.com>
77203
77204         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
77205
77206 2000-11-22  Paul Eggert  <eggert@twinsun.com>
77207
77208         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
77209         size of (size_t) -1; it's not portable.
77210
77211 2000-11-17  Jim Meyering  <meyering@lucent.com>
77212
77213         * lib/strstr.c: Update from GNU libc.
77214
77215 2000-11-17  Akim Demaille  <akim@epita.fr>
77216
77217         * lib/obstack.h: Formatting changes.
77218         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
77219         prevent type checking.
77220         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
77221         cast the value to (void *): assigning a `foo *' to a `void *'
77222         variable is valid.
77223         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
77224
77225 2000-11-16  Jim Meyering  <meyering@lucent.com>
77226
77227         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
77228
77229 2000-11-11  Jim Meyering  <meyering@lucent.com>
77230
77231         * lib/error.c: Add a couple #includes, merging from GNU libc version.
77232
77233 2000-11-10  Jim Meyering  <meyering@lucent.com>
77234
77235         * lib/obstack.h: Update from GNU libc.
77236         * lib/obstack.c: Likewise.
77237
77238 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
77239
77240         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
77241
77242 2000-11-06  Paul Eggert  <eggert@twinsun.com>
77243
77244         * lib/getusershell.c (setusershell): Use rewind rather than
77245         fseek/fseeko, to avoid configuration hassles with fseeko.
77246         Don't bother opening SHELLS_FILE if shellstream is NULL;
77247         it's not necessary.
77248
77249 2000-11-05  Jim Meyering  <meyering@lucent.com>
77250
77251         * lib/makepath.h (make_dir): Declare.
77252         * lib/makepath.c (make_dir): Remove `static' attribute.
77253         Tweak a comment.
77254
77255 2000-11-04  Jim Meyering  <meyering@lucent.com>
77256
77257         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
77258
77259 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
77260
77261         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
77262         last one in a bucket, advance to the next bucket.
77263
77264 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
77265
77266         * lib/fnmatch.c: Do not comment out all the code if we are using
77267         the GNU C library, because in some cases we are replacing buggy
77268         code in the GNU C library itself.
77269
77270 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
77271
77272         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
77273         (regex_compile): Catch bogus \(\1\).
77274
77275 2000-10-30  Paul Eggert  <eggert@twinsun.com>
77276
77277         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
77278         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
77279         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
77280
77281 2000-10-30  Paul Eggert  <eggert@twinsun.com>
77282
77283         * lib/error.h, getline.h, modechange.h:
77284         Remove "2000" from Copyright line, as the file hasn't been
77285         changed this year other than in the copyright notice.
77286
77287         * lib/xalloc.h: Add "2000" to Copyright line, as this file
77288         was changed this year.
77289
77290 2000-10-29  Jim Meyering  <meyering@lucent.com>
77291
77292         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
77293         renaming.
77294         * m4/ls-mntd-fs.m4: Likewise
77295
77296 2000-10-29  Jim Meyering  <meyering@lucent.com>
77297
77298         * lib/xstat.in: Fix grammar in comment.
77299
77300 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
77301
77302         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
77303         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
77304         doesn't define __restrict_arr.
77305
77306 2000-10-28  Jim Meyering  <meyering@lucent.com>
77307
77308         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
77309         (jm_PREREQ_MEMCHR): New function.
77310
77311 2000-10-28  Jim Meyering  <meyering@lucent.com>
77312
77313         * lib/memchr.c: Update from libc.
77314         Adjust for portability:
77315         [HAVE_STDLIB_H]: Include stdlib.h.
77316         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
77317         Undef __memchr, too.
77318         [!weak_alias]: Define __memchr to memchr.
77319
77320         * lib/regex.c: Update from libc.
77321         * lib/regex.h: Likewise.
77322         * lib/getopt1.c: Likewise.
77323         * lib/memcmp.c: Likewise.
77324
77325         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
77326         Avoid using fseek, when possible -- it's broken by design.
77327         Patch by Ulrich Drepper.
77328
77329 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
77330
77331         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
77332         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
77333         Giving in to popular pressure to shut up the compiler with casts.
77334
77335 2000-10-26  Jim Meyering  <meyering@lucent.com>
77336
77337         * lib/strftime.c: Update from libc.
77338
77339 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
77340
77341         * regex.c: More `unsigned char' -> `re_char' changes.
77342         Also change several `int' into `re_wchar_t'.
77343         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
77344         (PUSH_FAILURE_POINTER): Don't cast any more.
77345         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
77346         We want GCC to complain, since this piece of code makes
77347         re_match non-reentrant, which *should* be fixed.
77348         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
77349         (EXTEND_BUFFER): Use RETALLOC.
77350         (SET_LIST_BIT): Don't cast.
77351         (re_wchar_t): New type.
77352         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
77353         that those two functions will always properly return.
77354         (IMMEDIATE_QUIT_CHECK): Cast to void.
77355         (analyse_first): Use recursion rather than an explicit stack.
77356         (re_compile_fastmap): Can't fail anymore.
77357         (re_search_2): Don't check re_compile_fastmap for failure.
77358         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
77359         Now also sets the new value (passed in a new argument).
77360         (re_match_2_internal): Use it.
77361         Also, use a new var `reg' of type size_t when looping through regs
77362         rather than reuse the inappropriate `mcnt'.
77363
77364 2000-10-25  Jim Meyering  <meyering@lucent.com>
77365
77366         * lib/obstack.c: Update from libc.
77367
77368 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
77369
77370         * regex.c (regex_compile): Change the way of handling a range from
77371         a char less than 256 to a char not less than 256.
77372
77373 2000-10-24  Andrew Innes  <andrewi@gnu.org>
77374
77375         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
77376         NT-Emacs only.
77377         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
77378         so that re_search functions only quit when callers expect them to.
77379
77380 2000-10-23  Jim Meyering  <meyering@lucent.com>
77381
77382         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
77383         wrong.  That set_locale call must not have any side effects.
77384         From Paul Eggert.
77385
77386 2000-10-22  Jim Meyering  <meyering@lucent.com>
77387
77388         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
77389         [CYCLIC]: Remove now-unused definition.
77390
77391         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
77392         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
77393         Suggestion from Ulrich Drepper.
77394
77395 2000-10-21  Jim Meyering  <meyering@lucent.com>
77396
77397         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
77398         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
77399         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
77400
77401 2000-10-21  Jim Meyering  <meyering@lucent.com>
77402
77403         * lib/dirname.c (memrchr): Declare if necessary.
77404         (dir_name): Remove the restriction that there be no
77405         trailing slashes.  Now, this code skips past them, effectively
77406         ignoring them.
77407         [TEST_DIRNAME] (main): New unit tests.
77408
77409         * lib/memrchr.c: New file from GNU libc.
77410         Undef __memrchr, too.
77411         [!weak_alias]: Define __memrchr to memrchr.
77412         Guard weak_alias use with `#ifdef weak_alias'.
77413
77414 2000-10-21  Jim Meyering  <meyering@lucent.com>
77415
77416         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
77417         (dir_name): Use dir_name_r.
77418         * lib/dirname.h (dir_name_r): Declare it.
77419
77420 2000-10-17  Jim Meyering  <meyering@lucent.com>
77421
77422         * lib/quote.h (PARAMS): Define and use.
77423         Reported by Akim Demaille.
77424
77425         * lib/getopt.c: Update from libc.
77426
77427 2000-10-16  Jim Meyering  <meyering@lucent.com>
77428
77429         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
77430         setlocale.
77431         From Jan Fedak.
77432
77433 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
77434
77435         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
77436
77437 2000-09-25  Jim Meyering  <meyering@lucent.com>
77438
77439         * lib/md5.h (rol): Define (from GnuPG).
77440
77441         * lib/sha.c: Give credit (GnuPG) where due.
77442         (M): Use rol rather than open-coding it.
77443         Add a FIXME comment.
77444
77445 2000-09-21  Jim Meyering  <meyering@lucent.com>
77446
77447         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
77448         Reported by Michael Stone.
77449
77450 2000-09-20  Jim Meyering  <meyering@lucent.com>
77451
77452         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
77453         (noinst_HEADERS): Add sha.h.
77454         Based on code from Scott G. Miller and from GnuPG.
77455
77456 2000-09-18  Jim Meyering  <meyering@lucent.com>
77457
77458         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
77459         LIBS. Otherwise, everyone ends up linking with -lelf for some
77460         configurations.
77461         Reported by Mike Stone.
77462
77463 2000-09-15  Jim Meyering  <meyering@lucent.com>
77464
77465         * lib/regex.c: Update from libc.
77466
77467 2000-09-10  Jim Meyering  <meyering@lucent.com>
77468
77469         * lib/getopt.c (_getopt_internal): Update from glibc.
77470
77471 2000-09-09  Jim Meyering  <meyering@lucent.com>
77472
77473         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
77474         think it should be used as a general replacement for isascii.
77475         * lib/fnmatch.c: Likewise.
77476         * lib/mbswidth.c: Likewise
77477         * lib/regex.c: Likewise.
77478
77479         Don't use atoi.
77480         * lib/userspec.c: Include sys/param.h and limits.h.
77481         Include xstrtol.h.
77482         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
77483         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
77484         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
77485         UID, GID.  Check range.
77486
77487 2000-09-06  Jim Meyering  <meyering@lucent.com>
77488
77489         * lib/getopt.c (_getopt_internal): Update from glibc.
77490
77491 2000-08-30  Jim Meyering  <meyering@lucent.com>
77492
77493         * lib/strftime.c: Merge in changes from GNU libc.
77494
77495 2000-08-26  Jim Meyering  <meyering@lucent.com>
77496
77497         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
77498         * m4/fpending.m4: New file.
77499
77500 2000-08-26  Jim Meyering  <meyering@lucent.com>
77501
77502         * lib/closeout.c: Include "__fpending.h".
77503         (close_stdout_status): Return right away if there's nothing to flush.
77504
77505         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
77506         * lib/__fpending.c: New file.
77507         * lib/__fpending.h: New file.
77508
77509 2000-08-20  Jim Meyering  <meyering@lucent.com>
77510
77511         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
77512         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
77513         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
77514
77515 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
77516
77517         Improve fileutils installation on systems where running
77518         programs (like install) can't be unlinked.
77519         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
77520         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
77521
77522 2000-08-07  Paul Eggert  <eggert@twinsun.com>
77523
77524         Standardize on "memory exhausted" instead of "Memory exhausted"
77525         or "virtual memory exhausted".
77526         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
77527         "virtual memory exhausted".
77528         * lib/same.c (same_name): Invoke xalloc_die instead of printing
77529         our own message.
77530         * lib/userspec.c (parse_user_spec): Likewise.
77531         * lib/bumpalloc.h: comment fix
77532         * lib/same.c, userspec.c: Include xalloc.h.
77533
77534         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
77535         not char *const and pointing to a constant array.
77536         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
77537         (xrealloc): Comment fix.
77538
77539         * lib/userspec.c (parse_user_spec):
77540         Don't translate a message until just before returning,
77541         to avoid unnecessary translation.
77542
77543 2000-08-07  Jim Meyering  <meyering@lucent.com>
77544
77545         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
77546         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
77547         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
77548         getgroups.c, gethostname.c, getopt.h, group-member.c,
77549         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
77550         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
77551         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
77552         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
77553         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
77554         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
77555         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
77556         yesno.c: Back out Copyright date changes for each file with no change
77557         this year.  This eases coordination with other programs using the same
77558         source code modules.  From Paul Eggert.
77559
77560 2000-08-06  Paul Eggert  <eggert@twinsun.com>
77561
77562         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
77563         not char, for compatibility with glibc 2.1.3 strftime.c.
77564
77565 2000-08-03  Greg McGary  <greg@mcgary.org>
77566
77567         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
77568         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
77569         (EXTEND_BUFFER): Use them.
77570
77571 2000-08-01  Jim Meyering  <meyering@lucent.com>
77572
77573         * lib/dirname.c (ISSLASH): Define.
77574         (BACKSLASH_IS_PATH_SEPARATOR): Define.
77575         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
77576         both `\' and `/' may be use as path separators.
77577         Based on a patch from Prashant TR.
77578
77579 2000-07-31  Paul Eggert  <eggert@twinsun.com>
77580
77581         * lib/quotearg.c (quotearg_n_options): Don't make the initial
77582         slot vector a constant, since it might get modified.
77583
77584 2000-07-31  Jim Meyering  <meyering@lucent.com>
77585
77586         * lib/xmalloc.c: Use `virtual memory exhausted', not
77587         `Memory exhausted'.
77588         * lib/obstack.c (print_and_abort): Likewise.
77589
77590 2000-07-30  Paul Eggert  <eggert@twinsun.com>
77591
77592         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
77593         buffer, so that the caller can always quote one small
77594         component of a "memory exhausted" message in slot 0.
77595         From a suggestion by Jim Meyering.
77596
77597 2000-07-30  Jim Meyering  <meyering@lucent.com>
77598
77599         * lib/makepath.c (make_path): Quote the other instance, too.
77600
77601         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
77602         (STATIC_BUF_SIZE): Define.
77603         (quotearg_n_options): Use only statically allocated storage when
77604         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
77605         than STATIC_BUF_SIZE.
77606
77607 2000-07-29  Jim Meyering  <meyering@lucent.com>
77608
77609         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
77610         * lib/dirname.c (dir_name): Likewise.
77611
77612         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
77613         `/'.
77614
77615         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
77616         (dir_name): Assert that there are no trailing slashes.
77617
77618 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
77619
77620         * lib/mbswidth.h (mbswidth): Add a flags argument.
77621         (mbswidth): New declaration.
77622         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
77623         * lib/mbswidth.c (mbswidth): Add a flags argument.
77624         (mbsnwidth): New function.
77625
77626 2000-07-24  Jim Meyering  <meyering@lucent.com>
77627
77628         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
77629
77630 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77631
77632         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
77633
77634 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77635
77636         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
77637         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
77638         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
77639         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
77640         invoke multibyte primitives.
77641
77642 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77643
77644         * lib/quotearg.c:
77645         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
77646         so that mbstate_t is always defined.
77647
77648         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
77649         be 1 in at least one GCC installation, and this configuration
77650         error is likely to be common.  Ignoring MB_LEN_MAX hurts
77651         performance on hosts that have mbrtowc but have only unibyte
77652         locales, but I assume these hosts are rare.
77653
77654 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77655
77656         * lib/mbswidth.c (_XOPEN_SOURCE):
77657         Don't define; this causes problems on Solaris 7.
77658         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
77659
77660 2000-07-23  Jim Meyering  <meyering@lucent.com>
77661
77662         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
77663         too: getgrgid, getpwuid, getuid.
77664
77665 2000-07-23  Jim Meyering  <meyering@lucent.com>
77666
77667         * lib/basename.c (base_name): Add an assertion.
77668
77669 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
77670
77671         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
77672         shadow its mbsinit function.
77673
77674 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77675
77676         * lib/mbswidth.h: New file.
77677         * lib/mbswidth.c: New file.
77678         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
77679         (noinst_HEADERS): Add mbswidth.h.
77680
77681 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77682
77683         * lib/config.charset: Add support for FreeBSD. Improve support for
77684         HP-UX and IRIX 6.
77685
77686 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
77687
77688         * m4/mbswidth.m4: New file.
77689         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
77690
77691 2000-07-15  Jim Meyering  <meyering@lucent.com>
77692
77693         * lib/makepath.c: Include quote.h.
77694         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
77695         corresponding argument in a `quote (...)' call.
77696         Give better diagnostics.
77697
77698         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
77699         (noinst_HEADERS): Add quote.h.
77700
77701         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
77702         from tar's src/misc.c.
77703         * lib/quote.h: New file.  Prototypes for same.
77704
77705 2000-07-14  Paul Eggert  <eggert@twinsun.com>
77706
77707         From a suggestion by Bruno Haible.
77708         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
77709         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
77710         to decide whether to define the BeOS workaround macro;
77711         this adjusts to the change to AC_MBSTATE_T.
77712
77713 2000-07-14  Jim Meyering  <meyering@lucent.com>
77714
77715         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
77716         jm_AC_TYPE_UINTMAX_T.
77717
77718 2000-07-13  Paul Eggert  <eggert@twinsun.com>
77719
77720         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
77721
77722         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
77723         quotearg_buffer_restyled): Add support for
77724         clocale_quoting_style.  Undo previous change to
77725         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
77726         and "{RIGHT QUOTATION MARK}" msgids.
77727
77728 2000-07-10  Paul Eggert  <eggert@twinsun.com>
77729
77730         From a suggestion by Bruno Haible.
77731         * m4/mbstate_t.m4 (AC_MBSTATE_T):
77732         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
77733         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
77734         and mbstate_t, to a single-part test that simply defines mbstate_t.
77735         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
77736         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
77737
77738 2000-07-10  Jim Meyering  <meyering@lucent.com>
77739
77740         * m4/strerror_r.m4: Mirror the correction made in autoconf.
77741
77742         * m4/gnu-source.m4: Output to confdefs.h directly.
77743         Suggestion from Akim Demaille.
77744
77745 2000-07-09  Paul Eggert  <eggert@twinsun.com>
77746
77747         The old behavior of quoting `like this' doesn't look good with
77748         newer, ISO-style fonts.  See:
77749         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
77750
77751         Instead, quote "like this" by default.  Let the translator
77752         tailor the locale-specific quoting behavior by providing
77753         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
77754
77755         * lib/quotearg.c (N_): New macro.
77756         (gettext_default): New function.
77757         (quotearg_buffer_restyled): Use
77758         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
77759         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
77760
77761 2000-07-09  Jim Meyering  <meyering@lucent.com>
77762
77763         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
77764         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
77765
77766         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
77767         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
77768
77769 2000-07-09  Jim Meyering  <meyering@lucent.com>
77770
77771         * lib/Most files: Update copyright dates to include 2000.
77772
77773 2000-07-08  Jim Meyering  <meyering@lucent.com>
77774
77775         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
77776         if not defined.
77777         (xgethostname): Remove now-unnecessary #ifdef.
77778         Move declaration of `err' into loop where it's used.
77779
77780 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77781         and Bruno Haible  <haible@clisp.cons.org>
77782
77783         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
77784         only if the test for an object-type mbstate_t fails.  This
77785         prevents us from mistakenly reporting that mbstate_t is a
77786         system object type after we "#define mbstate_t int" to work
77787         around its lack.
77788
77789 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77790         and Bruno Haible  <haible@clisp.cons.org>
77791
77792         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
77793
77794 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77795
77796         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
77797         to strerror_r.
77798         Include <ctype.h> for use of isalpha.
77799
77800 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77801
77802         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
77803         by allocating a larger buffer. Test the gethostname return value for
77804         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
77805         returns an error and ENAMETOOLONG isn't defined.
77806
77807 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77808
77809         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
77810         dimension.
77811
77812 2000-07-04  Jim Meyering  <meyering@lucent.com>
77813
77814         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
77815         of the deprecated AC_CHECKING.
77816
77817 2000-07-04  Jim Meyering  <meyering@lucent.com>
77818
77819         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
77820         Reported by Bruno Haible.
77821
77822 2000-07-04  Jim Meyering  <meyering@lucent.com>
77823
77824         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
77825         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
77826         lacks mbrtowc.
77827
77828 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77829
77830         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
77831         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
77832
77833 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77834         and Bruno Haible  <haible@clisp.cons.org>
77835
77836         * lib/quotearg.c (mbrtowc):
77837         Assign to *pwc, and return 1 only if result is nonzero.
77838         (iswprint): Use ISPRINT when substituting our own mbrtowc.
77839
77840 2000-07-03  Jim Meyering  <meyering@lucent.com>
77841
77842         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
77843
77844 2000-07-03  Jim Meyering  <meyering@lucent.com>
77845
77846         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
77847         This is necessary to get a definition of e.g., UTMP_FILE on
77848         HP-UX 10.20.
77849         From Bob Proulx.
77850
77851 2000-07-02  Jim Meyering  <meyering@lucent.com>
77852
77853         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
77854
77855         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
77856         AC_LIBOBJ(function_name).
77857         * m4/chown.m4: Likewise.
77858         * m4/fnmatch.m4: Likewise.
77859         * m4/ftruncate.m4: Likewise.
77860         * m4/getgroups.m4: Likewise.
77861         * m4/getline.m4: Likewise.
77862         * m4/group-member.m4: Likewise.
77863         * m4/jm-macros.m4: Likewise.
77864         * m4/lstat.m4: Likewise.
77865         * m4/malloc.m4: Likewise.
77866         * m4/memcmp.m4: Likewise.
77867         * m4/nanosleep.m4: Likewise.
77868         * m4/putenv.m4: Likewise.
77869         * m4/realloc.m4: Likewise.
77870         * m4/regex.m4: Likewise.
77871         * m4/stat.m4: Likewise.
77872         * m4/strftime.m4: Likewise.
77873
77874 2000-07-02  Jim Meyering  <meyering@lucent.com>
77875
77876         * lib/quotearg.c (mbstate_t): Don't define here.
77877
77878 2000-07-02  Jim Meyering  <meyering@lucent.com>
77879
77880         * lib/nanosleep.c (SIGCONT): Define if not already defined.
77881
77882 2000-07-01  Jim Meyering  <meyering@lucent.com>
77883
77884         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
77885
77886 2000-07-01  Jim Meyering  <meyering@lucent.com>
77887
77888         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
77889         problem.
77890
77891 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77892
77893         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
77894         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
77895
77896 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77897
77898         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
77899         per change in ../m4/ls-mntd-fs.m4.
77900         (read_filesystem_list): Ignore symbolic links.
77901
77902 2000-06-29  Jim Meyering  <meyering@lucent.com>
77903
77904         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
77905         for declaration of strcmp.
77906
77907         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
77908
77909         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
77910         Avoid warning by casting result to `char *' to remove `const'.
77911
77912 2000-06-28  Jim Meyering  <meyering@lucent.com>
77913
77914         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
77915         included by quotearg.c, for which we perform this test.  From
77916         Bruno Haible.
77917
77918 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77919
77920         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
77921         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
77922         <utmpx.h> exists, put readutmp.o into LIBOBJS.
77923
77924 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77925
77926         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
77927
77928 2000-06-26  Paul Eggert  <eggert@twinsun.com>
77929
77930         savedir now sets errno on failure and invokes xmalloc to get memory.
77931         Fix a couple of other minor bugs while we're at it.
77932
77933         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
77934         (NAMLEN): Remove macro.
77935         (malloc, realloc): Remove decls.
77936         (stpcpy): Likewise.
77937         ("xalloc.h"): Include.
77938         (NAME_SIZE_DEFAULT): New macro.
77939         (savedir): Use xmalloc / xrealloc to allocate memory.
77940         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
77941         Skip "" directory entries.
77942         Use strlen to calculate directory entry length, since the old method
77943         is rarely used these days and isn't worth supporting.
77944         Don't use a pointer after freeing it.
77945         Check for integer overflow when calculating allocation size.
77946         Use memcpy to copy entries, instead of stpcpy.
77947         Set errno properly when returning NULL.
77948         Check for readdir error.
77949
77950 2000-06-26  Jim Meyering  <meyering@lucent.com>
77951
77952         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
77953
77954 2000-06-25  Jim Meyering  <meyering@lucent.com>
77955
77956         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
77957         Linux header bug when _XOPEN_SOURCE is defined to 500.
77958
77959 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
77960
77961         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
77962         deficiency.
77963
77964 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
77965
77966         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
77967         Include xalloc.h.
77968         Don't include <stdlib.h>.  Don't declare malloc, realloc.
77969
77970 2000-06-24  Jim Meyering  <meyering@lucent.com>
77971
77972         * m4/strerror_r.m4: Revive this file -- to try out an experimental
77973         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
77974         for which strerror does return char*, but which lacks a conveniently
77975         accessible declaration of the function.  If the compile-test says
77976         strerror_r doesn't work, then resort to a `run'-test that works on
77977         BeOS and segfaults on DEC Unix.
77978
77979 2000-06-24  Jim Meyering  <meyering@lucent.com>
77980
77981         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
77982
77983 2000-06-23  Paul Eggert  <eggert@twinsun.com>
77984
77985         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
77986         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
77987
77988 2000-06-23  Paul Eggert  <eggert@twinsun.com>
77989
77990         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
77991         (mbrtowc, mbstate_t): Define substitutes if
77992         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
77993         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
77994         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
77995
77996 2000-06-23  Jim Meyering  <meyering@lucent.com>
77997
77998         * m4/afs.m4: Add missing AC_MSG_RESULT.
77999         Reported by Bruno Haible.
78000
78001         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
78002         Suggestion from Bruno Haible.
78003
78004 2000-06-23  Jim Meyering  <meyering@lucent.com>
78005
78006         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
78007
78008 2000-06-21  Jim Meyering  <meyering@lucent.com>
78009
78010         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
78011
78012 2000-06-21  Jim Meyering  <meyering@lucent.com>
78013
78014         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
78015         (noinst_HEADERS): Add getstr.h.
78016
78017         * lib/getline.c (getstr): Move into a separate file.
78018         * lib/getstr.c (getstr): New file, extracted from getline.c, with
78019         the following changes: new parameter, delim2; both delim[12]
78020         parameters have type `int', not `char'.  The latter would lose
78021         with 8-bit delimiters.
78022         * lib/getstr.h: New file.
78023
78024 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78025
78026         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
78027         than 1024, return a memory chunk of least possible size, instead
78028         of size PATH_MAX + 2. In the loop, increment the size proportionally.
78029         Use free/xmalloc instead of xrealloc to avoid copying for very long
78030         paths.
78031
78032 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78033
78034         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
78035         the empty string.
78036
78037 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78038
78039         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
78040         address, not strdup.  Include <stdlib.h> and don't declare free().
78041
78042 2000-06-19  Jim Meyering  <meyering@lucent.com>
78043
78044         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
78045
78046 2000-06-18  Jim Meyering  <meyering@lucent.com>
78047
78048         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
78049
78050         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
78051         `checking whether...' message to be consistent with that of the
78052         lstat test.
78053
78054 2000-06-18  Jim Meyering  <meyering@lucent.com>
78055
78056         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
78057         Besides, these days every porting target provides a mkdir function.
78058
78059         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
78060         needed. (this snippet comes from src/system.h).
78061
78062 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
78063
78064         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
78065
78066 2000-06-15  Paul Eggert  <eggert@twinsun.com>
78067
78068         * lib/human.c (adjust_value): New function.
78069         (human_readable_inexact): Apply rounding style even when
78070         printing approximate values.
78071
78072 2000-06-14  Paul Eggert  <eggert@twinsun.com>
78073
78074         * lib/human.c (human_readable_inexact): Allow an input block
78075         size that is not a multiple of the output block size, and vice versa.
78076         Reported by Piergiorgio Sartor.
78077
78078 2000-06-14  Paul Eggert  <eggert@twinsun.com>
78079
78080         * lib/getdate.y (get_date): Apply relative times after time
78081         zone indicator, not before.  Reported by Todd A. Jacobs.
78082
78083 2000-06-13  Jim Meyering  <meyering@lucent.com>
78084
78085         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
78086
78087         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
78088
78089 2000-06-12  Paul Eggert  <eggert@twinsun.com>
78090
78091         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
78092
78093 2000-06-12  Jim Meyering  <meyering@lucent.com>
78094
78095         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
78096         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
78097         optional argument.
78098         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
78099         the optional argument, `lib'.
78100
78101 2000-06-08  Jim Meyering  <meyering@lucent.com>
78102
78103         * m4/largefile.m4: Remove file (now that it's part of autoconf).
78104
78105 2000-06-04  Paul Eggert  <eggert@twinsun.com>
78106
78107         Rewrite largefile configuration so that we don't need to run
78108         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
78109         AC_CANONICAL_HOST in configure.in -- jmm]
78110
78111         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
78112         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
78113         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
78114         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
78115         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
78116         All uses changed.
78117         Instead of inspecting the output of getconf, try to compile the
78118         test program without and with the macro definition.
78119         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
78120         for getconf.  Instead, check for the needed flags by compiling
78121         test programs.
78122
78123 2000-06-04  Paul Eggert  <eggert@twinsun.com>
78124
78125         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
78126
78127 2000-06-04  Jim Meyering  <meyering@lucent.com>
78128
78129         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
78130         SunOS 4.1.4 for which gid_t is an unsigned type.
78131
78132 2000-06-03  Jim Meyering  <meyering@lucent.com>
78133
78134         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
78135         now that autoconf requires that.
78136
78137         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
78138         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
78139         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
78140
78141 2000-06-03  Jim Meyering  <meyering@lucent.com>
78142
78143         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
78144
78145 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
78146
78147         * m4/glibc21.m4: New file.
78148         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
78149
78150 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
78151
78152         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
78153         newer, don't install charset.alias.
78154         * lib/config.charset: Change the Linux/glibc rules so they become empty
78155         on glibc-2.1 or newer.
78156
78157 2000-06-02  Jim Meyering  <meyering@lucent.com>
78158
78159         * lib/mountlist.c: Back out last change.  Instead, do this...
78160         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
78161         me_dummy member using the same `ignore'-testing code.
78162         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
78163         fs_type strings.
78164         From Mark D. Roth.
78165
78166 2000-05-29  Jim Meyering  <meyering@lucent.com>
78167
78168         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
78169         mounts with the `ignore' attribute.  Based on a patch from
78170         Mark D. Roth.
78171
78172 2000-05-28  Jim Meyering  <meyering@lucent.com>
78173
78174         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
78175         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78176         * m4/stat.m4: Likewise.
78177         * m4/lstat.m4: Likewise.
78178         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
78179
78180         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
78181         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
78182
78183 2000-05-26  Jim Meyering  <meyering@lucent.com>
78184
78185         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
78186
78187 2000-05-24  Jim Meyering  <meyering@lucent.com>
78188
78189         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
78190         autoconf requires that.
78191         * m4/lib-check.m4: Likewise.
78192         * m4/jm-macros.m4: Likewise.
78193         * m4/strftime.m4: Likewise.
78194
78195         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
78196         AC_CHECK_DECLS, now that autoconf requires that.
78197
78198 2000-05-22  Jim Meyering  <meyering@lucent.com>
78199
78200         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78201         * m4/lstat.m4: Likewise.
78202
78203 2000-05-22  Jim Meyering  <meyering@lucent.com>
78204
78205         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
78206
78207 2000-05-20  Jim Meyering  <meyering@lucent.com>
78208
78209         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
78210         (jm_PREREQ): Use it.
78211
78212 2000-05-18  Jim Meyering  <meyering@lucent.com>
78213
78214         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
78215         back, too, since it may have been modified by allocate_entry.
78216         (hash_delete): Rewrite to use neither the assignment operator
78217         nor the comma operator in an if-expression.
78218
78219 2000-05-15  Paul Eggert  <eggert@twinsun.com>
78220
78221         * lib/closeout.c:
78222         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
78223         Remove; no longer needed.
78224         "quotearg.h": Add include.
78225         (file_name): Do not bother to explicitly initialize to NULL; it's less
78226         efficient on some hosts.
78227         (close_stdout_status): Remove test as to whether stdout was already
78228         closed; it breaks for the case "echo x | sort >&-".
78229         Quote file name colons.
78230         Do not assume that _("write error") lacks format strings.
78231
78232 2000-05-15  Jim Meyering  <meyering@lucent.com>
78233
78234         * lib/version-etc.c (version_etc_copyright): Update the copyright
78235         string used in all --version output.
78236
78237 2000-05-14  Jim Meyering  <meyering@lucent.com>
78238
78239         * lib/closeout.c (close_stdout_set_file_name): New function.
78240         (close_stdout_status): Use new file-scoped global.
78241         Return right away if fstat says the stdout file descriptor is invalid.
78242         * lib/closeout.h (close_stdout_set_file_name): Declare.
78243
78244 2000-05-10  Jim Meyering  <meyering@lucent.com>
78245
78246         * lib/closeout.c [default_exit_status]: New file-scoped variable.
78247         (close_stdout_set_status): New function.
78248         * lib/closeout.h (close_stdout_set_status): Declare.
78249
78250 2000-05-09  Jim Meyering  <meyering@lucent.com>
78251
78252         * m4/gettext.m4: Rename this...
78253         * m4/libintl.m4: ...to this.
78254
78255 2000-05-08  Jim Meyering  <meyering@lucent.com>
78256
78257         * lib/long-options.c: Don't include closeout.h.
78258         (parse_long_options): Don't call close_stdout for --version.
78259
78260 2000-05-06  Paul Eggert  <eggert@twinsun.com>
78261
78262         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
78263         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
78264         2.1.3 bug.  This avoids a clash when files like regex.c define
78265         _GNU_SOURCE.
78266
78267 2000-05-06  Jim Meyering  <meyering@lucent.com>
78268
78269         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
78270         (AC_REPLACE_FUNCS): Add strnlen.
78271
78272         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
78273         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
78274
78275         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
78276         AC_SEARCH_LIBS call for nanosleep.
78277         (LIB_NANOSLEEP): Set and AC_SUBST.
78278
78279 2000-05-06  Jim Meyering  <meyering@lucent.com>
78280
78281         * lib/strnlen.c: Undefine __strnlen and strnlen.
78282         [!weak_alias]: Define __strnlen to strnlen.
78283
78284         * lib/atexit.c: New file, from libiberty.
78285
78286 2000-05-06  Jim Meyering  <meyering@lucent.com>
78287
78288         * lib/closeout.c (close_stdout_status): Also check for errors on the
78289         stderr stream.
78290
78291 2000-05-05  Jim Meyering  <meyering@lucent.com>
78292
78293         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
78294         AC_SEARCH_LIBS call for clock_gettime.
78295         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
78296
78297         * m4/search-libs.m4: Update from autoconf.
78298
78299         su doesn't work on Solaris 2.6.
78300         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
78301         <shadow.h>.  Reported by Dragos Harabor.
78302
78303 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
78304
78305         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
78306         memcpy instead of xmalloc, xrealloc, path_concat.
78307         (locale_charset): Treat empty environment variables as absent.
78308         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
78309
78310 2000-05-04  Jim Meyering  <meyering@lucent.com>
78311
78312         * lib/getopt.c: Update from glibc.
78313         * lib/obstack.c: Likewise.
78314         * lib/obstack.h: Likewise.
78315         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
78316         file
78317
78318         * lib/regex.h: Likewise.
78319         * lib/strndup.c: Likewise.
78320         * lib/strnlen.c: New file, from glibc.
78321
78322 2000-05-03  Jim Meyering  <meyering@lucent.com>
78323
78324         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
78325
78326 2000-05-02  Paul Eggert  <eggert@twinsun.com>
78327
78328         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
78329         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
78330         compile-time test, rather than inspecting host and OS, to
78331         decide whether to define _LARGEFILE_SOURCE.
78332
78333 2000-05-01  Jim Meyering  <meyering@lucent.com>
78334
78335         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
78336
78337         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
78338         Based on a patch from Bruno Haible.
78339
78340 2000-05-01  Jim Meyering  <meyering@lucent.com>
78341
78342         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
78343
78344 2000-04-29  Jim Meyering  <meyering@lucent.com>
78345
78346         * lib/path-concat.c: Declare strdup only if it's not defined.
78347         * lib/canon-host.c: Likewise.
78348
78349 2000-04-28  Jim Meyering  <meyering@lucent.com>
78350
78351         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
78352         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
78353         is included first, then limits.h is included by locale.h by libintl.h.
78354         From John David Anglin.
78355
78356 2000-04-25  Jim Meyering  <meyering@lucent.com>
78357
78358         * lib/makepath.c (S_IRWXUGO): Define.
78359         (make_path): Always perform explicit chmod if MODE specifies any
78360         of the `special' permission bits.  Prompted by a bug report against
78361         install from Mate Wierdl and Joost van Baal.
78362
78363 2000-04-18  Jim Meyering  <meyering@lucent.com>
78364
78365         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
78366         (jm_PREREQ): Use it.
78367
78368 2000-04-18  Jim Meyering  <meyering@lucent.com>
78369
78370         * lib/README: New file.
78371
78372         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
78373         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
78374
78375 2000-04-17  Jim Meyering  <meyering@lucent.com>
78376
78377         Get it right :-)
78378         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
78379         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
78380         Suggestion from Akim Demaille.
78381
78382 2000-04-17  Jim Meyering  <meyering@lucent.com>
78383
78384         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
78385         the definition of it to rpl_strftime also defined-away the system's
78386         declaration.
78387
78388 2000-04-15  Jim Meyering  <meyering@lucent.com>
78389
78390         Use `C' to denote so-called `contiguous' files, the same way
78391         that tar does.
78392         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
78393         (ftypelet): Use S_ISCTG.
78394         From Michael Deutschmann.
78395
78396 2000-04-14  Jim Meyering  <meyering@lucent.com>
78397
78398         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
78399         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
78400         clobbered.
78401
78402 2000-04-14  Jim Meyering  <meyering@lucent.com>
78403
78404         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
78405
78406 2000-04-13  Jim Meyering  <meyering@lucent.com>
78407
78408         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
78409         AH_VERBATIM to insert required #ifndef into config.h.in.
78410         Suggestion from Akim Demaille.
78411
78412 2000-04-12  Jim Meyering  <meyering@lucent.com>
78413
78414         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
78415         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
78416         Christian Krackowizer.
78417
78418         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
78419         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
78420         (AC_SYS_LARGEFILE): Require.
78421         (AM_C_PROTOTYPES): Require.
78422
78423 2000-04-08  Jim Meyering  <meyering@lucent.com>
78424
78425         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
78426         names don't conflict.  Reported by Eli Zaretskii.
78427
78428 2000-04-07  Jim Meyering  <meyering@lucent.com>
78429
78430         * lib/putenv.c: Move inclusion of errno.h so it follows that of
78431         sys/types.h, to work around system header problems on AIX 3.2.5.
78432         From Bruno Haible.
78433
78434 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
78435
78436         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
78437         bug.  Deal with the different error behavior of Irix iconv.
78438
78439 2000-04-05  Paul Eggert  <eggert@twinsun.com>
78440
78441         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
78442         IRIX if the installer said otherwise.
78443
78444 2000-04-05  Jim Meyering  <meyering@lucent.com>
78445
78446         Portability tweaks required for ultrix4.3.
78447         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
78448         (jm_CHECK_DECLS): Add getutent to the list of functions.
78449         (_jm_DECL_HEADERS): Add utmpx.h.
78450         From John David Anglin.
78451
78452         * m4/strftime.m4: Back out the 2000-04-02 change.
78453         Instead of that change, simply undefine putenv in the test program.
78454
78455 2000-04-05  Jim Meyering  <meyering@lucent.com>
78456
78457         Portability tweaks required for ultrix4.3.
78458         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
78459         getutent.
78460         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
78461         * lib/canon-host.c: Declare strdup.
78462         * lib/path-concat.c: Likewise.
78463         From John David Anglin.
78464
78465 2000-04-04  Jim Meyering  <meyering@lucent.com>
78466
78467         Be more DOS 8.3-friendly.
78468         * lib/ref-add.sin: Renamed from ref-add.sed.in.
78469         * lib/ref-del.sin: Renamed from ref-del.sed.in.
78470         * lib/Makefile.am: Reflect renaming.
78471         Reported by Eli Zaretskii.
78472
78473         Use a temporary file name that won't clash with `charset.alias'
78474         in the DOS 8.3 name space.
78475         * lib/Makefile.am (charset_tmp): Define.
78476         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
78477         (uninstall-local): Likewise.
78478         Reported by Eli Zaretskii.
78479
78480 2000-04-03  Jim Meyering  <meyering@lucent.com>
78481
78482         * m4/gettext.m4: Fix typo in comment.
78483
78484         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
78485         textutils/configure.in).  Suggestion from Paul Eggert.
78486         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
78487
78488 2000-04-02  Paul Eggert  <eggert@twinsun.com>
78489
78490         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
78491         variable in the shell rather than using putenv, which isn't
78492         portable.  This avoids the configure-time inter-test dependency
78493         on the potentially-renamed putenv function.
78494
78495 2000-03-30  Paul Eggert  <eggert@twinsun.com>
78496
78497         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
78498         before checking struct stat.st_blksize, so that
78499         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
78500
78501 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78502
78503         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
78504         since strftime.c uses HAVE_STRFTIME to decide whether to use
78505         the underlying strftime.
78506
78507 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78508
78509         * lib/time/strftime.c (my_strftime): Make sure we call the system
78510         strftime, not ourselves, when invoking the underlying strftime.
78511
78512 2000-03-24  Jim Meyering  <meyering@lucent.com>
78513
78514         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
78515         (charset_alias): Define.
78516         (install-exec-local): Factor out common code.
78517         (uninstall-local): Split lines longer than 80.
78518         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
78519         (SUFFIXES): Define.
78520         (.sed.in.sed): New rule.  Don't redirect directly to $@.
78521         (CLEANFILES): Add ref-add.sed and ref-del.sed.
78522
78523 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
78524
78525         * lib/config.charset: Output a line containing "Packages using this
78526         file".
78527         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
78528         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
78529         ref-del.sed): New rules.
78530
78531 2000-03-17  Jim Meyering  <meyering@lucent.com>
78532
78533         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
78534         Otherwise, include <strings.h>
78535
78536 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
78537
78538         * lib/unicodeio.c (utf8_wctomb): New function.
78539         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
78540         format instead of in UCS-4 with platform dependent endianness.
78541
78542 2000-03-10  Jim Meyering  <meyering@lucent.com>
78543
78544         * m4/lib-check.m4: Look for getspnam in -lgen, too.
78545         From Marco Franzen.
78546
78547 2000-03-07  Paul Eggert  <eggert@twinsun.com>
78548
78549         * lib/savedir.c (savedir): Work even if directory size is
78550         negative; this can happen with some screwy NFS configurations.
78551
78552 2000-03-06  Jim Meyering  <meyering@lucent.com>
78553
78554         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
78555         if it's NULL (because we ran out of memory).  From Bruno Haible.
78556
78557 2000-03-05  Jim Meyering  <meyering@lucent.com>
78558
78559         * lib/localcharset.c ("path-concat.h"): Include.
78560         (get_charset_aliases): Use path_concat instead of ANSI string
78561         concatenation.
78562
78563         * lib/unicodeio.h (PARAMS): Define.
78564         Use it to guard prototype.
78565
78566 2000-03-04  Jim Meyering  <meyering@lucent.com>
78567
78568         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
78569         for lib/localcharset.c.
78570
78571 2000-03-04  Jim Meyering  <meyering@lucent.com>
78572
78573         * lib/Makefile.am (install-exec-local): Create $(libdir) before
78574         installing into it.
78575         (uninstall-local): Uncomment this rule so `make distcheck' works
78576         once again.
78577
78578         * lib/unicodeio.c (<errno.h>): Include it.
78579         (errno): Declare if not defined.
78580
78581         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
78582
78583         * lib/config.charset: New version, incorporating remarks from a linux
78584         i18n mailing list.  From Bruno Haible.
78585
78586 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
78587
78588         * m4/codeset.m4: New file.
78589         * m4/iconv.m4: New file.
78590         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
78591
78592 2000-03-03  Jim Meyering  <meyering@lucent.com>
78593
78594         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
78595
78596 2000-03-02  Jim Meyering  <meyering@lucent.com>
78597
78598         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
78599         the messages come out on separate lines.
78600
78601         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
78602         rather than jm_CHECK_DECLARATIONS.
78603         * m4/decl.m4: Remove now-unused file.
78604
78605         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
78606         geteuid.
78607
78608 2000-03-02  Jim Meyering  <meyering@lucent.com>
78609
78610         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
78611
78612 2000-03-01  Jim Meyering  <meyering@lucent.com>
78613
78614         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
78615         * lib/unicodeio.c: Likewise.
78616
78617 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
78618
78619         * lib/config.charset: New file.
78620         * lib/localcharset.c: New file.
78621         * lib/unicodeio.h, lib/unicodeio.c: New files.
78622         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
78623         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
78624         (noinst_HEADERS): Add unicodeio.h.
78625         (all-local, install-exec-local, charset.alias): New targets.
78626
78627 2000-02-28  Paul Eggert  <eggert@twinsun.com>
78628
78629         * lib/quotearg.c (ALERT_CHAR): New macro.
78630         (quotearg_buffer_restyled): Use it.
78631
78632 2000-02-27  Jim Meyering  <meyering@lucent.com>
78633
78634         * m4/check-decl.m4: Add getenv to the list.
78635
78636 2000-02-27  Jim Meyering  <meyering@lucent.com>
78637
78638         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
78639         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
78640
78641         * lib/backupfile.c: Guard inclusion of stdlib.h with
78642         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
78643         Declare malloc if needed.
78644
78645         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
78646         `#ifndef HAVE_DECL..'
78647         now that autoconf always defines the HAVE_DECL_ symbols.
78648         * lib/human.c: Likewise.
78649         * lib/same.c: Likewise.
78650         * lib/strtoumax.c: Likewise.
78651
78652         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
78653         declaration check was not run.
78654         * lib/hash.c: Likewise.
78655         * lib/human.c: Likewise.
78656         * lib/same.c: Likewise.
78657         * lib/strtoumax.c: Likewise.
78658
78659         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
78660         `.', then first look up the entire `.'-containing string as a login
78661         name.
78662
78663 2000-02-23  Jim Meyering  <meyering@lucent.com>
78664
78665         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
78666         in place of my hack.
78667
78668 2000-02-18  Paul Eggert  <eggert@twinsun.com>
78669
78670         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
78671         (textint): New typedef.
78672         (parser_control): Member year changed from int to textint.
78673         All uses changed.
78674         (YYSTYPE): Removed; replaced by %union with int and textint members.
78675         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
78676         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
78677         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
78678         (tSNUMBER, tUNUMBER): Now of type <textintval>.
78679         (date, number, to_year): Use width of number in digits, not its value,
78680         to determine whether it's a 2-digit year, or a 2-digit time.
78681         (yylex): Store number of digits of numeric tokens.
78682         Reported by John Kendall.
78683
78684         (parser_control): Changed from struct parser_control to typedef (for
78685         consistency).  All uses changed.
78686
78687         (tID): Removed; not used.
78688         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
78689
78690 2000-02-14  Paul Eggert  <eggert@twinsun.com>
78691
78692         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
78693         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
78694
78695 2000-02-12  Jim Meyering  <meyering@lucent.com>
78696
78697         * lib/userspec.c (ISDIGIT): Define it.
78698         (isdigit): Remove definition.
78699         (is_number): Use ISDIGIT, not isdigit.
78700         <libintl.h>: Include.
78701         (_ and N_): Define.
78702         (parse_user_spec): Mark translatable strings.
78703
78704 2000-02-10  Jim Meyering  <meyering@lucent.com>
78705
78706         With these changes, nanosleep.[ch] are finally enough like the other
78707         lib/* replacement files to compile on a few more losing systems.
78708
78709         * lib/nanosleep.h: Don't include config.h.
78710         Remove prototype from declaration of nanosleep.
78711         (PARAMS): Remove now-unneeded definition.
78712         * lib/nanosleep.c: #undef nanosleep.
78713         (rpl_nanosleep): Rename from nanosleep.
78714
78715 2000-02-10  Jim Meyering  <meyering@lucent.com>
78716
78717         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
78718         gnu_nanosleep to rpl_nanosleep.
78719
78720 2000-02-09  Jim Meyering  <meyering@lucent.com>
78721
78722         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
78723         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
78724
78725 2000-02-08  Akim Demaille  <akim@epita.fr>
78726
78727         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
78728         `[' and `]' and remove uses of `changequote'.
78729         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
78730         (AC_SYS_LARGEFILE): Likewise.
78731         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
78732         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
78733         of changequote.
78734         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
78735         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
78736         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
78737         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
78738
78739 2000-02-05  Jim Meyering  <meyering@lucent.com>
78740
78741         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
78742         Remove explicit use of AC_HEADER_TIME.  It is required by
78743         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
78744         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
78745         in autoconf whereby the expansion of the latter ended up preceding
78746         the expansion of its prerequisite, AC_HEADER_TIME.
78747         Reported by Volker Borchert.
78748
78749 2000-02-03  Jim Meyering  <meyering@lucent.com>
78750
78751         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
78752
78753 2000-02-03  Jim Meyering  <meyering@lucent.com>
78754
78755         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
78756         rather than with `#if HAVE_UTMPNAME'.
78757
78758 2000-02-02  Jim Meyering  <meyering@lucent.com>
78759
78760         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
78761         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
78762         Reported by Eli Zaretskii.
78763
78764 2000-02-01  Jim Meyering  <meyering@lucent.com>
78765
78766         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
78767
78768 2000-01-31  Jim Meyering  <meyering@lucent.com>
78769
78770         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
78771         functions.  Add the time.h and sys/time.h headers along with the
78772         AC_REQUIRE'ment of AC_HEADER_TIME.
78773
78774 2000-01-31  Jim Meyering  <meyering@lucent.com>
78775
78776         * lib/nanosleep.h (nanosleep): Guard declaration with
78777         `#if ! HAVE_DECL_NANOSLEEP'.
78778         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
78779         the declaration in that vendor's sys/timers.h.
78780         Reported by Christian Krackowizer.
78781
78782         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
78783         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
78784         (ISPRINT): Likewise.
78785         Reported by Tom Tromey.
78786
78787 2000-01-30  Jim Meyering  <meyering@lucent.com>
78788
78789         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
78790
78791         * m4/prereq.m4 (utmp_includes): Define.
78792         Check for ut_user and ut_name members in both struct utmpx
78793         and struct utmp.
78794
78795 2000-01-30  Jim Meyering  <meyering@lucent.com>
78796
78797         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
78798         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
78799         header files where only utmpx.ut_user is declared.
78800
78801         * lib/readutmp.h (UT_USER): Define.
78802
78803 2000-01-29  Jim Meyering  <meyering@lucent.com>
78804
78805         * m4/lib-check.m4: New file containing library-related checks from
78806         fileutils and sh-utils (textutils had none).
78807
78808 2000-01-28  Jim Meyering  <meyering@lucent.com>
78809
78810         * m4/perl.m4: Change format of warning message to look more like that
78811         from the missing script.  Suggestion from François Pinard.
78812
78813 2000-01-25  Jim Meyering  <meyering@lucent.com>
78814
78815         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
78816         well as time.h in the compile check.
78817         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
78818         Fix typo in cross-compiling case: s/yes/no/.
78819
78820 2000-01-23  Jim Meyering  <meyering@lucent.com>
78821
78822         * m4/jm-macros.m4: Move df-related tests here from
78823         fileutils/configure.in
78824
78825         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
78826         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
78827
78828         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
78829         s/space/ac_fsusage_space/.
78830         (jm_FILE_SYSTEM_USAGE): Take two parameters.
78831
78832         * m4/ftruncate.m4: New file (derived from part of
78833         fileutils/configure.in).
78834         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
78835         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
78836
78837         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
78838         AC_SUBST these here, rather than just in sh-util/configure.in, so
78839         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
78840         all the same.
78841         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
78842         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
78843         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
78844         (AC_SUBST(POW_LIBM)): Likewise.
78845         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
78846
78847 2000-01-23  Jim Meyering  <meyering@lucent.com>
78848
78849         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
78850         obstack.c.
78851
78852 2000-01-22  Jim Meyering  <meyering@lucent.com>
78853
78854         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
78855
78856         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
78857
78858         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
78859         configure.in
78860         (AC_CHECK_HEADERS): Likewise for sh-utils.
78861         (AC_CHECK_HEADERS): Likewise for textutils.
78862         Merge the three lists of headers.
78863
78864         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
78865         from fileutils' configure.in.
78866
78867         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
78868         code. Moved tests into their own function (_jm_DECL_HEADERS) in
78869         check-decl.m4.
78870
78871         * m4/check-decl.m4: Use #if rather than #ifdef.
78872         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
78873         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
78874         (_jm_DECL_HEADERS): Define new function.
78875         (jm_CHECK_DECLARATIONS): Require it.
78876
78877 2000-01-22  Jim Meyering  <meyering@lucent.com>
78878
78879         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
78880         [! HAVE_DECL_STRTOULL]: Declare strtoull.
78881         Required for some AIX systems.  Reported by Christian Krackowizer.
78882         [TESTING] (main): New function.
78883
78884         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
78885         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
78886         letters.
78887
78888         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
78889         iswprint.
78890
78891         * lib/strverscmp.c (ISDIGIT): Define.
78892         (strverscmp): Use ISDIGIT, not isdigit.
78893
78894 2000-01-19  Jim Meyering  <meyering@lucent.com>
78895
78896         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
78897         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
78898         defines `struct timespec' in <sys/time.h>
78899
78900         * m4/c-bs-a.m4: Remove uses of changequote altogether.
78901         Thanks to Akim for explaining.
78902
78903 2000-01-17  Paul Eggert  <eggert@twinsun.com>
78904
78905         * lib/nanosleep.c (nanosleep):
78906         Don't use SA_INTERRUPT to decide whether to call sigaction, as
78907         POSIX.1 doesn't require SA_INTERRUPT and some systems
78908         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
78909         it's been part of POSIX.1 since day 1 (in 1988).
78910
78911 2000-01-17  Jim Meyering  <meyering@lucent.com>
78912
78913         * lib/interlock: Remove unused file.  Reported by François Pinard.
78914
78915 2000-01-16  Paul Eggert  <eggert@twinsun.com>
78916
78917         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
78918         alert, backslash, formfeed, and vertical tab unnecessarily in
78919         shell quoting style.
78920
78921 2000-01-16  Jim Meyering  <meyering@lucent.com>
78922
78923         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
78924         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
78925         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
78926         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
78927
78928 2000-01-16  Jim Meyering  <meyering@lucent.com>
78929
78930         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
78931         because the latter didn't work.
78932
78933 2000-01-15  Jim Meyering  <meyering@lucent.com>
78934
78935         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
78936         (AC_REPLACE_FUNCS): Add memcpy and memset.
78937         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
78938         Add strpbrk.
78939         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
78940
78941 2000-01-12  Jim Meyering  <meyering@lucent.com>
78942
78943         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
78944         (jm_PREREQ): Use it.
78945         (jm_PREREQ_READUTMP): New macro.
78946         (jm_PREREQ): Use it.
78947
78948 2000-01-11  Paul Eggert  <eggert@twinsun.com>
78949
78950         Quote multibyte characters correctly.
78951         * m4/c-bs-a.m4: New file.
78952         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
78953         (jm_PREREQ): Use it.
78954
78955 2000-01-11  Paul Eggert  <eggert@twinsun.com>
78956
78957         * m4/uintmax_t.m4: Port to autoconf 2.13.
78958
78959 2000-01-08  Jim Meyering  <meyering@ascend.com>
78960
78961         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
78962         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
78963
78964 2000-01-04  Jim Meyering  <meyering@ascend.com>
78965
78966         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
78967         jm_STRUCT_DIRENT_D_TYPE.
78968         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
78969         jm_STRUCT_DIRENT_D_INO.
78970         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
78971         jm_STRUCT_UTIMBUF.
78972         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
78973         renamings.
78974         * m4/utime.m4: Likewise.
78975
78976         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
78977         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
78978
78979 2000-01-03  Paul Eggert  <eggert@twinsun.com>
78980
78981         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
78982         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
78983
78984 2000-01-02  Jim Meyering  <meyering@ascend.com>
78985
78986         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
78987         remember if this is necessary.
78988
78989 1999-12-26  Jim Meyering  <meyering@ascend.com>
78990
78991         * m4/jm-macros.m4: Use it here.
78992         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
78993
78994 1999-12-23  Jim Meyering  <meyering@ascend.com>
78995
78996         * m4/jm-macros.m4: Check for clock_gettime (moved from
78997         fileutils/configure.in)
78998         Check for gettimeofday.
78999
79000 1999-12-20  Jim Meyering  <meyering@ascend.com>
79001
79002         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
79003         autoconf-2.14a-1999-12-20.
79004
79005 1999-12-19  Jim Meyering  <meyering@ascend.com>
79006
79007         * m4/lstat-slash.m4: New file.
79008         * m4/jm-macros.m4: Use the new macro:
79009         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79010
79011 1999-12-07  Jim Meyering  <meyering@ascend.com>
79012
79013         * m4/perl.m4: Require that File::Compare be available, too.
79014         Too many systems seem to lack it.
79015
79016         * m4/strftime.m4: Add checks for most of the cpp macros tested in
79017         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
79018
79019 1999-11-18  Paul Eggert  <eggert@twinsun.com>
79020
79021         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
79022         problem with the QNX 4.25 shell, which doesn't propagate exit
79023         status of failed commands inside shell assignments.
79024
79025 1999-11-17  Jim Meyering  <meyering@ascend.com>
79026
79027         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
79028
79029 1999-11-07  Jim Meyering  <meyering@ascend.com>
79030
79031         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
79032
79033 1999-11-06  Jim Meyering  <meyering@ascend.com>
79034
79035         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
79036         * m4/jm-macros.m4 (jm_MACROS): Use it here.
79037
79038 1999-11-05  Jim Meyering  <meyering@ascend.com>
79039
79040         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
79041         configure.in of textutils, fileutils, and sh-utils into this one
79042         (shared between those packages) file.
79043         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
79044         AC_STRUCT_ST_BLKSIZE.
79045
79046 1999-11-03  Jim Meyering  <meyering@ascend.com>
79047
79048         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
79049         of AC_CHECK_TYPE checks includes unistd.h.
79050         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
79051         Suggestion from Akim Demaille.
79052
79053 1999-10-30  Jim Meyering  <meyering@ascend.com>
79054
79055         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
79056         m4-quoted string.
79057         * m4/ls-mntd-fs.m4: Likewise.
79058         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
79059         * m4/jm-winsz1.m4: Likewise.
79060
79061         * m4/const.m4: Remove file, since the fix made it into the experimental
79062         version of autoconf.
79063         * m4/mktime.m4: Likewise.
79064
79065         * m4/check-type.m4: Remove file, now that the latest version of
79066         AC_CHECK_TYPE takes a third arg to specify additional #includes.
79067
79068         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
79069         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
79070         AC_CHECK_TYPE.
79071
79072 1999-10-04  Jim Meyering  <meyering@ascend.com>
79073
79074         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
79075
79076 1999-09-22  Paul Eggert  <eggert@twinsun.com>
79077
79078         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
79079         2.95.1 bug with HP-UX 10.20.
79080
79081 1999-09-17  Jim Meyering  <meyering@ascend.com>
79082
79083         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
79084         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
79085         due to missing strdup (against sh-utils-2.0).
79086
79087 1999-08-29  Jim Meyering  <meyering@ascend.com>
79088
79089         * m4/jm-macros.m4: Require jm_BISON.
79090         * m4/bison.m4: New file.
79091
79092 1999-08-17  Paul Eggert  <eggert@twinsun.com>
79093
79094         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
79095         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
79096
79097 1999-08-05  Jim Meyering  <meyering@ascend.com>
79098
79099         * m4/getline.m4: Rename test file from conftestdata to conftest.data
79100         to avoid conflicts with `conftest' on 8+3 filesystems.
79101         Suggestion from Eli Zaretskii.
79102
79103 1999-08-04  Jim Meyering  <meyering@ascend.com>
79104
79105         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
79106         fileutils and sh-utils (textutils's getline test was inadequate).
79107         (AM_FUNC_GETLINE): Run this test.
79108         (AC_CHECK_FUNCS): Check for getdelim.
79109         Reported by Bob Proulx.
79110
79111 1999-08-02  Jim Meyering  <meyering@ascend.com>
79112
79113         * m4/jm-macros.m4: Add a comment.
79114
79115 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79116
79117         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
79118         <inttypes.h> defines strtoumax as a macro (and not as a
79119         function).
79120
79121 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79122
79123         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
79124         that we can shift, multiply and divide unsigned long long
79125         values; Ultrix cc can't do it.
79126
79127 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79128
79129         * m4/mktime.m4: New file, which is a preview of what should appear
79130         in the next public autoconf release.
79131
79132 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79133
79134         * m4/lfs.m4: Remove this file.
79135         * m4/largefile.m4: New file.  It contains the old contents of
79136         lfs.m4, except that all names with prefix AC_LFS have been
79137         changed to use the prefix AC_SYS_LARGEFILE instead, to be
79138         compatible with future autoconf versions.  Also, some minor m4
79139         quoting problems have been fixed.
79140
79141 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79142
79143         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
79144         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
79145         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
79146         and simplify the shell code.
79147
79148 1999-08-01  Jim Meyering  <meyering@ascend.com>
79149
79150         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
79151         m4.
79152
79153 1999-07-20  Jim Meyering  <meyering@ascend.com>
79154
79155         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
79156
79157 1999-07-15  Jim Meyering  <meyering@ascend.com>
79158
79159         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
79160
79161 1999-05-22  Jim Meyering  <meyering@ascend.com>
79162
79163         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
79164
79165 1999-05-20  Jim Meyering  <meyering@ascend.com>
79166
79167         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
79168         Add a colon after each `then' in case $4 is empty.
79169
79170 1999-05-16  Jim Meyering  <meyering@ascend.com>
79171
79172         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
79173
79174 1999-05-10  Jim Meyering  <meyering@ascend.com>
79175
79176         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
79177
79178         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
79179         AC_FUNC_MKTIME.
79180
79181 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
79182
79183         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
79184
79185 1999-05-04  Paul Eggert  <eggert@twinsun.com>
79186
79187         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
79188         not CPPFLAGS, so that linking works correctly in IRIX.
79189
79190 1999-04-30  Paul Eggert  <eggert@twinsun.com>
79191
79192         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
79193
79194 1999-04-20  Paul Eggert  <eggert@twinsun.com>
79195
79196         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
79197         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
79198         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
79199         jm_AC_TYPE_UNSIGNED_LONG_LONG.
79200         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
79201
79202         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
79203
79204 1999-04-20  Jim Meyering  <meyering@ascend.com>
79205
79206         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
79207         AC_REPLACE xstroull if necessary.  From Paul Eggert.
79208         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
79209
79210 1999-04-18  Jim Meyering  <meyering@ascend.com>
79211
79212         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
79213         * m4/jm-macros.m4: Use it.
79214
79215 1999-04-06  Jim Meyering  <meyering@ascend.com>
79216
79217         * m4/strftime.m4: Remove test for %f.
79218
79219 1999-03-29  Jim Meyering  <meyering@ascend.com>
79220
79221         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
79222         superset of the AC_TYPE_* checks in the textutils, fileutils,
79223         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
79224         AC_TYPE_PID_T.
79225
79226 1999-03-28  Jim Meyering  <meyering@ascend.com>
79227
79228         * m4/jm-macros.m4: Define GNU_PACKAGE here.
79229         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
79230         replaced e.g., in the *.sh files of the sh-utils.
79231
79232 1999-03-20  Jim Meyering  <meyering@ascend.com>
79233
79234         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
79235         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
79236         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
79237
79238 1999-03-19  Jim Meyering  <meyering@ascend.com>
79239
79240         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
79241
79242 1999-03-12  Jim Meyering  <meyering@ascend.com>
79243
79244         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
79245
79246 1999-03-07  Jim Meyering  <meyering@ascend.com>
79247
79248         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
79249         declared.
79250
79251 1999-02-17  Jim Meyering  <meyering@ascend.com>
79252
79253         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
79254         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
79255
79256 1999-02-07  Jim Meyering  <meyering@ascend.com>
79257
79258         * m4/group-member.m4: New file -- extracted from sh-utils'
79259         configure.in.
79260
79261         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
79262         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
79263
79264 1999-02-06  Jim Meyering  <meyering@ascend.com>
79265
79266         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
79267         * m4/fnmatch.m4: Likewise.
79268         * m4/getgroups.m4: Likewise.
79269         * m4/lstat.m4: Likewise.
79270         * m4/malloc.m4: Likewise.
79271         * m4/putenv.m4: Likewise.
79272         * m4/realloc.m4: Likewise.
79273         * m4/regex.m4: Likewise.
79274         * m4/stat.m4: Likewise.
79275         * m4/strftime.m4: Likewise.
79276         Suggestion from Alain Magloire.
79277
79278         * m4/chown.m4: Use `.$ac_objext', not `.o'.
79279         * m4/fnmatch.m4: Likewise.
79280         * m4/getgroups.m4: Likewise.
79281         * m4/getline.m4: Likewise.
79282         * m4/lstat.m4: Likewise.
79283         * m4/malloc.m4: Likewise.
79284         * m4/memcmp.m4: Likewise.
79285         * m4/putenv.m4: Likewise.
79286         * m4/realloc.m4: Likewise.
79287         * m4/regex.m4: Likewise.
79288         * m4/stat.m4: Likewise.
79289         * m4/strftime.m4: Likewise.
79290         Suggestion from Alain Magloire.
79291
79292         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
79293         an argument.
79294
79295         * m4/regex.m4: Add a run-time Test for proper operation of
79296         re_compile_pattern.
79297
79298 1999-01-31  Jim Meyering  <meyering@ascend.com>
79299
79300         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
79301
79302 1999-01-30  Jim Meyering  <meyering@ascend.com>
79303
79304         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
79305
79306         * m4/jm-mktime.m4: Make this a wrapper around the official
79307         AM_FUNC_MKTIME rather than my private copy, now that the official one
79308         is up to date.
79309         * m4/mktime.m4: Remove file.
79310
79311         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
79312         * m4/uptime.m4: Likewise.
79313         * m4/uintmax_t.m4: Likewise.
79314
79315 1999-01-28  Jim Meyering  <meyering@ascend.com>
79316
79317         * m4/jm-macros.m4: Use jm_AFS.
79318         * m4/afs.m4: New file (from fileutils' configure.in).
79319
79320         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
79321         * m4/chown.m4: Likewise.
79322         * m4/d-ino.m4: Likewise.
79323         * m4/d-type.m4: Likewise.
79324         * m4/fnmatch.m4: Likewise.
79325         * m4/getgroups.m4: Likewise.
79326         * m4/gettext.m4: Likewise.
79327         * m4/jm-mktime.m4: Likewise.
79328         * m4/jm-winsz2.m4: Likewise.
79329         * m4/lcmessage.m4: Likewise.
79330         * m4/ls-mntd-fs.m4: Likewise.
79331         * m4/malloc.m4: Likewise.
79332         * m4/memcmp.m4: Likewise.
79333         * m4/putenv.m4: Likewise.
79334         * m4/realloc.m4: Likewise.
79335         * m4/st_mtim.m4: Likewise.
79336         * m4/strftime.m4: Likewise.
79337
79338 1999-01-16  Jim Meyering  <meyering@ascend.com>
79339
79340         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
79341         (ARGMATCH_DIE_DECL): Define.
79342
79343 1999-01-12  Jim Meyering  <meyering@ascend.com>
79344
79345         * m4/Makefile.am.in: Rewrite to avoid using fmt.
79346         Reported by Lars Hecking.
79347
79348 1999-01-10  Jim Meyering  <meyering@ascend.com>
79349
79350         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
79351         gross kludge.
79352         * m4/inttypes_h.m4: Likewise.
79353         * m4/lstat.m4: Likewise.
79354         * m4/malloc.m4: Likewise.
79355         * m4/readdir.m4: Likewise.
79356         * m4/realloc.m4: Likewise.
79357         * m4/st_dm_mode.m4: Likewise.
79358         * m4/stat.m4: Likewise.
79359         * m4/utimbuf.m4: Likewise.
79360         * m4/utimes.m4: Likewise.
79361
79362         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
79363         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
79364         comments in config.h.in are meaningful.
79365
79366         * m4/jm-macros.m4: Require autoconf-2.13 here.
79367
79368         * m4/regex.m4: By default, don't use the included regex.c on systems
79369         with glibc 2.  Suggestion from Uli Drepper.
79370
79371 1999-01-02  Jim Meyering  <meyering@ascend.com>
79372
79373         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
79374
79375 1998-12-18  Jim Meyering  <meyering@ascend.com>
79376
79377         * m4/Makefile.am.in (Makefile.am): Simplify rule.
79378         Based on a suggestion from Lars Hecking.
79379
79380 1998-11-16  Paul Eggert  <eggert@twinsun.com>
79381
79382         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
79383
79384 1998-11-16  Jim Meyering  <meyering@ascend.com>
79385
79386         * m4/lfs.m4: Double-quote the `uname...` expression.
79387
79388 1998-11-14  Jim Meyering  <meyering@ascend.com>
79389
79390         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
79391         * m4/stat.m4: Likewise.
79392
79393 1998-11-03  Jim Meyering  <meyering@ascend.com>
79394
79395         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
79396         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
79397
79398 1998-10-18  Jim Meyering  <meyering@ascend.com>
79399
79400         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
79401
79402 1998-10-17  Jim Meyering  <meyering@ascend.com>
79403
79404         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
79405         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
79406         calls for those previously hard-coded headers.  Instead, take a new
79407         parameter.
79408         (jm_CHECK_DECLARATIONS): Reflect interface change.
79409         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
79410         (jm_CHECK_DECL_LOCALTIME_R): New macro.
79411
79412         * m4/mktime.m4: Test for spring-forward gap before long-running test.
79413
79414 1998-10-14  Jim Meyering  <meyering@ascend.com>
79415
79416         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
79417         instead of "TZ=America/Vancouver".  From Paul Eggert.
79418
79419 1998-10-11  Jim Meyering  <meyering@ascend.com>
79420
79421         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
79422         This adds a test for a recently added compatibility fix for mktime.c.
79423         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
79424
79425 1998-09-27  Jim Meyering  <meyering@ascend.com>
79426
79427         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
79428
79429         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
79430         ../configure.in, including a change from Gordon Matzigkeit to allow
79431         cross-compiling for the Hurd.
79432
79433         * m4/glibc.m4: New file/macro to test for the GNU C Library
79434         versions 1 and 2.  From Gordon Matzigkeit.
79435         Indent.
79436
79437 1998-09-21  Jim Meyering  <meyering@ascend.com>
79438
79439         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
79440
79441 1998-08-18  Paul Eggert  <eggert@twinsun.com>
79442
79443         Port nanosecond-resolution times to UnixWare 2.1.2 and
79444         pedantic Solaris 2.6.
79445
79446         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
79447         AC_STRUCT_ST_MTIM.
79448         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
79449         Generate name of ns member, instead of just 1 or undef.
79450         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
79451
79452 1998-08-15  Jim Meyering  <meyering@ascend.com>
79453
79454         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
79455         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
79456         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
79457         instead of jm_TYPE_SSIZE_T.
79458
79459 1998-08-12  Jim Meyering  <meyering@ascend.com>
79460
79461         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
79462
79463 1998-08-02  Jim Meyering  <meyering@ascend.com>
79464
79465         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
79466         in acconfig.h manually.
79467
79468 1998-07-31  Paul Eggert  <eggert@twinsun.com>
79469
79470         * m4/st_mtim.m4: New file.
79471
79472 1998-07-28  Jim Meyering  <meyering@ascend.com>
79473
79474         * m4/utimes.m4: Undef stat.
79475
79476 1998-07-25  Jim Meyering  <meyering@ascend.com>
79477
79478         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
79479         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
79480
79481 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
79482
79483         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
79484         uid and gid actually remain unchanged.
79485
79486 1998-07-07  Jim Meyering  <meyering@ascend.com>
79487
79488         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
79489
79490 1998-07-04  Jim Meyering  <meyering@ascend.com>
79491
79492         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
79493         to prove that this macro can be used in packages without regex.c.
79494
79495 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
79496
79497         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
79498         is to be used.
79499
79500 1998-07-03  Jim Meyering  <meyering@ascend.com>
79501
79502         * m4/gettext.m4: Add -lintl if it's found to be necessary.
79503
79504         * m4/gettext.m4: New file -- from gettext-0.10.35.
79505         * m4/lcmessage.m4: Likewise.
79506         * m4/progtest.m4: Likewise.
79507
79508         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
79509         * m4/jm-macros.m4: Require the new macro.
79510
79511 1998-06-29  Jim Meyering  <meyering@ascend.com>
79512
79513         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
79514         for the definition of NGROUPS (used in a system header included
79515         by sys/mount.h).
79516
79517 1998-06-28  Jim Meyering  <meyering@ascend.com>
79518
79519         * m4/ls-mntd-fs.m4: New file.
79520         * m4/fstypename.m4: New file.
79521
79522         * m4/jm-macros.m4: Require the new macro.
79523         * m4/jm-glibc-io.m4: New file.
79524
79525 1998-05-19  Jim Meyering  <meyering@ascend.com>
79526
79527         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
79528         * m4/lchown.m4: New file.
79529
79530         * m4/Makefile.am.in: New file.
79531         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
79532
79533 1998-05-14  Jim Meyering  <meyering@ascend.com>
79534
79535         * m4/Makefile.am (EXTRA_DIST): Add them.
79536         * m4/jm-macros.m4: New file.
79537         * m4/utimbuf.m4: New file.
79538
79539 1998-05-12  Jim Meyering  <meyering@ascend.com>
79540
79541         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
79542
79543 1998-05-11  Jim Meyering  <meyering@ascend.com>
79544
79545         * m4/isc-posix.m4: New file.
79546
79547 1998-05-10  Jim Meyering  <meyering@ascend.com>
79548
79549         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
79550
79551 1998-05-09  Jim Meyering  <meyering@ascend.com>
79552
79553         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
79554         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
79555         with automake.
79556
79557         * m4/ssize_t.m4: New file.
79558         * m4/mktime.m4: Remove file -- the new automake has this now.
79559
79560 1998-04-26  Jim Meyering  <meyering@ascend.com>
79561
79562         * m4/assert.m4: New file.
79563         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
79564
79565 1998-04-05  Jim Meyering  <meyering@ascend.com>
79566
79567         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
79568         (jm_PREREQ): Use it here.
79569
79570 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
79571
79572         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
79573         in acconfig.h.
79574
79575 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
79576
79577         * m4/prereq.m4: New file.
79578         * m4/error.m4: New file.
79579         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
79580
79581 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
79582
79583         * m4/getline.m4: Don't set am_cv_func_working_getline before the
79584         cache-check for the same variable -- that defeated the purpose of
79585         the test; the test program was never run.  This was a problem only
79586         on systems with losing getline functions -- HP-UX 10.20 is one.
79587         Reported by Bjorn Helgaas.
79588
79589 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
79590
79591         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
79592
79593 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
79594
79595         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
79596
79597         * m4/const.m4: New file.  Use an initializer in this declaration
79598         typedef int charset[2]; const charset x;
79599         Reported by Bob Glickstein.
79600
79601 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
79602
79603         * m4/chown.m4: Fix reversed types on -1 args to chown.
79604         From Kaveh Ghazi.
79605
79606 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
79607
79608         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
79609         Add lseek and memchr.
79610
79611         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
79612         T.E.Dickey <dickey@clark.net> said that some older preprocessors
79613         have a 20-character limit on names.
79614
79615 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
79616
79617         * m4/inttypes_h.m4: New file.
79618         * m4/uintmax_t.m4: New file.
79619         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
79620
79621
79622         -----
79623
79624         Local Variables:
79625         coding: utf-8
79626         End:
79627
79628         Copyright (C) 1997-2011 Free Software Foundation, Inc.
79629
79630         Copying and distribution of this file, with or without
79631         modification, are permitted provided the copyright notice
79632         and this notice are preserved.